LiteHttp是一个利用C#编写的开源僵尸网络恶意软件,
项目有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的\inc\config.php中的$deckey中也填入上一步的密钥,代码中是利用AES-CBC算法进行加密的,密钥必须相同才能担保解密出的数据同等。
调试病毒代码的通信模块,通过下图蓝色部分我们可以看到post的数据为一堆加密后的主机信息。
第一次运行时创造了一个bug,当病毒程序考试测验与掌握端做事器通信时,做事器返回了一个404,这时就以为纳闷了,路径没错呀,为什么会返回404,这里就得到Panel源码中去找答案了。
打开page.php,创造原来是只要掌握端吸收的数据不对,就会跳转到404页面,而通过调试,末了确认了是如下蓝色部分的代码判断失落败,这段代码是用来判断参数opsys(肉鸡操作系统)是否为英文和数字的组合,而我们中国地区的windows系统名带有中文,以是判断失落败,把这段代码去掉就能成功实行下去了。
运行病毒程序后,在掌握真个Dashboard中可以看到一台主机上线,由于我的IP是内网地址,以是掌握端没有解析出IP的地理位置。
随后,我们就能在Tasks标签页下对该主机进行相应的恶意操作了,下发恶意命令,状态栏中会显示任务实行的状态。