新手的第一次DC-2靶场渗透实战过程
新手的第一次DC-2靶场渗透实战过程
一.信息搜集
1.探测靶机ip地址
nmap -sn 192.168.162.1/24 -exclude 192.168.162.128 192.168.162.1 主机发现模式(Ping 扫描),不扫描端口
192.168.162.128 192.168.162.1是我主机和kali的地址 这里进行排除

这里看到192.168.162.141主机的mac地址和dc-2靶机的mac地址相同 这里我们对这个ip地址进行深度扫描
虚拟机 -> 设置 -> 网络适配器 -> 高级
2.深度扫描
nmap -sV -sC -p- 192.168.162.141
nmap 默认情况只会扫描前1000个tcp端口 这里使用 -p-对所有端口进行扫描
-sV 服务版本探测
-sC 启用默认脚本

通过以上命令 可以看到 目标靶机上面开放了 80端口http协议
以及7744端口ssh远程链接
我们使用再对这个这个地址进行深度扫描一下
nmap --script vuln 192.168.162.141
使用nmap自带的脚本对地址进行扫描

扫描看到在wordpress里面存在着三个用户 分别是 admin tom 和jerry 并且在这个网页下面还有个 /wp-login.php登录页面
面对扫描出来的这几个用户 我们看看一会儿能不能进行暴力破解
3.探测网页信息
这里我们访问网页
第一次访问dc-2需要将DNS地址添加到 /etc/hosts文件里面 否则将会出现
Did not follow redirect to http://dc-2/
未遵循重定向至 http://dc-2/。

添加完之后访问我们的网址 可以看到这个网站的CMS是WordPress 在底部还有flag点击看一下

二.爆破密码
1.cewl字典生成
翻译了一下大致意思是
需要按照提示使用cewl生成字典,针对tom、jerry等用户进行爆破,登录后寻找下一个Flag。可能需要多次尝试不同的用户和调整字典内容。
那么我们这里就使用cewl生成字典一会儿对我们上面发现的用户名进行爆破

使用命令 : cewl http://dc-2/ -w cewl_words.txt

2.密码爆破
生成完字典后 使用wepscan对三个用户进行爆破
简介:
Wordpress作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪WordPress的安全漏洞,Wordpress自诞生起也出现了很多漏洞。Wordpress还可以使用插件、主题。于是Wordpress本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件,主题的漏洞去渗透Wordpress站点,于是WPScan应运而生,收集Wordpress的各种漏洞,形成一个Wordpress专用扫描器
命令:wpscan --url http://dc-2 -P cewl_words.txt -U admin,tom,jerry

| Username: jerry, Password: adipiscing
| Username: tom, Password: parturient
我们分别得到了 tom和jerry 的密码 将爆破出来的账户密码去/wp-login.php网页登录
通过登录 jerry账户看到了flag2的信息
大致的意思就是:如果无法直接通过 WordPress 漏洞(如弱口令爆破、插件漏洞利用等)获取权限,目标系统可能存在其他隐藏的攻击路径或入口点
我们看看其他思路 总结下来,可能的步骤包括:
- 重新扫描目标的所有端口,确认是否有其他服务开放。
- 对已发现的服务进行深入枚举,如SSH爆破、FTP匿名登录检查等。
- 对Web应用进行更全面的目录和文件扫描,寻找隐藏的入口点。
- 检查子域名或虚拟主机配置,可能有其他Web应用运行在同一服务器上。
- 分析已获取的信息,寻找配置错误或暴露的敏感数据。
- 尝试其他攻击向量,如SSH私钥泄露、数据库注入等
核心思路:当主流攻击路径受阻时,需 扩大侦察范围(更多端口、更深的 Web 路径、系统层面漏洞)。
优先级建议:
- 全面端口扫描 → 2. SSH/FTP 爆破 → 3. Web 路径/文件泄露 → 4. 提权漏洞
结合我们前面的nmap端口扫描 发现了7744端口开放这ssh协议以及脚本发现的三个账户 再结合我们爆破出来的密码我们这里对ssh进行切入

三.主机渗透
1.ssh远程登录
我们这里对tom和jerry进行远程登录

jerry的密码怎么输入都是错的 我们切换到tom去看看

