vulnhub_DeRPnStiNK靶机渗透测试
VulnHub2018_DeRPnStiNK靶机
https://www.vulnhub.com/entry/derpnstink-1,221/
flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166)
flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6)
flag4(49dca65f362fee401292ed7ada96f96295eab1e589c52e4e66bf4aedda715fdd)
文章目录
- VulnHub2018_DeRPnStiNK靶机
- 信息收集
- web渗透
- 获取权限
- 提权到stinky用户
- 提权到mrderp用户
- 提权到root用户
- 靶机总结
信息收集
- 使用nmap扫描靶机发现开放了
21 22 80端口,全扫描发现21端口没有匿名登录


- 使用目录扫描工具扫描一下目录结构,得到了一个
wordpress博客目录,PhpMyAdmin的目录


web渗透
- 使用的
dirb扫描的发现更加全面一点,使用f12查看了页面源代码发现有一个深层套娃的flag1,还有一个目录


- 访问目录内容提示需要修改host文件,应该是有域名的

- 访问
weblog发现url地址变了,前面直接变成域名了,没想到访问直接给出来了,修改host文件


wordpress的框架,肯定就是对后台登录的利用了,先查看一下,后台登录地址可以正常访问,使用wpscan进行用户名枚举得到admin用户


- 对目录进行信息收集并没有密码的线索,只能尝试爆破一下了,没想到密码就是
admin


- 登录后台之后,发现功能很少,证明该用户权限不高

获取权限
- 探索一下给出的功能,发现编写信息可以上传文件,而且还没有限制,直接上传反弹shell的文件

- 根据其他信息的比对,猜测上传的图片就是开头的信息,右键
aaaa打开新的链接,发现url地址就是上传的文件名


- 本地监听,浏览器再次访问成功得到反弹shell

提权到stinky用户
- 来到
/home目录下发现两个用户,但是文件都没有权限访问

- 只能去网站的配置文件看一看数据库的账密了,试一试是否为了方便用相同的密码

- 密码太简单不可能是两个用户的密码,想到扫描得到的
phpmyadmin数据库管理系统,尝试使用账密成功登录

- 直接查看
wordpress数据库,发现用户表中的一个新用户和进行哈希加密的密码

- 看来第一个用户就是管理员账号了,使用
john进行解密,得到了用户的密码


- 再次登录
wordpress后台,功能确实变多了,发现主页面有flag2的字样。翻找了一下后台,发现也没有可以利用和提示的信息了。


- 尝试使用得到的新密码进行用户切换,发现成功切换到
stinky用户。需要先切换到交互式shell

提权到mrderp用户
- 得到了
stinky用户的权限后,肯定先去看一看目录了,发现没有什么关键文件,查看目录内容发现在ftp目录下发现了一个文件,里面是两个用户的对话,其中提到了要修改密码的事情,而且还借助了流量分析和嗅探。看来流量文件是得到密码的关键了

- 再继续进行目录内容的信息收集,在
Documents目录下发现了这个流量文件,使用python3开启当前目录的服务器python3 -m http.server 3321,主机使用wget下载该流量文件



- 接下来就是
misc手的流量分析了,看完文件对话信息后,第一反应就是密码pass关键字,全局搜索一下该字符串,再第三四个的流量包就发现了可疑点,下面的流量包内容给出了pass1 pass2和用户mrderp,看这结构很明显就是新密码和旧密码了,将pass2保存下来


- 进行用户切换成功切换到
mrderp用户的权限下
提权到root用户
- 先查看一下
mrderp的目录结构,也没发现特别的文件,查看sudo权限发现了可利用的sudo提权了

- 很明显没有这个文件目录,但是有权限可以创建啊,创建目录结构,文件名为
derpya,星号是匹配后面所有内容,所以只需要前面的derpy一样就能被匹配到,也就是可以进行sudo提权的文件

- 在其中写入反弹
shell和/bin/bash -p,这两种方式应该都能获得root的权限,给文件赋予执行权限,本地进行监听,使用sudo执行该文件,成功反弹得到root的shell


- 来到
root的目录下,摸索了一番找到了在桌面目录下的flag4

