免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息或工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 --白稀饭
HTB靶场
HTB是一个靶机平台,里面包含多种系统类型的靶机,并且很多靶机非常贴近实战情景,是一个学习渗透测试不错的靶场。
HTB靶场连接
HTB官网:https://app.hackthebox.com/home
openvpn官网:https://openvpn.net/community-downloads/
vmware官网:https://www.vmware.com/products/workstation-pro.html
kali官网:https://www.kali.org/
账号注册成功后, 准备工作完成后跟着下方一步一步操作即可
点击下图此处会下载一个文件
下载完成后双击此文件
导入配置文件
完成操作后 此处小电脑为绿色即位成功连接
第一关
我们可以看到里面有许多有趣的内容,但饭要一口一口的吃,所以进入初始点模块根据下图点击第一个机器吧。 点击进去后,我们可以看到很多提示,根据提示打开靶机吧
打开之后等待半分钟左右 可以看到它为我们生成了一个IP地址,这就是我们将要攻击的机器
接下来我们将使用kali
不会使用kali的可以参考这篇文章:https://blog.csdn.net/Python_0011/article/details/128609349
打开kali后我们第一步是检查我们能否访问目标机器,这里使用到ping命令。
这里可以看到我们能成功访问目标机器。 接下来就是下一步,使用nmap对目标ip进行端口扫描。
nmap的使用可以参考这篇文章:https://blog.csdn.net/smli_ng/article/details/105964486
使用以下命令对目标ip端口进行简单扫描。
nmap 10.129.122.1854
扫描完成后,发现端口23/tcp处于开放状态,并运行着telnet服务。通过快速Google搜索该协议,了解到这是一种远程管理的网络服务。目标机器使用该服务来从其他主机(比如我们自己的)接收远程管理请求。通常,通过telnet的连接请求需要用户名/密码组合来提高安全性。针对我们的目标,当我们试图与之建立连接时,会看到一个Hack The Box的横幅,并要求我们在进行远程管理之前进行身份验证。
我们可以看到其需要我们输入凭证才能进行下一步 但有时候有些管理员为了方便登录管理不会为其设置密码,使攻击者可以使用一组用户名列表来尝试登陆。
比如: admin,administrator,root
我们也可以尝试输入
这里我们发现我们输入root时直接登录成功,我们的可以使用ls来查看一下我们登录的目录,说不定就有我们需要的东西。
当我们使用ls命令查看当前目录,意外发现我们的目标flag.txt,我们可以使用cat flag.txt查看该文件,并使用ctrl+shift+c复制下来,回到HTB提交你的第一关flag吧。
第二关
上图我们获得了目标靶机的ip地址 我们可以使用ping命令来查看能否访问目标主机
从返回的数据可以得知能够访问目标 使用快捷键alt+c退出ping
能正常访问目标主机,接下来使用nmap对目标主机进行端口扫描
使用以下命令:nmap -sV -sS -p- --min-rate 10.129.47.230
nmap的使用方法可以看往期教程
可以看到目标主机 21端口开启了FTP服务 什么是FTP服务
FTP服务,即文件传输协议服务,是一种在互联网上提供文件存储和访问的计算机服务。 FTP协议允许用户通过FTP客户端程序在FTP服务器上执行文件的上传、下载、删除等操作。FTP服务器充当文件传输的中转站和存储中心,使用户能够将文件从一台计算机传输到另一台计算机。FTP协议基于TCP/IP模型的应用层,使用TCP协议进行可靠的通信连接。FTP服务通常运行在两个端口上,20号端口用于数据传输,而21号端口用于传输控制指令。FTP服务不仅适用于不同的操作系统和文件存储方式,还支持设置用户权限和目录管理,使其成为网络中文件共享和传输的重要方式。
检查安装ftp版本
为了访问FTP服务,我们将在自己的主机上使用FTP命令。快速检查ftp是否更新并正确安装。如果安装了ftp服务,运行下面的命令将显示与图中相同的输出。否则,它将继续安装。命令末尾的-y开关用于接受安装,而不会中断进程,询问您是否要继续。
sudo apt install ftp -y
版本检查更新后, 我们可以使用下面的命令连接到目标主机。这将启动一个在目标上运行的FTP服务上进行身份验证的请求,它将向我们的主机返回一个提示:
ftp 10.129.47.230
如果服务器配置为允许,用户可以匿名连接到FTP服务器,这意味着即使我们没有有效的凭据,我们也可以使用它。 若要连接到远程 FTP 服务器,需要指定目标的 IP 地址或主机名。然后,提示将要求我们提供登录凭据,这是我们账号可以填写anonymous,密码为空 或随意填写。
可以看到显示我们登录成功,终端发生变化可以发出ftp命令了。 使用help或-h 可以查看我们可使用的命令
很多命令如ls,cd我们已经熟悉,让我们发出第一个命令ls 来查看文件夹里有什么。
可以看到我们的目标flag就在此处,让我们使用get命令将其下载到我们的主机上。
下载完成 使用bye退出ftp服务状态,查看flag.txt的内容
FTP基本命令
ls 显示服务器上的目录
get 从服务器下载指定文件到客户端
put 从客户端传送指定文件到服务器
open 连接ftp服务器
quit 断开连接并退出ftp服务器
cd directory 改变服务器的当前目录为directory
lcd directory 改变本地的当前目录为directory
bye 退出ftp命令状态
ascii 设置文件传输方式为ASCII模式
binary 设置文件传输方式为二进制模式
! 执行本地主机命令
cd 切换远端ftp服务器上的目录
cdup 上一层目录
close 在不结束ftp进程的情况下,关闭与ftp服务器的连接
delete 删除远端ftp服务器上的文件
get 下载
hash 显示#表示下载进度
mdelete 删除文件,模糊匹配
mget 下载文件,模糊匹配
mput 上传文件,模糊匹配
mkdir 在远端ftp服务器上,建立文件夹
newer 下载时,检测是不是新文件
prompt 关闭交互模式
put 上传
pwd 显示当前目录
第三关
smb服务
网络中启用smb的存储称为共享。 拥有服务器地址和适当凭证的任何客户机都可以访问这些文件。 与许多其他文件访问协议一样,SMB需要一些安全层才能在网络拓扑中正常工作。 如果SMB允许客户端创建、编辑、检索和删除共享上的文件,那么显然需要一种身份验证机制。 在用户级别,SMB客户机需要提供用户名/密码组合,才能查看SMB共享的内容或与之交互。 尽管网络管理员有能力保护对共享的访问,但有时可能会犯错误,意外地允许在没有任何有效凭据的情况下登录,或者使用来宾帐户或匿名登录。
可以看到第三关的ip已经生成。
老规矩让我们使用ping命令来检测一下能否访问目标主机。
可以正常连接,下一步就是使用nmap对该目标进行端口扫描
nmap -sV 10.129.99.224 (-sV:探测打开的端口和服务/版本)
nmap -sV -sS --min-rate 5000 10.129.99.224(觉得慢的可以使用这个)
我们观察到445端口的TCP用于SMB正在运行,这意味着有一个活跃的共享文件夹可能可以探索。想要访问这个共享文件夹,需要安装合适的服务和脚本。为了成功枚举远程系统上的共享内容,我们可以使用一个名为smbclient
的脚本。如果你的虚拟机上没有这个脚本,你可以通过在终端输入相应的命令来安装。
apt-get install smbclient
安装完成后我们下一步将列举目标机器上的共享文件。smbclient会尝试连接远程主机,并检查是否需要认证。如果需要,它会要求你输入本地用户名的密码。我们应该注意这一点。如果我们在尝试连接远程主机时没有指定特定的用户名给smbclient,它将默认使用你当前虚拟机中登录的本地机器的用户名。这是因为SMB认证总是需要用户名,如果不明确给出,它将尝试使用当前本地用户登录,以避免在协议中出现错误。
接下来我们将使用smbclien脚本对目标进学校连接
对目标主机进行连接:smbclient -L 10.129.99.224(-L:连接目标ip的smb服务)
提示让我们输入账号密码,由于我们并不知道任何凭证,所以我们只能尝试使用匿名账户验证登录一下
Guest authentication
Anonymous authentication
很幸运当我们使用authentication尝试登录时成功了
我们将尝试连接到IPcs以外的其他共享,因为它不像其他常规目录那样可以浏览,再者因为我们没有任何凭证,所以我们只能使用空白密码进行尝试。
输出NT_STATUS_BAD_NETWORK_NAME 让我们知道没有凭证访问这个共享,只能再次尝试C$这个共享。
再次失败,只剩下WorkShares了,但该共享似乎是人为的,因此容易配置失误。
成功了,让我们看看里面有什么吧!
也是成功发现我们的目标flag.txt.
原文始发于微信公众号(Piusec):HTB初识入门篇
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论