木马前世今生:上线方式发展及新型上线方式实现
cac55 2025-06-10 13:19 15 浏览 0 评论
0×00 前言
在讲文章主题之前,我们还是习惯性地聊(che)一(che)聊(dan)。
远程控制木马大家都不陌生,尤其是早期接触黑客技术的人,应该可以发现早在2007-2009年,这段时间内,国内的“黑客技术”正是蓬勃发展的时期,那个时候,可谓是“战乱纷争,万马奔腾”的年代,当时流行各种黑客技术,其中就包括远程控制技术。
各种远程控制木马满天飞,无论是最早葛军编写的“灰鸽子”,还是各种后起之秀的RAT,简直不胜枚举,各种被阉割的xxx专用版,各种新出的xxxRAT。如各类国产远控木马、上兴、PCShare、黑防的ByShell、黑洞、冰河、SRAT、暗组的DRAT、XRAT、维度等等,包括国外的一些C/S,B/S型的远控木马也传入了国内,各家似乎都在比拼谁的功能多,谁的免杀好,谁的反杀软技术强。于是,各种HOOK SSDT,Rootkit级别的木马比比皆是。可是,后来因为国家的管控,各种黑客论坛,黑客网站,黑客杂志相继关闭或消失。远控木马编写技术和木马免杀技术也不再那么流行,当初写木马做免杀的“高手”,如今早已从网络中销声匿迹。
引用王家卫导演的《一代宗师》里边的一句话——
“有的成了里子,有的成了面子,都是时势使然。”
当然,客观的讲,造成这种形势的原因也是国内安全行业的进一步发展所致。不过,我相信依旧有一帮人还在这个领域埋头探索,在努力,木马依旧可以绕过各种杀软。毕竟,“攻永远超前于防”。
0×01 传统木马上线方式概述
好了,聊(che)完了。该进入文章主题了。今天,不谈别的,只“浅谈”木马上线技术的发展。
最早的远控木马都是“主动连接”,通俗的讲是这样的:假如你要控制某人的主机A,你得在主机A上执行木马, 木马执行后会开启一个你提前配置好的端口,之后,你要与该主机A建立连接,在主控端上输入该主机A的IP和端口,才能进行控制。
不过,后来因为互联网的进一步发展,公网控制内网就出现了一定的问题。于是,“被动连接”型的木马上线技术就出现了,和“主动连接”的形式刚好相反,是木马即被控端主动来连接主控端。主控端开启一个端口,被控端去连接你配置好的IP地址。
“被动连接”也叫“反弹连接”。谈到这个不得不提两种经典的木马上线方式。一种就是FTP上线方式,另外一种就是DNS域名解析上线方式。
灰鸽子FTP上线方式如下图:
在你的FTP服务器上写入一个ip.txt,内容就是你的主控端监听的IP地址和端口。当你的IP地址改变之后,你只需要再次更新这个ip.txt的内容即可。
在配置木马的时候,只需要按照FTP上线方式的格式配置上线地址。
如下图:
对于DNS域名解析上线,一直是木马上线的最主要的方式,曾经最流行的就是3322和花生壳。木马执行后会解析你配置好的域名,然后去连接对应的IP地址的端口,进行通信。
0×02 新型木马上线方式
从大量的APT攻击案例中可以发现,当今的木马在运行的隐蔽性,通信的穿透性,功能的多样性,跨平台性等方面有了很大的突破。
在研究分析过程中,有部分木马的上线方式,开始采用第三方域名进行通信。这无疑增强了木马的隐蔽性和反追踪能力。
上线方式的说明,请看下图:
这种木马使用的第三方域名实际上是利用第三方网站能够写入并及时修改自己的通信数据。木马编写者往往会寻找知名的网站,至少不会出现宕机的情况,以保持肉鸡的持久性控制。这样的网站很多,比如说博客类网站等等。可以提前发表一篇博文,并在博文里插入控制命令,之后特制的木马,就会去获取控制命令,同时木马也可以模拟编辑博文,写入执行结果的数据。
由于TCP通信涉及到socket对象的问题,部分木马会专门使用支持php的第三方网站。并拿到webshell后,上传一个进行数据转发的php文件。这种情况下,控制被控端的流畅度可以得到保证。
而一般情况下,采用这种方式的木马都是使用了HTTP协议进行通信,由于HTTP协议是无连接的。所以不会涉及到socket对象的问题。只要被控端为自己生成一个独一无二的ID,即可与其他被控端区别开来。只要在编写代码的时候,对接受数据,发送数据,执行控制命令这三个功能模块做好处理,控制的流畅度还是可以得到一定的提升。
采用第三方域名上线的木马,在隐蔽性方面有了很大突破,而且这种做法,也可以提高木马的穿透性,对于一些防火墙来说,至少知名的网站总归是允许进行数据通信的。
0×03 第三方域名上线方式的实现思路
先把思路搞清楚。木马上线采用的第三方网站为"博客园",注册两个帐号,一个为主控端用于发出控制命令所使用的账号A,另一个是被控端发送本机信息以及控制命令执行结果所使用的账号B。用账号A创建两篇文章,一篇为木马上线测试(下文简称文章A),一篇为木马功能测试(下文简称文章B)。
被控端处理上线事务的线程设计思路如下:
上线信息的格式:
[主机名称]&[当前时间]&[主机唯一ID]
对于[主机唯一ID],如果是第一次上线会生成此ID,如果不是则会读取已经生成好的ID。
主控端处理主机上线事务的线程设计思路如下:
由于这种上线方式采用的实际上是HTTP协议通信的,所以无法像TCP通信一样,存在相关的SOCKET事件。所以,主控端还需要有一个处理主机是否在线的线程,设计思路如下:
另外,为了防止文章A的评论区有很多评论,主控端在获取完评论信息(主机上线信息),之后,添加一个删除文章A的评论的线程即可。
0×04 第三方域名上线方式的简单代码实现
接下来,我们用简单的代码实现这个demo。为了快速实现这种木马上线方式,主控端采用C# WinForm实现,客户端采用Python实现。搞清楚了设计思路,用什么编程语言去实现就是次要的事情了。
下面是被控端启动后,向文章A提交评论(上线信息)的截图:
发送上线信息后,文章A的评论截图如下:
主控端的截图如下:
功能测试的通信流程和上线测试的流程思路是相似的。在这里就不在赘述,这种上线方式虽然采用了HTTP协议通信但是和直接使用封装的HTTP协议或者是浏览器访问,是有一定的区别的。它无法进行大批量的数据传输,像文件传输这样的功能虽然也可以实现,但是"用户体验"很差,所以这种上线方式的木马,大多被用来当作一个隐蔽的后门木马,只需要有一个文件下载和CMD Shell的功能。
0×05 总结
采用第三方域名上线方式的木马设计思路,已经很明确了,但是在实际实现的过程中还存在一些不足。包括上文中用code去实现,也有很多处理事务线程和上线性能等方面需要进一步改进。所以代码在此就不提供了。大家了解了这种思路就好。另外,对于将账号B的登录信息写入客户端,是否存在一定风险?对于这个问题,大可不必细究。
“博客园”的登录信息会被登录页面的js使用key进行加密然后提交,即使你分析出了登录信息也是加密过的,并非原始明文密码。另外,登录成功后,会有一个session或者cookie,可以直接拿来当作发表评论(主机上线信息)的令牌使用。也可以将cookie的生命周期加长,延长控制时间。
文章中还有很多"易喷点",欢迎来"喷"。
0×06一点题外话
对于木马上线域名的分析和追踪,在这篇文章《浅谈从反木马角度分析怎样提高木马反跟踪能力》中作者提出了在木马上线方式的时候使用UDP+TCP协议的方法来迷惑安全研究人员。实际上,这种办法起不到任何作用。因为,要分析木马的上线域名,最直接最有效的办法就是用wireshark抓包,过滤出dns协议的数据包,很快就能分析出来。
即使你在编写木马的时候,并未对上线地址采用“硬编码”,或者使用动态数组动态生成,又或者你进行了各种加密,又或者直接写入内存等“软编码”手段,这些只能对木马上线地址的静态分析起到一定的保护作用,如果去动态调试跟踪,也是可以得到上线地址的。
对于使用域名生成算法(DGA)生成的域名,目前已经有相应的机器学习的手段去检测是否为木马的C&C域名。不过目前看起来,目前对于木马上线地址的隐藏,最好的办法就是使用第三方域名,这样可以极好的保护木马操纵者。
相关推荐
- 国行PS5到手却遇游戏荒?来看看什么游戏最适合吧
-
点击右上方“关注”,第一时间获取科技资讯、技能攻略、产品体验,私信我回复“01”,送你一份玩机技能大礼包。---------------------------------近日,预订了国行PS5的玩家...
- 教程丨每天5分钟让你成为PS大神(第一期)
-
言摄说生活需要颜色,精彩尽在言摄!Hello大家好我是小R,最近有粉丝要求想看Photoshop教程,我作为新媒体行业的一颗新星,各位看官的小棉袄既然有要求当然有求必应。那么今天教给大家的是“焦点选择...
- PS如何调制具有风格化的油画效果方法很简单
-
油画相信大家都不陌生,最早时期油画是非常出名的,油画的效果很独特,比如梵高画的向日葵,这个作品就是名不其实的油画风采,言归正传我们回到正题,那么小编今天给大家所讲的就是,如何使用Photoshop...
- 怪物猎人荒野ps5测试开启 怪物猎人荒野ps5预下载教程分享
-
怪物猎人是很经典的动作狩猎游戏,而这次它的续作怪物猎人荒野即将在11月1日全平台开启公测,今天大家可以先预下载游戏。那么下面小编就为你们带来怪物猎人荒野ps5测试开启怪物猎人荒野ps5预下载教程分享...
- 利用PS制作奥运五环练习图层和选区
-
本文的目的不是让你学会奥运五环怎么制作,而是让你在学习制作奥运五环的过程中熟悉PS的一些操作,比如图层,比如选区,比如色彩填充等操作。这个实例是一个非常综合性的练习,也是我们课堂上用作练习PS操作的范...
- 索尼PS5主机容量告急?如何加装一块PCIe 4.0 SSD
-
PS5主机有个弊端就是可用存储空间太小了。虽说机身配备825GB固态硬盘空间,但是除去本身的系统占用,留给玩家支配的空间仅仅只有660G。现在的主机游戏动辄几十G、甚至上百G,偶尔录屏/截图几百兆说没...
- PS5 4.03以下系统正式折腾(ps5 3.20)
-
今日大神正式放出了ps54.03系统的折腾教程,4.03以下系统可用,折腾方式与ps4相同。初期的ps5存货水涨船高。方法:4.03系统,如果低于4.03先升级到4.03准备一个U盘在电脑上格式化成...
- PS5主机内置M.2固态硬盘扩容新手教程,速度测试+注意事项
-
随着现如今游戏容量越来越大,PS5主机的内存就显得越来越捉襟见肘了。虽然PS5有825GB的存储空间。但去掉系统空间后,只剩下那可怜的667GB。即使PS5有最新的压缩技术,能将游戏容量进一步缩减。但...
- Photoshop 2023:这里有 5 个您意想不到的新功能
-
又到了一年中的那个时候,Adobe提前给我们送了一份圣诞礼物;Photoshop改进形式的一些好东西。很难想象Photoshop如何变得更好,但他们设法做到了这一点。如今,Photoshop...
- Switch秒变PS5画质?超频教程+4K分辨率设置!全网最干技术帖
-
"谁说Switch只能720P?解锁隐藏性能教程来了!超频神器Sys-Clk帧率提升50%《旷野之息》稳定60帧风险提示:可能导致发热量增加4K输出教程①购买「MClassic视频转换器」...
- 超实用PS教程!(零基础入门)(ps入门教程零基础视频第一集)
-
应用领域:摄影后期;海报设计;文字设计;移动界面;淘宝美工;网页设计;LOGO一、基本操作1、PSCC—首选项,选择界面颜色2、新建与保存:新建—command+N,保存—command+S,放大...
- 摄影后期必看 | PS插件camera raw 16.4教程 | 修图流程
-
修图流程摄影师使用CameraRaw修图时,如果按照一定的流程来进行,可以大大提高工作效率。推荐按以下流程进行修图:1、调曝光,定影调2、还原校正修复与二次构图3、调颜色,定色调4、局部调整与画...
- ps5pro联网全教程,再也不怕买来不会用了!
-
不少的玩家拿到ps5pro之后,对其的性能都做出了测试,ps5pro性能比ps5提升30%,但是功耗却以与其几乎相同。但是目前有的玩家拿到ps5pro却不知道如何联网,小编下面将为你们带来ps5pro...
- 手机摄影:手机自带的6个超实用的拍照模式,拍出大片其实很简单
-
手机摄影:现如今,手机已然成为记录生活的一种拍摄工具,但是绝大多数的人依然无法完全掌握手机的各种拍照功能。下面,我们来给大家整理总结一下。1、自动模式也就是我们打开手机的相机功能直接拍,它是一种最傻瓜...
- Mac上Android Studio安装教程,详细步骤让你轻松搞定
-
作为专业移动应用研发工程师,深知优质开发工具有助于项目取得成功。以MacOS操作系统为例,AndroidStudioforMac因卓越性能和广泛的跨平台兼容特性深受安卓开发者认可。本文将从实践角度阐述...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)