实战打靶集锦-024-Seppuku

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1. 主机发现
  • 2. 端口扫描
  • 3. 服务枚举
  • 4. 服务探查
    • 4.1 FTP探查
    • 4.2 80端口探查
    • 4.3 探查smb
    • 4.4 探查7080端口httpd
    • 4.5 探查Apache
    • 4.6 探查8088端口的LiteSpeed
    • 4.7 大海捞针
  • 5. 提权
    • 5.1 枚举系统信息
    • 5.2 查看passwd文件
    • 5.3枚举定时任务
    • 5.4 枚举可执行文件
    • 5.5 突破shell限制
    • 5.6 查看capabilities位
    • 5.7 查看seppuku用户家目录
    • 5.8 Linpeas提权


靶机地址:https://download.vulnhub.com/seppuku/Seppuku.zip

1. 主机发现

目前只知道目标靶机在232.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.232.0/24

在这里插入图片描述
锁定靶机IP地址位192.168.232.142。

2. 端口扫描

$ sudo nmap -p 1-65535 192.168.232.142

在这里插入图片描述
呀,这个靶机开放的端口还真是多。

3. 服务枚举

通过下面的命令枚举一下端口上的服务。

$ sudo nmap -p21,22,80,139,445,7080,7601,8088 -A -sT -sV 192.168.232.142

在这里插入图片描述
枚举出来的内容也是比较多的,我们逐个看看。

4. 服务探查

4.1 FTP探查

先通过匿名用户试一下FTP。

$ ftp 192.168.232.142

在这里插入图片描述
是有密码保护的,后面不行再回来爆破一下,先看看这个FTP版本有没有现成的EXP。
在这里插入图片描述
只有一个远程DoS的EXP跟我们的版本是匹配的,不过跟我们想要突破边界的目的相去甚远,还是看看别的,跳过SSH,直接看80端口。

4.2 80端口探查

先用浏览器访问一下看看。
在这里插入图片描述
80端口上需要身份认证,直接枚举一下这个端口上的目录。

$ dirsearch -u http://192.168.232.142:80/

在这里插入图片描述
哭笑不得,只有一个info.php,既然这么有诚意,就进去看看吧。
在这里插入图片描述
确实能看到一些信息,不过目前没有发现太特别的,该端口上的nginx服务也没有发现有价值的EXP。

4.3 探查smb

这里探查一下139和445端口上的smb服务。

$ smbclient -L //192.168.232.142 -U root

在这里插入图片描述
没看到共享目录,更不用谈可写的共享目录了,所以这里基本上没戏,直接searchsploit搜索一下smbd 4.9.5有没有EXP吧,也没有找到合适的。

4.4 探查7080端口httpd

先用浏览器看看。
在这里插入图片描述
没有太特别的,通过dirsearch枚举一下这个端口的目录。

$ dirsearch -u https://192.168.232.142:7080/

在这里插入图片描述
内容比较多,但是绝大多数都是403,再通过dirb挂载big字典扫一把。

$ dirb https://192.168.232.142:7080/  /usr/share/wordlists/dirb/big.txt

效果也是一样的,浏览一下仅有的几个地址看看。
在这里插入图片描述
只能看到OpenLiteSpeed的用户手册,没有其它。

4.5 探查Apache

先用浏览器访问一下看看。
在这里插入图片描述
是一个静态图片,继续目录枚举。

$ dirsearch -u http://192.168.232.142:7601/

在这里插入图片描述
枚举出来一些内容,逐个看看。
其中在/ckeditor目录下的内容有些可疑,可以在这里定制模板,应该可以插入一些反弹shell啥的,不过完全看不明白,暂时跳过,如下图。
在这里插入图片描述
后面实在没招的时候回来研究一下咱们在这个类似word的页面中插入反弹shell。另外在/secret/目录下有几个文件值得我们关注,分别是passwd和shadow的备份文件,另一个是密码字典。
在这里插入图片描述
这些内容肯定是有用的,先从passwd.bak文件中过滤一下,发现主要有两个用户值得尝试:root和rabbit-hole。
在这里插入图片描述
分别用和两个用户挂上上面的密码列表文件password.lst爆破一下ssh端口。

