0x02 Network Services

Task1、引言

这个房间将探讨常见的网络服务漏洞和错误配置

Task2、了解SMB

什么是SMB?

SMB - 服务器消息块协议 - 是一种客户端-服务器通信协议,用于共享对网络上的文件、打印机、串行端口和其他资源的访问。source

SMB 协议被称为响应请求协议,这意味着它在客户端和服务器之间传输多个消息以建立连接。

 

SMB如何运作?

建立连接后,客户端可以向服务器发送命令 (SMB),从而允许它们访问共享、打开文件、读取和写入文件,以及通常执行您想要对文件系统执行的所有操作。

SMB 运行在哪?

自Windows 95以来的Microsoft Windows操作系统都包含客户端和服务器SMB协议支持。Samba是一个支持SMB协议的开源服务器,针对Unix系统发布。

 Task3、枚举SMB

枚举是收集目标信息的过程,以找到潜在的攻击向量并帮助利用。枚举可用于收集用户名、密码、网络信息、主机名、应用程序数据、服务或对攻击者可能有价值的任何其他信息。

通常,服务器上有可连接并用于查看或传输文件的 SMB 共享驱动器。对于想要发现敏感信息的攻击者来说,SMB 通常是一个很好的起点。

step1:端口扫描

找出目标机器的服务、应用程序、结构和操作系统的信息。

step2:利用枚举工具

Enum4linux 是一个用于枚举 Windows 和 Linux 系统上的 SMB 共享的工具。【github

语法:enum4linux [options] ip

 

 

 

 

 

 

Task4、利用SMB

①SMB 漏洞利用的类型

CVE-2017-7494 ,允许远程执行代码。

②枚举后应该知道以下内容

  • SMB共享位置
  • SMB共享的名称

③远程访问SMB共享

语法:

 接下来是标签: -U [名称] : 指定用户 -p [端口] : 指定端口

step1:获取共享文件【enum4linux -S $ip】

step2:远程匿名登录

 step3:查看内容

 step4:进入.shh文件进行私钥下载

 step5:本地登录

Task5、Understanding Telnet 

什么是telnet?

Telnet 是一种应用程序协议,允许您使用 telnet 客户端连接到托管 telnet 服务器的远程计算机并在其上执行命令。由于其以明文形式发送所有消息,并且没有特定的安全机制。因此,在许多应用程序和服务中,Telnet 在大多数实现中已被 SSH 取代

语法:"telnet [ip] [port]"

 Task6、枚举

 step1:nmap端口扫描

step2:尝试远程登录

Task7、利用Telnet

反弹shell?

“shell”可以简单地描述为一段代码或程序,可用于在设备上执行代码或命令。反向 shell 是目标机器与攻击机器进行通信的一种 shell。攻击机器有一个侦听端口,在该端口上接收连接,从而实现代码或命令执行。

 Task8、了解FTP

首先,文件传输协议 (FTP) 是一种用于允许通过网络远程传输文件的协议,它使用客户端-服务器模型来完成此操作。

其会话中包含两个通道,一个是命令通道,一个是数据通道。顾名思义,命令通道用于传输命令以及对这些命令的回复,而数据通道则用于传输数据。

除此之外,FTP服务器还支持主动连接被动连接

  • 在主动 FTP 连接中,客户端打开端口并侦听。服务器需要主动连接到它。【服务器连客户端】
  • 在被动 FTP 连接中,服务器打开一个端口并侦听(被动),然后客户端连接到该端口。【客户端连服务器】

 

Question1:What communications model does FTP use?

 从文中很容易找到答案,FTP的交流模式使用的是C/S模式,也就是client-server。

 

Question2:What's the standard FTP port?

显然,FTP的端口号是21。文中虽未提及,可自行搜索。

 

Question3:How many modes of FTP connection are there?    

问题问的是FTP的连接方式有几种,可从文中找到答案,有两种连接方式,一种是主动连接,一种是被动连接。

 

Task9、利用FTP

帮助工具:

  • tool [-h / -help / --help]
  • man [tool]

让我们开始吧!!!

Q1:How many ports are open on the target machine? 

题目问的是目标主机有多少端口是打开的,我们使用nmap -vv -sT -p- 目标主机IP地址进行扫描,结果如下图所示:

可以看出,有两个端口是打开的,一个ftp的21号端口,一个是http的80端口,所有答案是2

 

Q2:What port is ftp running on?

从第一问的扫描结果可以看出,FTP运行在21号端口上。

 

Q3:What variant of FTP is running on it?  

问题问的是FTP的变体是什么,想到去查看FTP的版本信息,为了得到更详细的输出结果,我们需要重新利用nmap进行枚举:nmap -vv -A 目标IP地址

Q4:What is the name of the file in the anonymous FTP directory?

显然,从第三问的输出结果可以看出,匿名登录的FTP目录中的文件名称是PUBLIC_NOTICE.txt。

 

Q5:What do we think a possible username could be?

首先,我们使用mget 文件名命令将文件“PUBLIC_NOTICE.txt”下载到本地,然后打开,就会发现用户名。

step1:下载到本地

step2:本地查看

Task10、利用FTP

该任务的重点是使用Hydra进行密码暴力破解。here

语法:

Q1:What is the password for the user "mike"?

已知用户名为mike,尝试使用命令hydra -t 4 -l mike -P /usr/share/wordlists/rockyou.txt -vV 目标主机IP地址 协议,结果如下图所示:

得到Mike的密码,为password。

 

Q2:没有给出具体的问题,我们就尝试登录一下吧

 

Q3:What is ftp.txt?

step1:利用get命令将ftp.txt下载到本地。

step2:利用cat命令查看内容。

Task11、拓展资源

提供了一些额外的资源,点击完成即可,我们就完成了这一个room!!!

 

posted @ 2023-12-13 20:26  Kruskal  阅读(21)  评论(0编辑  收藏  举报