网易首页 > 网易号 > 正文 申请入驻

小白必看!ICMP隐蔽隧道从入门到精通

0
分享至

hello大家好,我是安全客小安,今天给大家推荐大神马老师的一篇文章,本文从技术原理、实现方式、检测防御等多个维度解释隐蔽性最强的icmp隧道的相关知识,但不深入探讨编程实现,仅作为一篇科普文章,所以用了“从入门到精通”这个标题,一篇科普小文赠与小白(〃’▽’〃)大神可忽视啦,慢慢欣赏吧!

众所周知传统socket隧道已极少,tcp、upd大量被防御系统拦截,dns、icmp、http/https等难于禁止的协议(当然还有各种xx over dns/icmp/http,后续再讲)已成为黑客控制隧道的主流。

说起icmp其实要从最早的免费上网说起。

当年互联网刚刚兴起的时候,上网费是很贵的,难说一不小心上个网就能我们穷学生倾家荡产!后来聪明的同学开始研究技术,虽然我们的网络断了(不是拨号那种无法获得ip的,需要有ip),但是ping ip还是可以的,于是就利用icmp隧道将访问转发到自己的一台放置在公网代理,利用代理中转访问公网,实现免费上网,虽然速率不高,但是免费嘛。

了解了起源,知道他的由来了,我们就好奇了,这技术是怎么回事?最后为啥又成了黑客用的隐蔽隧道呢,其实正所谓技术本无罪,只是看被什么人用罢了。我们主要关注技术原理即可。

技术原理