成功登录 我们查看当前目录ls
发现了flag3.txt 查看cat flag3.txt

什么是 rbash?
rbash(Restricted Bash)是 Bash Shell 的 受限模式,用于限制用户的系统操作权限,防止执行危险命令或访问敏感资源。通常由管理员为低权限用户或服务账户设置
总的来说可以把-rbash 理解成权限较为低级的用户
我们为了查看flag3.txt的内容 想想如何绕过 rbash去提示权限
我们先来看一下tom rbash限制后能进行那些操作
echo $PATH
查看上面得到path路径的所有文件
运行结果 /home/tom/usr/bin
echo /home/tom/usr/bin/* 列出
/home/tom/usr/bin/目录下的所有文件和子目录的名称。不过,其具体行为会根据目录是否存在以及内容情况有所不同

可以看到我们有四个命令可以用 这里只有vi有用
1.我们使用vi进入编辑界面
- vi
2.然后按:键,输入
- set shell=/bin/bash
**3.设置好shell并回车,接着输入 **
- :shell
4.回车
已经升级为bash了,无法执行cat命令是因为环境变量的问题,用以下命令添加一下两条路径即可
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/

可以看到我们已经拿到flag3.txt了里面大致的意思是:提示可能是在引导用户尝试使用su命令来切换到其他用户(如Jerry)以提升权限,解决Tom在渗透测试中的权限限制问题。
这里我们su jeryy看看

成功切换到 jerry用户 使用find命令查找flag4.txt
find / -name *flag*

在 /home/jerry/flag4.txt 发现了flag 这里查看

这段信息是典型的 CTF(Capture The Flag)挑战最终阶段的提示,包含以下隐藏含义:
git outta here双关语:
- 表面意思是 "快离开这里",但实际指向
git命令,暗示需利用 Git 相关操作(如仓库、历史记录或漏洞)获取最终 Flag。Final Flag 定位:
- Flag 可能隐藏在 需要 root 权限的目录(如
/root)或 Git 仓库的敏感历史记录 中。可能的步骤:
- 检查当前用户权限:确认当前用户是否是root,或者是否有sudo权限。
- 查找.git目录:使用
ls -la查看当前目录是否有.git文件夹,或者搜索整个系统。- 审查git历史记录:如果有.git目录,使用git log、git diff等命令查看提交历史,寻找flag。
- 检查系统文件:如/etc/passwd、/etc/shadow,或者/root目录下的文件,可能需要root权限。
- 利用git漏洞:比如Git hooks、Git的SUID提权,或者利用git执行命令。
2.提权
我们使用sudo -l查看一下
给出的命令输出显示Jerry用户可以使用sudo以root权限运行/usr/bin/git,而且不需要输入密码(NOPASSWD)。这显然是一个提权的机会,因为Git可能有某些功能允许执行任意命令。

- 第一种git提权
使用sudo git -p config进入帮助页面。
输入!/bin/bash来启动一个root shell。(这里bash也可以换成sh)
- 第二张git提权
使用sudo git -p help
!/bin/bash (这里bash也可以换成sh)

已经成功切换为root了 我们再去找flag文件
cd /
find / -name flag

拿到所有的flag了

总结
信息收集阶段 使用nmap对目标靶机进行了ip地址进行了探测 发现了靶机的IP地址 端口服务 和cms下的三个用户 以及网站的login页面
爆破密码登录网页根据flag的提示 我们使用了cewl对网页内容进行了一个字典的生成 然后在使用wpscan 对用户密码进行了爆破 最后在jerry种发现了flag2
主机渗透根据flag2的提示 发现对cms渗透受阻 于是换了个方向 根据端口扫描的结果来看 我们对ssh服务的tom进行了登录 在-rbash受限的情况下 使用vi 对-rbash进行了逃逸 并且成功对tom用户进行了提权 拿到了flag3 进行了jerry的用户切换 进行了git提权为了root 拿到了final-flag
建议
总结来说,用户处于rbash环境时,应首先确认限制的范围,然后利用可用的命令或编辑器功能绕过限制,恢复正常的shell环境,或者找到其他提权路径。需要一步步尝试不同的方法,直到找到有效的方式。

浙公网安备 33010602011771号