隧道——SOCAT
前言
SOCAT
-
被称为nc++(增强版nc)
-
双向数据流通道工具
环境
kali:192.168.1.14
路由器:192.168.1.1
1、kali作为客户端连接端口
socat - tcp:192.168.1.1:80
get / http 1.1/
2、kali作为服务器端侦听端口
服务器端kali
socat - tcp4-listen:2222
客户端ubantu
socat - tcp:192.168.1.14:2222
于是服务器端可以查看接收到的消息
3、kali接收文件
服务器端kali
socat tcp4-listen:333 open:2.txt,creat,append #接收信息并保存到2.txt
客户端ubantu
echo "I am xubuntu!" > 1.txt
cat 1.txt | socat - tcp4:192.168.1.14:333
4、远程shell
服务器端kali
socat tcp-l:23 exec:sh,pty,stderr #侦听23端口
客户端ubantu
socat - tcp:192.168.1.14:23 #连接23端口
#于是获得kali的shell
若防火墙只允许内网的23端口访问外网
可以在外网的机器侦听 23 端口
然后在内网连接此 23 端口
然后在内外网建立 ssh 动态端口转发隧道(隧道嵌套)
5、端口转发
服务器端kali
socat tcp4-listen:8080,fork tcp4:192.168.1.1:80 #侦听本机8080端口,fork为新连接创建独立的进程,
#将访问8080的流量转向192.168.1.1
客户端ubantu
用浏览器访问http://192.168.1.14:8080/
发现转向192.168.1.1:80
6、UDP远程执行命令
服务器端kali
socat - udp-l:2000 #侦听2000端口
客户端ubantu
echo "I am ubuntu!" | socat - udp4-datagram:192.168.1.14:2000 #发送内容
echo "`id`" | socat - udp4-datagram:192.168.1.14:2000 #可以用来发送指令
7、UDP全端口发包
客户端ubantu
for PORT in {1..65535}; do echo "I am ubuntu!" | socat - UDP4-DATAGRAM:192.168.1.14:$PORT; sleep .1; done #这是个简单脚本,全端口发包
8、二进制编辑
echo -e " 14 c" | socat -u - file:/usr/bin/squid.exe,seek,seek=0x00074420 #-u表示单向传输,seek指定偏移量
9、简单的web服务器
服务器kali
socat -T 1 -d -d TCP-L:10081,reuseaddr,fork,crlf SYSTEM:"echo -e "\"HTTP/1.0 200 OK\nDocumentType: text/plain\n\ndate: $(date)\nserver:$SOCAT_SOCKADDR:$SOCAT_SOCKPORT\nclient: $SOCAT_PEERADDR:$SOCAT_PEERPORT\n\""; cat; echo -e "\"\n\"""
客户端ubantu
浏览器访问http://192.168.1.14:10081/
结语
主要是熟悉了下socat的一些用法
红客突击队于2019年由队长k龙牵头,联合国内多位顶尖高校研究生成立。团队从成立至今多次参加国际网络安全竞赛并取得良好成绩,积累了丰富的竞赛经验。红客突击队始终秉承先做人后技术的宗旨,旨在打造国际顶尖网络安全团队。其核心团队于2022年转型于信息安全研究院,并为政企提供安全服务与技术支持。
© Honker Security Commando
原文始发于微信公众号(中龙 红客突击队):隧道——SOCAT
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论