本次实验利用ms17010与ms14068两个老漏洞,用kali在一个极简域环境的理想状态下模拟复现从控制一台域内主机到得到域控shell的简单流程shell
关于漏洞原理已经讲烂了,再也不复述,网上大神们写得很好windows
老版kali ip:192.168.1.16服务器
winserver2008 ip:192.168.1.28 (域控,dns服务器)框架
win7 x64 ip:192.168.1.13(域内主机)工具
打开msf,寻找ms17010应用模块ui
采用auxiliary/scanner/smb/smb_17_010来搜寻目标网段是否有开放445端口存在永恒之蓝的机器IP,线程50便可编码
设置好options后run一下线程
run到了192.168.1.13这台机器(目标域内主机)有此漏洞3d
提示目标机器为64位win7,因此采用模块exploit/windows/smb/ms_17_010_eternalblue,不一样位数机器对应的payload不尽相同,msf中没有的可自行寻找编写,再加入框架中server
设置目标ip、反弹链接payload、监听ip,设置好后执行
得到meterpreter
看一下当前uid,权限很高
若是发现有乱码,多是编码问题
改为GB编码就能正常显示
进入shell后,ipconfig /all whoami /all查看信息,发现多是域环境,dns与域控通常在一块儿
以后查找域管理员帐号
找到域中全部用户名
meterpreter下meterpreter>load mimikatz加载mimikatz神器后,kerberos可见登陆过的域用户明文密码,msv可见hash(省着往域主机win7上传mimikatz可能涉及权限等
问题难以执行),由此抓到当前主机域用户密码
因为域控没打相关补丁,可利用ms14068得到域控权限的shell
利用goldenPac.exe工具,相似ms14068工具和psexec的结合体,成功了将直接返回一个域控交互式shell,固然还有不少其余办法
用meterpreter把工具从kali传到win7域主机c盘上去
执行工具 goldenPac.exe 域名/域用户名:域用户明文密码@域名
报错,提示域控主机名SERVER
再次执行工具 goldenPac.exe 域名/域用户名:域用户明文密码@完整域名
在此时返回的shell中执行ipconfig,会看到ip由原来域主机win7的ip192.168.1.13变成域控winserver2008的ip 192.168.1.28,证实这已是一个域控的shell了,利用成功
以后能够在域中新建用户并加入到域管理员组中
也能够进行开端口,写脚本等操做,最后别忘了清理痕迹