1. 说明

  1. 虚拟机环境为VM VirtualBox2. 靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/
  2. 靶机:DC1 攻击机:kali
  3. 攻击目标:5个flag,最终目标是在root的主目录中找到并读取该标志!(每个靶机作者都会对靶机的具体情况和攻击目标做出详细说明)
  4. 虚拟机相关设置:
    1. 攻击机与靶机网络设置均为桥接模式。
    2. 靶机可能会出现初次无法启动的问题,可以尝试在 设置->USB设备 中,将USB启动器设置为USB 1.1。
    3. VirtualBox安装kali虚拟机时,默认存储空间为8G,会导致安装失败,16G可以保证安装成功。
    4. 在完成虚拟机创建后,建议靶机和攻击机都保存快照,避免虚拟机出现问题
  5. 整体实验过程参考了 https://www.bilibili.com/read/cv5624315/ 和 https://blog.csdn.net/weixin_52497013/article/details/121975716 两篇博文,并整理而成

2. 实验过程

1.前期信息收集

首先,查看kali攻击机IP,为192.168.1.105,并nmap查看网络环境 nmap 192.168.1.0/24 ,可知靶机IP为192.168.1.108,并开放端口22,80,111。

问题:如何确定在多个IP中确认哪个是靶机?

其次,可以通过80端口查看靶机开放的Web页面,界面如图,可以通过插件wappalyzer看到CMS(内容管理系统–与web有关)是Drupal 7。或者通过whatweb 192.168.1.108

2. msf寻找可利用漏洞,并获得shell

在了解到使用的是Drupal 7后,使用msf寻找一下是否有可利用的漏洞

 msfconsole -qsearch Drupal


可以尝试发现的7个漏洞。这里使用第二个use 2,查看具体漏洞使用信息,并设置对应内容后,执行exploit命令即可。


参数RHOSTS未设置,设置为靶机IP


到此为止,便得到靶机的shell。
便于使用,可以运行shell指令,并升级成半交互式,python -c 'import pty; pty.spawn("/bin/sh")'whoami 查看当前用户,pwd输出当前目录

3.寻找flag

1)flag1

在打开shell后,首先查看系统中有哪些文件。
发现flag1.txt。并输出内容,得到flag1。

2)flag2

flag1提示在CMS配置文件中查找,而上面可以得知,当前目录为/var/www。则需要再当前目录下寻找配置文件相关的文件。

在sites/default文件夹下,存在文件settings.php。打开后,在文件头注释处,发现flag2。并了解到数据库的一些信息。

3)flag3

在寻找flag2的过程中,找到了一些数据库的信息,便查看数据库的内容。登录数据库后,发现存在drupal数据库。

切换到对应数据库下,查看有哪些数据,发现flag3,但没有相应权限。

因此,接下来的目标是获得靶机的管理员权限
之前了解到网站版本为Drupal 7,我们开启一个新的终端,针对这个版本,搜索能够利用的渗透漏洞。

找到了对应的添加管理员的漏洞,查看对应参数,需要注意的是,要使用python2运行程序。

按照格式调用程序, python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.1.108 -u admin1 -p admin1

运行成功后,便可在浏览器中登录

4)flag4

在之前的得到的交互式shell中,使用find指令,查找flag文件find / -name "*flag*" ,找到flag4文件

跳转到根目录下,并打开flag4文件

5)最终flag

根据flag4的提示,查找关于root权限的文件,find / -user root -perm -4000 -print 2>/dev/null

find / -user root -perm -4000 -print 2>/dev/null 解释:-perm 匹配权限4000 SUID 程序执行时,如果该程序有SUID权限,会变成程序文件的属主。让普通用户临时拥有该文件的属主的执行权限2000 SGID 在程序执行时,组身份会发生改变,从用户运行变成所属组运行。(当用户无法执行文件时,如果该程序有SGID权限,那么可以将用户的身份升级为该可执行该程序文件的属组)sgid权限一般应用在目录上,当一个目录拥有sgid权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组1000 SBIT 当程序设定了SBIT权限,属组内的每个用户或者其他所有用户,只能创建文件和删除自己的文件,不能删除其他用户的文件。例如程序文件的属主是root,那么执行SUID程序的用户就将暂时获得root账户的权限。sgid与suid类似,只是执行程序时获得的是文件属组的权限-print 2>/dev/null将错误输出(stderr)到黑洞(bit bucket)(黑洞(bit bucket)简单来讲就是垃圾桶,你可以通过设定规则将你不想要的信息丢进去。)>/dev/null是1,也就是标准输出使用"2> /dev/null", 来隐藏一个命令的错误信息


发现find命令本身便具有root命令,因此,可以利用find命令进行提权find ./ aaa -exec '/bin/sh' \;

问题:find / aaa -exec ‘/bin/sh’ ; 具体的原理并不是特别理解