- 不进行本监听,直接使用
sudo执行该文件,也能得到root,验证两种方式都可以提权成功

靶机总结
- 本次靶机有着四个
flag,每个flag可以说是层层递进的,但是可能信息收集还是少了,没有找到第三个flag,至少其他三个flag都处在必经之路上,可能是由于跳过了什么目录或者观察不仔细造成了第三个flag的丢失。但至少也拿到了root权限 - 靶机的难度还是很不错的,知识点很多,关联性很强。两次登录
wordpress后台,也了解到了wordpress后台上传文件进行getshell的方法这回wordpress后台getshell的方式变成三个了 - 本次靶机前期获得权限利用到了
wpscan的用户名枚举和密码爆破,wordpress的后台getshell拿到网站用户的权限,毕竟wordpress的利用方式也就如此了,插件漏洞还是挺少用到的。只不过在信息收集阶段查看的目录有点多,没有直接单刀直入wordpress,收集了挺长时间的 - 难点也就集中在了用户横向移动上来,用到了四个用户权限,
stinky用户是利用到了网站配置文件中获得的数据库账密,在数据库中找到了该用户的密码。找到密码还是要多试一试的,万一就故意设置重复的呢 - 切换到
mrderp用户,关键是进行流量分析得到的密码,但前期信息收集的工作也不少,要在很多目录中找到提示的文件和流量文件。还有被误导的可能 - 切换到
root用户难度到下降了,使用sudo提权即可,关键是创建相应的目录文件。应该是为了让知识点更加全面,四个用户的权限获取的方式都各不相同,做起来的感受很不错,收获颇多。
相关文章:
vulnhub_DeRPnStiNK靶机渗透测试
VulnHub2018_DeRPnStiNK靶机 https://www.vulnhub.com/entry/derpnstink-1,221/ flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166) flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6) flag4(49dca65f362fee401292ed7ada96f9…...
网站如何判断请求是来自手机-移动端还是PC-电脑端?如何让网站能适应不同的客户端?
如果网站需要实现手机和PC双界面适应,可以有两种方式: 第一种是响应式界面,根据屏幕宽度来判定显示的格式。这种需要前端来做,手机/PC共用一套代码,有一定的局限性。 第二种是后端通过request请求头中的内容来分析客户…...
sass和 scss的区别?
Sass(Syntactically Awesome Style Sheets)和 SCSS(Sassy CSS)是两种流行的 CSS 预处理器,它们扩展了普通的 CSS 语法,提供了更多的功能和便利性。下面是 Sass 和 SCSS 的主要区别: 1ÿ…...
Vuex 动态模块状态管理器
模块化思想 我们之前的博文已经讲述了Vuex怎么使用命名空间实现模块化状态管理。详情可以看: Vuex命名空间及如何获取根模块、兄弟模块状态管理器_AI3D_WebEngineer的博客-CSDN博客https://blog.csdn.net/weixin_42274805/article/details/133269196?ops_request_…...
实现分片上传、断点续传、秒传 (JS+NodeJS)(TypeScript)
一、引入及效果 上传文件是一个很常见的操作,但是当文件很大时,上传花费的时间会非常长,上传的操作就会具有不确定性,如果不小心连接断开,那么文件就需要重新上传,导致浪费时间和网络资源。 所以࿰…...
浅谈安科瑞EMS能源管控平台建设的意义-安科瑞 蒋静
摘 要:能源消耗量大、能源运输供给不足、环境压力日趋增加、能耗双控等一系列问题一直困扰着钢铁冶金行业,制约着企业快速稳定健康发展。本文介绍的安科瑞EMS能源管控平台,采用自动化、信息化技术,实现从能源数据采集、过程监控、…...
【原创】指针变量作为函数参数要点注意+main函数中值是否改变
指针变量作为函数参数要点注意(已写至笔记) 1传参指针不加*(main中函数) 2收参指针要加*(被main调用的函数) 3传参指针名可与收参指针名不同,不影响 4【问】如何看主函数中指针所指内容是否改变…...
售后处置跟踪系统设想
售后处置跟踪系统设想 前言 随着汽车工业的发展,软件定义车的模式已成为主流汽车设计及智能化功能架构模式,通过引入SOA的软件架构设计,使得现有的座舱软件、云端服务软件、App软件等众多功能模块的版本迭代频次日新月异,发版更…...
python实现ModBusTCP协议的server
python实现ModBusTCP协议的server是一件简单的事情,只要通过pymodbus、pyModbusTCP等模块都可以实现,本文采用pymodbus。 相关文章见: python实现ModBusTCP协议的client-CSDN博客 一、了解pymodbus的Server 1、pymodbus.server的模块 pym…...
AndroidStudio编译错误‘android.injected.build.density‘ is deprecated
问题 AndroidStudio编译错误 The option ‘android.injected.build.density’ is deprecated. It was removed in version 8.0 of the Android Gradle plugin. Density property injection from Android Studio has been removed. 解决 app/build.gradle 中这行 apply plugi…...
计网小题题库整理第一轮(面向期末基础)(3)
基础选择题的最后一章更新,看完期末75至少没问题~ 前情提要: 计网小题题库整理第一轮(12期) 一.选择题 1、 目前,最流行的以太网组网的拓扑结构是( C )。 A) 总线结构 B) 环…...
进程控制(一):进程终止
文章目录 进程控制(一)进程终止运行正常退出码 运行异常进程正常/异常总结 进程控制(一) 在前文中,我们初步了解了进程的概念,以及通过fork函数来创建子进程,并对于为什么运行一个程序…...
特殊类设计[下] --- 单例模式
文章目录 5.只能创建一个对象的类5.1设计模式[2.5 万字详解:23 种设计模式](https://zhuanlan.zhihu.com/p/433152245)5.2单例模式1.饿汉模式1.懒汉模式 6.饿汉模式7.懒汉模式7.1饿汉模式优缺点:7.2懒汉模式1.线程安全问题2.单例对象的析构问题 8.整体代码9.C11后可…...
计算机网络-应用层(1)
一、DNS 域名系统 (DNS) 是把主机域名解析为IP地址的系统。该系统是由解析器和域名服务器组成的。采用UDP 协议,较少情况下使用TCP 协议,端口号均为53。 域名系统由三部分构成: DNS 名字空间、域名服务器、 DNS客户机。 (1)根域:…...
Kotlin基础——枚举、When、in、for
枚举 声明只有值的枚举 enum class Color {RED, GREEN, BLUE }此外还可以增加属性和方法,如果需要在枚举类中定义方法,要使用分号把枚举常量列表和方法定义分开,这也是Kotlin唯一必须使用分号的地方 enum class Color(val r: Int, val g: …...
C++编程题目------平面上的最接近点对(分治算法)
题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的。 输入格式 第一行一个整数 n,表示点的个数。 接下来 n 行,每行两个实数 x,y ,表示一个点的行…...
Linux下的文件操作和文件管理
文章目录 应用编程文件操作文件描述符open函数write函数read函数close函数lseek函数文件操作例子 文件管理文件基本知识文件类型文件共享空洞文件错误处理退出程序原子操作fcntl和ioctl截断文件stat函数软链接和硬链接 应用编程 系统调用(system call)是Linux内核提供给应用层…...
设计模式之桥梁模式
什么是桥梁模式 桥梁模式(Bridge Pattern)也称为桥接模式,属于结构型模式,它主要目的是通过组合的方式建立两个类之间的联系,而不是继承。桥梁模式将抽象部分与它的具体实现部分分离,使它们都可以独立地变…...
“从部署到优化,打造高效会议管理系统“
目录 引言一、部署单机项目 - 会议OA1.1 硬件和软件环境准备1.2 检查项目1.3 系统部署1.后端部署 二、部署前后端分离项目 - SPA项目后端部署2.前端部署 总结 引言 在现代化办公环境中,会议是组织沟通、决策和合作的重要方式之一。为了提高会议的效率和质量&#x…...
Facebook广告效果数据获取
一、背景 公司每年在Facebook和Google上投放了大量的广告,我总不能让老板登录Facebook广告投放平台上去看广告效果,其实老板只关注每天花了多少钱引来了多少客户,每个客户平均花费多少钱,其它的他才不关心,有Facebook…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
