Pentmenu使用教程。黑客必备DDoS攻击工具。Kali Linux入门教程。安卓Termux可用

前言

拒绝服务攻击(英语:denial-of-service attack,简称DoS攻击)亦称洪水攻击,是一种网络攻击手法,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。 当黑客使用网络上两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动“拒绝服务”式攻击时,称为分布式拒绝服务攻击(distributed denial-of-service attack,简称DDoS攻击)。

简介

pentmenu,一个能让你进行快速简便网络扫描与DOS攻击的命令菜单。

Pentmenu 是一个开源的工具,专为渗透测试人员设计,用于通过交互式菜单快速执行多种网络渗透任务。它基于 Bash 脚本开发,旨在帮助用户轻松执行常见的网络和系统测试操作,而无需手动输入复杂的命令。

依赖

  • bash

  • sudo

  • curl

  • netcat(必须支持'-k'选项,推荐openbsd版本)

  • hping3(或者用nping来代替进行洪水攻击)

  • openssl

  • stunnel

  • nmap

  • whois(推荐但不要求)

  • nslookup(或'host')

  • ike-scan

安装

在kali里面打开终端。输入以下命令。如果git克隆到本地下载慢或者报错,请先设置好代理。

git clone https://github.com/GinjaChris/pentmenu.git

进入pentmenu目录

#进入pentmenu目录
cd pentmenu

#查看当前目录里面的文件
ls

之后我们给pentmenu文件附加权限,不附加权限的话可能不能够运行。

chmod +x pentmenu

之后就可以输入以下命令运行了。

./pentmenu

使用

输入4查看Readme说明,实际并没有说明提示,怀疑是代码Bug。

查看源代码,可以发现是使用curl命令去获取Readme文件的。

通过浏览器去访问链接是可以访问到Readme的。但是命令运行不了。

输入5退出pentmenu工具。

RECON模块

输入1进入RECON模块。可以看到这里有很多选项。

1. Show IP

Show IP - 使用curl来获取您的外网IP。使用ip aifconfig(如果适宜)显示您的本地IP。

2. DNS Recon

DNS Recon - 被动侦查,进行一次DNS查询(基于输入目标的正向或反向查询)并进行一次whois查询。如果whois不可用则使用ipinfo.io查询(仅对IP查询有效,域名无效)。

这里在Enter target输入的是ip。

3. Ping Sweep

Ping Sweep - 使用nmap对目标或网域进行一次 ICMP echo (ping) 操作。

4. Quick Scan

Quick Scan - TCP端口扫描器使用nmap通过TCP SYN扫描开放端口。Nmap不会在进行TCP扫描前进行ping扫描。这个模块会扫描最常见的1000个端口。这个模块当然可以对单一目标或整个网络进行扫描,但它的确是被设计用于在IP段内识别存活的主机。扫描将会花费很长时间完成,请耐心等待。

可以输入域名、IP、子网。这里会提示输入的扫描速度,0就是最慢,5就是最快。不输入的话回车默认就是3。

5. Detailed Scan

Detailed Scan - 使用nmap来进行识别存活主机、扫描开放端口、尝试识别系统、探测运行的软件版本。Nmap不会在这部分扫描前进行ping扫描。在此模式下,Nmap默认的User-Agent被替换为微软Edge浏览器,以此来避免用过HTTP探测。所有的TCP端口(无论对于域名、IP或子网)都将被扫描。同时模块可以扫描一个单一主机或许多主机,它的设计目的是对一个单一系统进行信息获取。扫描将会花费很长时间完成,请耐心等待。

可以输入域名、IP、子网。

可以看到通过Nmap工具扫描靶机出来这么多信息。

6. UDPscan

UDPscan - 使用nmap扫描开放的UDP端口。所有的UDP端口都会被扫描。

可以输入域名、IP、子网。这个扫描过程非常久。即使我用最快的扫描速度,也还是花了913.26秒的时间才完成。

7. Check Server Uptime

Check Server Uptime - 通过使用hping3查询开放的TCP端口来估计目标的存活时间。不同机器查询的结果精确度各不相同。并不能对所有的服务器适用。

输入目标和端口(端口默认是80),在Retires?这里输入3或者2,3 是理想值和默认值,2 也可能有效。

可以看到靶机已经运行了38分钟56秒。

8. IPsec Scan

IPsec Scan - 尝试使用ike-scan和各种第1阶段建议来确定IPsec VPN服务器的存在。此模块任何文字输出,无论被认为是“握手”还是“没有可匹配的提议”,都指向了IPsec VPN服务器的存在。浏览 http://nta-monitor.com/wiki/index.php/Ike-scan_User_Guide 来了解ike-scan和 VPN phase 1.

此功能不可用。运行此功能,出现这样的界面,后面都是空白的。怀疑是代码bug问题。