得到最终的flag

3.总结

最终,得到了四个flag和一个thefinalflag,共5个flag。有两个问题不是特别清楚,需要再进一步学习

VulnHub DC1靶机渗透测试相关推荐

  1. DC-2靶机渗透测试流程

    目录 一.DC-2靶机搭建 二.收集信息. 三.访问80端口,发现超时. 1.修改hosts文件 2.访问http://dc-2成功. ​四.目录扫描,拿到重要信息. 1.使用kali自带工具dirb ...

  2. 靶机渗透测试(covfefe)

    靶机渗透测试(covfefe) Vulnhub靶机 covfefe 靶机:修改靶机的网络配置为桥接模式. 攻击机:Kali虚拟机,同样使用桥接模式,即可访问靶机. 靶机难度:(Intermediate ...

  3. 靶机渗透测试(Tre: 1)

    靶机渗透测试(Tre: 1): Vulnhub靶机 Tre: 1 靶机:修改靶机的网络配置为桥接模式. 攻击机:Kali虚拟机,同样使用桥接模式,即可访问靶机. 靶机难度:(Intermediate) ...

  4. vulnhub之CH4INRULZ渗透测试实战

    vulnhub之CH4INRULZ渗透测试实战 一.环境搭建 目标: 获取root权限,并获得flag 难度:中级 下载链接:https://download.vulnhub.com/ch4inrul ...

  5. DC-3靶机渗透测试

    DC-3靶机渗透测试 环境搭建 kali-Linux(VMware) DC-3(VMware)靶机下载链接:https : //download.vulnhub.com/dc/DC-3-2.zip 这 ...

  6. 靶机渗透测试(unknowndevice64: 1)

    靶机渗透测试(unknowndevice64: 1): Vulnhub靶机 unknowndevice64: 1 靶机:修改靶机的网络配置为桥接模式. 攻击机:Kali虚拟机,同样使用桥接模式,即可访 ...

  7. CH4INRULZ靶机渗透测试

    CH4INRULZ靶机渗透测试 环境 工具 流程 环境 kali攻击机 192.168.1.105 靶机 192.168.1.103 工具 hackbar,netdiscover,nmap,searc ...

  8. vulnhub-DC系列通关记DC1靶机渗透

    声明:此文章仅供参考学习,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者无关. 目录 flag1 信息收集 漏洞利用 后渗透 flag2 flag3 flag4 最终flag ...

  9. 记录一下 DC1靶机渗透

    一.准备 首先kaili攻击机和DC1靶机都是桥接网络,为了nmap扫描(桥接网络在设置里). 二.namp扫描 1.首先扫描一下这个网段 很容易可以看见DC1的靶机的ip地址192.168.1.10 ...

最新文章

  1. 如何计算字符串中出现的字符串?
  2. 数据中心服务器机架是什么?
  3. MySQL连不上,报Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
  4. django-oscar的物流状态pending修改以及分析源码解决报错:The new status 'xxx' is not valid for this order
  5. stm32按键矩阵代码_STM32 学习笔记---1
  6. elementui表格-改变某一列的样式
  7. 带C#示例的String.Equality(==)运算符
  8. QQ自定义在线机型状态源码
  9. python游戏代码运行不了_用Python写游戏,不到十分钟就学会了
  10. 微信小程序云开发教程-云开发对微信小程序带来的变革作用
  11. 动态规划实战12 leetcode-472. Concatenated Words
  12. [原创]开心农场助手V1.21 发布
  13. python3实用小工具--语言翻译器(附源码)
  14. 「PKUSC2018」最大前缀和 LOJ#6433BZOJ5369
  15. 2017年苹果开发者账号申请——账号VISA卡支付流程
  16. 1430. Crime and Punishment
  17. 教你用python截屏APP,将截取到的图片进行文字识别并将信息保存在EXCEL中。(附源码)
  18. was部署项目启动显示[jcc][t4][10275][10041][3.63.123]ccsid 编码或语言环境不受支持:“Cp1386”. errorcode=-4220 sqlstate=220
  19. 从数学上推导伴随矩阵特征值
  20. 频率选择性衰落和时间选择性衰落详解

热门文章

  1. 微信php页面你画我猜,微信你画我猜全部题目答案大全
  2. uni-app text、文本、selectable、自定义长按选择菜单、修改系统菜单键(双端)
  3. Android 编程之入门开发文件夹管理器开发详细讲解-1
  4. gdb调试常用概念整理
  5. 高效能人士的七个习惯笔记
  6. 【难学易用c++ 之 继承】
  7. 微信小程序 课程教学辅助学习系统
  8. 代码随想录——Dota2参议院
  9. 脚踏实地《数据结构第二章》第一节:线性表的定义和基本操作
  10. linux ss 软件,linux ss 网络状态工具