DC_2 靶机夺旗

前言

学习 DC 靶机系列,获益良多。随笔一篇,用于记录。

1 环境准备

攻击机:Kali
靶机:DC_2
搭载环境:VMware Workstation 15 Pro
网络设置:NAT

2 目标

攻下五座堡垒,拿到 root 权限,以五面旗帜为证。

3 征战

3.1 信息收集

① 确定网段

在 Kali 中输入命令:ifconfig,得到 IP :192.168.11.158
在这里插入图片描述

② 发现主机

输入以下命令,发现靶机 IP:192.168.11.131

netdiscover -r 192.168.11.0/24

在这里插入图片描述

③ 端口扫描

输入以下命令,发现靶机开放的端口有 80 --http ,7744 – ssh (可利用)

nmap -A -v -sS -sV -p- 192.168.11.131
参数说明:
-A:详细说明扫描目标 IP,加载所有脚本,尽可能全面地探测信息
-v:显示详细的扫描过程
-sS:利用 TCP SYN 扫描
-sV:探测开放
-p-:扫描全部端口

在这里插入图片描述

3.2 靶机访问

在浏览器搜索框输入靶机 IP,结果其自动跳转到 http://dc-2 的域名上
在这里插入图片描述
在 /etc/hosts/ 将 hosts 文件添加进靶机的域名和 IP 的映射

hosts 文件说明:
Hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”
命令:
vim /etc/hosts
添加部分:
192.168.11.131 dc-2

在这里插入图片描述
可以正常访问了。
在这里插入图片描述
信息挖掘:
该网站是一个 wordpress 平台;同时得到 flag1。
在这里插入图片描述

flag 内容分析:
1、接下来的操作可能需要用到 cewl 来生成密码表(暴力破解)
2、会有两个可利用的用户账号,其中一个还可以获取下一个 flag。
总结:获取用户信息;用户登录所需的登录界面。

3.3 目录扫描

使用如下命令得到一个登录界面 wp-login.php

nikto -h 192.168.11.131

在这里插入图片描述

3.4 wpscan 扫描

由于是 wordpress 平台,所以我们用 wpscan 扫描得到该网站可登录的用户名有三个 admin,tom ,jerry。

wpscan --url dc-2 -e u

在这里插入图片描述

3.5 获取密码

① 生成字典

根据 flag1 的提示,我们可以使用 cewl 生成密码字典 dict.txt

cewl dc-2 -w dict.txt

在这里插入图片描述

② 暴力破解

使用 wpscan 工具密码包 dict.tct 对网站的账户进行密码破解。

wpscan --url dc-2 --wordlist ~/dict.txt 

在这里插入图片描述

3.6 用户登录

使用之前 nikto 扫描得到的登录界面 wp-login.php 登录 tom 账户之后发现没有什么可用信息,用 jerry 账户登录之后发现 flag。
在这里插入图片描述
在这里插入图片描述

flag 分析:
另一个切入点?之前 nmap 端口扫描的时候就有发现一个开放的 ssh 端口:7744。现在又有两个用户的账号密码,可以利用 ssh 登录,顺便拿到 root 权限。 

3.7 ssh 登录

ssh 登录默认的端口是 22,这里需要指定为 7744。

ssh tom@192.168.11.131 -p 7744

在这里插入图片描述
通过 ls 命令发现 flag ,但是不能使用 cat 命令查看文件内容。
在这里插入图片描述
所以需要想办法绕过当前 rbash shell 的限制。我们先尝试把shell切换为/bin/sh

BASH——CMDS[a]=/bin/sh;a  //切换 shell
添加环境变量:
export PATH=$PATH:/bin // cat 和 su 命令都在 /bin 下
export PATH=$PATH:/usr/bin // sudo 命令在 /usr/bin 下 

在这里插入图片描述
flag 分析:提示需要使用 su 切换为 jerry 用户。

SU:( Switch user切换用户),可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限,切换时需输入欲切换用户的密码;也可以让超级用户切换为普通用户,临时以低权限身份处理事务,切换时无需输入欲切换用户的密码。

3.8 切换用户

在 jerry 文件夹中我们发现 flag4。

su jerry   //切换为 Jerry 用户
cd /home/jerry  

在这里插入图片描述
flag 分析:在此基础上继续往下做,用到 git 命令。最后的 flag 应该在拿到 root 权限之后,所以使用 git 命令来提升权限。

3.9 root 权限

这里说明一下,git有一个缓冲区溢出漏洞,在使用sudo git -p --help时,不需要输入root密码即可以root权限执行这条命令。

sudo git -p --help
sudo -l  // -l 显示出自己(执行 sudo 的使用者)的权限
whoami 

使用 sudo -l 查看当前 用户能行使的权限命令 是 root 的 git 。
在这里插入图片描述
输入 sudo git -p --help ,使用 whoami 得知当前的权限已经是 root 权限。
在这里插入图片描述
在回显过程中我们输入 !/bin/bash ,直接跳转到 root 用户下。在 root 文件夹下得到 final-flag.txt
在这里插入图片描述
至此,任务结束,共得到 5 个 flag,拿到 root 权限。

结尾

共勉!

                                                                                                                       猪头          
                                                                                                                    2019.12.17       
发布了21 篇原创文章 · 获赞 3 · 访问量 650

猜你喜欢

转载自blog.csdn.net/LZHPIG/article/details/103582914