$ hydra -l root -P passwordlst.txt 192.168.232.142 ssh 
$ hydra -l rabbit-hole -P passwordlst.txt 192.168.232.142 ssh

在这里插入图片描述
都没有爆出来,暂时放弃。

4.6 探查8088端口的LiteSpeed

先用浏览器访问一下。
在这里插入图片描述
8080端口上打开的仍然是这个图片,枚举一下目录。

$ dirsearch -u http://192.168.232.142:8088/

在这里插入图片描述
内容不多,还有个登录入口,逐个看了一下,其中/index.php和/index.php/login/都是指向一个web console,如下图。
在这里插入图片描述
随便输入一下,看看有啥返回。
在这里插入图片描述
用burp通过root和rabbit-hole配合之前找出来的那个passwd.lst文件爆破一下看看。
在这里插入图片描述
没有爆破出结果,到此为止,黔驴技穷。
简单复盘一下前面的经过,总感觉这个靶机不会随随便便给提供一个密码字典,可是我们把passwd.bak文件都捞遍了,也没有发现除了root和rabbit-hole之外的用户,难道我们漏掉了用户?

4.7 大海捞针

直接用cewl爬一下开放的几个http端口,用爬出来的内容作为用户列表,然后挂上前面的密码字典进行爆破试试看,先爆破ssh,再爆破那几个登录页面。

$ cewl http://192.168.232.142/ > cewl.txt
$ cewl https://192.168.232.142:7080/ >> cewl.txt
$ cewl http://192.168.232.142:7601/ >> cewl.txt
$ cewl http://192.168.232.142:8088/ >> cewl.txt
$ cat cewl.txt

在这里插入图片描述
死马当活马医吧,去掉三个标题行,剩下的作为用户列表,先爆破ssh。

$ hydra -L cewl.txt  -P passwordlst.txt 192.168.232.142 ssh

在这里插入图片描述
嗯,还是没有结果,不知道是不是用户名列表大小写的原因,都换成小写,再爆一把。
在这里插入图片描述
我的神啊,真的爆出来了,用户名是seppuku,密码是eeyoree。

5. 提权

先优化一下shell。

$ whereis python
$ /usr/bin/python3.7 -c "import pty;pty.spawn('/bin/bash')"

在这里插入图片描述
感觉这个shell有些不太正常,受限制了,先凑活着用。

5.1 枚举系统信息

