MuddyWater是一个APT安排,主要以中东国家的 *** 安排和电信部分为进犯方针,所插手的国家包含伊拉克、沙特 *** 、巴林、约旦、土耳其和黎巴嫩,也包含一些中东附近地区的国家,如阿塞拜疆、巴基斯坦和阿富汗等。
MuddyWater于2019年初次露脸,其间攻陷了很多安排安排,且至今一向处于活泼状况。该要挟团伙于之一阶段所运用的感染 *** 和钓饵文件已被很多安全安排剖析过,咱们在之前的文章——《MuddyWater再度扩大影响规模》中对其也有过描述。
但是,感染之后的进程的细节迄今为止还没有被揭露过。MuddyWater交融了多种东西和技能来监督并盗取方针受害者的信息,这些东西和技能大部分是由该安排自身在Python、c#和PowerShell中开发的,包含c#和Python的多个下载/履行东西、RAT病毒、SSH Python脚本、以及用于提取凭据和历史记录的多个Python东西,等等。
本陈述将对MuddyWater在开始感染后所运用的一系列东西做具体阐明,还将论述进犯东西被布置到受害者体系内部后,用以打乱查询的欺骗性技能(比方用中文和俄文的字符串,以及伪装成黑客安排 “RXR Saudi Arabia” )。据咱们的查询结果,进犯者还犯有OPSEC过错,但由于法律部分正在进行查询,咱们将不对这些过错做阐明。
东西集剖析
在对MuddyWater活动的研讨中,咱们可以识别出他们所运用的一些东西和脚本,大多数东西都是定制开发的,还有一些则是揭露的通用东西。
包含:
· Nihay – 下载履行东西(C#)
· LisfonService – C#RAT
· Client.py – Python RAT
· Client-win.py – SSH Python脚本
· Rc.py/Rc.exe – Python RAT根底
· VBScript和VBA文件
· 第三方脚本(Muddy,Losi Boomber,Slaver reverse tunnel…)
· 以及第二阶段的PowerShell脚本
大多数东西都是Python或PowerShell编写的脚本。MuddyWater运用Py2Exe和PyInstaller将各种具有进犯性的Python脚本编译成可履行文件,以完成可移植性,比方Python脚本“CrackMapExec”、“shootback”和“Lazagne”。
MuddyWater还运用“PS2EXE”将PowerShell脚本转换为可履行文件,并将原始PowerShell代码作为一个Base64编码的字符串嵌入其间。咱们注意到,MuddyWater习气运用PowerShell Reflective DLL注入来布置Metasploit Stageless Meterpreters,32位和64位版别都有。Stageless Meterpreter一般具有“Ext_server_stdapi.x64.dll”,“Ext_server_extapi.x64.dll”和“Ext_server_espia.x64.dll”的扩展名。
Nihay – 下载履行东西(C#)
名为“Nihay”的东西是一个用C#编写的木马,它的功用相对根底——从硬编码URL(例如https://beepaste[.]io/view/raw/pPCMo1)处下载PowerShell单行指令 ,并将其传递给“cmd.exe /c”。
LisfonService – C#RAT
LisfonService会搜集受害者的一些根本信息:用户名、域或工作组称号、核算机称号、核算机内部IP地址、操作体系版别、操作体系版别和公共IP地址。LisfonService还会从躲藏实在C2服务器的很多硬编码署理URL中随机挑选一个URL,一旦受害者符号成功,则分配给受害者一个编号,稍后将用于从C2恳求指令,例如履行PowerShell代码或生成蓝屏。
在反编译的C#代码中,有一个名为“str1”的引证变量,它实际上没有被运用。咱们以为它是前期测验阶段的残留,可能是C2的IP地址。
str1 = "http://78.129.222.56:8090/244271232658346635408608084822345041494";
而拜访此URL时,它会显现可能是成心留给研讨人员的“嘲讽”:
Client.py – Python RAT
咱们以为Client.Py是由MuddyWater开发的Python 3.6 RAT,经过使用PyInstaller将其作为编译的Python可履行文件布置在受害核算机上。履行流程如下:
1.搜集有关受害者核算机的根本信息:核算机称号,操作体系称号,操作体系版别和用户名。然后将信息发送到C2服务器192.64.86 [.] 174:8980。
2.它支撑多个指令,其间一些指令是经过创立暂时.VBS文件并调用cscript.exe运转来履行的。所支撑的指令能让此RAT完成根本的键盘记录功用,比方盗取Chrome中保存的暗码,查杀使命管理器,长途指令履行以及在音讯框中显现警报音讯。
Client-win.py – SSH Python脚本
此Python脚本由PyInstaller编译,使用Python paramiko插件创立到C2的SSH衔接。
1.在端口8085上衔接到C2的硬编码IP地址(例如104.237.233 [.] 38)并发送字符串“ip”。然后它应该能收到“ip1 :: ip2 :: ip3”方式的IP列表。
2.接着该脚本衔接到相同的硬编码IP地址并发送字符串“pw”,从C2获取“pw1 npw2 npw3”方式的暗码列表。
3.最终,它用硬编码用户名列表(如“cisco”、“root”、“admin”),与过程1中每个ip上接纳到的一切暗码进行配对,以对SSH会话进行身份验证。
Rc.py/Rc.exe – 根底Python RAT
rc.py是由PyInstaller编译的Python脚本,由UPX加壳。该脚本接纳C2的IP地址作为参数,并在硬编码端口9095上与其衔接。它能支撑体系上的一些指令来履行搜集暗码、长途指令履行等动作。[1][2][3][4]黑客接单网