memory
内存解剖计算机内存可以分为易失性和非易失性类型。两者之间的区别在于所存储的信息是否在设备断电后仍然保留。 缓冲区溢出 在 RAM 中的易失性内存上执行。具体来说,它们的目标是将内存“临时分配”给正在运行的程序。从基本意义上讲,缓冲区溢出允许攻击者“将数据写入超出易受攻击的代码中的函数调用或变量的预期存储边界”。 堆栈堆栈内存是程序执行期间在 RAM 中分配的内存。它用于运行程序并跟踪代码中的函数和变量。 堆栈具有后进先出 (LIFO) 结构,这意味着其单元按字面量堆栈进行组织。如果堆栈上有三个对象,则第二个对象无法执行或引用,直到其上方的对象消失。 堆栈帧堆栈帧也称为“激活帧”,是程序执行期间组成堆栈的单元。它们包含程序中定义和使用的子例程/函数和变量。堆栈上的第一帧是程序的“主”函数(无论执行进入何处)。 当程序被编译为机器代码/汇编时,它会生成CPU在执行程序时遵循的指令。这些指令的一部分包括*在执行期间调用函数时应如何创建和管理堆栈帧。 执行时,CPU 遵循这些指令并在 RAM 中分配内存以创建堆栈帧。每个堆栈帧对应一个函数调用并包含所有所需的信息(包括...
linux-services
启动和停止 Linux 服务Linux 进程 每个进程都有一个由内核根据启动后启动的顺序分配给它们的进程 ID。 系统控制:systemctl 是 Linux 中的一个命令,它允许您与 systemd 交互,当 Linux 机器启动时,该命令(通常)是 PID 1。 systemd 是 Linux 的服务管理器,由于它的 PID 为 1,因此启动后计算机上运行的大多数进程都是 systemd** 的子进程。 因为我们想要在 Linux 上交互或使用的大多数进程都是 systemd 的子进程,所以我们可以使用 systemd 来控制它们。这是因为它们共享相同的命名空间。 要与 systemd 交互,我们必须使用 systemctl 命令。您可以为 systemctl 提供四个选项来管理进程: start:启动一个或多个已经加载到内存中的单元(单元是系统启动和维护所需的对象的封装) stop:停用一个或多个单元 enable:启用一个或多个单元实例 disable:禁用一个或多个单元实例。 在启动时启动进程:要使用 systemctl 在启动时启动特定进程,请使用: 1234sy...
linux-filesystem
Linux 文件系统层次结构: [!我之前的笔记:] Linux 文件系统
kioptrix
KioptrixKioptrix 是一个易受攻击的虚拟机,您可以从 VulnHub 下载。有多个演练来攻击这个盒子。以下是我自己的 Kioptrix 活动的笔记: 1. 使用 nmap 扫描kioptrix_nmap.txt: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061sudo nmap -A -p- 10.0.3.5Starting Nmap 7.94 ( https://nmap.org ) at 2023-08-05 18:15 EDTNmap scan report for 10.0.3.5Host is up (0.00068s latency).Not shown: 65529 closed tcp ports (reset)PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 2.9p2 (prot...
SSH-enum
枚举 SSH在处理 SSH 时,任何登录尝试都被视为利用。 基奥普特里克斯由于 Kioptrix 已过时,因此尝试 SSH 连接时返回的错误会告诉我们有关目标的信息。 12ssh 10.0.2.5Unable to negotiate with 10.0.2.5 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 使用未设置标志的 ssh 命令,目标会向我们返回不应该的信息。这是一个发现。上述错误告诉我们,目标没有找到与我们匹配的已知主机,并且只要密钥交换是Diffie-Hellman,就会提供无论如何连接。 W/从目标返回此错误,我们可以尝试将 -o 标志(选项)设置为 KexAlgorithms=+diffie-hellman-group1-sha1 再次进行 ssh,以匹配他们提供的密钥交换方法。 12ssh 10.0.2.5 -o KexAlgorithms=+diffi...
SMB-relay
SMB 中继攻击在 SMB-中继攻击中,攻击者不会尝试使用 Responder 破解从网络收集的哈希值,而是将这些哈希值中继到其他计算机,希望一台计算机能够允许它们获得访问权限。 基本流程SMB 中继利用网络上常见自动化系统的定期身份验证尝试。这些自动化系统对网络上的设备执行常规管理任务。为此,他们尝试使用 NTLM 连接到网络的任何设备进行登录/身份验证。 正常功能该服务尝试向服务器进行身份验证。服务器以质询进行响应,通常“如果您确实是您所说的用户,则使用用户的密码哈希加密该质询并将其发回。” 客户端上的服务使用用户的密码对质询进行加密,并将新值发送回服务器。服务器使用用户的密码解密答案,如果解密为发送的原始质询,则对服务进行身份验证。 剥削攻击者可以通过捕获服务和服务器之间的流量、修改它,并实质上劫持服务服务器的身份验证(攻击机器得到身份验证)来利用此易受攻击的交换。 通过劫持身份验证,攻击者可以获得*发送挑战的目标服务器的访问权限。 Cowdex 要求: SMB 签名已禁用 管理员凭据:中继的用户凭据必须是管理员凭据,否则您不会从获取它们中获得太多好处。 此...
OSI-model
OSI 参考模型一种网络表示形式,用于将数据必须经过的不同协议和封装层结合起来,才能通过网络从一个设备传输到另一个设备。 肺炎:######请 做不投掷香肠披萨离开L1:身体(请)处理沿物理介质的电信号传输。涉及以太网/CAT-5 等数据电缆。 L2:数据链路 (do)处理来自第 1 层的电消息的[复用和解复用](/networking/OSI/ Multiplexing.md)。这是最复杂的层,因为它抽象了将电信号转换为有意义的数据的工作。它还分为 2 个子层,即“逻辑链路控制”和“媒体访问控制”层。 使用 MAC 地址 来识别设备以及交换机以在它们之间路由流量。该层中的数据被封装到帧和来自帧的数据。 L3:网络(不是)网络层负责从使用 IP 地址 进行寻址的设备传输数据(封装到数据包中),并使用路由器等 L3 设备进行路由。 L4:传输(抛出)使用 TCP 和 UDP 协议处理网络通信。 L5:会话(香肠)负责创建和维护彼此发送和接收数据的两方之间的连接。一旦建立连接,就会创建会话。每个会话对其连接来说都是唯一的,这意味着数据不应该能...
MAC-addresses
MAC 地址MAC 地址与 OSI 参考模型 的第二层相关。它们针对本地网络中的物理设备进行寻址。 MAC 地址是一个 48 位硬件编号,对于其所连接的设备来说是“唯一”的(在制造过程中分配)。 网络接口卡:在网络的第 2 层中,每个能够连接到网络的设备都将拥有自己的网络接口卡 (NIC)。 MAC 地址标识网络上的设备,交换机使用它在设备之间路由帧。 MAC 地址查找:MAC 地址被格式化为 12 位十六进制数。地址中的字节可以用连字符、冒号或句点分隔,具体取决于操作系统。 号码的前六位数字标识设备的制造商。 MAC 地址查找工具可用于查明该设备的制造商。 示例:00:0C:29 解析为制造商 VMware, Inc [!我以前的笔记(在文本中链接)] MAC 地址 OSI 参考模型
LLMNR-poisoning
LLMNR 中毒什么是 LLMNR?LLMNR(链路本地多播名称解析)是网络上使用的一种协议,用于代替 DNS 帮助解析主机名。它曾经也被称为 NBT-NS,但此后已在大多数系统中进行了更新。 机制为了将 IP 地址 解析为主机名,LLMNR 通过网络向所有侦听接口发送一个“多播数据包”。该数据包询问每个接口是否是权威主机名。权威主机名是能够将 IP 解析为主机名的接口。 LLMNR 中毒LLMNR 是“脆弱的”,因为它允许 MITM 攻击,例如 LLMNR 中毒。在 LLMNR 中毒中,攻击者冒充网络中的权威主机名。然后,他们等待受害计算机使用 LLMNR 来查找主机名。 例如,如果受害计算机发送 LLMNR 请求以获取类似 \\lemons 的主机名,则多播数据包将发送到所有侦听接口,包括攻击者的虚假权威服务器。当他们收到数据包时,攻击者会用一个数据包进行响应,告诉受害者计算机“嘿!我知道如何连接到该主机名。您想要 IP 地址吗?” 受害者机器将响应:“是的!我想要该 IP 地址”,但为了从权威服务器接收 IP 地址,受害者必须通过发送 NTLM 哈希来对其进行身份验证。该哈...
intro
实用道德黑客简介:渗透测试的类型:外网渗透测试最常见的类型是从外部(通常是远程位置)评估和测试组织的安全性。这种类型的渗透测试是“最常见的”,因为合规组织每年都需要进行外部网络渗透测试。 它们也往往比其他类型的渗透测试便宜。这使得公司更容易开始采用渗透测试作为其安全实践。 方法论重点关注 OSINT,收集有关公司及其员工的开源信息。通常需要约 32-40 小时 + 8-16 小时来撰写报告。 开源情报可以收集哪些数据(公开的)来帮助闯入/利用组织的网络并访问受限空间/信息? *漏洞扫描:*外部网络端点始终被机器人扫描。通过被动扫描发现漏洞的可能性相对较低。大多数公司都有足够的保护措施来通过修补等方式来覆盖这方面的安全性。 相反,OSINT 专注于“收集情报”,例如网络的拓扑结构是什么?登录面板在哪里?用户是谁? 内网渗透测试从网络内部评估组织的安全性。网络已经被破坏,并且/或与客户达成的协议的一部分是允许将笔记本电脑/设备带入内部并连接到网络(然后渗透测试人员可以远程进入以执行评估)。 方法论重点关注 Active Directory 攻击...