Recon

首先进行二层扫描。

┌──(kali㉿kali)-[~]
└─$ sudo netdiscover -r 192.168.80.0/24
Currently scanning: Finished! | Screen View: Unique Hosts 7 Captured ARP Req/Rep packets, from 4 hosts. Total size: 420
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
192.168.80.1 00:50:56:c0:00:08 1 60 VMware, Inc.
192.168.80.2 00:50:56:ed:65:ac 2 120 VMware, Inc.
192.168.80.135 00:0c:29:cd:fd:52 3 180 VMware, Inc.
192.168.80.254 00:50:56:ec:ab:13 1 60 VMware, Inc.
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sS -p- 192.168.80.135
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-09 03:06 EDT
Nmap scan report for 192.168.80.135
Host is up (0.0028s latency).
Not shown: 65525 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp filtered ssh
53/tcp open domain
80/tcp filtered http
110/tcp open pop3
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
993/tcp open imaps
995/tcp open pop3s
8080/tcp open http-proxy
MAC Address: 00:0C:29:CD:FD:52 (VMware) Nmap done: 1 IP address (1 host up) scanned in 5.97 seconds

我们注意到80和22端口被过滤了。

Process

相同的,我们还是对samba进行枚举。我们从中发现用户和共享文件夹。


我们访问Web服务,发现是Tomcat服务,值得注意的是,他们将敏感信息泄露在了主页中,且服务器启用了Manager Webapp。

通过访问robots.txt,我们得到了一串base64编码,将其解码我们得到了一串信息。

这说明有用户还在使用弱密码,我们尝试使用弱密码登录samba的共享文件夹。

在.private目录中我们获得了profile文件,其中包含了Web服务器和Knockd的配置。

从上面的文件中我们能知道,如何开启HTTP和SSH端口。所以我们编写脚本,开启相应的端口。

开启HTTP的端口后,我们进行访问,发现robots.txt提示的目录。

我们访问/mercy,网页提示我们,尝试让time不只是显示时间。

访问/nomercy,这是一个RIPS的应用,我们尝试使用searchsploit查找漏洞。

我们尝试利用此漏洞。

成功利用,但是我们并不能通过此漏洞提权,前文tomcat服务器泄露了自己的根目录,我们尝试读取tomcat的配置文件。由下图可见,我们读取了tomcat保存用户信息的配置文件,其中有两个用户,一个用户具有管理权限,另一个则为普通用户,而结合enum4linux,我们能判断另一个用户为Linux的本地用户。

接下来我们尝试登录tomcat的管理后台。在后台中,我们可以上传war包,我们可以手动通过war包获得shell,也可以通过Metasploit平台获得Shell。那么我们这里就使用手动的方法。首先通过msfvenom生成payload。

上传payload,访问指定url触发Reverse Shell。

Privilege Escalation

但当前的Shell并不是交互式Shell,我们需要将当前的Shell升级为交互式Shell。

通过执行python -c 'import pty; pty.spawn("/bin/bash")',我们就可以使用Python生成一个Shell。

随即我们切换到fluffy用户,并再次升级Shell。

我们在fluffy用户中找到了一个记录时间的文件,根据观察,这好像是一个定时执行的脚本,但我们没有权限查看当前系统的计划任务。

通过访问80端口的/time文件,我们可以印证这一点,再根据前文的提示,我们可以在文件内写入一个反向Shell的命令,等待脚本执行时获得权限。

等待三分钟后,获得Shell。

