2021/04/15
FakeTelegram木马分析报告
攻击流程:

攻击途径
木马的下载链接:

hxxps://iplogger.org/2r64b6
浏览器访问下载链接,将被重定向到URL:
hxxps://cdn.discordapp.com/attachments/815911118606172214/818981362928713758/tsetup.exe。

从最后的资源链接可以看出,该木马被托管于Discord CDN服务器。Discord是一款主要面向游戏玩家的流行聊天通讯软件,用户量逐年增加。并且由于向Discord上传的附件可被所有人下载,用户之间的文件分享和传输快速便捷等特点,同样也引起了网络犯罪人员的注意。随之而来的就是大量恶意软件被托管于Discord的CDN服务器以提供给木马远程下载。本次攻击中的木马资源链接就是一个典型案例。

执行攻击
本次攻击中,从链接下载回来的“安装包”使用C#语言进行编写,并通过程序图标伪装成Telegram安装程序的32位文件。为了更好地伪装自身,还盗用了Telegram合法软件签名Telegram FZ-LLC,不过从文件属性中可以看到该签名实际无效。

为了躲避检测,程序中大量敏感字符串进行了Base64编码,运行时才会解码。

执行环境准备
虚假安装包木马会获取本地机器的MAC地址,匹配自身携带的地址库(共含13345个MAC地址),若在列表中则不进行感染。除此之外,程序中还有绕过指定的IP List和地区、恶意代码延迟执行等功能,不过并未启用。

为了避免重复感染,程序通过确认文件 _%LocalAppData%\ASUNCB-dcBdklMsBabnDBlU _是否存在来判断当前机器是否已被感染过,若确认已感染便会退出并自我删除,否则便创建该文件并继续执行后续操作。
接着访问网址 hxxps://www.google.com/,确认网络可用,否则持续等待,直至访问响应成功。

为了攻击过程的顺利进行,木马通过修改注册表_EnableBalloonTips、EnableSmartScreen、EnableLUA、ConsentPromptBehaviorAdmin、PromptOnSecureDesktop_等键值的方式禁用SmartScreen和UAC,降低系统的防御能力,让用户对攻击过程无感知。

然后从Telegram官方URL:hxxps://updates.tdesktop.com/tsetup/tsetup.2.6.1.exe下载正常的Telegram安装程序到目录 %LocalAppData% 下,以管理员权限执行合法安装程序,完成安装包原本的工作。

最后,创建两个bat文件 %TEMP%\Action.bat、%TEMP%\Remove.bat,写入batch命令并执行脚本。Action.bat执行后续攻击流程,Remove.bat则完成自我删除。

Powershell脚本下载和启动
脚本文件Action.bat利用powershell执行远程脚本:

hxxp://ppoortu8.beget.tech/new_file.txt
而new_file.txt又作为downloader再次下载其它3个脚本并执行其中的start.vbs。
start.vbs只对ROM容量大于128KB的机器进行感染。如果符合条件,启动%TEMP%\ready.ps1。

ready.ps1将patch自身powershell进程中的amsi.dll模块,以此躲避其对内存中恶意脚本内容的检测。最后执行Get-Content.PS1脚本内容。

后门程序的释放和驻留
Get-Content.ps1作为最后执行的脚本,负责完成后门程序的释放和驻留操作。

首先,脚本判断当前脚本执行环境是否拥有管理员权限,有则执行后续操作,没有则尝试以管理员身份重新执行start.vbs。此外,该脚本还会尝试绕过系统UAC的防护。

成功后绕过防护后,脚本开始准备释放后门dll,涉及到的服务为termservice。先将3个目录加入Windows Defender扫描排除项中,以免目录中的相关文件被清除:

  1. C:\windows\branding\
  2. C:\users\wgautilacc\desktop\
  3. C:\users\mirrors\desktop

    然后检查服务termservice是否存在,若没有则进行创建,并导入相应的注册表配置(%Temp%\rpds.reg)。termservice服务存在的情况下,Get-Content.ps1会暂时禁用该服务,待后续操作修改配置后再运行。

