Calibishi/TryHackMe-Journey
GitHub: Calibishi/TryHackMe-Journey
记录了通过 TryHackMe 实验室学习网络安全过程中关于网络基础与 Web 安全的详细笔记与心得。
Stars: 0 | Forks: 0
# TryHackMe 学习之旅
记录我通过 TryHackMe 的实验室、工具和挑战进行网络安全实践学习的过程。
# 7月10日 - 黑入第一个网站。
- 我今天黑进了我的第一个网站(一个虚假的银行账户网站)。
- 心得:没有什么比使用终端更棒的了。现在,它派上了大用场。
- 使用的工具:GoBuster,Terminal/Command Line。
# 检测到恶意 IP 地址并将其屏蔽。
# 7/17 - 伪造 MAC 地址以接入互联网。IP 和 MAC 地址。
网络:
- 1989年,Tim Berners-Lee,万维网,WWW。
- 设备有一个名字(可以更改)和一个指纹(通常无法更改)。
-> IP Address(IP 地址),Internet Protocol(互联网协议),4个八位字节。
-> MAC Address(MAC 地址),Media Access Control(介质访问控制),12个字符的十六进制。
- 公共和私有网络。
- IPv6 和 IPv4。
- 伪造模拟。什么是伪造(Spoofing)?—— 伪装一个程序使其被识别为其他内容,从而访问其他文件/数据。
- 思考/研究:隐私与保护深入研究 —— 研究了 VPN,私人浏览器如何仅清除本地设备上的数据(哇),以及更多关于系统服务(特别是“重要位置”),关于 Google 如何跟踪信息的更多内容,关闭个性化广告(以减少对广告的注意力并减少浪费时间),“匿名工具”可以用于正当理由,例如记者躲避压迫政权,举报人保护身份等。
# 7/19 Ping (Packet InterNet Groper)
- 使用 ICMP (Internet Control Message Protocol) 数据包来检查设备之间的连接状况。
# 7/20 Ping(ing) 一个 Mac IP。
- 命令:ping 4.5.6.7
- IP 地址 Ping 速度 vs. 路由器 Ping 速度。
- 在工厂制造设备时,如何防止 MAC 地址重叠?
-> 由 IEEE (Institute of electrical and electronics engineers,电气和电子工程师协会) 管理,这是一个总部位于美国的全球性组织。
-+ 公司支付一定费用申请特定数量的 MAC 地址。
-> 拥有大量 MAC 地址作为一种潜在的数字房地产。
-> 1 个 OUI (Organizationally Unique Identifier,组织唯一标识符) 目前约 2800 美元,包含 16,777,216 个唯一的 MAC 地址。
# 局域网(LAN)房间介绍!(7/25/25)
- Local Area Network(局域网)。拓扑结构(网络的布局或设计)。
-> 星型拓扑 - 所有设备连接到中心网络设备。最常见。更昂贵(需要更多的线缆/设备/维护)。可靠且可扩展,但成本不低。
-> 总线型拓扑 - 类似数据总线,或者像树枝上的叶子。有一条横向运行的主线(骨干网),每台设备都从中分支出来。由于不同的数据必须通过同一条主线传输,因此修复困难。不过成本效益较高。如果主线中断,对所有人都不好受。
-> 环型拓扑 - 顾名思义。有些奇怪,因为设备只有在自己没有东西要发送时,才会发送接收到的数据。这有很好的秩序感。需要的线缆较少,因此初期资金投入较少,但只有一条链。如果它断了,整个网络就会瘫痪。
交换机 - 它们就像是互联网连接的排插。比集线器和中继器更聪明。它们就像是社区里的邮箱。而路由器就像是连接到互联网的正大门。
路由器 - 连接网络并在它们之间传递数据。让设备能够访问互联网。
- 深入探索了家庭互联网、调制解调器、路由器、交换机和路由器以及不同路径之间的关系。
# 子网划分预览 (7/26)
问题:什么是子网划分?
什么是 ARP?
什么是 DHCP?
- 将一个大网络拆分成几个小网络。
- 拆分主机数量,子网掩码(像 IP 地址一样是 32 位),为拥有大量设备的场所进行子网划分。
-> 例如:拥有 Guest_Wifi 和 Staff_Wifi 的咖啡店。
- 网络地址 - 网络起点的标识。
- 主机地址 - 用于识别网络上设备的地址。
- 默认网关(地址) - 同一网络上具有向其他网络发送数据能力的设备的特殊地址。
# ARP (Address Resolution Protocol) (8/2)
- 允许设备(IP 地址)找到其他设备的 MAC 地址的技术。
- 缓存:用于存储信息的账本。在 ARP 的语境下,它是一个记录 IP 到 MAC 信息的账本,用于快速查找。
- ARP 请求和回复,用于识别网络上的设备。
# DHCP (Dynamic Host Configuration Protocol)
- IP 地址可以由 DHCP 手动或自动设置/命名。
- DHCP Discover,DHCP Offer,DHCP Request,DHCP ACK。
[Intro to Lan 房间完成]
# OSI 房间! (8/6)
[OSI 房间开始]
问题:所有联网设备都带有的那块硬件叫什么名字?
在网络层中,OSPF 和 RIP 是什么意思?
TCP 和 UDP 有什么区别?哪一个更快?
DNS 代表什么?
- 开放系统互连模型,一个关于联网设备如何发送、接收和解释数据的框架。
- OSI 模型共有 7 层,
- 封装。
1. 物理层 - (以太网电缆等)
2. 数据链路层 - (IP,MAC [Media Access Control] 和 NIC [Network Interface Card,网络接口卡,答案])
3. 网络层 - (OSPF [Open Shortest Path First],RIP [Routing Information Protocol],路由器,发送数据包 [小块数据])。
4. 传输层 - 通过传输控制协议 vs 用户数据报协议在网络中传输数据包。
-> TCP 可靠,速度较慢,必须建立连接。UDP 速度快,不在乎是否完全接收,并且不需要建立连接。
-> 对于文件下载、发送电子邮件和文件传输,我们将使用 TCP。
5. 会话层 - 在所有数据包被翻译并格式化正确以便发送时建立。所有会话都是唯一的,数据不能在一个时间跨越多个会话传输。
6. 表示层 - 充当不同设备之间的翻译器。
7. 应用层 - 提供 GUI 和其他协议如 DNS (Domain Name System) 的层。
[OSI 房间完成]
# 数据包和帧房间 (8/13)
[数据包和帧房间开始]
问题:带有 IP 寻址的数据叫什么?如果不包含 IP 寻址呢?
3次握手的过程是怎样的?
什么保证了 TCP 数据包中数据的完整性?
- 数据包,包含头部和诸如 Internet 协议寻址及有效载荷(实际数据)等信息的一小片数据,第 3 层(网络)。
- 帧,发送数据包时用的信封。指的是封装信息。第 2 层(数据链路)。
- 3次握手,SYNchronize -> SYNchronize/ACKnowledge -> ACKnowledge。
- 校验和,一个检查数据完整性的头部,在两台设备上进行的计算结果必须相等,否则说明出了问题。
- UDP 是一种无状态协议,不需要持续连接。许多头部与 TCP 相同。
-> 适用于可以容忍部分数据丢失的应用(语音聊天或视频流)。
- 端口是数据可以交换的地方。它们对于可以通过该端口传递的信息是特定的。端口 80 是所有 Web 浏览器发送数据的端口。
- 其他值得注意的协议,FTP [File Transfer Protocol],HTTP,HTTPS,SMB [Server Message Block],SSH [Secure Shell],RDP [Remote Desktop Protocol]。
工具:“nc”,Netcat,用于在终端中连接到指定的 IP 和端口。
[房间完成]
# 扩展你的网络房间 (续)
[扩展你的网络房间开始]
问题:什么设备配置 Port Forwarding?
什么是防火墙?它们与端口转发有什么不同?
什么是 VPN?哪种类型最强大?
路由器和交换机有什么区别?
解释二层交换机和三层交换机的区别。
- 端口转发,允许不同网络上的设备连接到应用程序和服务(如 Web 服务器),连接到 Internet,在路由器上配置。
- 没有它,只有同一网络上的本地设备可以使用应用程序和服务(内联网)。
-> 我们在那些拥有仅在公司同网络设备之间共享的特定软件的公司中经常看到这种情况。
- 端口转发与防火墙技术不同,后者控制通过端口转发路径的流量。
- 防火墙。
- 将允许或拒绝信息的进入流量,执行数据包检查:“你是谁?你要去哪里?你从哪里来?你使用什么协议?”
- 运行在 OSI 的网络层和传输层(3 & 4)
- 充当端口和连接之间的边境巡逻队。
- 主要类型是有状态和无状态,分别查看整个连接的行为(消耗大量资源) vs. 单个数据包(不是很有用)。
实践:配置了一个防火墙,以阻止恶意数据包攻击到达 Web 服务器 203.0.110.1
虚拟专用网络
- 在不同网络上的设备之间安全地建立连接,称为隧道,形成它们自己的私有网络。
-> 当今的一些 VPN 技术:PPP [Point to Point {/Tunneling} Protocol],IPSec [Internet Protocol Security] - 强加密但最难建立。
- 路由器,连接不同的网络并通过“路由”在它们之间传递数据。
-> 与交换机非常不同。
- VLAN,虚拟局域网。
- 交换机,允许设备使用其 MAC 地址将帧转发到连接的设备(如路由器)[第 2 层]。
-> 三层交换机可以转发帧并通过 IP 将数据包路由到其他设备。
# 详谈 DNS (8/14)
[DNS 房间开始]
问题:什么是 DNS,它代表什么?
- 域名系统取代了每个设备连接到互联网时用于访问网站或服务器的复杂的 IP 地址编号。
-> 通常由路由器提供(内部 IP 地址),然后 ISP 提供一个公共 IP 地址在公共互联网上进行通信(例如通过 HTTPS)。
- 域层级,TLD [Top Level Domain,顶级域名],Second Level Domain [二级域名],Subdomain [子域名]
-> 少于 253 个字符,不能有下划线。
-> 两种类型:gTLD [Generic Top Level Domains,通用顶级域名],ccTLD [Country Code TLD,国家代码顶级域名]。
-+ 例如:.com [商业用途],.edu [教育],.org / .us, .ca, .co.uk
- HTTP 方法:(8/21)
-> GET - 从 Web 服务器获取信息。
-> POST - 用于提交数据并可能在 Web 服务器上创建新记录。
-> PUT - 更新 Web 服务器中的任何信息。
-> DELETE - 删除(你懂的……从 Web 服务器上)。
- HTTP 状态码 (8/27):
-> 范围:200 (成功),300 (重定向),400 (客户端错误),500 (服务器错误)
-> 常见状态码:201 (新建成功),404 (找不到页面) & 401 (未授权)。
# (12/11/25)
不同类型的请求头 (从客户端到服务器):
1. Host- 如果 Web 服务器托管多个网站,则指定具体的网站。
2. User-Agent: 你的浏览器软件和版本号。
3. Content-Length
4. Accept-Encoding: 支持的压缩方法。
5. Cookie- 发送到服务器以记住你的信息的数据。
常见的响应头:
1. Set-Cookie
2. Cache-Control: 在再次请求之前存储缓存的时间。
3. Content-Type: 返回的数据类型 (HTML, CSS, PDF, Video, 等)
4. Content-Encoding: 同上
注意:HTTP 是无状态的(不跟踪之前的请求)。
Cookie 主要用于 Web 身份验证(尽管它们有许多用途)。
问题:想知道发送到服务器的 Cookie 是什么吗?使用开发者工具,点击“Network”选项卡,查看每个标有“Cookies”的标签页。
# 模拟:在 URL 栏中通过参数使用 HTTPS 进行 PUT,GET,POST 和 DELETE 请求。
# 网站是如何工作的:
当访问一个网站时,你的浏览器会向 Web 服务器发出请求。
这个 Web 服务器是一台位于其他地方的专用计算机,负责处理请求。
经典的网站设置:
1. 前端(客户端):你的浏览器渲染网站的方式。(渲染只是将代码显示/转换为视觉/事物)
2. 后端(服务器端):处理请求并返回响应的服务器。
HTML 结构概述。
- 右键点击 -> 查看/显示页面源代码来查看任何 HTML。
JavaScript 概述。
- `` 标签
- 通过 src 属性远程加载。
- "onclick" 和 "onhover"
敏感数据暴露:
* 如果开发人员没有移除登录凭证,那么这些数据可能仅仅在页面源代码的 HTML 元素中被查看。
* 检查这一点应该是你在评估 Web 应用程序安全性时要做的第一件事之一。
# 模拟:使用“查看页面源代码”在页面的源代码中找到测试登录凭证。
HTML 注入:
- 当未过滤的用户输入显示在页面上时发生的一种漏洞。
- 修复:净化(过滤)用户输入的任何内容。
- 永远不要信任用户输入。
# 模拟:在不净化用户输入的输入框中使用 HTML 将恶意链接注入网站。
负载均衡器 - 用于
1. 确保高流量网站能够处理负载
2. 提供故障转移,以防服务器变得无响应。
- 使用诸如轮询(依次发送到每个服务器)或加权(检查服务器正在处理的请求数量)的算法。
3. 执行健康检查,确保一切运行顺利。
CDN - 内容分发网络
- 托管你网站上的静态文件,并将它们分布在世 界 各 地 的数千台服务器上。
- 当用户请求托管的文件之一时,CDN 会根据物理位置计算出最近的服务器,并将请求发送到那里,而不是使用位于世界另一端的服务器。
数据库 - 为用户存储信息的方式。
- Web 服务器与它们进行通信。
WAF - Web 应用程序防火墙
1. 用于保护 Web 服务器免受攻击或黑客入侵。
2. 分析 Web 请求以寻找常见的攻击技术。
3. 使用速率限制,检查是否发送了过量的 Web 请求,来自 IP 的每秒请求数。
- 如果可疑,请求将被丢弃并且永不发送。
Web 服务器 - 一种监听传入连接,然后使用 HTTP 协议将 Web 内容发送回用户的软件。
- Web 服务器软件如 Apache,Nginx,NodeJS,IIS。
- 从根目录交付文件,Linux 下是 `/var/www/html`,Windows 下是 `C:\inetpub\wwwroot`。
虚拟主机
- 基于文本的配置文件
- Web 服务器可以托管多个网站(没有限制?)
静态和动态内容 - 要么从不更改,要么可以根据不同的请求进行更改。
- 更改在后端处理。
- 结果在前端可见。
脚本和后端语言 - 天空才是极限。
- 可以与数据库交互,调用外部服务,处理来自用户的数据,等等。
* 脚本语言和 OOP 语言的区别?脚本语言是关于代码如何运行的(快速开发和自动化),后端是代码运行的地方,为服务逻辑和数据处理提供动力,而 OOP 是关于你如何组织可以轻松重用的复杂程序的。
-像 Python 和 Java 这样的语言具有多重属性。
- 例如,Python 既是脚本语言又是后端语言加上面向对象编程。
# Linux 基础
由芬兰计算机科学专业的学生 Linus Torvalds 于 1991 年创建。
基于 UNIX 操作系统。
开源,变体包括 UBUNTU 和 DEBIAN。
- 开源仅仅意味着对公众免费,可以毫无问题地被修改、分发、使用和查看。
# 计算机基础知识
- 计算机/桌面的布局。
- 客户端/服务器架构
-> 通过网页面的 Network 使用 Inspect、Headers 和 Response。
- 不同类型的计算机,包括嵌入式系统,IOT 设备等。
标签:GoBuster, ICMP, IEEE, IPv4, IPv6, IP地址, IP封禁, MAC地址, MAC地址欺骗, OUI, Ping, PowerShell, TryHackMe, VPN, Web安全, 云存储安全, 公共网络, 内核驱动, 匿名工具, 学习笔记, 安全基础, 安全实验, 恶意IP, 插件系统, 数字资产, 目录爆破, 私有网络, 红队学习, 网站黑客, 网络协议, 网络安全, 网络安全, 网络扫描, 蓝队分析, 防御加固, 隐私保护, 隐私保护