[网络安全自学篇] 九十.远控木马详解及APT攻击中的远控

℡╲_俬逩灬. 提交于 2020-08-14 13:38:25

这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步。前文分享了软件来源分析,结合APT攻击中常见的判断方法,利用Python调用扩展包进行溯源。这篇文章将详细讲解远控木马及APT攻击中的远控,包括木马的基本概念和分类、木马的植入方式、远控木马的通信方式、APT攻击与远控木马等。作者之前分享了多篇木马的文章,但这篇更多是讲解远控型木马,基础性文章,希望对您有所帮助~

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~


作者的github资源:
软件安全:https://github.com/eastmountyxz/Software-Security-Course
其他工具:https://github.com/eastmountyxz/NetworkSecuritySelf-study
Windows-Hacker:https://github.com/eastmountyxz/Windows-Hacker-Exp



声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。

前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
[网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
[网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
[网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
[网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
[网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
[网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
[网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
[网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
[网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
[网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
[网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
[网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
[网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
[网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
[网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识(一)
[网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
[网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
[网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)
[网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及漏洞还原
[网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原
[网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验
[网络安全自学篇] 四十四.Windows远程桌面服务漏洞(CVE-2019-0708)复现及详解
[网络安全自学篇] 四十五.病毒详解及批处理病毒制作(自启动、修改密码、定时关机、蓝屏、进程关闭)
[网络安全自学篇] 四十六.微软证书漏洞CVE-2020-0601 (上)Windows验证机制及可执行文件签名复现
[网络安全自学篇] 四十七.微软证书漏洞CVE-2020-0601 (下)Windows证书签名及HTTPS网站劫持
[网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及黑客常用DOS命令
[网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看
[网络安全自学篇] 五十.虚拟机基础之安装XP系统、文件共享、网络快照设置及Wireshark抓取BBS密码
[网络安全自学篇] 五十一.恶意样本分析及HGZ木马控制目标服务器
[网络安全自学篇] 五十二.Windows漏洞利用之栈溢出原理和栈保护GS机制
[网络安全自学篇] 五十三.Windows漏洞利用之Metasploit实现栈溢出攻击及反弹shell
[网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取
[网络安全自学篇] 五十五.Windows漏洞利用之构建ROP链绕过DEP并获取Shell
[网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结
[网络安全自学篇] 五十七.PE文件逆向之什么是数字签名及Signtool签名工具详解(一)
[网络安全自学篇] 五十八.Windows漏洞利用之再看CVE-2019-0708及Metasploit反弹shell
[网络安全自学篇] 五十九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及shell深度提权
[网络安全自学篇] 六十.Cracer第八期——(2)五万字总结Linux基础知识和常用渗透命令
[网络安全自学篇] 六十一.PE文件逆向之数字签名详细解析及Signcode、PEView、010Editor、Asn1View等工具用法(二)
[网络安全自学篇] 六十二.PE文件逆向之PE文件解析、PE编辑工具使用和PE结构修改(三)
[网络安全自学篇] 六十三.hack the box渗透之OpenAdmin题目及蚁剑管理员提权(四)
[网络安全自学篇] 六十四.Windows漏洞利用之SMBv3服务远程代码执行漏洞(CVE-2020-0796)复现及详解
[网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)
[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)
[网络安全自学篇] 六十七.WannaCry勒索病毒复现及分析(一)Python利用永恒之蓝及Win7勒索加密
[网络安全自学篇] 六十八.WannaCry勒索病毒复现及分析(二)MS17-010利用及病毒解析
[网络安全自学篇] 六十九.宏病毒之入门基础、防御措施、自发邮件及APT28样本分析
[网络安全自学篇] 七十.WannaCry勒索病毒复现及分析(三)蠕虫传播机制分析及IDA和OD逆向
[网络安全自学篇] 七十一.深信服分享之外部威胁防护和勒索病毒对抗
[网络安全自学篇] 七十二.逆向分析之OllyDbg动态调试工具(一)基础入门及TraceMe案例分析
[网络安全自学篇] 七十三.WannaCry勒索病毒复现及分析(四)蠕虫传播机制全网源码详细解读
[网络安全自学篇] 七十四.APT攻击检测溯源与常见APT组织的攻击案例
[网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)
[网络安全自学篇] 七十六.逆向分析之OllyDbg动态调试工具(二)INT3断点、反调试、硬件断点与内存断点
[网络安全自学篇] 七十七.恶意代码与APT攻击中的武器(强推Seak老师)
[网络安全自学篇] 七十八.XSS跨站脚本攻击案例分享及总结(二)
[网络安全自学篇] 七十九.Windows PE病毒原理、分类及感染方式详解
[网络安全自学篇] 八十.WHUCTF之WEB类解题思路WP(代码审计、文件包含、过滤绕过、SQL注入)
[网络安全自学篇] 八十一.WHUCTF之WEB类解题思路WP(文件上传漏洞、冰蝎蚁剑、反序列化phar)
[网络安全自学篇] 八十二.WHUCTF之隐写和逆向类解题思路WP(文字解密、图片解密、佛语解码、冰蝎流量分析、逆向分析)
[网络安全自学篇] 八十三.WHUCTF之CSS注入、越权、csrf-token窃取及XSS总结
[网络安全自学篇] 八十四.《Windows黑客编程技术详解》之VS环境配置、基础知识及DLL延迟加载详解
[网络安全自学篇] 八十五.《Windows黑客编程技术详解》之注入技术详解(全局钩子、远线程钩子、突破Session 0注入、APC注入)
[网络安全自学篇] 八十六.威胁情报分析之Python抓取FreeBuf网站APT文章(上)
[网络安全自学篇] 八十七.恶意代码检测技术详解及总结
[网络安全自学篇] 八十八.基于机器学习的恶意代码检测技术详解
[网络安全自学篇] 八十九.PE文件解析之通过Python获取时间戳判断软件来源地区

























































































前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包





一.木马的基本概念和分类

木马全称为特洛伊木马,来源于古希腊神话。木马是通过欺骗或诱骗的方式安装,并在用户的计算机中隐藏以实现控制用户计算机的目的。

  • 具有远程控制、信息窃取、破坏等功能的恶意代码

木马具有如下特点:

  • 欺骗性
    木马都有很强的欺骗性,执行通常都由被攻击者自己执行起来的
  • 隐藏性
  • 非授权性
    执行恶意操作是没有经过用户授权的
  • 交互性
    主机之外的攻击者可以通过某种方式对主机进行交互

在这里插入图片描述


接着分享木马的分类,不同视角有不同的分类。

1.行为视角
粒度细,如卡巴斯基SafeStream病毒库的分类标准。由下图所示,它是卡巴斯基整个对恶意代码分类体系,最上面的是蠕虫(Worm)和病毒(Virus),接着是后门(Backdoor)和Trojan,接着将Trojan按行为分成了很多类,最后是Rootkit和Exploit。从下往上是按照危害程度进行排序,最上面的危害程度最大、最下面的危害程度最小。

在这里插入图片描述

下面这张图是卡巴斯基木马的具体分类,木马分为Backdoor、Trojan、Rootkit、Exploit。 按道理说,将Exploit放到木马范畴是不合适的,接着Trojan又分为Trojan-Downloader(下载)、Trojan-Dropper(释放)、Trojan-Spy(间D软件)Trojan-DDoS(拒绝服务)、Trojan-Ransom(磁盘数据加密勒索用户)等。同时,它在命名的时候会根据其行为进行分类。对于卡巴斯基来首,Backdoor包括远程控制型程序,就是这篇文章的远控型木马。

在这里插入图片描述

2.功能视角
包括远程控制型、信息获取型、破坏型等。

  • 远程控制型木马
    远程控制可以对目标计算机进行交互性访问(实时或非实时),可以下发相应的指令触发恶意软件的功能,也能获取目标的各种数据。其交互性是双向的(攻击者-被控制端)。
    典型案例包括卡巴斯基分类标准下的木马之类Backdoor,还有一些实际案例,包括冰河、网络神TOU、广外女神、网络公牛、黑洞、上兴、彩虹桥、PCShare、灰鸽子等。下图展示了灰鸽子代码,其具体测试方法推荐作者前文。

在这里插入图片描述

  • 信息获取型木马
    信息型获取木马的功能是信息获取,可以从键盘输入、内存、文件、数据库、浏览器Cookies等中获取有价值的信息。其交互性是单向交互,是被控制端发送数据给攻击者,比如发送至攻击者的第三方空间、文件服务器、指定邮箱等,或者直接开启FTP服务程序,攻击者直接访问从而下载数据。
    下图展示了BPK软件界面,包括屏幕截屏、信息记录等功能,并发送数据给攻击者。典型案例包括卡巴斯基分类标准下的Trojan-Bank、Trojan-GameThief、Trojan-IM、Trojan-Spy、Trojan-PSW、Trojan-Mailfinder等。

在这里插入图片描述

  • 破坏性木马
    它的功能是对本地或远程主机系统进行数据破坏、资源消耗等。 其交互性也是单向的,攻击者可以向被控制端发送指令,有的情况也没有任何交互。
    典型案例包括卡巴斯基分类标准下的Trojan-DDoS、Trojan-Ransom、Trojan-ArcBomb、Trojan-Downloader、Trojan-Dropper等。



二.木马的植入方式

木马的欺骗性很强,那么它究竟是通过什么方式去欺骗用户安装这个程序呢?常见方式如下:

  • 网页挂MA植入
    通过网页挂MA实现比较典型,通常需要利用浏览器或相关漏洞,再结合实时新闻、热点话题制作相关网页,将漏洞和网页结合,最后生成恶意网页,当用户打开网页时,远程的木马程序会自动下载和安装。常见的漏洞比如:MS06014、MS10003。

  • 电子邮件植入(鱼叉攻击)
    电子邮件植入最常见的是通过附件的形式,当用户打开附件时被注入木马;另一种是电子邮件与恶意网页相结合,由于电子邮件是支持HTML正文的,如果将相关漏洞植入到网页中,也是能够达到相关的效果。即使不打开附件,选中就会被植入(以HTML格式发送,如求职者)

在这里插入图片描述

  • 文档捆绑植入(鱼叉攻击偏多)
    这也是一种有效的方式,通过office文档、pdf文档漏洞等将文档进行捆绑,当用户打开文档时会触发漏洞,从而释放木马或执行shellcode执行远程攻击。这种文档同时也常用于邮件附件的形式发送。

  • 伪装欺骗植入
    比如可以对exe的文件后缀名进行修改,在原本一个“exe”文件前增加“doc”,然后输入很多空格让其exe不显示出来,再修改成文档类图标,从而进行伪装;另一种是更改后缀名(Unicode翻转字符),将“cod”进行翻转,再就是图标伪装等。

  • 捆绑植入
    EXE捆绑、文档嵌入、多媒体文件、电子书植入。在“三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持”文章中,我详细讲解了通过WinRAR捆绑文件的方法。

在这里插入图片描述

  • 其他
    比如特定U盘植入(故意丢弃、或者工作U盘、数据拷贝等)、社会工程等。

在APT攻击中的恶意诱饵类型众多,包括白加黑、lnk、doc文档、带有WinRARACE(CVE-2018-20250)漏洞的压缩包等,之后的攻击中还新增了伪装为word图标的可执行文件、chm文件等。比如,通过加载scrobj.dll,远程调用http://45.xxx.xxx.67/window.sct,利用Microsoft系统文件的LOLbin以绕过杀软的监测,达到远程执行代码。

在这里插入图片描述



三.远控木马的通信方式

木马的控制端和被控端要通信,首先要建立传输的通道,常见的传输通道构建需要通过IP地址、端口等信息、第三方网站地址实现。建立通信的方式包括两类:

  • 正向连接
  • 反向连接

1.正向连接

正向连接是指控制端主动去连接被控制端,需要被控制端开放相关端口来供控制端连接。首先,控制端会去连接被控端,然后发送相关的控制指令,被控端会将主机上的相关信息反馈给控制端,通常包括IP地址、MAC地址、计算机名称、内存大小等。

在这里插入图片描述

这种连接会存在一个问题,如果对方系统存在防火墙的话,通常会进行拦截。正向连接的优缺点如下:

  • 优点
    攻击者无需外部IP地址,只要能够上网,就能够去连接远程主机
    木马样本不会泄露攻击者IP地址,木马不会主动去对外连接,不会泄露IP

  • 缺点
    可能被防火墙阻挡
    被攻击者必须具备外部IP地址
    定位被攻击者相对困难,比如被攻击者IP是否变化?目标主机何时上线?当然有些木马,在目标主机主机能够上网时,会给指定邮箱发送IP地址信息,攻击者收到IP地址后会去主动连接主机。



2.反向连接

第一种方式是右边的被控端(服务端)主动连接控制端主机,这种情况下防火墙一般会允许通过,尤其是目前很多木马程序采用80端口作为远程连接的端口,防火墙会非常信任。

在这里插入图片描述

第一种方式的优缺点如下:

  • 优点
    通过防火墙相对容易
    可以控制局域网内的目标
    攻击目标随时上线,攻击者可以进行随时控制,因为攻击者控制服务器一直在线,只要被控端上线就会连接过来,甚至可以通过短信等方式告知。


  • 缺点
    样本会暴露控制服务器信息(域名或IP)
    攻击者通常应当具有外部IP


关于反向连接,还有另外一种方式,被控端和控制端之间有个第三方的肉J,它们都和第三方通信,比如肉J、Web服务器。

  • 优点
    可绕过防火墙,自动连接上线,不易被发现(代理)
  • 缺点
    肉鸡的稳定性需要保障

在这里插入图片描述


3.通信协议

  • TCP协议
    稳定、易被发现
    HTTP协议伪装

  • UDP协议
    和TCP一样也有正向、反向两种方式
    负载比TCP少,但是可靠性低

  • ICMP+TCP/UDP
    该方式平时不开启端口,但会监听ICMP报文,以感知木马数据。当攻击者想对这台主机控制时,可以发送ICMP报文,发过来之后控制端监听到特定报文时,就知道到想要进行监听并开启相关端口。ICMP报文是由系统内核或进程直接处理而不是通过端口,其方式比较一笔,一般不会被防火墙过滤。

下图展示了冰河写的后门程序,叫BITS(Background Intelligent Transfer Service),是一种难以觉察的后门,采用ICMP+TCP/UDP方式实现。进程管理器首先看不到,另外平时没有端口,只是在系统中充当卧D的角色,并且提供正向连接和反向连接两种功能,适用于不同的操作系统(Windows2000/XP/2003),通过其提供的Shell,你能做很多事情。

在这里插入图片描述

同时,请各位博友思考一个问题:什么样的协议最安全?

  • 流量检测手段
    IDS、VDS、IPS、VPS 、UTM
    防火墙、SIEM (安全信息和事件管理)

  • 如何逃避流量检测?


四.远控木马的常见功能及意图

首先看下木马的结构,一般由三部分组成,包括木马配置程序、控制端程序(客户端)和被控制端程序(服务端程序)。其中配置程序用于配置被控端的特征和功能,包括是否创建服务、是否隐藏等。

在这里插入图片描述

下图展示了PcShare的主控界面,其中“生成客户”点击后就是木马的配置过程。

在这里插入图片描述

下图展示了木马上线后的控制界面,包括目录浏览、屏幕控制、进程列表、窗口列表、服务管理、注册表编辑、键盘记录等。

在这里插入图片描述

下面是灰鸽子的主界面。

在这里插入图片描述

木马的典型功能包括:

  • 文件管理
  • 进程管理
  • 服务管理
  • 注册表管理
  • 屏幕监控、屏幕截取
  • 语音视频截获
  • 键盘记录
  • 窗口管理
  • 远程Shell

1.文件管理

文件管理主要目的是获取目标的文件系统信息,通常包括如下功能:

  • 浏览各磁盘文件
  • 上传、下载文件(包括上传恶意文件)
  • 执行文件
  • 删除文件
  • 修改文件信息(如文件属性、时间)

可能涉及的部分关键函数: GetLogicalDriveString、 GetDiskFreeSpace(Ex)、GetVolumeInformation、GetDriveType、 FindFirstFile、 FindNextFile、 FindClose、DeleteFile、SHFileOperation 、SHEmptyRecycledBin、 MoveFile、 CreateFile( Ex) 、WriteFile 等

在这里插入图片描述


2.进程管理

查看、结束、暂停目标系统进程。具体目的包括:

  • 查看目标系统的环境信息
    通过进程查看功能可以实现查看安装了哪些软件?目前对方正在做什么?
  • 停止或暂停目标系统的相关程序,从而形成干扰
    如反病毒程序

涉 及 的 关 键 函 数 包 括:CreateToolhelp32SnapShot、 Process32First、Process32Next、 EnumProcesses、 GetCurrentProcess、 OpenProcessToken、LookupPrivilegeValue、 AdjustTokenPrivilege、 OpenProcess、 GetModuleBaseName、EnumProcessModules、 GetModuleFileNameEx、 TerminateProcess 等。

在这里插入图片描述


3.服务管理

主要功能是查看并管理目标系统的服务,包括:

  • 创建服务
  • 启动/停止服务
  • 删除服务

具体作用如下:

  • 查看目标系统的环境信息
    安装了哪些软件?启动了哪些服务?
  • 停止或暂停目标系统的相关程序
    如反病毒程序

可能涉及的关键函数: OpenSCManager、EnumServiceStatus、OpenService、 QueryServiceConfig、 StartService、StopService、 DeleteService 等。

下图是PcShare提供的服务管理示例。
在这里插入图片描述


4.注册表管理

注册表管理可以浏览注册表的信息及键值,也能创建、删除一些键值。

可能涉及的关键函数包括: RegQueryInfoKey、RegEnumKeyEx、 RegEnumValue、 RegCreateKeyEx、RegDeleteKey、 RegSetValueEx、 RegDeleteValue 等。

在这里插入图片描述


5.屏幕控制

  • 利用 keybd_event 或者SendInput 模拟按键PrintScreen
  • 利用 CreateDC 获取当前屏幕设备的句柄,然后获取屏幕图像

在这里插入图片描述


6.键鼠操作

下图是PcShare远程控制的键盘控制,主要涉及函数:

  • SetCursorPos
  • mouse_event
  • SendInput

在这里插入图片描述


7.屏幕截取

对于有些木马来说,会认为屏幕控制功能流量消耗很大,不希望引起被控制着注意,有时候进行屏幕抓取即可。

  • 抓取屏幕(单张、多张连续)
  • 了解目标主机的当前操作情况

常见函数包括:

  • CreateDC
  • CreateCompatibleBitmap
  • BitBlt

8.语音视频截获

录音包括窃取对方谈话信息、窃取对方对外语音通话(如QQ、SKYPE、MSN等),甚至即使是在断网的环境也可能会被录音,当连接网络后再传输对应的数据。另一个是摄像头,主要包括打开摄像头(了解对方现场环境)、摄像录制(敲Z)等。下图展示了语音视频截获的过程。

在这里插入图片描述


9.键盘记录

获取目标电脑中的键盘击键信息,包括:

  • 用户名、密码信息
    QQ、邮箱、网银、网上证券、网络游戏、支付宝等
  • 聊天信息
    部分木马支持中文汉字记录

其他功能还有窗口管理,比如查看目标主机目前开启了哪些窗口,了解目标用户正在做什么;再就是远程Shell,包括交互式或非交互式Shell(远程交互的Cmd.exe)、直接执行命令或第三方程序等。部分木马功能如下图所示,其中很多功能所有木马都具有,比如文件管理、注册表管理、屏幕监控,也有一些功能是特有的。

在这里插入图片描述

最后简单总结下编写木马的关键性,这个“网络安全自学篇”系列100篇即将结束,下一个系列专栏我会尝试带大家实现一个简单的远控软件,涉及各个部分的知识点,也希望你们喜欢。

  • 功能适当[精简灵活]
  • 适用性强[功能、权限]
  • 高效、稳定、隐蔽[传输]
  • 可穿透性
  • 自更新、自销毁
  • 反调试、反分析、防追踪、反制对抗
  • 持续免杀性能等
  • 特征值、通用主机行为、异常的通信流量

既然远控木马也是恶意软件,那么怎么检测木马呢?下面简单提供了一些思路。

  • 静态文件特征(木马程序是独立的文件,就存在静态文件特征)
  • 网络流量特征(交互性木马检测流量)
  • 系统行为特征(木马执行时创建线程、进程、驱动、网络等行为)
  • 功能行为特征(录音、截屏、键盘、shell行为检测)
  • 攻击意图(自动化检测功能是正常或恶意,当然难度也大)

推荐两篇文章:


再次强调:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护。本文主要是分享安全的原理知识,只推荐大家了解它们背后的原理,更好地进行安全防护,一切恶意破坏行为都将受到严惩。



五.APT攻击与远控木马

接下来作者将对分享及总结安天李BS老师的APT攻击与远控木马内容,希望您喜欢。同时,非常推荐作者之前分析的APT系列文章,可以结合本部分内容进行扩展。


1.APT攻击与远控木马的关系

首先,APT攻击为何要选择远控木马呢?
近年来,安天持续监测分析和跟踪多起针对我国的APT攻击活动中,总能看到远控木马的身影,比如安天在2015年披露的一起针对我国ZF机构的APT攻击事件中,海莲花组织使用了美方出台的CS平台,结合Denis家族木马、Ratsnif、Gh0st等木马。在2018年的绿斑攻击组织,使用了被修改过的ZXShell、PI、Gh0st木马。近年来,方程式攻击组织使用了多个复杂的远控攻击木马平台。

  • 海莲花
    Cobalt Strike、Denis、Ratsnit、Gh0st
  • 绿斑
    ZXShell、Poison Ivy、Gh0st
  • 方程式
    DoubleFantasy、EquationDrug、DanderSpritz

在这里插入图片描述

大家是否想过,APT攻击中为什么要远控木马呢?我们可以从APT攻击中三种典型的意图进行考虑,包括窃Mi、获利、破坏。在以窃Mi和获利为目的中,攻击者会利用远控木马持久控制跳板机、关键机,这也成为了达到最终目标的关键;同样,在以破坏为目的中,攻击者利用远程控制木马,精准控制破坏时机。

在这里插入图片描述

我们以2015年发生的乌克兰电网遭受黑客攻击大规模停电事件为例,攻击者利用僵尸网络完成前期的数据采集和环境日志,通过邮件的形式发送恶意代码,使用远程控制系统下达指令,并破坏系统发起客户电话干扰,造成大面积停电。在这起事件中,事先预置的SSH后门扮演了远控的角色。

在这里插入图片描述

美国在2018年发布的网空威胁框架(TCTF),它比较完整的描述了网空攻击的各个阶段及攻击目标和行动。

  • Administrator:行动管理与资源保障
  • Preparation:目标勘察与环境整备
  • Engagement:接触目标与进攻突防
  • Presence:持久化驻留潜伏
  • Effect:致效能力运用
  • Ongoing Processes:全程持续支撑作业

在这里插入图片描述

从下图可以看到,我们在致效能力运用和全程持续支撑作业两个阶段,攻击者为了达到监控、渗出、修改、拒绝、破坏、命令控制等目标,它会采取类似于弱口令访问控制、CDS传输、加密破解、删除数据等一系列行动,这些行动的实现就是通过远程木马来完成。所以在APT攻击中,远控木马是必不可少的。

在这里插入图片描述


2.普通远控木马与APT远控木马的区别

APT组织往往具有一定的背景,有充足的资金来保证行动的隐蔽性,从而会选择独立开发或改造现有的远控木马,而不是直接拿来使用。它会投入更多的开发力量、攻击资源,借助0Day或nDay漏洞、供应链污染、流量劫持来投送木马。同时,会采用更为复杂且难以发现的技术如MBR、固件植入、RootKit等来在受害主机上进行持久化,它会入侵已经被安全厂商加入到白名单里的居民网站作为C2,来实现对木马的控制以及使用条件触发等高级方式来连接C2。它甚至会开发加密的通讯协议来规避现有的网络安全监测机制,针对目标来定制条件实现精准的窃Mi,包括使用无文件实体、Rootkit等来逃避检测。具体的区别如下图所示:

在这里插入图片描述


3.APT攻击中的典型远控木马

(1) 绿斑组织改造的ZXShell
ZXShell是一个功能全面的远控木马,有十几年的历史并且开源,操作界面如下图所示。

在这里插入图片描述

绿斑组织重新编译了这个木马,裁剪了一些功能,并增加了一些窃取信息的功能,比如手机Word、Excel、WPS等特定类型的文件,搜集包含特定关键词的文件,以及增加自动回传收集文件和列表,加密配置数据、规避安全监测等定制化功能。木马可以根据当前系统的版本、杀软进程,采取不同的行为,从而躲避多数安全软件的检测。下图展示了ZXShell原版对比修改版新增功能和精简功能,其中白色字体部分是保留下来的功能,黄色字体部分是新增功能,黑色字体是裁剪的功能。

在这里插入图片描述

通过对木马样本的逆向分析,我们就可以看到攻击组织对木马新增的功能,比如IEPass,它是用来窃取IE浏览器默认记录的页面登录凭证,邮箱账号和密码等。同时,它会记录这些登录的凭证对应的网页地址。

在这里插入图片描述

攻击组织还为木马增加了收集和获取WPS文档的能力,WPS是我国大量使用的软件。下面代码展示了收集“doc”、“xls”、“ppt”等文档文件,只收集半年内修改过的文档文件并使用RAR打包。

在这里插入图片描述

攻击组织还为木马增加了文件名包括“201”、“项”等字样的文件的功能,收集全盘指定关键字的文件路径,说明该组织希望从受害主机上获取近年来项目、JS等文件。同样,包括一些典型的收集被攻击主机信息的功能,如硬件信息、系统信息、网络信息、进程信息、关键字文件列表等。

在这里插入图片描述


(2) 方程式组织的DanderSpritz平台
方程式组织利用DanderSpritz平台曾今入侵某机构,通过永恒之蓝一系列漏洞获得主机权限后,会利用DS平台来控制目标主机,DS平台提供了一系列的功能框架及插件。

在这里插入图片描述

DanderSpritz平台所支持的命令涵盖了进程、网络、注册表、文件、驱动等各方面,我们可以看到和前面只有20多个命令的ZXSehll不一样,DS平台提供了全面的信息采集和控制指令。

在这里插入图片描述

在加密通讯方面,DS平台提供了一个名叫Trigger的独特的激活模式,使用这种模式的木马,受害主机会被动监听外部发来的连接请求,一旦检测到在数据包中检测到某种标识,并能够按照事先约定的密钥来正确解密数据,就会从数据包中正确解密C2,再去连接和控制。

在这里插入图片描述

RSA算法加密过程如下:

在这里插入图片描述

我们看一下普通的远控木马经常采用图(1)和(2)的连接方式,对于第一种连接方式,只要分析木马样本就能找到C2,如果以这种C2作为IOC部署规则检测流量,就能很容易的掌握哪些主机被植入了木马;对于第二种方式,可以检测主机端口开放情况,结合必要的主机取证分析工作,也能够找到被植入木马的主机。但是对于图(3),就是DS支持的激活模式,它不开放特殊的端口,也没有在样本中配置C2地址,这就给我们检测工作带来了极大的挑战。

在这里插入图片描述

简单总结下,通过前面的介绍我们发现:

  • 远控木马是APT攻击中必不可少的一环
    达成持久化控制能力必须采用远控木马,远控木马通常出现在网空威胁框架的后两个阶段
  • APT攻击中采用的远控木马,复杂性体现在多个方面
    远控来源、功能指令、连接方式、通讯协议和反检测

同时,请大家思考下:检测APT攻击使用的远控木马会遇到哪些挑战?



六.总结

写到这里,这篇文章就介绍完毕,希望对您有所帮助,最后进行简单的总结下。

  • 木马的基本概念和分类
  • 木马的植入方式
  • 远控木马的通信方式
  • 远控木马的常见功能及意图
  • APT攻击与远控木马

学安全一年,认识了很多安全大佬和朋友,希望大家一起进步。这篇文章中如果存在一些不足,还请海涵。作者作为网络安全初学者的慢慢成长路吧!希望未来能更透彻撰写相关文章。同时非常感谢参考文献中的安全大佬们的文章分享,深知自己很菜,得努力前行。

(By:Eastmount 2020-07-24 星期日 晚上9点写于武汉 http://blog.csdn.net/eastmount/ )



参考资料:
[1] https://mooc.study.163.com/learn/1000003014?share=2&shareId=1000001005
[2] 《软件安全之恶意代码机理与防护》WHU
[3] 作者学习和实践经验
































易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!