接下来,会解密并创建以下文件:

  • %SystemRoot%\branding\mediasrv.png(RDP Wrapper DLL);
  • %SystemRoot%\branding\mediasvc.png(ServHelper BackDoor DLL);
  • %SystemRoot%\branding\wupsvc.png(RDP Wrapper配置文件);

如果以下合法文件在系统中没有,则进行创建:

  • %SystemRoot%\system32\rdpclip.exe;
  • %SystemRoot%\system32\rfxvmt.dll。

病毒还会对TermService服务相关注册表值进行修改:

  1. 设置RDP-Tcp使用端口为7201:
  2. 使用上一步释放的dll文件%SystemRoot%\branding\mediasrv.png作为termservice的ServiceDll:
  3. 禁用WDDM显示驱动模型,使用更老的XDDM

设置TermService启动类型为自动运行。这样服务每次运行都会加载ServiceDll,即%SystemRoot%\branding\mediasrv.png,ServiceDll会加载后门,从而实现后门程序在机器上的驻留。

将网络服务SID:S-1-5-20转为用户名NT Authority\Network Service,将其加入管理员组。

最后,将目录%SystemRoot%\branding\下的所有文件创建、访问、修改时间都改为2014/11/11 12:00:00。启动远程桌面服务rdpdr、TermService。清除 %TEMP% 目录下与本次攻击相关的文件。

后门程序启动
TermService服务启动后,会加载mediasrv.png(ServiceDll)。mediasrv.png实际是一个RDP Wrapper程序,但除此之外,该dll的代码中还多出一个加载恶意dll(%SystemRoot%\branding\mediasvc.png)的动作。

总的来说,mediasrv.png主要进行以下三个操作:

  1. 导入系统原始RDP相关DLL: termsrv.dll。对外间接提供termsrv.dll原始功能;
  2. 利用解密出的RDP Wrapper配置文件(%SystemRoot%\branding\wupsvc.png)实现RDP功能的包装,支持更多功能;
  3. 将mediasvc.png作为DLL进行加载,攻击的后续动作由mediasvc.png的dll主函数完成。
    被加载的dll: mediasvc.png,是一款名为ServHelper后门木马,于2018年末第一次被发现。该木马使用Delphi语言进行开发,通常以dll形式出现,并使用PECompact进行加壳,以劫持RDP服务的方式完成在受害机器上的驻留。

此次攻击释放的木马文件中大部分敏感字符串均进行了加密,解密密钥为“RSTVWVDJ”。

执行后,ServHelper会连接C2: hxxps://jfuag3.cn/figjair/b.php,根据收到的命令执行相应操作。其共支持32条指令:包括用户创建、文件下载、远控工具配置、键盘记录、会话通道控制等功能。

解密出的字符串,含有各项命令涉及的URL、注册表项、命令行、文件路径等。

下表列出了所支持的命令字符串:

bk 会话通道创建
info 获取机器信息
fixrdp 设置注册表项并重启系统
reboot 重启计算机
updateuser 更新管理员组和远程账户用户名和密码,没有则默认用户为WgaUtilAcc
deployns 部署NetSupport远控工具
keylogadd 添加键盘记录器,向管道\.\pipe\txtpipe写入”add^”
keylogdel 删除键盘记录器,向管道\.\pipe\txtpipe写入”del^”
keyloglist 列出键盘记录器,向管道\.\pipe\txtpipe写入”list”
keylogreset 重置键盘记录器,向管道\.\pipe\txtpipe写入”reset”
keylogstart 通过执行模块中导出函数euefnaiw启动keylogger
sshurl 下载ssh.zip
getkeylog 获取键盘记录(c:\windows\temp\tv.txt)
getchromepasswords 获取chrome密码,存储于c:\windows\temp\logins_read.txt
getmozillacookies 获取mozallia Cookies,存储于c:\windows\temp\moz.txt
getchromecookies 获取chrome Cookies,存储于c:\windows\temp\cookies.txt
search 查询mozallia和chrome Cookies中的内容
bkport 指定隧道端口
hijack 通过执行模块导出函数gusiezo3劫持用户账户
persist 持久化驻留
stophijack 停止劫持
sethijack 劫持活动用户
setcopyurl 设置复制工具url
forcekill 强制终止进程
nop 心跳包
Tun 创建ssh通道,本地端口为7201
Slp 睡眠
killtun 关闭ssh进程
shell 执行cmd命令并回显
update 模块更新
load 从url下载执行文件
socks 创建ssh通道