$ uname -a
$ cat /etc/*-release

在这里插入图片描述
是64为的debian 10。

5.2 查看passwd文件

$ cat /etc/passwd | grep -v nologin

在这里插入图片描述
上面这几个用户都是值得我们注意的。

5.3枚举定时任务

$ cat /etc/crontab

在这里插入图片描述

5.4 枚举可执行文件

$ sudo –l
$ find / -type f -user root -perm -o=w 2>/dev/null | grep -v "/sys/" | grep -v "/proc/"
$ find / -user root -perm -4000 2>/dev/null

在这里插入图片描述
貌似没啥用,shell受限,想办法突破限制。

5.5 突破shell限制

$ ssh seppuku@192.168.232.142 -t "bash --noprofile"

在这里插入图片描述
这次OK了。再试试枚举前面的可执行文件。
在这里插入图片描述
没有太多收获,再试试刚学的capabilities位。

5.6 查看capabilities位

$ /usr/sbin/getcap -r / 2>/dev/null

在这里插入图片描述
没有合适的capabilities。

5.7 查看seppuku用户家目录

在这里插入图片描述
没有太特别的,看看.passwd里面有些啥。
在这里插入图片描述
额,里面有个密码12345685213456!@!@A,具体是谁的密码目前还不清楚,再看看其它目录。
在这里插入图片描述
也没有太特别的发现。尝试用这个密码,看看能不能登录之前那几个枚举出来的passwd文件中的用户。
在这里插入图片描述
直接进入的samurai的用户,看看这个用户下的sudo权限,再看看这个用户的目录下有些啥。
在这里插入图片描述
还是受到rbash的限制,用前面的方法绕过一下。
在这里插入图片描述
这次可以了,继续。
在这里插入图片描述
嗯,samurai用户可以不需要密码的情况下执行tanto用户的.cgi_bin/bin /tmp/* 进行提权。
在这里插入图片描述
再看看tanto的home目录,竟然没有对应的.cgi_bin目录和bin文件。
在这里插入图片描述
除了两个同样的密钥,也没有其它有价值的信息。
手动创建.cgi_bin目录试试看。
在这里插入图片描述
创建失败。在/tmp/下面创建一个反弹shell,执行试试看。
在这里插入图片描述
仍然不允许,把上面的密钥放到kali本机的~/.ssh/id_rsa文件中,尝试用该证书登录tanto用户。
在这里插入图片描述
失败了。嗯,看来还是得想办法进入到tanto用户下创建一个.cgi_bin,先linpeas看看再说吧。

5.8 Linpeas提权

实在没有别的招数了,用linpeas试试。
在这里插入图片描述
首先是CVE-2019-13272的漏洞,显示很高的概率,直接下来试一下。
在这里插入图片描述
失败了,不具备条件,继续往下看,找到一个我们感兴趣的内容。
在这里插入图片描述
可能是个ssh的key,说不定就是我们想要切入的tanto用户呢,进去看看再说。
v
private和private.bak的内容是一样的,放到kali本机的~/.ssh/id_rsa文件中,尝试用该证书登录tanto用户试试看。
在这里插入图片描述
不错,直接就进去了,看看那个.cgi_bin/bin。
在这里插入图片描述
果真没有,直接在tanto用户下看看可执行文件。
在这里插入图片描述
需要密码,还是手工创建一个.cgi_bin/bin看看吧。

tanto@seppuku:~$ mkdir -p ~/.cgi_bin && cd ~/.cgi_bin/ && echo "/bin/bash" > bin && chmod u+x bin

在这里插入图片描述
进入到原来的samurai用户,执行不需要密码的sudo命令尝试提权。

samurai@seppuku:/tmp$ sudo -l
samurai@seppuku:/tmp$ sudo /../../../../../../home/tanto/.cgi_bin/bin /tmp/*

在这里插入图片描述
貌似是提权成功了,验证一下。
在这里插入图片描述
没有问题,获取一下flag看看。
在这里插入图片描述
提权成功。

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

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

相关文章

【自然语言处理】:实验4布置,预训练语言模型实现与应用

清华大学驭风计划 因为篇幅原因实验答案分开上传,自然语言处理专栏持续更新中,期待的小伙伴敬请关注 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~ 案例简介 2018年,Google提出了预训练语言模型BE…

深度学习之pytorch实现线性回归

度学习之pytorch实现线性回归 pytorch用到的函数torch.nn.Linearn()函数torch.nn.MSELoss()函数torch.optim.SGD() 代码实现结果分析 pytorch用到的函数 torch.nn.Linearn()函数 torch.nn.Linear(in_features, # 输入的神经元个数out_features, # 输出神经元个数biasTrue # 是…

Android 发布蒲公英平台自动更新

蒲公英官网:https://www.pgyer.com/ 首先弄明白蒲公英平台的SDK更新机制:蒲公英 - 文档中心 - SDK 自动更新机制 (pgyer.com) 下面直接开始代码操作 1.添加蒲公英maven库 maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer…

Matlab论文插图绘制模板第136期—极坐标气泡图

在之前的文章中,分享了Matlab笛卡尔坐标系的气泡图的绘制模板: 进一步,再来分享一下极坐标气泡图。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有需要的朋…

基于微信小程序的校园跑腿系统的研究与实现,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

threehit漏洞复现以及防御

说白了跟sql-liql靶场二次注入一样,也是一个转义函数而这次是,入库的时候不转义,出库的时候会转义导致这个漏洞出现 开始测试: 这是我注册完test刚登录的情况 找注入点更新数据的update,很容易找到在age段 这次我注册…

12.QT文件对话框 文件的弹窗选择-QFileDialog

目录 前言: 技能: 内容: 1. 界面 2.信号槽 3.其他函数 参考: 前言: 通过按钮实现文件弹窗选择以及关联的操作 效果图就和平时用电脑弹出的选文件对话框一样 技能: QString filename QFileDialog::ge…

(九)【Jmeter】线程(Threads(Users))之bzm-Free-Form Arrivals Thread Group

简述 操作路径如下: 作用:支持自由形式的用户到达模式,具有更高的灵活性,与Arrivals Thread Group类似,不过是通过设置起始值、终止值和持续时间来达到压测目的。配置:通过图形界面或脚本定义用户到达曲线。使用场景:模拟复杂的用户到达模式,满足特定业务需求。优点:…

第三百五十三回

文章目录 1. 概念介绍2. 使用方法2.1 获取所有时区2.2 转换时区时间 3. 示例代码4. 内容总结 我们在上一章回中介绍了"分享一些好的Flutter站点"相关的内容,本章回中将介绍timezone包.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在…

open3d k-means 聚类

k-means 聚类 一、算法原理1、介绍2、算法步骤 二、代码1、机器学习生成kmeans聚类2、点云学习生成聚类 三、结果1、原点云2、机器学习生成kmeans聚类3、点云学习生成聚类 四、相关链接 一、算法原理 1、介绍 K-means聚类算法是一种无监督学习算法,主要用于数据聚…

扩展语音识别系统:增强功能与多语言支持

一、引言 在之前的博客中,我们成功构建了一个基于LibriSpeech数据集的英文语音识别系统。现在,我们将对系统进行扩展,增加一些增强功能,并尝试支持多语言识别。 二、增加增强功能 语音合成 --除了语音识别,我们还可以…

SpringMVC的执行流程

过去的开发中,视图阶段(老旧JSP等) 1.首先用户发送请求到前端控制器DispatcherServlet(这是一个调度中心) 2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping 3.处理器映射器HandlerMapping找到具体的处理器,可查找xml配置或注…

简单理解VQGAN

简单理解VQGAN TL; DR:与 VQVAE 类似,隐层压缩表征自回归生成的两阶段图像生成方法。增加感知损失和对抗损失,提高压缩表征模型解码出图片的清晰度。还可以通过编码并预置条件表征,实现条件生成。 隐层压缩表征自回归生成&#…

迁移SVN和GIT的云端数据

在新服务器搭建GIT仓库 教程很多,大致的流程是: 1. 新建linux用户密码专用于git操作 2. 新建git库的存放文件夹并在此初始化git 3. 配置git库所在目录权限 *只需要有一个库和有一个用户,与在windows上建库是一样的。不需要搭建类似gitla…

深入解析Android AIDL:实现跨进程通信的利器

深入解析Android AIDL:实现跨进程通信的利器 1. 介绍Android AIDL Android Interface Definition Language (AIDL) 是一种Android系统中的跨进程通信机制。AIDL允许一个应用程序的组件与另一个应用程序的组件通信,并在两者之间传输数据。 AIDL的主要作…

云手机受欢迎背后的原因及未来展望

随着办公模式的演变,云手机的热潮迅速兴起。在各种办公领域,云手机正展现出卓越的实际应用效果。近年来,跨境电商行业迎来了蓬勃发展,其与国内电商的差异不仅体现在整体环境上,更在具体的操作层面呈现出独特之处。海外…

短链接系统测试报告

目录 项目背景 项目功能 自动化测试 总结 项目背景 随着互联网的发展,链接(URL)变得越来越长且复杂,这不仅影响用户体验,还可能由于字符限制导致在某些平台或应用中无法完整显示。为了解决这一问题,我…

上位机图像处理和嵌入式模块部署(boost库的使用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 作为c程序员来说,除了qt之外,另外值得学的开发库就是boost。boost本身包含的内容非常多,基本我们常用的功能都已…

ChatGPT实战100例 - (17) 用ChatGPT实现音频长度测量和音量调整

文章目录 ChatGPT实战100例 - (17) 用ChatGPT实现音频长度测量和音量调整获取音频长度pydub获取音频长度获取时长精确到秒格式设定 mutagen获取音频长度 调整音量视频音量调整注意事项 ChatGPT实战100例 - (17) 用ChatGPT实现音频长度测量和音量调整 老王媳妇说上次那个pip挺好…

分布式学习笔记

1. CAP理论 Consistency(一致性):用户访问分布式系统中的任意节点,得到的数据必须一致。 Availability(可用性):用户访问集群中的任意健康节点,必须得到相应,而不是超时…