Hack The Box [Starting Point]

初始点 —— 了解渗透测试的基础知识。

这一章节对于一个渗透小白来说,可以快速的成长。以下将提供详细的解题思路,与实操步骤。

TIER 0

实例:Meow

难度:很容易

连接VPN 创建实例机器


目标机器IP地址

解题

1. 首字母缩略词 VM 代表什么?

virtual machine

这边联想 “VMware workstation”虚拟机软件 ,以下方框提示***** *e。
联想虚拟机翻译 答案即 “
virtual machine


该题拿小旗子。

2. 我们使用什么工具与操作系统交互以便通过命令行发出命令,例如启动我们的 VPN 连接的工具?它也被称为控制台或外壳。

terminal

通常发出命令,敲击命令行的时候都是在终端下进行的,即为控制台或外壳。

该题拿小旗子

3. 我们使用什么服务来建立与 HTB 实验室的 VPN 连接?

openvpn 送分题

VPN就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道。
我们这里通过openvpn即可以建立与HTB实验室的VPN连接。
该题拿小旗子:

4. VPN启动序列输出中“隧道接口”的缩写名称是什么?

tun

直接隧道接口 翻译 你能发现缩写 即 答案

5. 我们使用什么工具通过 ICMP 回显请求测试与目标的连接?

ping

原理:ICMP协议是报文控制协议 **检查网络的连通性 **ping命令就是基于ICMP协议 这里的考点亦是如此

6. 在目标上查找开放端口的最常用工具的名称是什么?

**nmap **

Nmap是一款针对大型网络的端口扫描工具

7. 在扫描过程中,我们在端口 23/tcp 上识别出什么服务?

telnet

这里直接使用nmap 对目标机器进行端口扫描
-Pn:将所有主机视为在线的——跳过主机发现

8. 什么用户名可以使用空密码通过 telnet 登录目标?

root

这边直接利用telnet工具进行连接 输入root 管理员用户名 如果对方没有设置密码 即能空密码进入
(这边利用Linux子系统 为结果更加清晰)

Telnet协议—— 是Internet远程登录服务的标准协议和主要方式
端口号:TCP 23

作用及机制:
它为用户提供了在本地计算机上完成远程主机工作的能力。
终端使用者的电脑上使用telnet程序,用它连接到服务器
终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器
要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

9. 提交Flag

利用telnet工具连接目标 即可远程控制Web服务器
ls:查看当前目录下的文件 可以看到“flag.txt”
cat:查看文件内容 即是flag

结束

这一关虽然很容易,但是满满的都是知识点。
每一个虽然百度都能查到 但是呢 在不百度的情况下 考验的即是一种推断 实操的能力了
从对VPN的认识到创建连接;
从Nmap端口扫描器的认识到利用进行存活端口探测;
从ICMP报文控制协议原理到telnet远程登录服务的标准协议认识及利用;
最后对Linux系统的认识获取目标旗帜 这对于一个小白来说 可不容易。渗透测试就是这样 信息差的关系
容易的东西很容易,如果觉得难的话,是因为自己了解的还不够多而已


实例:Fawn

难度:很容易

连接VPN 创建实例机器


目标机器IP地址

解题

1. 3 个字母的首字母缩写词 FTP 代表什么?

File Transfer Protocol(文件传输控制协议)

直接翻译可以发现答案

FTP协议——文件传输协议 上层协议是TCP
端口号:TCP端口中的20和21这两个端口
作用及机制:其中20用于传输数据,21用于传输控制信息
FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。
此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

2. FTP服务通常监听哪个端口?

21

3. FTP 的安全版本使用什么首字母缩写词?

SFTP (Secure 安全的 稳固的)
这边可以联想到HTTPS(超文本安全传输协议)和HTTP(超文本传输协议) FTP+S = FTP的安全版本

4. 我们可以使用什么命令来发送 ICMP 回显请求以测试我们与目标的连接?

**ping **(上一题讲过 ping命令就是基于ICMP报文控制协议)

5. 根据您的扫描,目标上运行的 FTP 版本是什么?

vsftpd 3.0.3

这边利用nmap 指定参数-sV 即可扫描出FTP的运行版本
-sV 探测打开的端口以确定服务/版本信息

6. 根据您的扫描,目标上正在运行什么操作系统类型?

unix

答案基于扫描结果

7. 为了显示“ftp”客户端帮助菜单,我们需要运行什么命令?

ftp -h

8. 当您想在没有帐户的情况下登录时,通过 FTP 使用的用户名是什么?

anonymous