后续更新
在攻击发生后的几天,伪装的安装包文件曾有过一次更新。下载回的文件是基于github开源项目go-clr编写的加载器。运行后会解密除携带的C#木马并使用CLR托管执行。

释放并执行的C#木马内部名称为Droper.exe,仅实现一个功能,释放并执行两个powershell脚本:

  1. %TEMP%\get-content.ps1;
  2. %TEMP%\ready.ps1;
    释放成功后执行ready.ps1。
    对比之前的样本,Dropper.exe不再下载合法安装包进行安装,不再将ROM大小作为执行条件,成功执行后无需联网。

0x06 IOCs
MD5

  • 675f88e0715be722e6609e4047f2aad7
  • de78b574c81eb85652c198e70898a9a0
  • 8a4e2ee2fa9195022c3747a363baa092
  • 3a9821c769ecbf95d44117a04729f2f2
  • b1a2d11ae871805b8fcb2b4820b47e7e
  • 37330f50cf392bca59567a22de3b836a
  • 7fcaacd9d9ba4695d12e82020d84a95d
  • aa5219949ca4ecdcd0d9afe7615124fb
  • 6c5b7af9c87ee08c7a7bd43ed7f75d6d

URL

  • hxxps://telegram.ccmmsl.com/
  • hxxps://iplogger.org/2r64b6
  • hxxps://cdn.discordapp.com/attachments/815911118606172214/- 818981362928713758/tsetup.exe
  • hxxp://ppoortu8.beget.tech/new_file.txt
  • hxxp://ppoortu8.beget.tech/start.vbs
  • hxxp://ppoortu8.beget.tech/Get-Content.ps1
  • hxxp://ppoortu8.beget.tech/ready.ps1
  • hxxp://bromide.xyz/ssh.zip
  • hxxp://sdsddgu.xyz/khkhkt
  • hxxps://raw.githubusercontent.com/sqlitey/sqlite/master/speed.ps1
  • nvursafsfv.xyz
  • pgf5ga4g4b.cn

字符串解密脚本
def decbkd(s, k = ‘RSTVWVDJ’):
l = len(s)
kl = len(k)
o = ‘’
for i in range(l):
if s[i].isalpha():
o += chr((ord(s[i].upper()) - ord(k[i%kl].upper()) + 26)%26 + (ord(‘A’) if s[i].isupper() else ord(‘a’)))
else:
o += s[i]
return o

参考
https://www.binarydefense.com/an-updated-servhelper-tunnel-variant/
https://www.proofpoint.com/us/threat-insight/post/servhelper-and-flawedgrace-new-malware-introduced-ta505

