Vulnhub实战-prime1

前言

VulnHub 是一个面向信息安全爱好者和专业人士的虚拟机(VM)漏洞测试平台。它提供了一系列特制的漏洞测试虚拟机镜像,供用户通过攻击和漏洞利用的练习来提升自己的安全技能。本次,我们本次测试的是prime1。

一、主机发现和端口扫描

  1. 查看Vmware中靶机的MAC地址,方便与之后nmap扫描出来的主机的MAC地址进行对比,选择nmap与靶机MAC地址相符的主机,其IP地址即为靶机的IP地址。

    1692975164_64e8c03c4842949ad21ef.png!small

    这里我已知目标使用了NAT模式。

  2. 使用nmap进行网络扫描

    nmap -sP 192.168.1.0/24

    1692974915_64e8bf43423bd394fcfa4.png!small?1692974914458

    -p(ping)

    -O(operation)

    除了使用Nmap的命令之外,还可以使用命令对目标的IP地址进行扫描。

    arp-scan -l                       //IP地址和MAC地址的映射

    netdiscover -i eth0 -r 192.168.1.0/24      //扫描这个网段下当前还存在的网络

  3. 使用nmap进行端口扫描

    nmap -p 1-65535 -A 192.168.1.129

    1692975228_64e8c07cd6c306e8349c7.png!small?1692975228075

    由上图可知,nmap扫描出来22和80两个端口,并且把其他的一些指纹信息例如操作系统类型、Apache版本等都扫描出来了。
  4. 访问目标

    1692975330_64e8c0e2957b917ae57ad.png!small?1692975329983

二、目录扫描

  1. 进行网页目录扫描

    dirb http://192.168.1.129

    1692975427_64e8c143924f7456b31f4.png!small?1692975426783

    也可以使用参数-X指定扫描的文件

    1692975469_64e8c16dde7ec4cd29517.png!small?1692975469101

  2. 然后访问一下目标目录下的secret.txt文件,结果如下图

  3. 1692975509_64e8c1952090d19c6e102.png!small?1692975508286

    有提示,看来location.txt是一个特殊文件,但直接访问之后没有什么特殊的,这个文件可能是某个参数的值

三、FUZZ和LFI

  1. 使用wfuzz工具测试一下,找url中可能存在的参数

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

    1692975676_64e8c23c12d8dc380a99a.png!small

    FUZZ模糊测试,功能:

    • 找参数

    • 目录扫描

    • 密码暴力破解

    • 找出被过滤的关键字

    • 压力测试

  2. 大多数都一样,使用hw命令过滤一下不一样的条目

    1692975752_64e8c288d31a42a2faa6d.png!small

  3. 可以看出这一条和其他的不一样,可以试着加上payload去访问一下,结果如下图所示

    1692975818_64e8c2ca4f3b216e72949.png!small?1692975817680

    给出了错误提示,但却也告诉了我们一些信息,那就是file是网页中中存在的一个文件参数,接下来我们就可以利用这一点了。

  4. 结合之前我们看到的提示,将location.txt作为file的参数值,然后再访问

    1692975859_64e8c2f394b787397295f.png!small?1692975859960

  5. 有效果了,让我们试一下secrettier360参数,我试了一下没什么反应,后来我是把index.php改为image.php才有反应,image.php之前有扫描出来,但是没留意,不知道有什么用处,因为它和index.php的界面没什么区别

    1692976394_64e8c50a48880e33cf381.png!small?1692976394756

  6. 因为这是一个Linux操作系统,其中的敏感文件有/etc/passwd,我们可以试着将其作为参数参给secrettier360,结果如下图

    1692976419_64e8c52359505f4b370d0.png!small?1692976419271

    找到要登录Linux的提示了。

在Linux中,/etc/passwd中的密码使用x代替,不显示出来,而在/etc/shadow中则是通过MD5加salt加密,是显示出来的。

  1. 按照提示在url中输入相关参数

    1692976443_64e8c53b9e55d19c2cf5b.png!small?1692976442770

  2. 得到一个密码follow_the_ippsec,不知道是不是登录Linux操作系统的密码,我尝试了一下,结果不是,看来还得从其他方面入手,我之前对目标目录进行了扫描,扫到了一个wordpress的目录

