Vulnhub-靶机-PWNLAB: INIT

本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现

地址:https://www.vulnhub.com/entry/pwnlab-init,158/

sudo nmap -sC -sV -n -p- 192.168.202.10 -oN pwnlabinit.nmap

nmap扫描结果

开放了4个端口,有个web应用,按照套路来使用gobuster进行目标爆破扫描下看看

发现了一个配置文件URI地址config.php ,访问看看

显示空白,擦啊,猜测目标靶机做了一定的限制,那么使用扫描器nikto扫描看看

同样也发现了URI地址config.php但是还有其他的信息,是关于配置文件config.php 里面包含数据库的id和密码等信息,这是个提示,我们先正常访问目标点击下每个功能点看看

看到一个登陆界面,但是看URL地址,第一反应是不是又有LFI ,但是试了下正常文件包含显示空白,猜测目标靶机代码做了一定的过滤,这里需要通过为协议进行读取操作,相关资料参考:https://github.com/SewellDinG/LFIboomCTF  最终我以下面的形式读取文件

将显示的信息进行base64解码

得到了数据库的账号和密码,前面nmap扫描的记过显示开放了3306端口,直连看看

直连进去了

切到Users表看到用户名和密码,密码看形式猜测就是base64编码, 拿第一个解码

登录目标靶机的web应用,发现上传功能

通过修改kali自带的webshell反弹shell代码,使用vim编辑器在此代码的开头添加GIF字样,并将扩展名后缀改成gif的格式,以达到绕过的目的

最终上传成功,查看上传的图片信息得到如下

到了此时就要想办法进行文件包含使其反弹shell,后台开头的伪协议文件包含的情景,我们刚开始使用gobuster爆破的目录中含有index.php,尝试包含此文件读取代码看看

代码如下:

<?php
//Multilingual. Not implemented yet.
//setcookie("lang","en.lang.php");
if (isset($_COOKIE['lang']))
{
    include("lang/".$_COOKIE['lang']);
}
// Not implemented yet.
?>
<html>
<head>
<title>PwnLab Intranet Image Hosting</title>
</head>
<body>
<center>
<img src="images/pwnlab.png"><br />
[ <a href="/">Home</a> ] [ <a href="?page=login">Login</a> ] [ <a href="?page=upload">Upload</a> ]
<hr/><br/>
<?php
    if (isset($_GET['page']))
    {
        include($_GET['page'].".php");
    }
    else
    {
        echo "Use this server to upload and share image files inside the intranet";
    }
?>
</center>
</body>
</html>

根据上述代码显示,可以通过包含cookie的内容来包含我们上传的文件,那么这里使用curl命令带入cookie参数比较方便

执行上述之前先本地kali监听8833端口,最终反弹shell成功,并升级成tty-shell

赶紧到家目录看看有哪些用户

发现有4个用户,刚好我们前面查看数据库发现了3个用户

| user | pass |
+------+------------------+
| kent | Sld6WHVCSkpOeQ== | JWzXuBJJNy
| mike | U0lmZHNURW42SQ== | SIfdsTEn6I
| kane | aVN2NVltMkdSbw== | iSv5Ym2GRo
+------+------------------+

试试其中的用户 ,su切换到kent,没什么可以利用的信息,切到mike显示密码错误,切到kane有点可利用的信息

上述是使用全局环境变量提权,这个之前的靶机有演示过,不过这里是提权到另一个用户,上述已经成功跳转到mike用户,在该用户下发现一个含有setuid的二进制文件,通过执行然后输入参数即可提权

迷茫的人生,需要不断努力,才能看清远方模糊的志向!
原文地址:https://www.cnblogs.com/autopwn/p/13847442.html