查看源代码是这样写的。

9. Go Back

返回上一级目录

DOS 模块

1. ICMP Echo Flood

ICMP Echo Flood - 通过hping3发送传统ICMP Echo flood攻击目标。对于现代系统可能收获不大,但对于通过攻击防火墙来测试他们反应来说很有效。Ctrl+C停止攻击。 洪水攻击包的来源地址是可以设置的。注意目标可以是一个IP地址(如127.0.0.1)或一个域名(如localhost.localnet.com)。目标不要包含协议(如http://localhost.localnet.com )。

这里我的攻击的目标ip是我的Ubuntu系统。攻击包的来源地址是默认。使用Ctrl+C去停止攻击。

尽管这里发送了 1691266个数据包,目标主机接收 0 个数据包,100%丢包了。但是实际当我切换回Ubuntu系统去操作的时候,画面卡顿,打开应用巨慢,流畅度不如之前。说明我们的攻击还是有效的。

2. ICMP Blcknurse Flood

ICMP Blcknurse Flood - 使用hping3发送ICMP flood攻击目标。这些ICMP 包是“Destination Unreachable, Port Unreachable”类型的。这种攻击可能会对某些系统造成CPU大量占用的情况。使用Ctrl+C停止攻击。浏览 http://blacknurse.dk/ 获取更多相关信息。洪水攻击包的来源地址是可以设置的。

3. TCP SYN Flood

TCP SYN Flood - 通过hping3发送TCP SYN洪水攻击。如果没有找到hping3,它会尝试使用 nmap-nping来代替。Hping3因为其尽可能多的发包而被推荐。您可以在选项中使用您自己的IP发包、使用指定的某个IP(比如用来恶作剧)或对每一个包使用随机源IP(滑稽~)。 作为可选功能,您可以向每个SYN包加入数据。所有的SYN包设置了分片并使用hping的16字节虚拟MTU,用于保证包的分片。 使用nmap-nping意味着将会每秒发送X个包直到Y个包已被发送,并且只支持使用自己的IP或指定的IP。 TCP SYN 洪水不太可能使服务器宕机,但用来测试交换机、防火墙设备稳定性会非常不错。 请注意hping会同时报告出口与IP,这有可能会使您以为脚本没有按照预期运行,实际上源IP被正确的设置,如果您存疑请查看抓包的数据。 因为其源IP可以被设置,所以很容易就可进行 LAND 攻击(浏览https://en.wikipedia.org/wiki/LAND 了解相关)。源IP可控的能力同样可以使得发送SYN包去目标并迫使目标向第二个目标发送SYN-ACK包。

4. TCP ACK Flood

TCP ACK Flood - 提供与SYN flood相同的选项,不过设置的是ACK TCP标志。 有的系统可能会花费过多的CPU资源循环处理这类包。如果源IP被设置为来自某一个已经稳定建立的连接,那个已经稳定的连接可能会被攻击至中断。这种攻击被认为是“盲打”是因为它没有考虑任何已建立连接的任何细节(如顺序或已经确认的数量)。

5. TCP RST Flood

TCP RST Flood - 提供与SYN flood相同的选项, 不过设置的是RST TCP 标志。 如果源IP被设置为来自一个已经稳定建立的连接,该连接会被中断。 浏览https://en.wikipedia.org/wiki/TCP_reset_attack 了解相关。

6. TCP XMAS Flood

TCP XMAS Flood - 与SYN洪水和ACK洪水相似,拥有相同的选项,但发送所有TCP标志(CWR、ECN、URG、ACK、PSH、RST、SYN、FIN)。这种包被认为是“组装得像一棵圣诞树”。至少从理论上来说,接收者需要花费比标准形式包更多的资源来处理这种包。 然而这种包指向了一种不寻常的行为(如攻击)并且会被入侵检测系统轻易地识别。

在ubuntu的资源管理器里面可以看到,ubuntu正在不断在接受数据。

7. UDP Flood

UDP Flood - 很像TCP SYN Flood但对于指定目标:端口发送UDP包。与TCP SYN Flood函数相同,使用hping3并在没有找到时使用nmap-nping作为替代。所有的选项与TCP SYN Flood相同,除了你必须指定UDP包的内容。 再次声明,这对测试交换机或VOIP系统来说是个好的方法。

这里我在Enter random string(输入随机字符串)填入:testdata

8. SSL DOS

SSL DOS - 使用OpenSSL来尝试对目标的端口进行拒绝服务攻击。原理是建立许多连接并使服务器进行许多代价昂贵的握手计算操作。这段代码写的并不好看,所以不要期望它在您按下Ctrl+C后能够立即停止,但它的效率十分残酷。 脚本提供关于客户端重连的选项,如果目标服务器支持客户端发起的重连,您就应该启用该选项。 就算目标服务器不支持以上特性(如CVE-2011-1473),它仍然有可能影响或使服务器拒绝服务。 用这种方法攻击负载均衡服务器、代理服务器或启用SSL的服务器(不只是HTTPS,只要是任何SSL或TLS加密的服务)来观察它们如何应对压力是非常有效的。

9. Slowloris

Slowloris - 使用netcat来缓慢地向目标:端口发送HTTP消息头,目的是使其缺乏资源。它可以对付许多(可惜不是所有)HTTP服务器,使得连接可以保持足够长的时间。因此这种攻击只能对没有限制能够完整发送HTTP请求的时间的服务器有足够效果。 有一些对这种攻击的执行使用了可以清楚识别的消息头,本脚本进行这样的操作。此外,与目标进行的连接数是可以设置的。 发送每一行消息头之间的间隔是可以设置的,默认随机在5到15秒之间。思路是缓慢地发送包,但不是太慢以至于服务器超时而终止连接。举个例子,如果我们每900秒发送一行消息头,服务器很有可能远在我们发送下一行之前就终止这个连接。 您可以选择是否使用SSL(SSL或TLS),这将需要使用到stunnel并使得攻击HTTPS可行。您不能在攻击明文HTTP服务器时选择使用SSL选项。 对于这种攻击的防御方式包括但不限于:

  1. 限制每个客户端可进行的TCP连接。这可以防止单一的一台机器就使服务器不可用,但如果像100000个客户端同时进行攻击的话,这样做就并不效率。并且,这种防御方式可能会对多个客户端(合法地)通过同一个远端代理服务器进行的操作产生消极的影响。
  2. 限制能够完整发送HTTP请求的时间,这很有效,对于攻击依赖于向服务器缓慢地发送消息头(服务器要在响应前接收所有的消息头)。如果服务器限制了最大接收所有消息头的时间为10秒(为例),那将会严重限制这种攻击能够产生的影响。这种操作可能会阻止合法的客户端通过缓慢或丢包严重的连接来访问网站。

 我在ubuntu开启一个Apache服务。攻击这个Apache服务。

 

通过攻击可以看到,ubuntu的apache页面现在重新刷新加载缓慢,说明我们的攻击起效果。

10. IPsec DOS

IPsec DOS - 使用ike-scan来尝试对指定的IP进行洪水攻击,可使用随机源IP的主模式和积极模式第一步包。使用IPsec Scan模组来确定IPsec VPN服务器的存在。

11. Distraction Scan

Distraction Scan - 这实际上并不是一种DOS攻击,它只是用hping3进行许多的TCP SYN扫描(用您恶意指定的源IP,比如您最大的敌人)。它被设计来进行很明显的扫描来引起入侵检测系统的注意并期望掩盖其他实际扫描以及您的其他操作。

12. DNS NXDOMAIN Flood

DNS NXDOMAIN Flood - 这种攻击使用dig并且被设计用来发送大量对不存在域名的查询压测您的DNS服务器。当对递归查询的DNS服务器使用时,它会增加服务器负载并使缓存中充满无用的响应,使得对合法请求的响应变慢或终止。攻击最好在多个客户端上进行。使用Ctrl+C来停止攻击。

EXTRACTION模块

1. Send File

Send File - 这个模块使用netcat发送TCP或UDP数据。对于提取数据十分有用。 Md5和sha512校验码在发送文件前会被计算并显示。 文件可以被发送至您想要的服务器,Listener被用来接收这些文件。

2. Listener

Listener - 使用netcat在指定的TCP或UDP端口打开一个监听器。对于测试系统日志的连接度、接收文件或探测网络中的扫描很有用。所有接收到的数据会被写入到./pentmenu.listener.out或您指定的文件。 如果您在UDP端口接收文件,监听器必须手动Ctrl+C关闭。因为我们必须强制令netcat保持开放(UDP是无连接协议)。 如果您在TCP端口接收文件,连接会在客户端终止发送(文件传输完成)后自动关闭,并且md5和sha512校验码会自动计算并显示。

在ubuntu里面输入反向shell,在kali里面得到回应。

在ubuntu断开反向shell连接后,在kali这边生成一个pentmenu.listener.out文件。

查看一下pentmenu.listener.out文件

总结

Pentmenu 是一个为网络渗透测试设计的简单菜单驱动工具,专注于执行多种常见的攻击和测试任务。它基于 Bash 脚本构建,结合了多个强大的网络工具(如 hping3、netcat 和 ike-scan),为用户提供了一种快速测试的方式。Pentmenu 的功能覆盖了流量生成、协议攻击和文件传输等方面,在学习与实践网络安全过程中非常实用。

这个脚本仅能被授权并负责地使用。您必须对您的行为负责,脚本不提供任何承诺或保障。作者(们)对您的行为没有任何责任和法律义务。

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值