一、 简介

如今,黑客越来越多的通过修改开源的病毒源码来实现快速的病毒开发,如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的\inc\config.php中的$deckey中也填入上一步的密钥,代码中是使用AES-CBC算法进行加密的,密钥必须相同才能保证解密出的数据一致。

调试病毒代码的通信模块,通过下图蓝色部分我们可以看到post的数据为一堆加密后的主机信息。

第一次运行时发现了一个bug,当病毒程序尝试与控制端服务器通信时,服务器返回了一个404,这时就觉得纳闷了,路径没错呀,为什么会返回404,这里就得到Panel源码中去找答案了。

打开page.php,发现原来是只要控制端接收的数据不对,就会跳转到404页面,而通过调试,最后确认了是如下蓝色部分的代码判断失败,这段代码是用来判断参数opsys(肉鸡操作系统)是否为英文和数字的组合,而我们中国地区的windows系统名带有中文,所以判断失败,把这段代码去掉就能成功执行下去了。

运行病毒程序后,在控制端的Dashboard中可以看到一台主机上线,由于我的IP是内网地址,所以控制端没有解析出IP的地理位置。

随后,我们就能在Tasks标签页下对该主机进行相应的恶意操作了,下发恶意命令,状态栏中会显示任务执行的状态。

参考链接:http://it.rising.com.cn/dongtai/19587.html

开源僵尸网络平台LiteHttp源码分析相关推荐

  1. DDPush开源推送框架源码分析之APPServer到DDPush

    DDPush 任意门推送 DDPush是什么 DDPush (Dimension Door Push),任意门推送,是一款开源免费的单机千万级实时信息推送服务器,使用Java语言开发,具有简单.稳定. ...

  2. IEC61499开源项目FORTE部分源码分析

    一.IEC 61499简介 IEC 61499 作为工业自动化领域分布式控制系统级建模语言的标准,其第一(体系结构).二(软件工具要求).四(兼容文件的规则)部分的第一版于 2005 年正式发布,并在 ...

  3. NeteaseCloudMusicApi 开源 网易云nodeapi 源码分析

    这篇文章,分享下网易云开源的一个api,通过伪造请求来获取网易云的歌曲,评论和电台等信息. 首先,大致描述项目里用到的一些知识点 涉及到的知识点 apicache 缓存中间件,可以用于redis,项目 ...

  4. 开源跨平台数据恢复testdisk源码分析

    testdisk 是一款开源数据恢复软件 testdisk概述 大部分代码是c语言编写, 很少部分是c++ 使用交叉编译器gcc.#ifdefine .分别编写linux .windows.mac下的 ...

  5. 【开源项目】X-TRACK源码分析

    文章目录 X-TRACK阅读笔记 整体架构 PageManager 问题 页面的分析 StatusBar Startup页面 Dilaplate页面 页面的布局 动画的设置 LiveMap页面 Sys ...

  6. 微软开源软件特征源码分析工具 Application Inspector

    微软近日开源了其内部使用的软件特征源码分析工具 Application Inspector. 现代软件开发实践通常需要基于数百个现有组件中构建应用,无论它们是由组织中的另一个团队.外部供应商还是开源社 ...

  7. java web开源项目源码_超赞!推荐一个专注于Java后端源码分析的Github项目!

    大家好,最近有小伙伴们建议我把源码分析文章及源码分析项目(带注释版)放到github上,这样小伙伴们就可以把带中文注释的源码项目下载到自己本地电脑,结合源码分析文章自己本地调试,总之对于学习开源项目源 ...

  8. Go实现的5G核心网开源项目free5gc源码分析系列 | Gopher Daily (2021.01.08) ʕ◔ϖ◔ʔ

    每日一谚:"Abstractions should be discovered, not created." Go技术新闻 Go实现的5G核心网开源项目free5gc源码分析系列 ...

  9. (4.2.40)阿里开源路由框架ARouter的源码分析

    一需求背景 1 Android原生方案的不足 2 自定义路由框架的适用场景 3 对自定义路由框架的设想 二ARouter的概述 三ARouter的引入和使用 四源码分析 1 arouter-annot ...

最新文章

  1. ubuntu 12.04/11.10 PPA 安装 Nvidia 295.59
  2. 樊登读书赋能读后感_文化赋能,助力终端 | 第五届齐心办公节携手樊登读书点亮办公生活...
  3. 设置更改root密码 ,连接mysql,mysql常用命令
  4. jupyter 接受参数
  5. HTTP协议中的Content-Encoding
  6. c#中contextMenuStrip与datagridview使用CellMouseDown事件及treeview使用mousedown事件
  7. Mybaits插入记录返回主键值
  8. Linux、Windows、RHEL操作系统镜像
  9. Java笔记(三)内部类,容器,泛型和类型安全的容器,迭代器
  10. Linux(一):VMware安装出现的问题
  11. 运用c语言和Java写九九乘法表
  12. word2019每页设置不同页眉
  13. Android模拟器使用SD卡(2)
  14. 快学数据挖掘—数据探索—贡献度分析
  15. linux查看硬盘读取速度慢,Linux检测硬盘读取速度
  16. Task.Result卡死问题
  17. 树莓派wiringPi输出PMW
  18. Mybatis 通过拦截器动态修改SQL
  19. 机器学习(一):模型的参数估计方法
  20. 操作系统 第七章 死锁

热门文章

  1. 如何利用免费网站采集程序打造一个高权重的站
  2. [转]Google开发拼音输入法背后的故事
  3. C语言进阶(七)——动态内存管理
  4. CF 1100C NN and the Optical Illusion(数学)
  5. 扁平化图标的终极设计指南
  6. 苹果大力扩张Apple Pay 即将在韩国等地推出
  7. 医疗时鲜(Running)资讯(ZSSURE):谈谈“reMed,重构医疗生态”大会
  8. jmeter基础逻辑控制器之if控制器
  9. 1005.继续(3n+1)猜想
  10. 37、记录使用 Swin Transformer主干网络去实现分类,并转化NCNN、TNN、MNN模型以及部署