点击上方【蓝字】关注我们
之前的技术文章讲了被植入远控木马可以实现的操作,本文直接从远控程序的源代码角度剖析通过注入进行远控操作的原理,分析远控程序的行为、痕迹和攻击过程,这不仅有助于了解其攻击模式,还能为调查提供关键信息,以帮助追溯恶意行为的来源和路径。
以“大灰狼远控软件”的源码为例及分析
从源代码的角度分析远控程序时,可以依据自启动机制、远程通信、文件操作等关键模块来分析。
自启动机制
通过修改注册表将植入的程序添加到Windows启动项中,在用户登录时程序会自动运行,也可以通过计划任务或其他自启动机制执行。
在取证过程中可以通过查看异常或可疑的启动进程、查看注册表等方式发现远控程序的位置,如果远控程序潜藏的位置较深,则可以通过分析进程树和相关的进程找到。
重点可以查看注册表中用于自启动应用程序的位置:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun;
以及用户的自启动项位置:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun。
远程通信
通过网络连接与远程服务器建立通信通道,攻击者通过此连接发送指令,如获取系统信息、执行命令、上传文件等。
CClientSocket::Send方法是被控制端的通讯逻辑,大致的意思为在发送数据前计算数据的长度并且写入头部信息后先进行复制,顺便对原始数据进行备份,方便发送失败的时候进行重传,再进行分块发送。
CIOCPServer::Send方法是控制端的通讯逻辑,即向被控制端发送数据的实现,整体流程与被控制端相似,加了一步是否对数据进行压缩的判断。
CClientSocket::Connect方法实现了客户端与服务器之间的socket连接,在创建socket连接之后对主机名进行解析,将解析到的IP地址和传入的端口号构造sockaddr_in结构,再与目标主机进行TCP连接。
CIOCPServer::OnClientWriting方法通过静态变量和1秒的计时窗口统计每秒发送的字节数对网络的发送速率进行监控,并且检查数据是否发送完成,如果未发送完则继续发送。
远控程序与控制端的通信都是通过网络进行,在这一步的分析中则通过网络流量分析(例如wireshark、BurpSuite等抓包软件)捕获远控程序的通信协议、目标IP和端口等关键信息。
文件操作及日志
CFileManager::OnReceive方法负责处理来自客户端的指令,根据不同的命令(如获取文件列表、删除文件、上传文件等)调用相应的方法进行处理,可以读取敏感文件、下载数据或上传恶意软件。
另一方面也可以通过删除日志文件、替换文件等操作来掩盖其入侵的痕迹。
Windows的事件日志、应用程序日志和系统日志可以发现远控程序的运行信息;通过查看日志信息,可以查找到与远控程序相关的文件操作、进程创建等。
在实际分析过程中,还需结合网络、文件、注册表等多个方面的数据进行综合分析,有助于恢复完整的事件链条,为攻击者追踪与制裁提供证据。
请注意!!!远控软件通常仅用于合法的远程管理和技术支持,但未经授权访问他人计算机、窃取个人数据、传播恶意软件等会面临刑事责任和民事责任。
点个 在看 你最好看
原文始发于微信公众号(网络安全与取证研究):远程控制程序的实现原理简要剖析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论