APT学习

Posted by Mr.Be1ieVe on Wednesday, May 5, 2021

记录自己看过的一些APT报告,学习攻击思路

安全研究人员发布针对WeSteal的技术分析

混淆

The Trojan was specifically written for Python 3.9, as the PyInstaller package included python39.dll as the Python interpreter. The developer also used the open source PyArmor source code obfuscator, which encrypts the contents of the Python script and decrypts the contents before sending to the Python interpreter for execution,

长久化

WeSteal将自己复制到C:\Users\<username>\AppData\Local.exe

然后创建一个batch脚本来实现自启c:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\appdata.bat

内容包含start %localappdata%

The command above uses a novel technique to obfuscate the batch file starting the WeSteal executable. The start command attempts to run the environment variable %localappdata%, which on a default Windows system is a path to the folder C:\Users\<username>\AppData\Local. However, in this context, the Local in that environment variable is interpreted as a file rather than a subfolder. The start command will run the WeSteal executable Local.exe (the start command does not require the .exe file extension) in the path C:\Users\<username>\AppData\.

Water Pamola通过恶意订单攻击网店

攻击链

XSS脚本的功能

获取页面信息

向特定页面请求信息并转发响应包到Water Pamola服务器。这样可以让攻击者理解环境并设计攻击脚本

窃取凭证

一种方法是伪造登录界面。如果输入了登录信息,脚本会用base64编码凭证,然后发送到Water Pamola服务器上

另一种方法是显示认证报错,然后重定向到钓鱼网站,再让用户输入凭证。域名就像{victim’s domain}[.]basic-authentication[.]live,咋一看域名和正常的一样,迷惑用户

webshell / PHP 后门注入

针对特定网站的框架,如在日本很火的EC-CUBE框架。

第一种方法是通过调用框架的API来上传php webshell,

php几个实用小技巧 – Chinese boy

第二种方法是篡改网页header来注入可以执行任何php代码的代码,当然,代码都是混淆了得。一开始用异或来解码,然后把base64 字符串解码出eval。

第三种方法是安装恶意插件到框架中。插件是设计来放置webshell的

传送恶意软件

脚本会提示Flash版本过低,然后重定向到假的flash安装站

下载之后,Flash安装器是正常的,但是sideload的dll可能是被打补丁的,然后再加载真正的恶意dll。这样通过两个正常和有adobe签名的可执行文件再加载恶意dll

双头龙(RotaJakiro),一个至少潜伏了3年的后门木马

这个过于硬核了,直接逆程序分析加密算法等

持久化

root用户,根据不同Linux系统发行版本,创建相应的自启动脚本 /etc/init/systemd- agent.conf 或者 /lib/systemd/system/systemd-agent.service

用于伪装的文件名,俩者2选1

  • /bin/systemd/systemd-daemon
  • /usr/lib/systemd/systemd-daemon

非root用户,创建桌面环境的自启动脚本 $HOME/$.config/autostart/gnomehelper.desktop

[Desktop Entry]
Type=Application
Exec=$HOME/.gvfsd/.profile/gvfsd-helper

然后修改.bashrc创建shell环境的自启动脚本

if [ -d ${HOME} ]; then
  ${HOME}/.gvfsd/.profile/gvfsd-helper
fi

用于伪装的文件名,俩者同时存在

  • $HOME/.dbus/sessions/session-dbus
  • $HOME/.gvfsd/.profile/gvfsd-helper

进程守护

root账户下,根据不同版本,向服务配置文件写入Restart=always或者respawn,这样服务进程被结束时,自动创建新进程

非root用户,会生成两个进程,彼此见识,双进程保护: 通过共享内存实现进程间通讯,告诉对方PID,然后通过/proc/[PID]动态获得进程存活情况,死亡时通过execvo创建进程,帮助复活

单一实例

通过文件锁实现单一实例

网络通信

可以分成两个截断

  • Stage1 初始化截断:解密C2列表,建立连接,发送上线信息,接受并解密C2返回信息
  • Stage2 业务截断,验证返回信息,通过验证则执行下发指令

以招聘信息为诱饵对制药公司发起攻击

Todo

某货运物流公司Lazarus后门

通过Tor网络与其C2服务器通信

后门是Vyveva的主要组件,它连接到C2服务器并执行威胁参与者发出的命令,其中一些命令是异步的,并且在它们自己的线程中执行。 它们中的大多数是用于文件和进程操作或信息收集的普通命令,但是对于文件时间戳记也存在一种较不常用的命令,它可以将creation/write/access time元数据从“donor”文件复制到目标文件,或使用2000-2004年之间的随机日期。

Lazarus利用ThreatNeedle攻击某工业

ThreatNeedle的初次感染

观察到他们如何通过访问内部路由器机器并将其配置为代理服务器,从而允许他们将被盗数据从Intranet网络传输到其远程服务器,从而克服了网络分段的问题。

攻击者使用公共电子邮件服务注册了帐户,确保发件人的电子邮件地址看起来与医疗中心的真实电子邮件地址相似。网络钓鱼电子邮件中显示的签名包括受攻击组织的医疗中心副校长的实际个人数据。攻击者能够在医疗中心的公共网站上找到此信息。

payload路径:%APPDATA%\ Microsoft \ Windows \ lconcaches.db
快捷方式路径:%APPDATA%\ Microsoft \ Windows \开始菜单\ Programs \ Startup \ OneDrives.lnk

payload将下一个阶段加载为内存中运行的后门程序-ThreatNeedle后门程序

ThreatNeedle installer

恶意软件还会将配置数据另存为在RC4中加密的注册表项

ThreatNeedle loader

该组件负责将最终的后门payload加载到内存中。为了做到这一点,ThreatNeedle使用多种技术来解密其payload:

从注册表加载payload。

解密RC4和解压缩后,从自身加载payload。

解密AES和解压缩后,从自身加载payload。

解压后从自身加载payload。

一字节异或后,从自身加载payload。

成功感染Threat Needle后的阶段

攻击者执行了一个名为Responder的凭据收集工具,并使用Windows命令横向移动。Lazarus克服了网络分段问题,通过破坏路由器虚拟机,从与互联网断开的完全隔离的网络分段中窃取数据。

最初,攻击者能够访问具有Internet访问权限的系统,并花费了很长时间在网络的企业部门的计算机之间分发恶意软件。在受感染计算机中,有企业IT基础架构管理员使用的计算机。

管理员可以同时连接到公司网段和受限制的网段,以维护系统并在两个区域中为用户提供技术支持。结果,通过获得管理员工作站的控制权,攻击者能够访问受限制的网段。

路由器是一台运行CentOS的虚拟机,可根据预定义的规则在多个网络接口之间进行路由连接。攻击者扫描了路由器的端口并检测到Webmin界面。接下来,攻击者使用特权根帐户登录Web界面。凭据可能保存在受感染系统的浏览器密码管理器之一中。

通过访问配置面板,攻击者配置了Apache Web服务器,并开始将路由器用作组织的公司部门和受限部门之间的代理服务器。

数据泄漏

为了创建隐蔽通道,恶意软件使用trivial binary encryption对转发的流量进行加密。

「真诚赞赏,手留余香」

Mr.Be1ieVe's Treasure

真诚赞赏,手留余香

使用微信扫描二维码完成支付