powershell横向渗透样本分析
1.起源
前段时间收到一份样本 类似于DLTMiner活动攻击留下的样本,这份样本与2019年DLTMiner及其相似,同时也与近期的exchange服务器相关
同时 Kyle Hanslovan在推文发布一张图,图中有powershell执行代码调用执行url地址的字符串
http[:]//p。estonine。com/p?e
调用执行的依旧为powershell的代码
2.powershell混淆
解码powershell的混淆,去掉 IEX 或 Invoke-Expression
解码后
解出多次混淆后,下图为最后完整的代码
这里重点内容为 下载执行update。png的内容
updata-png
而update。png内容如下
解码混淆两三次后如下图所示
下面重点开始讲这部分的脚本的功能。
3.update-png的功能
3.1.永恒之蓝
加入了开源脚本的powershell exp
3.2永恒之蓝扫描
加入了开源脚本ms17-010scanner.cs
3.3 目标选择
随机生成用于定位的IP地址,并在特定端口号上进行端口扫描以侦听服务,例如445 / TCP(SMB),1433 / TCP(MS-SQL服务器)或65529 / TCP(先前已被该威胁参与者破坏的计算机)。
脚本从远程计算机获得响应后,它将探测EternalBlue SMB漏洞的IP地址,或对MS-SQL服务执行暴力攻击,以试图破坏计算机。带有此侦听端口的计算机在65529 / TCP上打开,之前,该计算机或其他威胁因素已使用类似的脚本破坏了该计算机
3.4powerDump
使用powershell dump 从注册表中读取哈希值来执行哈希转储
3.5mimikatz
加入了开源脚本 将单文件载入mimikaze.DLL到powershell的内存中运行,分别为32位和64位的dll
32bit - D58A41A393F4B9A406226689F29C7017CA20F788
64bit - FA8E53CB3497CBF81CFEE0DDBF171DE98B83211D
获取信息
3.6TheHash
加入了开源脚本Invoke-TheHash包含用于执行传递哈希WMI和SMB任务的PowerShell函数
执行psexec
3.7 RDP爆破
脚本内嵌用户名字典和hash表和明文密码表
用户列表:
1 | administrator |
3.8 权限维持
创建计划任务和防火墙 添加转发策略
上传文件到:
1 | C:\Users\<Name>\AppData\Roaming\sign.txt 内容0: |
4.执行过程
1 | while(true)循环执行: |
5.IOC
此脚本结合了多种开源的powershell脚本形成了此内网横向渗透的工具集
1 | Main object - "update.png" |
链接:
https://app.any.run/tasks/91d52b22-d87f-4a7e-bd3a-22c48525df6d/
https://422926799.github.io/posts/855d1ef5.html
https://github.com/tevora-threat/eternal_blue_powershell/blob/master/EternalBlue.ps1
https://github.com/vletoux/pingcastle/blob/master/Scanners/ms17_010scanner.cs
https://raw.githubusercontent.com/Kevin-Robertson/Invoke-TheHash/master/Invoke-SMBClient.ps1