Vulnhub Mercy Walkthrough的更多相关文章

  1. Vulnhub Development Walkthrough

    Vulnhub Development Walkthrough Recon 首先使用netdiscover进行二层Arp扫描. ┌──(kali㉿kali)-[~] └─$ sudo netdisco ...

  2. Vulnhub Joy Walkthrough

    Recon 这台靶机对枚举的要求较高,如果枚举不出有用的信息可能无法进一步展开,我们首先进行普通的扫描. ┌──(kali㉿kali)-[~/Labs/Joy/80] └─$ sudo nmap -s ...

  3. HA Joker Vulnhub Walkthrough

    下载地址: https://www.vulnhub.com/entry/ha-joker,379/ 主机扫描: ╰─ nmap -p- -sV -oA scan 10.10.202.132Starti ...

  4. HA: ISRO Vulnhub Walkthrough

    下载地址: https://www.vulnhub.com/entry/ha-isro,376/ 主机扫描: ╰─ nmap -p- -sV -oA scan 10.10.202.131Startin ...

  5. LAMPSecurity: CTF6 Vulnhub Walkthrough

    镜像下载地址: https://www.vulnhub.com/entry/lampsecurity-ctf6,85/ 主机扫描: ╰─ nmap -p- -sV -oA scan 10.10.202 ...

  6. Hacker Fest: 2019 Vulnhub Walkthrough

    靶机地址: https://www.vulnhub.com/entry/hacker-fest-2019,378/ 主机扫描: FTP尝试匿名登录 应该是WordPress的站点 进行目录扫描: py ...

  7. DC8: Vulnhub Walkthrough

    镜像下载链接: https://www.vulnhub.com/entry/dc-8,367/#download 主机扫描: http://10.10.202.131/?nid=2%27 http:/ ...

  8. HA: Infinity Stones Vulnhub Walkthrough

    下载地址: https://www.vulnhub.com/entry/ha-infinity-stones,366/ 主机扫描: 目录枚举 我们按照密码规则生成字典:gam,%%@@2012 cru ...

  9. Sunset: Nightfall Vulnhub Walkthrough

    靶机链接: https://www.vulnhub.com/entry/sunset-nightfall,355/ 主机扫描: ╰─ nmap -p- -A 10.10.202.162Starting ...

  10. Dc:7 Vulnhub Walkthrough

    靶机下载地址: https://www.vulnhub.com/entry/dc-7,356/ 主机扫描: http://10.10.202.161/ Google搜索下: SSH 登录 以上分析得出 ...

随机推荐

  1. LVGL 定时器

    LVGL 8.0 以后好像取消了自定义任务模块,想要使用多线程只能使用系统的线程. 一.定时器结构体 typedef struct _lv_timer_t { uint32_t period; // ...

  2. 六:大数据架构 - Flink + AI

    Flink 在AI 中的价值其实和大数据Lambda架构中流批统一这两个概念有关系,Flink为大数据实时化带来的价值也将同样使AI受益 大数据的发展过程 从Google奠基性的"三架马车& ...

  3. ansible(12)--ansible的cron模块

    1. cron模块 功能:管理被控端计划任务: 主要参数如下: 参数 说明 name 定时任务基本描述 job 定时任务要执行的命令 minute 分 hour 小时 day 日 month 月 we ...

  4. vue3编译优化之“静态提升”

    前言 在上一篇 vue3早已具备抛弃虚拟DOM的能力了文章中讲了对于动态节点,vue做的优化是将这些动态节点收集起来,然后当响应式变量修改后进行靶向更新.那么vue对静态节点有没有做什么优化呢?答案是 ...

  5. 【开源】2024最新python豆瓣电影数据爬虫+可视化分析项目

    项目介绍 [开源]项目基于python+pandas+flask+mysql等技术实现豆瓣电影数据获取及可视化分析展示,觉得有用的朋友可以来个一键三连,感谢!!! 项目演示 [video(video- ...

  6. go高并发之路——缓存击穿

    缓存击穿,Redis中的某个热点key不存在或者过期,但是此时有大量的用户访问该key.比如xxx直播间优惠券抢购.xxx商品活动,这时候大量用户会在某个时间点一同访问该热点事件.但是可能由于某种原因 ...

  7. Linux下tail -f,tail -F,tailf的区别

    在Linux中,tail -f ,tail -F,tailf都是用来查看滚动日志的好方法,但是三者之间却有着细微的不同: ​ tail -f 等同于--follow=descriptor,动态显示数据 ...

  8. 【winform】【Socket】实现你画我猜一:核心功能开发

    我认为得核心:是把客户端画的图画实时传递给其他的客户端.   我的思路是: 1.GDI+绘图加鼠标事件,实现客户端绘图. 2.每记录鼠标有效绘图10个点,就把这10个点通过socket传递给服务器. ...

  9. 到今天了你还不会集合的Stream操作吗?你要out了

    Java8的两个重大改变,一个是Lambda表达式,另一个就是本节要讲的Stream API表达式.Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找.过滤.筛选等操作 ...

  10. go 基数排序

    package main import ( "fmt" ) func SelectSortMax(arr []int) int { arrLen := len(arr) if ar ...