一、 简介
现在,黑客越来越多的经过修正开源的病毒源码来完成快速的病毒开发,如Mirai、qbot等公开了源码的病毒,常被黑客用于二次开发,用以进犯。前不久,一同针对巴基斯坦的APT进犯中,发现黑客所运用的进犯样本是经过开源僵尸 *** 病毒LiteHttp改造而来的,与后者的行为根本共同。剖析开源歹意软件源码,能让咱们更直接地了解歹意软件的作业原理,然后规划出更好的防护战略,下面,咱们就来本地建立LiteHttp并对其源码进行简略剖析。
LiteHttp是一个运用C#编写的开源僵尸 *** 歹意软件,
项目地址:https://github.com/zettabithf/LiteHTTP。
项目有3个目录,Bot是病毒程序的代码,Panel是操控端的代码,运用PHP编写,Builder是一个生成器,用于快速生成病毒程序。
生成器运转后如下图,只需填入操控端的Url以及加解密密钥,就能主动生成一个病毒程序,这样就省去了修正病毒源码从头编译的过程。Builder的代码便是对Bot的一个封装,下面要点剖析Bot和Panel的代码。
操控端只需求将Panel文件夹复制到PHP网站目录下即可运转,不过运转之前要先导入Upload_to_database.sql初始化LiteHttp需求的数据库。
数据库初始化结束后,拜访Panel下的login途径即可进行登陆操控端,初始的账户名和暗码均为admin。
Dashboard显现了上线主机的概略,下发歹意指令的功能在Tasks标签处。
二、 源码剖析
2.1 代码流程
2.2 主函数
程序一开始会创立两个线程,别离用于履行中心进犯操作,以及耐久化进犯操作。
2.3 耐久化进犯函数
耐久化进犯操作比较简略,便是在注册表下创立一个自启动项“Catlyst Control Center”,完成每次开机主动运转。
2.4 中心进犯函数
接下来看中心进犯函数的代码,首要做了3个首要操作:
[1] 搜集主机信息,运用预先约好的密钥进行加密,然后将加密后的信息以Http的 *** 上传至操控端服务器。
[2] 承受操控端的操控码并履行相应的操作。
[3] 上传履行的成果。
2.5 C&C通讯函数
与C&C通讯的代码在类Communication中,经过POST的 *** 将加密后的主机信息上传到操控端服务器,这里有一点值得注意,发送数据包前会将Http头中的UserAgent修正为一个随机字符串,这个是操控端用来辨认肉鸡的标识。
2.6 歹意操作履行函数
首要的中心歹意操作在函数processTask中,经过代码咱们能够发现,操控码是 *** 数字,接纳的操控码和履行参数都是经过base64加密的,首要需求对它们进行base64解密。首要的操作大致有4个:下载&履行可履行文件、拜访网站、铲除异己、更新&卸载病毒程序。
三、 渠道演示
在运转病毒程序前,要现在Settings.cs中填入32位的加解密密钥。
一起,在Panel的incconfig.php中的$deckey中也填入上一步的密钥,代码中是运用AES-CBC算法进行加密的,密钥有必要相同才干确保解密出的数据共同。
调试病毒代码的通讯模块,经过下图蓝色部分咱们能够看到post的数据为一堆加密后的主机信息。
[1][2]黑客接单网