VulnHub-pWnOS: 2.0-靶机渗透学习

靶机地址:https://www.vulnhub.com/entry/pwnos-20-pre-release,34/ 靶机难度:中级(CTF) 靶机发布日期:2011年7月4日 靶机描述:pWnOS v2.0是一个Virutal机器映像,它托管一个服务器以进...

靶机地址:https://www.vulnhub.com/entry/pwnos-20-pre-release,34/

靶机难度:中级(CTF

靶机发布日期:201174

靶机描述:pWnOS v2.0是一个Virutal机器映像,它托管一个服务器以进行实践渗透测试。它将测试您利用服务器的能力,并包含多个达到目标(根)的入口点。它是为与WMWare Workstation 7.0一起使用而设计的,但也可以与大多数其他虚拟机软件一起使用。

目标:得到root权限&找到flag.txt

作者:DXR嗯嗯呐




配置虚拟机

靶机规定了IP、网关、子网掩码,需要修改攻击者的地址,才能访问。

auto eth0

iface eth0 inet static

#配置eth0使用默认的静态地址

address 10.10.10.101

#配置eth0的IP地址

netmask 255.255.255.0

#配置eth0的子网掩码

gateway 10.10.10.15

#配置当前主机的默认网关

启动网卡,修改IP成功

如果你想你的物理机连接虚拟机,修改一下网卡 VMware Virtual Ethernet Adapter for VMnet8 的信息即可

信息收集

上面说了靶机的地址为10.10.10.100,现在nmap扫描一下看看

nmap扫描端口信息

22 SSH

80 http

访问80端口,在前台界面获得一个邮箱,记下来

admin@isints.com

nikto扫描找到很多信息,这是一个登陆界面

利用mysql LOCAL_INFILE 函数getshell

访问这个php,是个登陆界面,看一下有没有sql注入

email参数存在sql注入

看一下可不可以直接使用sqlmap将反弹shell写入靶机

执行sqlmap命令,通过mysql的LOCAL_INFILE 函数写入木马

sqlmap -r 2.txt --batch? --file-write /tmp/shell.php --file-dest /var/www/shell1.php

配置msf,获得shell

利用文件上传getshell

我们这里采用其他思路获得shell

登陆界面

sqlmap测试email参数存在注入

在ch16数据库存在users表,找到了admin@isints.com密码

sqlmap -r sqlmap.txt --batch -D ch16 -T users --dump

MD5解密

获得账号密码admin@isints.com/killerbeesareflying

登陆没获得有用信息

dirb扫描发现blog目录

查看网页源代码发现靶机使用的是Simple PHP Blog 0.4.0

百度介绍

看一下这个程序存在一个远程代码漏洞

配置msf

启动,没有获得shell,但是创建了一个账号

RG5Bqr/DHmsZA

登陆找到了一个图片上传点,上传一个木马

在之前dirb扫描的时候,我们发现过一个图片目录,看一下是不是上传这里了

连个过滤都没有,可能是靶机太老了,毕竟是11年的

找到木马的路径http://10.10.10.100/blog/images/shell.php,连接木马,获得shell

UDF提权

看mysql程序是root用户启动

没有没配置文件,记录了mysql的用户密码

在/var/www目录下找到

但是登陆失败

又在/var目录下找到

登陆mysql

因为前面都可以将文件写入/var/www目录了,应该可以UDF提权

show global variables like 'secure%';

  • 当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出文件,此时无法提权
  • 当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出文件只能发生在 /tmp/ 目录下,此时也无法提权
  • 当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出文件做限制,此时可提权
  • 查看mysql框架

查看mysql框架

在msf中找到合适的udf文件

将文件上传到靶机上

查看mysql数据库plugin目录位置

随便进入一个库,创建表,将文件内容写到表中


将表中数据,写到plugin目录,自定义一个文件名,并创建sys_eval函数

使用sys_eveal函数执行命令,获得root权限

打算获得一个root权限的交互式界面,给find命令赋root的sid权限,并执行find命令,获得一个拥有sid root权限


完成!!!

提权的方法就很多了,这里使用的是UDF提权,其他的方法就不测试了,有兴趣的同学可以试一下。总体来说这个靶机比较老了,我做的方法可能就和靶机设计的初衷不太一致了,不过也是学到了很多,现在靶机做的越来越顺了,高兴。

总结

  • 1、使用nikto找到login.php,登陆界面,使用sqlmap对登陆参数测试,发现email参数存在注入。
  • 2、直接使用sqlmap利用mysql的local_infile函数上传木马,获得shell;或者利用simple PHP Blog 0.4.0漏洞,创建一个账号,在利用文件上传漏洞,上面木马,获得shell。
  • 3、利用mysql数据库程序为root用户启动,利用mysql的udf漏洞提权,获得root用户。




  • 发表于 2021-04-08 11:36
  • 阅读 ( 1 )
  • 分类:生活经历

0 条评论

请先 登录 后评论
科技客评
科技客评

10 篇文章

你可能感兴趣的

相关问题