VulnHub渗透测试 – 作者:yangyanlong

vulnhub靶机AI-WEB-1.0渗透测试

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

下载后把靶机的网络适配器和攻击机kali的网络适配器改为Net模式。

kali的IP地址:192.168.245.153

渗透测试过程

主机发现:

方法1:使用netdiscover二层发现工具

netdiscover -i eth0 -r 192.168.245.0/24

图片[1]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

方法2:使用nmap扫描网段内存活主机

图片[2]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科得到靶机的IP地址192.168.245.135后,使用nmap -A 192.168.245.135得到靶机开放的端口80和其他信息。

图片[3]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科/m3diNf0和/se3reTdir777/uploads目录无法访问。尝试访问http://192.168.245.135/se3reTdir777/发现可以访问。

图片[4]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科看到这种一搬会想到是否有sql注入。在表单中输入1,页面返回正常,输入1’页面报错,报错信息出现了MySQL,输入1‘#页面正常返回,所以存在字符型注入。由于参数是通过post方式提交的,所以用BurpSuite抓包。图片[5]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

可以将抓到的数据包保存为.txt文件,使用sqlmap的-r参数读取数据包进行post注入,也可以使用sqlmap的参数–data指定提交的参数名称和值。比如:–data “uid=1&Operation=Submit”,这里我把数据包保存为ALWEB.txt。用sqlmap开始注入。

图片[6]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

图片[7]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科information_schema是MySQL自带的数据库,所以获取aiweb1数据库的数据就行。

图片[8]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

图片[9]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科对password字段的数据进行base64解码。

然后通过sql注入获取shell。

先查看下mysql的权限

图片[10]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

尝试使用–os-shell获取shell

使用–os-shell的条件

(1)具有file权限

(2)攻击者需要知道网站的绝对路径

(3)GPC为off,php主动转义的功能关闭

通过dirsearch工具扫描发现http://192.168.245.135/m3diNf0/ 目录下有info.php文件,访问后可以看到PHP的配置配件。得到网站的根目录/home/www/html/web1x443290o2sdf92213

图片[11]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科输入1’后直接报错,说明后台没有对单引号进行过滤。开始通过–os-shell获取shell。

图片[12]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科图片[13]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科图片[14]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科尝试访问每个文件,找到-os-shell的上传页面

图片[15]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科然后上传一个恶意脚本hack.php。

图片[16]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

执行ls命令看到hack.php,上传成功。

图片[17]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

在kali中监听1234端口。然后在os-shell运行hack.php。

图片[18]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科图片[19]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

当前用户的权限,输入id

图片[20]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科uid=33,不是root用户(root用户的uid=0)。查看该用户对/etc/passwd拥有的权限

图片[21]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

发现该用户对/etc/passwd有写入权限。所以开始提权。

尝试添加一个用户,由于写入的时候密码是加密的,所以要先加密密码。

图片[22]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科写入后切换用户报错,尝试提升为交互式shell,再切换用户:

图片[23]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科切换用户成功。输入id查看test用户的uid是否等于0

图片[24]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科uid=0,提权成功。执行cd /root和ls发现有一个flag.txt的文件,cat flag.txt查看flag。

图片[25]-VulnHub渗透测试 – 作者:yangyanlong-安全小百科

来源:freebuf.com 2021-05-20 11:01:47 by: yangyanlong

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论