四、WordPress漏洞扫描

  1. 目标网站使用wordpress搭建的,这是一个CMS,曾经存在文件上传漏洞,我访问了它的wordpress目录,其中有一个用户名和一个登录链接。

    1693225723_64ec92fb01aea16e93ad2.png!small?1693225722693

  2. 已知一个用户名,尝试使用之前从password.txt中获得的密码follow_the_ippsec尝试一下是否能够进行登录。

    1693225766_64ec93261f5c57d138269.png!small?1693225765860

  3. 结果成功进入后台界面,如下图所示。

    1693225795_64ec93432139eb65a797f.png!small?1693225794935

  4. 现在可以尝试上传webshell了,先寻找上传点,我在Appearance的Theme Editor选项里面的secret.php中找到了上传点。

    1693225834_64ec936ac8dfb2c2c63b6.png!small?1693225834750

  5. 使用MSF来反弹shell,方便快捷,在MSF生成一个shell.php,建立监听。

    1693226011_64ec941baa1008856ebc6.png!small?1693226011483

  6. 将最前面的注释去掉,复制到secret.php中,然后上传。

    1693226062_64ec944ea0c283c5d82a8.png!small?1693226062658

  7. 使用MSF建立监听,然后访问secret.php。

    1693226088_64ec94685dca9539c51aa.png!small

在wordpress中,secret.php其实是位于wordpress/wp-content/themes/twentynineteen目录下的,因此我们通过访问该目录下的secret.php即可反弹shell,即访问http://192.168.1.129/wordpress/wp-content/themes/twentynineteen/secret.php。

  1. 成功拿到shell,此时我们可以尝试一些命令获取目标更多的信息。

    1693226153_64ec94a949b6f2d9f405f.png!small?1693226152977

五、Linux内核漏洞提权

  1. 我们已经拿到目标的shell了,但我们还没达到root权限,要拿到root权限就得在目标的操作系统上提权。我在meterpreter中使用了sysinfo命令查看了目标的相关信息。

    1693226184_64ec94c8da112dd5cd1d4.png!small?1693226184449

  2. 接下来搜索该Linux系统或系统内核是否存在过漏洞。

    1693226211_64ec94e34b8c0b8aed9e6.png!small?1693226211097

    看来存在,Linux内核在4.13.9之前的版本存在漏洞,我们找到45010.c的路径并将其编译为可执行程序。

    1693226264_64ec9518de6ea0a03508a.png!small?1693226264490

如果在目标系统中编译的话可能出问题,因为目标操作系统可能没有gcc编译器,不具备C语言程序的编译环境。

  1. 将编译好的45010.exe上传至目标的/tmp/目录下。

    1693226288_64ec9530f39ba6747568a.png!small?1693226288568

上传到其他文件中可能没有权限,可以上传到目标的/tmp目录。

  1. 上传成功之后,我查看了一下,/tmp/目录下存在45010的程序,但是没有可执行权限。

    1693226341_64ec956553ad357a50846.png!small?1693226341082

  2. 执行一个shell脚本使其获得可执行权限。

    shell
    cd /tmp
    ls
    chmod +x 45010
    ./45010
    whoami

    1693226391_64ec95970c6d1d36d7d22.png!small?1693226390683

    在shell中执行./45010时出现了一个错误:

    ./45010: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./45010)

    换一个旧版本的Kali,例如Kali2021.4也行,安装好之后在重复上述一些列不走之后再执行whoami命令,结果显示root,说明提权成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/80524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter性能实战之分布式压测

分布式执行原理 1、JMeter分布式测试时,选择其中一台作为调度机(master),其它机器作为执行机(slave)。 2、执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI&#xff0…

【机器学习】文本多分类

声明:这只是浅显的一个小试验,且借助了AI。使用的是jupyter notebook,所以代码是一块一块,从上往下执行的 知识点:正则删除除数字和字母外的所有字符、高频词云、混淆矩阵 参考:使用python和sklearn的中文文本多分类…

DS相关题目

DS相关题目 题目一:消失的数字 拿到这道题目之后,首先可以想到的一个解题方法就是,我们可以先排序,排完序之后,这个数组其实就是一个有序的数组了,那只用比较数组中的每一个元素和他对应的下标是不是相等的…

代码管理工具git1

ctrl 加滚轮 放大字体 在计算机任意位置单击右键,选择::Git Bash Here git version git清屏命令:ctrl L查看用户名和邮箱地址: $ git config user.name$ git config user.email修改用户名和邮箱地址:$ git…

C#中Visual Studio如何为解决方案设置启动项目

目录 第一种方法:快速选定启动项目的方法1.在解决方案资源管理器中,选择解决方案(最高层节点)2.选择解决方案节点的上下文(右键单击)菜单,然后选择“属性”。 “解决方案属性页”对话框随即显示第二种方法:右击First11或者second11,点击设置启动项目即可Visual Studio…

C#使用DirectX SDK 加载.x三维模型

最近因为项目要做显示一个三维模型,所以研究了下如何在Winform中加载并显示三维模型。在Windows平台巨硬公司提供了DirectX SDK用于渲染图形,参考了几篇文章做了个demo记录下,以便日后温习只用。这个SDK涉及到了计算机图形学的一些基础知识&a…

【物联网】简要解释RTK(Real-Time Kinematic)>>实时动态差分定位

引言: RTK(Real-Time Kinematic)技术是一种基于差分GPS的高精度定位技术,它通过实时通信和数据处理,能够提供厘米级甚至亚米级的定位精度。RTK技术在许多领域都得到了广泛应用,如测绘、航空航天、农业等。本…

Springboot -- DOCX转PDF(二)

之前记录了按照模板生成 DOCX 文件、并转换为 PDF 文件的方法 https://blog.csdn.net/qq_40096897/article/details/131979177?spm1001.2014.3001.5501 但是使用效果并不是很理想,转换完的 PDF 格式和原本的文档格式不匹配。所以在此重新找了一个文件转 PDF 的方法…

职场工作与生活

序言: 和很多在CSDN的博主一样,大家在工作之后就很少或者是不再回到CSDN,确实自己也一年多没上了。因为可能当初大家在这就是为了记录和分享当初自己学习技术的东西。而大家走出象牙塔开始工作后,发生了很大的转变。在国内…

PY32F003F18之输入捕获

输入捕获是定时器的功能之一,配合外部引脚,捕获脉宽时间或采集周期。 CPU中的定时器最基本的功能就是计数功能,其次是输入捕获(IC),再次就是比较输出(OC),还有就是使用引脚对外部时钟进行计数,触发信号捕捉…

阿里云 linux 的nginx 配置uni-app的H5前端项目vue,后端接口阿里云。

背景 vue项目调用接口是阿里云的,H5网站也要部署到阿里云,2个不同的服务器,需要做nginx部署与api代理。 端口配置 首先当然是买个阿里云服务器,这里是配置是linux系统,配置访问的域名 ,再接着&#xff1…

iOS系统暗黑模式

系统暗黑模式: 暗黑模式颜色适配: 方式1: Assets配置:在Assets中配置好颜色后,可以通过colorNamed: 放大获取到动态颜色。 方式2:代码配置,通过代码colorWithDynamicProvider: 可以看出来生成…

【Obsidian】中编辑模式和阅读模式光标乱跳问题以及编辑模式中段落聚集的问题解决

前言 最近用Obsidian 软件写md笔记,但是当我分别使用编辑模式和阅读模式时出现了光标乱跳的问题。比如我在编辑模式,光标停留在第500行,但是切换成编辑模式就变成了1000行。而且光标根本没停在原来的位置。这样重新定位非常麻烦。 两种阅读…

我眼中的大数据: 我们未来该往何处

满打满算,工作接近三年的时间了,入行大数据也三年了。从开始时惊艳于大数据处理的高效,到现在时常迷茫未来数据的出路在哪,恍恍惚惚跨过了互联网的高峰。今天突然觉得,该总结下过去,思考下未来。我尽可能少…

自动化控制系统的设计重点是什么?

要实现对选择性激光烧结系统预热温度的控制,需要找到合理的控制对象模型,但选择性激光烧结设备的预热温度场是一个复杂的非线性系统,很难找到合理的控制对象模型来实现预热温度场的温度控制。模糊控制不需要具体的控制模型,预热温…

3ds max文件打包?max插件CG Magic一键打包整起!

3ds max文件如何打包?这个问题,小编听到不少网友的提问! 今天CG Magic小编来和大家聊聊,文件更高效的操作,如何打包处理呢? 3DMAX这款软件的受众群体是比较高的,在工作方便的同时,…

系统架构设计高级技能 · 构件与中间件技术

点击进入系列文章目录 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 系统架构设计高级技能 构件与中间件技术 一、构件的定义二、构件系统架构特性三…

电脑大文件删除了能恢复吗 电脑大文件删除了怎么恢复

在日常办公中,电脑是必不可少的办公工具,电脑能够帮助我们储存大量的大文件,但是有时候可能会因为一些误操作或者电脑故障等情况,导致一些电脑大文件的丢失,所以今天就和大家分享一下,电脑大文件删除了能恢…

jmeter采集ELK平台海量业务日志( 采用Scroll)

由于性能测试需要,需采集某业务系统海量日志(百万以上)来使用。但Elasticsearch的结果分页size单次最大为10000(运维同事为保证ES安全)。为了能够快速采集ELK平台业务日志,可以使用以下2种方式采集&#xf…

Ubuntu下高效Vim的搭建(离线版)

软件界面 可以看到界面下方有一些常用提示信息:文件路径、format、文件类型、光标所在的坐标(x,y)、进度条(百分比)、日期时间 会提示已定义的变量名词(快速补全) 搭建方法 下载资源文件 把Vim 和 .vimrc 拷贝到家目录下,并执行tar -xvf Vim 即可。 …