怎么可以实现这种神奇的通信呢,这就要从协议这个东西的基本原理说起,打开rfc(https://www.rfc-editor.org/search/rfc_search_detail.php)查询ping使用的icmp协议

查看详情RFC792

https://www.rfc-editor.org/info/rfc792

https://www.rfc-editor.org/rfc/rfc792.txt

你会发现icmp协议的结构如下:

其中0~31是各种协议头部,那剩下的呢?当然就是data了!原本默认ping传输的是:

windows系统,默认传输32bytes,内容是abcdefghijklmnopqrstuvwabcdefghi,共32bytes

linux系统,稍显复杂,默认Data传输的是48bytes,在Date之前多了一个Timestamp from icmp data头,占用8bytes,如e5 0d 44 5b 00 00 00 00(Jul 10, 2018 09:37:41.000000000 CST),详情如下:

1、%%%%,4个%在0~f间变化,发送和返回相同,不同发送返回不同(笔者未深入研究规律和代表内容),占用2个bytes

2、090000000000,前两位%%在变动,同一次ping操作,无论发送接收多少包,此数值不变,下一次ping则此值会变动(笔者未深入研究规律和代表内容),占用6bytes

3、101112131415161718191a1b1c1d1e1f20(规律是从10开始的16进制递增,一直到20),占用17bytes

4、!”#$%&’()+,-./01234567,占用23bytes

经过简单的分析确认,windows固定传输的是abcdefghijklmnopqrstuvwabcdefghi,linux固定传输的是!”#$%&’()+,-./01234567,那我们能否改变这些data填充我们自己的数据呢? 答案是当然是可以!

这就是icmp隐蔽隧道的原理:替换Data部分。windows简单,替换后解决checksum即可,linux稍复杂,替换后要还要满足原有的其他规律(笔者主要领域是windows,有兴趣的读者可以研究下),防止链路上的设备对错误包进行抛弃处理。

此外,还有一点需要补充,ping的包大小,也就是data大小是可以修改的,如修改为1024bytes,以windows为例:

则,从包体看效果如下,可见规律还是一样,重复罢了。

最后,还有一个关键问题!

你发送了修改了data的数据,对方的系统能否正常处理你的畸形ping数据呢?还有对方回包的畸形ping应答数据,你自身能否处理呢?很明显,标准的windows系统和linux系统是无法处理畸形data的数据的,所以我们还需自己的ping发送和应答程序替代系统的本身的ping。那么接下来,我们就来看看各种畸形ping处理工具,也即是icmp隧道工具。

工具实现

这里我们不用虚拟机演示,避免只是演示不能实践的窘境!
笔者一开始接触icmp shell时,参考各种用虚拟机演示的文章,发现用虚拟机ok但是真实环境不行,所以踩坑后为了让大家不踩,我们采用真实的公网vps+内网终端演示,环境:
1、vps为linux,内网终端为windows;
2、vps无法ping通内网终端的内网ip;
3、内网终端可以ping通公网独立ip的vps.
好,说明完,我们看看怎么实现:

icmp.sh

先说这个,是因为这个包括一个通用的icmp server端(前面说过,这个是必须的),可以被其他方式的被控端复用,下载在github找即可,操作如下

server端

正如前面说的,我们的server端要替代系统本身的ping的应答程序,要不shell不稳定(现象是一直提刷屏,无法交互输入),先关闭系统的ping应答,方法如下(恢复系统应答则=0):

然后就可以启动我们自己的icmp应答程序了

第一个ip为vps的ip,是独立的公网ip,建议用搬瓦工即可

第二个ip是agent的公网ip,但这个所谓的公网ip有玄机,严格说这个ip应该是server端看到的ip,为了得到这个ip可以从内网终端ping这个vps,在vps用tcpdump icmp获取这个ip,然后填写。如下:

如果您要用这个server作为您自己的木马组件则要自动判定,建议anget木马程序弹shell之前,先ping一下server(调整独特ping大小,次数等,防止server误判),server根据ping自动启动server配置。

agent端

按照github上这个工具作者的文章,如下:

这个ip就是公网的vps的ip了。这样在server端就可以获取到shell了

数据包分析,课件windows替换了data,大小增大到113

powershell icmp

server端

同上

agent端

这个就不多说了,都是玩这个的,如下

ip还是sever的ip,咱们的vps的ip,获取shell,没有乱码,所以笔者还是喜欢powershell这个神器!

meterpreter

虽然写了这个,是因为笔者认为它应该有icmp的反弹shell,但是竟然没找到,也许是寻找方法不对,有知道的同学麻烦留言,感谢!

icmptunnel、ptunnel等

主要用作xx over icmp使用,相对复杂,但是可以让传统的tcp、udp木马再次有用武之地,后续探讨。
当然除了以上还有很多其他工具,如linux下的PRISM(也支持mac、安卓)等等,还有很多人自己的写的python实现,可以说是现有工具已经遍地开花,那就更别说专业黑客在自己的代码中直接实现的了,所以对抗icmp隧道迫在眉睫!

检测和防御

明白了原理,也模拟了工具的使用,那么防御和检测就简单,只需要禁止ping就可以完全屏蔽此类隐蔽隧道风险,但如果要考虑用户体验,那就只有解析包体了,然后做否定判定,也就是说只要ping的data不是标准的windows、linux的data包体(标准大包为合法)内容,则判定非法,报警拦截即可。
不过笔者没研究除了windows、linux以外系统ping的实现,如macos、安卓各个版本、各个网络设备等,建议安全防御者先解析包体,然后分析合法data,形成白data清单,最终再做“否”判定。

最后的思考

我们这里只探讨最常见的ping(ICMP类型为0和8),那icmp的其他类型是否可以外传、交互shell?继续研究!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
詹姆斯谈退役:6月底7月初做决定

詹姆斯谈退役:6月底7月初做决定

甜度百分百21
2026-05-23 01:42:13
江西一新娘临时加8万彩礼,新郎扭头就去取钱,新娘到娘家后慌了

江西一新娘临时加8万彩礼,新郎扭头就去取钱,新娘到娘家后慌了

涛哥讲堂
2025-01-10 14:13:19
揭秘崩老头灰色产业链:女孩月入5万,70部手机只为收割中年男性

揭秘崩老头灰色产业链:女孩月入5万,70部手机只为收割中年男性

千秋文化
2026-05-20 20:36:03
仅一个季度,日本汽车在全球前十大车企夺回4个,中国或仅剩一家

仅一个季度,日本汽车在全球前十大车企夺回4个,中国或仅剩一家

柏铭锐谈
2026-05-20 08:44:50
闹大了!北师大男生实习期“拒上桌吃剩饭”,老师委屈哭诉引争议

闹大了!北师大男生实习期“拒上桌吃剩饭”,老师委屈哭诉引争议

火山詩话
2026-05-21 13:48:46
多名院士调查发现:喝一次酒,就等于洗一次肝,真的假的?

多名院士调查发现:喝一次酒,就等于洗一次肝,真的假的?

垚垚分享健康
2026-04-18 14:32:50
中年返贫4件套,一个也不要碰!

中年返贫4件套,一个也不要碰!

细说职场
2026-04-13 12:36:59
她只约会前5%的男人,却说剩下95%都很肤浅

她只约会前5%的男人,却说剩下95%都很肤浅

云朵偷喝奶茶
2026-05-22 00:37:03
你发现没有,凡是结婚时不主动提彩礼的,女方家庭通常就是以下两种情况

你发现没有,凡是结婚时不主动提彩礼的,女方家庭通常就是以下两种情况

心理观察局
2026-05-08 09:32:04
真分手了鹿晗深夜发文,曝真实现状,其实关父早有暗示

真分手了鹿晗深夜发文,曝真实现状,其实关父早有暗示

小椰的奶奶
2026-05-22 14:24:44
把白银板料卖给宝妈群体,堪称21世纪最牛掰的割韭菜范例。

把白银板料卖给宝妈群体,堪称21世纪最牛掰的割韭菜范例。

流苏晚晴
2026-05-20 18:09:49
美伊谈判、霍尔木兹海峡,突传大消息!美股拉升!黄金、白银、原油集体走低!

美伊谈判、霍尔木兹海峡,突传大消息!美股拉升!黄金、白银、原油集体走低!

证券时报e公司
2026-05-22 22:35:46
《歌手2026》首场直播,窦靖童登台翻唱窦唯经典《Don't Break my heart》,那英现场泪崩忘了拿麦:一代人终将老去,包括我跟她妈

《歌手2026》首场直播,窦靖童登台翻唱窦唯经典《Don't Break my heart》,那英现场泪崩忘了拿麦:一代人终将老去,包括我跟她妈

极目新闻
2026-05-22 22:44:03
“碳水脸”引争议,网友:令人不适的网络词!

“碳水脸”引争议,网友:令人不适的网络词!

中国日报
2026-05-21 15:28:00
生理旺盛的女性,大多有这3个特征,超准!

生理旺盛的女性,大多有这3个特征,超准!

皓皓情感说
2026-04-25 19:09:10
A股:大家坐稳扶好了,从下周一起,大牛市或将再次重演历史了!

A股:大家坐稳扶好了,从下周一起,大牛市或将再次重演历史了!

夜深爱杂谈
2026-05-22 20:51:30
姐弟状态反差大!小玥儿躲闪疏离,小箖箖活泼疯玩,背后全是隐忍

姐弟状态反差大!小玥儿躲闪疏离,小箖箖活泼疯玩,背后全是隐忍

草莓解说体育
2026-05-22 19:10:33
5月28日见!比亚迪官宣智能化战略发布会:重磅技术突破揭晓在即

5月28日见!比亚迪官宣智能化战略发布会:重磅技术突破揭晓在即

快科技
2026-05-22 17:05:25
最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

最高院:提供 “口交” “肛交”等进入式性服务,是否属卖淫行为?

周军律师聊案子
2026-04-21 09:50:16
杨鸣凭实力大赚特赚!赵继伟到底是去上海还是北控?

杨鸣凭实力大赚特赚!赵继伟到底是去上海还是北控?

君马体育
2026-05-23 00:13:22
2026-05-23 02:48:49
安全客 incentive-icons
安全客
有思想的安全新媒体
1360文章数 4754关注度
往期回顾 全部

科技要闻

雷军:输给特斯拉不丢人

头条要闻

特朗普儿媳:中国6000年历史太震撼 美国才250年

头条要闻

特朗普儿媳:中国6000年历史太震撼 美国才250年

体育要闻

最糟糕裁判?他想要退役当市长

娱乐要闻

周也恋情曝光!对象身份不简单

财经要闻

富途拟被罚18.5亿元 老虎 长桥也回应了

汽车要闻

11万级直接上四驱 银河星耀7限时权益价9.88万起

态度原创

房产
艺术
数码
本地
手机

房产要闻

疯抢511轮!今年海南最魔幻的地块,被福建能源企业抢了!

艺术要闻

高315米、北京“彩虹之门”为什么15年未建?

数码要闻

OPPO Enco Air5s耳机规格公布,5月25日发布

本地新闻

用云锦的方式,打开江苏南京

手机要闻

荣耀双机再次被确认:Magic9系列疯狂开案,WIN2也有惊喜!

无障碍浏览 进入关怀版