部署为Windows加载器的Linux可执行软件

  • A+
所属分类:安全闲碎

部署为Windows加载器的Linux可执行软件

Black Lotus安全研究人员近期发现多个Python语言编写的恶意文件,并编译为 Debian 操作系统的Linux二进制文件格式ELF。这些文件会以加载器运行payload,payload要么嵌入在样本中或从远程服务器中提取,然后使用Windows API调用注入到运行的进程中。

部署为Windows加载器的Linux可执行软件
简介

2021年8月,Black Lotus研究人员发现了大量为Debian Linux编译的可疑ELF文件。文件是用Python 3编写的,然后用PyInstaller转变为ELF可执行文件。Python代码作为使用不同Windows API的加载器,Windows API可疑提取远程文件,然后注入运行的进程。从 VirusTotal 的检测率来看,大多数为Windows系统设计的终端代理无法有效分析ELF签名。在调查中,研究人员发现了2个ELF加载器方法的变种:第一个是用Python编写的,第二个表中使用ctype来调用不同的Windows API和调用powershell脚本。研究人员分析认为该PowerShell变种仍在开发中。

部署为Windows加载器的Linux可执行软件
技术细节

从2021年5月到2021年8月这3个月内,研究人员发现样本的进化过程,从最初的Python 3编写的样本到使用ctype来调用Windows API,再到使用PowerShell来宿主机器上执行随后的动作。

Python变种

使用Python编写的变种并不使用任何Windows API。其中一个特征是加载器使用变种的Python库,使得其可以在Linux和Windows机器上运行。研究人员分析样本发现脚本会打印“Пивет Саня”,打印的内容是俄语文字翻译过来就是“Hello Sanya”。所有的相关的文件都含有隐私或者非路由的IP地址,除了一个样本。该样本中含有公共IP地址185.63.90[.]137和一个Python编写的加载器文件,这些文件随后会被转化为可执行文件。该文件首先尝试从机器分配内容,然后创建一个新的进程,并注入位于hxxp://185.63.90[.]137:1338/stagers/l5l.py的远程服务器的资源。目前,该服务器已经无法访问,表明该地址是用于测试或之前的攻击活动。

研究人员发现许多恶意活动都与同一IP地址185.63.90[.]137进行通信,样本中都含有Meterpreter payload,其中部分使用Shikata Ga Nai编码器混淆。

使用PowerShell和Ctype的WSL变种

不同文件的ELF到Windows二进制文件执行路径是不同的。在部分样本中,PowerShell 用于注入和执行shellcode,在其他样本中,Python  ctype被用来解析Windows API。

在其中一个PowerShell样本中,编译的Python会调用3个函数:kill_av()、reverseshell() 和 windowspersistance()。

部署为Windows加载器的Linux可执行软件

图1: 反编译的decompiled kill_av和windowspersistence函数

kill_av()函数会使用 os.popen()尝试kill调可疑的反病毒产品和分析攻击。reverseshell() 函数使用子进程每20秒性一个base64编码的PowerShell 脚本,拦截其他函数的执行。windowspersistence() 函数会复制原始ELF文件到appdata 文件夹,命名为payload.exe并使用子进程来加入注册表以实现驻留。在上图中,windowspersistance()会用字符串“TIME TO Presist”被调用。

部署为Windows加载器的Linux可执行软件

图2: reverseshell 和 kill_av函数

解码的PowerShell使用GetDelegateForFunctionPointer来调用VirtualAlloc,复制MSFVenom payload到分配的内存,并使用GetDelegateForFuctionPointer来在分配的含有payload的内存中调用CreateThread 。

部署为Windows加载器的Linux可执行软件

图3:注入和调用MSFVenom payload的PowerShell脚本

另一个使用样本使用Python ctype来解析Windows API来注入和调用payload。在分析过程中,研究人员发现一些小的不连续,比如变量类型。研究人员猜测代码仍在开发中,但可能即将结束。

部署为Windows加载器的Linux可执行软件

图4: 使用Python ctypes的分混淆的代码

参考及来源:https://blog.lumen.com/no-longer-just-theory-black-lotus-labs-uncovers-linux-executables-deployed-as-stealth-windows-loaders/

部署为Windows加载器的Linux可执行软件

部署为Windows加载器的Linux可执行软件

本文始发于微信公众号(嘶吼专业版):部署为Windows加载器的Linux可执行软件

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: