[VulnHub靶机渗透] CONNECT THE DOTS

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!


目录

前言

一、信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

二、渗透测试+信息收集

1、FTP+NFS服务渗透

NFS渗透

FTP渗透

2、web渗透

目录扫描

norris ssh登录

3、vim读取断电swp文件

三、提权

1、tar文件能力读取root.txt

2、suit之polkit利用提权


前言

靶机精讲之CONNECT THE DOTS ,又一台考验你的知识面的机器,至少涉及jsfuck、nfs、ftp多文件读取、getcap获取文件能力、polkit、文件图片隐写、莫尔斯码和断电隐患等知识,如果不理解这些知识点,你可能玩不转这台靶机。加油吧,少年。

一、信息收集

1、主机探测

发现靶机的IP地址是192.168.103.156

┌──(root💀kali)-[~]
└─# arp-scan -l

2、端口扫描

扫描发现靶机开放了21、80、111、2049、7822、39963、41123、51467、52437端口,21端口的FTP和2049端口的NFS我们可以优先查看,然后再看80的web服务。

┌──(root💀kali)-[~]
└─# nmap -sS -A -p- 192.168.103.156

其中下面这几个端口都是为NFS服务开启的

39963 端口上运行着 mountd 服务,该服务针对 RPC 编号为 100005
41123 端口上运行着 nlockmgr 服务,该服务针对 RPC 编号为 100021
51467 和 52437 端口上也运行着 mountd 服务,同样针对 RPC 编号为 100005

再利用nmap扫描UDP端口,查看有什么新发现没用,UDP端口也是2049端口的NFS服务,这就说明我们需要去重点查看下,看看有什么共享文件给我们提示。

┌──(root💀kali)-[~]
└─# nmap -sU --top-port 40 192.168.103.156

3、漏洞扫描

漏洞扫描发现这个靶机的一些可能存在的漏洞,比如sql、xss、csrf,以及扫描到了一些目录,我们都可以去尝试访问下,但是我们目前还有很多的地方没有去渗透测试,我们后面如果没有什么突破了,我们可以尝试到时候倒过来。

┌──(root💀kali)-[~]
└─# nmap --script=vuln -p22,80,111,7822,2049 192.168.103.156

二、渗透测试+信息收集

1、FTP+NFS服务渗透

NFS渗透

要在Kali Linux上查看已共享的NFS文件,你可以执行以下步骤:

  1. 首先,确保你的Kali Linux系统上已安装了nfs-common包。如果没有安装,你可以使用以下命令进行安装:
sudo apt update
sudo apt install nfs-common
  1. 接下来,使用以下命令来查看可用的NFS共享:
showmount -e <NFS服务器IP地址>

-e表示exports,可以看到共享目录是/home/morris

将<NFS服务器IP地址>替换为实际的NFS服务器的IP地址。运行该命令后,你将看到NFS服务器上共享的目录列表。
  1. 如果要挂载NFS共享到本地目录以访问文件,可以使用以下命令:
sudo mount <NFS服务器IP地址>:<共享目录> <本地目录>
将<NFS服务器IP地址>替换为实际的NFS服务器的IP地址,<共享目录>替换为希望共享的目录路径,<本地目录>替换为将共享目录挂载到的本地目录路径。

成功挂载后,你将能够在本地目录中访问和操作NFS共享的文件。

这里要注意了,如果你这里的kali使用的是root权限,那么在那个挂载目录没法读取。

在NFS服务器上有个配置文件/etc/exports,里面是这样的:/home/morris *(ro,root_squash),这样就限制了root用户的访问权限,但是其他用户不会受到影响,所以root用户没法读取.ssh文件的内容。

所以这里我们直接切换到kali用户,我们发现.ssh文件下面又两个钥匙,一个公钥和一个私钥,我们这里下面可以尝试使用私钥进行openssl私钥免密码登录。

我们再cat id_rsa.pub文件的时候,发现私钥的账户是:morris

尝试利用私钥进行登录,发现竟然要输入密码,目前我们只能访求这个方向了,再后面看看能不能找到这个密码,然后再ssh尝试登录下。

FTP渗透

ftp尝试利用匿名登录,发现失败了,说明目前ftp这条路也失败了。

2、web渗透

直接访问80端口,进行信息收集,但是web页面上没有发现什么有价值的信息

右击查看源代码,也没有发现什么有价值的信息

目录扫描

利用工具gobuster扫描发现好多的目录,我们进行挨个访问收集信息。

┌──(root💀kali)-[~]
└─# gobuster dir -u http://192.168.103.156 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

/manual目录,是个apache的网页,没有什么价值

/backups目录,是一个搞笑的动态表情包,没有什么价值

/mysite目录下,有很多的文件,我们进行挨个访问,

后来发现这两个的内容对于渗透测试来说,还是有点价值的,

register.html目录下,是一个登录页面,目前还没有账号密码登录,不过我们可以尝试弱口令,但是没有效果,我们放到后面去进行测试。

bootstrap.min.cs文件里面的是CTF比赛中碰到过的一种jsfuck编码,我们看到的由一大堆!+组成编码的字符其实是jsfuck,这是一种针对javascript程序的混淆方法。

我们需要把里面的除了由 !+ 组成的符号全部删掉,然后进行解码:

JSFuck - Write any JavaScript with 6 Characters: []()!+

这里提示我们说,TryToGuessThisNorris@2k19是个密码,也就是密码的意思,那账号是什么呢?细看TryToGuessThisNorris@2k19,我们猜测里面有个账号是norris,我们后面可以进行验证。

norris ssh登录
账号:norris  ; 密码:TryToGuessThisNorris@2k19
┌──(root💀kali)-[~/桌面/nfsdir]
└─# ssh norris@192.168.103.156 -p 7822                                                                                                                           255 ⨯ 1 ⚙
norris@192.168.103.156's password: 
Linux sirrom 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

###
   #     #    #     #     #####     #      ##     #####     #    #    #   ####
   #     ##   #     #       #       #     #  #      #       #    ##   #  #    #
   #     # #  #     #       #       #    #    #     #       #    # #  #  #
   #     #  # #     #       #       #    ######     #       #    #  # #  #  ###
   #     #   ##     #       #       #    #    #     #       #    #   ##  #    #
  ###    #    #     #       #       #    #    #     #       #    #    #   ####

Last login: Sat Mar  2 14:50:42 2024 from 192.168.103.129
norris@sirrom:~$ id
uid=1001(norris) gid=1001(norris) groups=1001(norris),27(sudo)
norris@sirrom:~$ whoami
norris

user.txt被我们找到了

norris@sirrom:~$ ls
ftp  user.txt
norris@sirrom:~$ cat user.txt
2c2836a138c0e7f7529aa0764a6414d0

我们发现,我们开始想尝试登录FTP服务查找文件,发现这里直接可以找到,我们进行利用python3开启http服务,然后下载到我们本地查看。

norris@sirrom:~/ftp/files$ python3 -m http.server 1234

┌──(root??kali)-[~/桌面]
└─# wget http://192.168.103.156:1234/game.jpg.bak

利用file和string命令进行对所以bak文件进行查看,发现game.jpg.bak里面的是摩斯密码

file *.bak
strings *.bak |more

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

对莫斯密码进行解密:

Morse Code Translator - Morse Decoder

我们把#去掉,然后进行翻译,寻找线索

┌──(root💀kali)-[~/桌面/ftp_bak]
└─# echo "HEY#NORRIS,#YOU'VE#MADE#THIS#FAR.#FAR#FAR#FROM#HEAVEN#WANNA#SEE#HELL#NOW?#HAHA#YOU#SURELY#MISSED#ME,#DIDN'T#YOU?#OH#DAMN#MY#BATTERY#IS#ABOUT#TO#DIE#AND#I#AM#UNABLE#TO#FIND#MY#CHARGER#SO#QUICKLY#LEAVING#A#HINT#IN#HERE#BEFORE#THIS#SYSTEM#SHUTS#DOWN#AUTOMATICALLY.#I#AM#SAVING#THE#GATEWAY#TO#MY#DUNGEON#IN#A#'SECRETFILE'#WHICH#IS#PUBLICLY#ACCESSIBLE."| sed 's/#//g'
HEYNORRIS,YOU'VEMADETHISFAR.FARFARFROMHEAVENWANNASEEHELLNOW?HAHAYOUSURELYMISSEDME,DIDN'TYOU?OHDAMNMYBATTERYISABOUTTODIEANDIAMUNABLETOFINDMYCHARGERSOQUICKLYLEAVINGAHINTINHEREBEFORETHISSYSTEMSHUTSDOWNAUTOMATICALLY.IAMSAVINGTHEGATEWAYTOMYDUNGEONINA'SECRETFILE'WHICHISPUBLICLYACCESSIBLE.

这段话意思说他的电池很快就没电了,他就要ger~了,于是火速给我们留下一个信息,他把关键的信息secretfile放在了公共的区域。那啥是公共的区域呢?最容易想到的就是web的目录/var/www/html

我们发现,/var/www/html目录下,还真有secretfile文件,我们查看下这个文件的内容

I see you're here for the password. Holy Moly! Battery is dying !! Mentioning below for reference.


意思是:我知道你来到这里是找密码的。电池就要没电啦!下面的信息有些参考。

下面的信息在哪里?我们看到最后还有一个.secretfile.swp文件,

发现查看不了这个文件,因为这个是在web目录的http服务中,所以我们这里可以直接下载.secretfile.swp文件

┌──(root💀kali)-[~/桌面/ftp_bak]
└─# wget http://192.168.103.156/.secretfile.swp

3、vim读取断电swp文件

我们利用file和string,都显示这个文件与vim有关,然后前面又说了什么没电了,然后使用vim编辑,这一想,我们可以猜测他是不是利用vim编辑时断点异常退出产生的,那么我们就可以再利用vim进行把断电的编辑文件恢复。

说明vim利用-r参数,就是可以恢复断电编辑的swp文件了。

发现了一个应该是密码的东西:blehguessme090,一想到密码,我们就想到开始利用openssl私钥登录morris用户的时候,要用密码,说不定这个就是morris用户的密码呢,我们尝试利用ssh登录下。

┌──(root💀kali)-[~/桌面/ftp_bak]
└─# vim -r .secretfile.swp 

但是登录成功后,发现这个用户里面的文件,没有找到提权的方法,甚至说这个用户的权限都没有sudo,反而开始的用户还有sudo权限,所以我们还是把重点放回到原来的用户norris上。

┌──(root??kali)-[~/桌面/ftp_bak]
└─# ssh morris@192.168.103.156 -p 7822

三、提权

1、tar文件能力读取root.txt

使用getcap工具读取有没有文件具有特殊的文件能力

norris@sirrom:/var/www/html$ /sbin/getcap -r / 2>/dev/null
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep
/usr/bin/tar = cap_dac_read_search+ep
/usr/bin/gnome-keyring-daemon = cap_ipc_lock+ep
/usr/bin/ping = cap_net_raw+ep

/usr/bin/tar具有 cap_dac_read_search 权限。这可能意味着 tar 可以读取文件系统中用户没有权限访问的文件。

那我们直接用tar把/root目录打包,然后再解压就可以看到flag即root.txt:

tar -zcvf  root.tar.gz /root

tar -zxvf root.tar.gz

2、suit之polkit利用提权

查看具有SUID权限的文件,发现/usr/lib/policykit-1/polkit-agent-helper-1,并且都具有root权限

polkit是linux系统中针对文件权限管理的一套机制,而helper相当于是充当一个介于操作者与被操作文件的一个中介,会通过这个helper去调用执行文件。因此如果我们能够借助helper的高权限,以root的身份调用bash,即可实现提权。可以通过如下的命令实现触发polkit-agent-helper-1,并借用polkit-agent-helper-1的root高权限启动bash进行提权。

可以使用systemd-run -r启动伪终端,此时会通过polkit-agent-helper-1启动,而polkit-agent-helper-1具有高权限,因此就有可能实现提权。

我们执行下面的命令后,再输入TryToGuessThisNorris@2k19登录的凭证,就可以成功提权到root权限了。

systemd-run -t /bin/bash

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

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

相关文章

《秦时明月》IP新高度:与陕西历史博物馆共同书写文化传承新篇章!

在IP产业风起云涌的今天&#xff0c;如何以创意和匠心为传统文化注入新的活力&#xff0c;成为了摆在每一位文化工作者面前的重要课题。近日&#xff0c;《秦时明月》作为一部深受观众喜爱的国产动画IP&#xff0c;在迎来其十七周年之际&#xff0c;联手陕西历史博物馆&#xf…

字符函数和字符串函数(下)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 strncpy函数的使用 函数原型&#xff1a; strncpy的使用 strncat函数的使用 函数原型&#xff1a; strncat的使用 strncmp函数的使用 函…

Vue开发实例(三)项目引入Element-UI

项目引入Element-UI 一、引入Element-UI二、注册组件1、vue2使用element-ui2、vue3使用element-ui 三、使用Element组件1、轻微改造2、验证element是否生效 一、引入Element-UI npm i element-ui --save npm install element-ui -S等待安装完成 二、注册组件 1、vue2使用ele…

Redis缓存示例【一篇看懂数据库缓存的技术redis】

Redis缓存示例【一篇看懂数据库缓存的技术redis】 环境准备缓存短信验证码缓存菜品信息 因为服务器和数据库直接读写&#xff0c;性能消耗大 我们可以用redis缓存 当服务器想访问数据库时&#xff0c;可以先访问redis&#xff0c;看是否之前访问过想要的数据&#xff0c;这样就…

51单片机-(中断系统)

51单片机-&#xff08;中断系统&#xff09; 了解51单片机中断系统、中断源、中断响应条件和优先级等&#xff0c;通过外部中断0实现按键控制LED亮灭为例理解中断工作原理和编程实现过程。 1.中断系统结构 89C51/52的中断系统有5个中断源 &#xff0c;2个优先级&#xff0c;…

【yolov8部署实战】VS2019+OpenCV环境部署yolov8目标检测模型|含详细注释源码

一、前言 之前一阵子一直在做的就是怎么把yolo项目部署成c项目&#xff0c;因为项目需要嵌套进yolo模型跑算法。因为自己也是本科生小白一枚&#xff0c;基本上对这方面没有涉猎过&#xff0c;自己一个人从网上到处搜寻资料&#xff0c;写代码&#xff0c;调试&#xff0c;期间…

Trie树(1.字符串统计____2.最大异或对求解)

Trie树 文章目录 Trie树Trie字符串统计正解 最大异或对1.暴力 &#xff08;可以过6/10个测试点)2. Trie树模拟 用法&#xff1a;高效地存储和查找字符串集合的数据结构 存储形式&#xff1a; 将n个单词各个字符进行枚举&#xff0c;若是&#xff08;根节点所指向包含字符c&…

【javaSE-语法】lambda表达式

【javaSE-语法】lambda表达式 1. 先回忆一下&#xff1a;1.1 接口不能直接通过关键字new进行实例化1.2 函数式接口1.3 匿名内部类1.31 匿名内部类在代码中长啥样&#xff1f;1.32 构造一个新的对象与构造一个扩展了某类的匿名内部类的对象&#xff0c;两者有什么区别&#xff1…

基于vue-office实现docx、xlsx、pdf文件的在线预览

概述 在做项目的时候会遇到docx、xlsx、pdf等文件的在线预览需求&#xff0c;实现此需求可以有多种解决方式&#xff0c;本文基于vue-office实现纯前端的文件预览。 效果 如下图&#xff0c;分别为docx、xlsx、pdf三种类型的文件在线加载后的效果。你也可以访问官方预览网址…

【CSP试题回顾】202312-2-因子化简

CSP-202312-2-因子化简 解题思路 本题要求实现的是素数分解&#xff0c;并检查每个素因子的指数是否大于等于k&#xff0c;满足条件则将其加入最终乘积中&#xff0c;最后输出这个乘积。如果没有任何素因子的指数大于等于k&#xff0c;则按照题目要求输出1。 输入测试用例数q&…

ESP32如何查看IIC等默认引脚?

在通过ESP32做项目的时候&#xff0c;用到了IIC&#xff0c;但是在查看芯片手册的时候&#xff0c;上面说又有引脚都可以作为IIC引脚 看到这个的时候&#xff0c;人麻了。当时只想着省事&#xff0c;想使用默认引脚&#xff0c;后来在寻找芯片库文件的时候&#xff0c;发现了&…

云计算与大数据课程笔记(一)云计算背景与介绍

如何实现一个简易搜索引擎&#xff1f; 实现一个简易的搜索引擎可以分为几个基本步骤&#xff1a;数据收集&#xff08;爬虫&#xff09;、数据处理&#xff08;索引&#xff09;、查询处理和结果呈现。下面是一个概括的实现流程&#xff1a; 1. 数据收集&#xff08;爬虫&am…

数据结构 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1&#xff1a;Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用&#xff0c;包括&#xff1a;Trie…

Java 中对包含关系的判断

本文将为您详细讲解 Java 中对包含关系的判断&#xff0c;包括数组、字符串等&#xff0c;并提供相应的代码例子。 1. 数组包含关系判断 在 Java 中&#xff0c;数组包含关系判断通常使用循环来实现。以下是几种常见的判断方法&#xff1a; 示例 1&#xff1a;使用 for…

机器学习中类别不平衡问题的解决方案

类别不平衡问题 解决方案简单方法收集数据调整权重阈值移动 数据层面欠采样过采样采样方法的优劣 算法层面代价敏感集成学习&#xff1a;EasyEnsemble 总结 类别不平衡&#xff08;class-imbalance&#xff09;就是指分类任务中不同类别的训练样例数目差别很大的情况 解决方案…

Linux虚拟文件系统管理技术

Linux虚拟文件系统管理技术 1. 虚拟文件系统的组成1.1 虚拟文件系统架构1.3 超级块(super block)1.4 索引节点(inode)1.4.1 inode怎样生成的?1.4.2 inode和文件的关系? 1.5 目录项(dentry)1.6 文件对象(file) 2. 进程与文件系统的关系3. 磁盘与文件系统的关系4. 常见的文件系…

基于springboot+vue的图书管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

测试面试精选题:可用性测试主要测试哪些方面,举例说明

1.界面设计&#xff1a; 评估软件的用户界面设计是否直观、美观、易于理解和操作。 测试用例&#xff1a;打开软件&#xff0c;查看界面布局是否合理&#xff0c;各个功能是否容易找到&#xff0c;是否符合用户习惯。 2.导航和布局&#xff1a; 评估用户在软件中导航和查找…

录制用户操作实现自动化任务

先上视频&#xff01;&#xff01; 流程自动化工具-录制操作绘制流程 这个想法之前就有了&#xff0c;趁着周末时间给它撸出来。 实现思路 从之前的文章自动化桌面未来展望中已经验证了录制绘制流程图的可行性。基于DOM录制页面操作轨迹的思路监听页面点击、输入事件即可&…

搭建 LNMP 架构

一 理论知识 &#xff08;一&#xff09;架构图 &#xff08;二&#xff09;CGI 由来 最早的Web服务器只能简单她响应浏览器发来的HTTP请求&#xff0c;并将存储在服务器上的HTML文件返回给浏览器&#xff0c;也就是静态html文件&#xff0c;但是后期随着网站功能增多网站开…