Hvv近期0day总结四相关推荐

  1. 利用SAP 0day,四分钟内黑掉华尔街

    本文讲的是利用SAP 0day,四分钟内黑掉华尔街,2017年5月20日,由唯品会信息安全部主办,唯品会安全应急响应中心承办的"因唯安全,所以信赖--深度揭秘唯品会信息安全建设实践 2017 ...

  2. 近期 0day exploit 满天飞,原来是神秘的以色列公司 Candiru 在捣鬼

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 今天,微软和加拿大多伦多大学公民实验室联合发布报告指出,以色列公司 Candiru 是 Windows 两个 0day及其它 0day e ...

  3. 谷歌悄悄修复4个 0day

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 今天,谷歌更新了2021年5月的安卓安全公告称,本月修复的其中4个漏洞"可能已遭有限的针对性利用". 除了发布这四个漏 ...

  4. Windows 发布本地提权0day,可以系统权限执行任意代码

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 微软 Windows 10 和即将到来的 Windows 11 版本易受新的本地提权漏洞攻击,可导致低权限用户访问 Windows 系统文 ...

  5. 以色列网络武器出口对象国从102个锐减至37个

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 以色列政府出新规,要求本地安全厂商仅向37个国家出口监控和进攻性黑客工具,几乎削减了三分之二,此前允许的出口对象国为102个. 以色列商业报 C ...

  6. 达观数据于敬:个性化推荐系统实践

    达观数据于敬:个性化推荐系统实践 在DT(data technology)时代,网上购物.观看视频.聆听音乐.阅读新闻等各个领域无不充斥着各种推荐,个性化推荐已经完全融入人们的日常生活当中.个性化推荐 ...

  7. 上周回顾:***猖狂叫板欧美政府 赛门铁克赔偿羞羞答答

            上周本来颇为平静,但***却不这么认为.最近十来天,***在欧美掀起一场连环***,给欧美政府和网站都带来不小的麻烦.此外微软与开源的纠纷.赛门铁克的误杀事件都有后续进展.   热点一 ...

  8. 【网络安全员】需要了解的一项攻击技术-高隐匿、高持久化威胁

    一.介绍 本文首先从Rootkit的生存期.可达成的效果,以及运用这项技术展开攻击的可行性和Windows Rootkit现状分析四个角度展开讨论,并结合历史攻击事件,分析掌握这项技术的APT组织所关 ...

  9. 以色列政府网站遭史上规模最大的DDoS 攻击

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 周一,以色列多个政府网站遭分布式拒绝服务 (DDoS) 攻击,导致这些门户网站在短时间内无法访问. 以色列国家网络局 (INCD) 在推特上表示 ...

  10. Moses Staff攻陷以色列网络并加密数据,拒绝谈判

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 新出现的黑客组织 Moses Staff 攻陷了以色列的组织机构并加密其数据,但拒绝就勒索金进行谈判,而此举被安全研究员视为受政治利益驱动的破坏 ...

最新文章

  1. Apache Thrift - java开发详解
  2. 记一次生产事故-mysql执行update导致锁整表
  3. python模块搜索原则_详解python模块路径查找规则及定义
  4. 送书福利 | 哈工大SCIR倾力打造NLP新书,详解预训练语言模型
  5. Jackson相关的一些注解
  6. 高考辽宁理工高考计算机专业分数,辽宁高考985分数线2019-985大学在辽宁省的录取分数线及位次...
  7. SpringBoot开发常用技术整合 代码上传至github上面去
  8. 找到的程序集清单定义与程序集引用不匹配
  9. 2个字段并在一次插入一个字段里面_elasticsearch外用与内观(二)-当插入文档时,elasticsearch都在做什么...
  10. [UE4]性能优化指南(美术向)
  11. IDEA创建包含多个module的Maven工程
  12. 项目wangkangluo1
  13. 二相四线制步进电机驱动原理与Proteus仿真
  14. 王坚数博会演讲实录:“计算经济”是社会发展的新动力
  15. html5通讯录源码,通讯录web版
  16. Multisim14仿真基本模拟电路之 10. 3. 2比例放大电路的仿真实验与分析
  17. noi题库1.1~1.6答案
  18. 超定方程 matlab,Matlab求解超定方程组实例(精品文档)
  19. 视频监控 ezuikit.js
  20. Excel插入斜线表头

热门文章

  1. 有了WCF,Socket是否已人老珠黄?
  2. springmvc和layui富文本编辑器实时上传图片功能实现
  3. wordpress让百度分享支持https
  4. 【html5和css3】animation属性整理
  5. 安卓项目连接后台服务器,android云后端服务器
  6. 怎么制作铁闸门_咖啡师养成记 | 教你做一杯合格的拿铁咖啡
  7. C语言和C++中如何编写交换两个整形变量值的函数
  8. python 伪多线程_从伪并行的 Python 多线程说起
  9. javaee7实现websocket_websocket协议,tcp分包与粘包解决
  10. python火车票查询系统_Python脚本实现12306火车票查询系统