原理:
使用 FTP 传输文件时,用户需要通过向 FTP 服务器提供凭据来获得文件传输许可。当然某些公共 FTP 服务器可能不需要凭据即可访问其文件,但是无法保证数据传输的安全性,任何未加密公共网络上的数据发送都是非常危险的,所以为了保护传输数据的安全,由 FTP 衍生而出的就是下面的两种协议:FTPS 与 SFTP。
如果想要了解FTPS和FTP和SFTP的区别,可以去看一篇文章《一文详解 FTP、FTPS 与 SFTP 的原理》
重点,FTP有两种登录方式。
ftp 有两种登录方式:匿名登录和授权登录。使用匿名登录时,用户名为:anonymous,密码为:任何合法email 地址;使用授权登录时,用户名为用户在远程系统中的用户帐号,密码为用户在远程系统中的用户密码。
参考文献:https://blog.csdn.net/Gao068465/article/details/120846856

利用ftp工具通过匿名用户anonymous 连接目标web服务器 进行文件传输

禁用FTP匿名登陆:
主配置文件 :vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名登录

9. 提交Flag


这边首先建立连接后,通过命令行可以发现存在flag.txt

ftp连接目标服务器不能直接查看文件内容,可以使用get命令获取该文件并下载至本地

dir 查看当前攻击机文件信息

type 打印即可看到flag值

结束

这一关也很容易,满满的都是知识点。结合上一关的经验,我们可以走的更快
这一关主要了解学习了FTP文件传输协议的原理以及利用姿势,也增进了对Nmap的使用


实例:Dancing

难度:很容易

连接VPN 创建实例机器


目标机器IP地址

解题

1. 3 个字母的首字母缩写词 SMB 代表什么?

Server Message Block

2. SMB 使用什么端口进行操作?

445

445端口是一个毁誉参半的端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共享你的硬盘,甚至会在悄无声息中将你的硬盘格式化掉。

3. 我们的 Nmap 扫描中出现的端口 445 的服务名称是什么?

microsoft-ds

这边利用nmap 识别目标445端口出现的服务名称

4. 我们可以使用 SMB 工具“列出”共享内容的“标志”或“开关”是什么?


这边利用smbclient 工具 列出目标共享内容

5. 最后我们可以使用空白密码访问的共享名称是什么?

WorkShares

利用smbclient 继续连接共享文件 “WorkShares”可以空密码进入

6. 我们可以在 SMB shell 中使用什么命令来下载我们找到的文件?

get
以上帮助信息可以看到

7. 提交Flag


一次查找文件 并下载即可获取flag

结束

这一关主要考验对smb的认识以及历史漏洞的简单利用


实例:Redeemer

难度:很容易

连接VPN 创建实例机器


目标机器IP地址

解题

1. 机器上打开了哪个 TCP 端口?

6379

nmap探测

2. 哪个服务在机器上打开的端口上运行?

redis

nmap探测

3. Redis是什么类型的数据库?从以下选项中进行选择:(i) 内存数据库,(ii) 传统数据库

In-menmory Database

原理:
redis是内存数据库,用超级管理员用户运行在内存里的。我们可以通过redis未授权访问漏洞进去,即可拿到最高权限。且可以通过redis可以写计划任务,执行系统命令,写公私钥对等。
redis密码默认没有 需要人为进行配置。

密码配置方法:

  • 连接redis数据库
  • 进入配置文件 redis.conf
  • 解除注释 requirepass [接密码]
  • 退出重连redis 密码设置成功

4. 哪个命令行实用程序用于与 Redis 服务器交互?输入您将在终端中输入的程序名称,不带任何参数。

redis-cli ( 此工具通常用于与redis服务器交互 )

如果没有安装 可以在Linux环境中 执行命令安装:apt install redis-tools

5. Redis 命令行实用程序使用哪个标志来指定主机名?

-h (host)

6. 连接到 Redis 服务器后,使用哪个命令获取有关 Redis 服务器的信息和统计信息?

info

7. 目标机器上使用的 Redis 服务器的版本是什么?

5.0.7

nmap 扫描结果可以看到

8. 哪个命令用于在 Redis 中选择所需的数据库?

select

选择索引为0的数据库

9. 索引为 0 的数据库中有多少键?

4

db0 keys=4

10. 哪个命令用于获取数据库中的所有键?

keys * 可以获取当前选择数据库的所有键

11. 提交Flag


以上查看到存在的键“flag” get 获取键值即可

get 根据key获得对应的value

结束

这一关主要考验对redis和对redis-cli的认识,以及redis未授权访问的漏洞的利用。


Hack The Box( Starting Point )的更多相关文章

  1. 【BZOJ5138】[Usaco2017 Dec]Push a Box(强连通分量)

    [BZOJ5138][Usaco2017 Dec]Push a Box(强连通分量) 题面 BZOJ 洛谷 题解 这题是今天看到萝卜在做然后他一眼秒了,我太菜了不会做,所以就来做做. 首先看完题目,是 ...

  2. CSS3 Flex Box(弹性盒子)

    CSS3 Flex Box(弹性盒子) 一.简介 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及 ...

  3. Box(视图组件)如何在多个页面不同视觉规范下的复用

    本文来自 网易云社区 . 问题描述 Android App中的页面元素,都是由一个个Box(可以理解成一个个自定义View组件和Widget同级)组成,这些Box可以在不同的页面.不同的模块达到复用的 ...

  4. CSS hack常用方案(摘选)

    邮箱因为默认了line-height?:170%,导致采用table元素时继承问题,可以采用line-height:50% 很好解决. 常 在使用float时,后面的显示不正常,因为继承了float了 ...

  5. Android窗口管理服务WindowManagerService显示Activity组件的启动窗口(Starting Window)的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8577789 在Android系统中,Activ ...

  6. POJ 1380 Equipment Box (暴力枚举)

    Equipment Box 题目链接: http://acm.hust.edu.cn/vjudge/contest/130510#problem/B Description There is a la ...

  7. poj 1442 Black Box(堆 优先队列)

    题目:http://poj.org/problem?id=1442 题意:n,m,分别是a数组,u数组的个数,u[i]w为几,就加到a几,然后输出第i 小的 刚开始用了一个小顶堆,超时,后来看了看别人 ...

  8. UVA10215The Largest/Smallest Box(小数精度)

    本身很容易却因为评测机有毒的一道题,,,看网上题解说最后一个答案要加一个很小的数才能AC,据说是因为没有speci judge #include <iostream> #include & ...

  9. 【01】CSS3 Gradient 分为 linear-gradient(线性渐变)和 radial-gradient(径 向渐变)(转)

    CSS3 Gradient 分为 linear-gradient(线性渐变)和 radial-gradient(径 向渐变).而我们今天主要是针对线性渐变来剖析其具体的用法.为了更好的应用 CSS3 ...

随机推荐

  1. Redis 中的原子操作(3)-使用Redis实现分布式锁

    Redis 中的分布式锁如何使用 分布式锁的使用场景 使用 Redis 来实现分布式锁 使用 set key value px milliseconds nx 实现 SETNX+Lua 实现 使用 R ...

  2. BUUCTF-N种方法解决

    N种方法解决 这题提供的是一个key.exe 运行一下发现没办法运行,老办法,放到16进制打开看看. 这个data:image/jpg很明显了,base64转图片. 编码完成得到了一张二维码,再将得到 ...

  3. NC25136 [USACO 2006 Ope B]Cows on a Leash

    NC25136 [USACO 2006 Ope B]Cows on a Leash 题目 题目描述 给定如图所示的若干个长条.你可以在某一行的任意两个数之间作一条竖线,从而把这个长条切开,并可能切开其 ...

  4. HBuilderX配置外部服务器(tomcat)查看编辑jsp界面

    HBuilderX配置外部服务器(tomcat)查看编辑jsp界面 一.第一种方法,通过启动本地tomcat,查看jsp 在tomcat的webapps目录下创建文件夹HBuilderX 打开HBui ...

  5. 写了个 Markdown 命令行小工具,希望能提高园友们发文的效率!

    写了个 Markdown 命令行小工具,希望能提高园友们发文的效率! 前言 笔者使用 Typora 来编写 Markdown 格式的博文,图片采用的是本地相对路径存储(太懒了不想折腾图床). 时间久了 ...

  6. 基于 Rainbond 部署 DolphinScheduler 高可用集群

    本文描述通过 Rainbond 云原生应用管理平台 一键部署高可用的 DolphinScheduler 集群,这种方式适合给不太了解 Kubernetes.容器化等复杂技术的用户使用,降低了在 Kub ...

  7. nginx 日志按日期分隔

    #user nobody; user root; worker_processes 1; error_log /spdblogs/nginx/logs/error.log; error_log /sp ...

  8. 161_可视化_Power BI 复刻 GitHub 贡献热力图

    161_可视化_Power BI 复刻 GitHub 贡献热力图 一.背景 在 GitHub 上,有用户的贡献度的热力图如下: Power BI 公共 web 效果:https://demo.jiao ...

  9. 输出以二叉树表示的算术表达式(严6.51)--------西工大noj

    题解 这道题目说的很诡异,其实没有什么把括号补上....仅仅是先序读入,然后中序输出就行了 代码 #include <stdio.h> #include <stdlib.h> ...

  10. 第四天python3 python解析式-生成器-迭代器

    标准库datetime datetime模块  对日期.时间.时间戳的处理 datetime类 类方法: today() 返回本地时区当前时间的datetime对象: now(tz=None) 返回当 ...