kali攻击服务器方法_kali如何攻击服务器

hacker|
292

黑客基本入门知识

根据我所知道回答一下这个问题。

这里暂且理解为网络安全的需要了解的一些知识。

网络基础知识,特别是网络协议

编程的基础知识

Linux的基础知识

web安全的基本知识

网络运维的基本知识

... ...

网络基础知识,特别是网络协议

熟练掌握TCP/IP分层模型,知道每层完成的功能,传输的报文,以及对应的协议;

熟练掌握一些重要的协议,比如http、dns、arp、tcp、udp等协议;

熟练掌握组网的基础知识,比如局域网组网,vlan、路由协议等;

掌握一些网络设备的配置,例如华为网络设备的配置,知道如何组建局域网、如何通过路由协议组建网络等。

编程的基础知识

至少要掌握C语言的编程,灵活应用指针、struct结构;

至少掌握一门脚本语言,推荐python语言,可以直接调用C语言的库,并且非常的灵活,现在很多网络安全工具是用python编写的;

能够看懂汇编语言,用于理解常见的漏洞。

Linux的基础知识

linux的基本使用操作,熟练掌握常用的命令,防火墙的配置等;

linux各类服务器的搭建,比如ftp服务器、dns服务器等;

数量掌握网络安全渗透平台kali的使用,kali广泛用于网络渗透测试和审计,是一个综合的网络安全渗透测试平台。

web安全的基本知识

熟练掌握http协议的知识,能够分析http数据包

了解前台的html语言、javascript代码、jquery框架,后端的mysql数据库,以及常用的php语言,用于分析web安全漏洞;

熟练掌握xss跨站脚本攻击,xss是非常流行的web安全漏洞,会手动和工具发现xss漏洞;

数量掌握sql注入的知识,能够手工或者工具发现sql注入漏洞。

网络运维的基本知识

网络设备的配置,比如vlan配置、vrrp配置、ospf配置、rip配置、snmp配置等;

数量掌握通过snmp获取网络设备的流量、运行状态等数据;

数量掌握linux系统、windows系统运维的基础知识。

总结

网络安全是一门综合性的学科,需要连接网络的方方面面,需要不断的学习、实践和总结。

对于网络安全的学习,大家有什么看法呢,欢迎在评论区留言讨论。

如需更多帮助,请私信关注。谢谢极客跟你分享极客的经验,也是极客我在信息这个行业多年知道的,看到的。

第一点,计算机网络:这个是信息安全行业基础,你的攻击或者维护都离不开计算机网络。

第二点,linux(kali),如果你是想做运维人员,你面临的就是什么内网啊,域啊,服务器啊等

第三点,精通js,以后你遇到的注入啊,xss啊等都和这个东西有关。

第三点,数据库,比如sql server,mysql,Oracle等。

第四点,一种脚本语言,比如python等。

第五点,c/c++,极客觉得这个是你编程的基础,也是你对计算机底层理解的关键。

第六点,汇编,如果你想成为漏洞挖掘者,一定要学汇编和OD。

目前极客想到的基本就这些了,极客目前缺一个加优,记得帮我加优,更希望能帮到你!

求助:如何将kali攻击机添加到目标的内网里

使用桥接上网的话需要配置linux系统的IP,具体步骤如下:1,在命令行模式下或者桌面上进入终端模式,找到/etc/sysconfig/network-script/ifcfg-eth0文件;2,使用vi打开文件viifcfg-eth0,注意,有的linux系统这个文件可能不带ifcfg前缀。3,需要改动的:BOOTPROTO=static#默认是dhcp,自动获取,自动获取需要将网络模式改桥接模式需要增加的:IPADDR=192.168.1.10#地址是自己设置的NETMASK=255.255.255.0修改好之后保存退出。这样linux可以上网了。4,如果想要使电脑和linux在同一局域网下,方面2台机器之间互连的话。还需要配置电脑的ip,打开网络和共享中心-打开适配器设置-可以看到有1个vmware的网络(有的可能是2个),右键第一个属性,打开TCP/IPv4的属性设置,将ip地址设置成192.168.1.20。

Kali Linux 无线渗透测试入门指南 第二章 WLAN 和固有的不安全性

没有什么伟大的东西能在脆弱的基础上构建。在我们的语境中,固有的不安全性之上不能构建出安全。

WLAN 在设计上拥有特定的不安全性,它们可被轻易利用,例如,通过封包注入,以及嗅探(能够在很远处进行)。我们会在这一章利用这些缺陷。

由于这本书处理无线方面的安全,我们假设你已经对协议和封包的头部有了基本的了解。没有的话,或者你离开无线有很长时间了,现在是个好机会来回顾这个话题。

让我们现在快速复习一些 WLAN 的基本概念,大多数你可能已经知道了。在 WLAN 中,通信以帧的方式进行,一帧会拥有下列头部结构:

Frame Control 字段本身拥有更复杂的结构:

类型字段定义了下列三种 WLAN 帧:

我们在之后的章节中讨论不同攻击的时候,会讨论这些帧中每一种的安全隐患。

我们现在看一看如何使用 Wireshark 嗅探无线网络上的这些帧。也有其他工具 -- 例如 Airodump-NG,Tcpdump,或者 Tshark -- 你同样可以用于嗅探。我们在这本书中多数情况会使用 Wireshark,但是我们推荐你探索其它工具。第一步是创建监控模式的接口。这会为你的适配器创建接口,使我们可以读取空域中的所有无线帧,无论它们的目标是不是我们。在有线的世界中,这通常叫做混合模式。

让我们现在将无线网卡设为监控模式。

遵循下列指南来开始:

我们成功创建了叫做 mon0 的监控模式接口。这个接口用于嗅探空域中的无线封包。这个接口已经在我们的无线适配器中创建了。

可以创建多个监控模式的接口,使用相同的物理网卡。使用 airmon-ng 工具来看看如何完成。

太棒了!我们拥有了监控模式接口,等待从空域中读取一些封包。所以让我们开始吧。

下一个练习中,我们会使用 Wireshark 和刚刚创建的 mon0 监控器模式接口,从空域中嗅探封包。

遵循下列指南来开始:

观察封包中不同的头部字段,并将它们和之前了解的 WLAN 帧类型以及子类型关联。

我们刚刚从空域中嗅探了第一组封包。我们启动了 Wireshark,它使用我们之前创建的监控模式接口 mon0 。通过查看 Wireshark 的底部区域,你应该注意到封包捕获的速度以及目前为止捕获的封包数量。

Wireshark 的记录有时会令人生畏,即使在构成合理的无线网络中,你也会嗅探到数千个封包。所以深入到我们感兴趣的封包十分重要。这可以通过使用 Wireshark 中的过滤器来完成。探索如何使用这些过滤器来识别记录中唯一的无线设备 -- 接入点和无线客户端。

如果你不能做到它,不要着急,它是我们下一个要学的东西。

现在我们学习如何使用 WIreshark 中的过滤器来查看管理、控制和数据帧。

请逐步遵循下列指南:

我们刚刚学习了如何在 Wireshark 中,使用多种过滤器表达式来过滤封包。这有助于监控来自我们感兴趣的设备的所选封包,而不是尝试分析空域中的所有封包。

同样,我们也可以以纯文本查看管理、控制和数据帧的封包头部,它们并没有加密。任何可以嗅探封包的人都可以阅读这些头部。要注意,黑客也可能修改任何这些封包并重新发送它们。协议并不能防止完整性或重放攻击,这非常易于做到。我们会在之后的章节中看到一些这类攻击。

你可以查阅 Wireshark 的手册来了解更多可用的过滤器表达式,以及如何使用。尝试玩转多种过滤器组合,直到你对于深入到任何细节层级都拥有自信,即使在很多封包记录中。

下个练习中,我们会勘察如何嗅探我们的接入点和无线客户端之间传输的数

据封包。

这个练习中,我们会了解如何嗅探指定无线网络上的封包。出于简单性的原因,我们会查看任何没有加密的封包。

遵循下列指南来开始:

我们刚刚使用 WIreshark 和多种过滤器嗅探了空域中的数据。由于我们的接入点并没有使用任何加密,我们能够以纯文本看到所有数据。这是重大的安全问题,因为如果使用了类似 WIreshark 的嗅探器,任何在接入点 RF 范围内的人都可以看到所有封包。

使用 WIreshark 进一步分析数据封包。你会注意 DHCP 请求由客户端生成,并且如果 DHCP 服务器可用,它会返回地址。之后你会发现 ARP 封包和其它协议的封包。这样来被动发现无线网络上的主机十分简单。能够看到封包记录,并重构出无线主机上的应用如何和网络的其余部分通信十分重要。Wireshark 所提供的有趣的特性之一,就是跟踪流的能力。这允许你一起查看多个封包,它们是相同连接中的 TCP 数据交换。

此外,尝试登陆 和其它流行站点并分析生成的数据流量。

我们会演示如何向无线网络中注入封包。

我们使用 aireplay-ng 工具来进行这个练习,它在 Kali 中自带。

遵循下列指南来开始:

我们刚刚使用 aireplay-ng,成功向我们的测试环境网络注入了封包。要注意我们的网卡将这些任意的封包注入到网络中,而不需要真正连接到无线接入点 Wireless Lab 。

我们会在之后的章节中详细了解封包注入。现在请探索一下 Aireplay-ng 工具用于注入封包的其它选项。你可以使用 Wireshark 监控空域来验证注入是否成功。

WLAN 通常在三种不同频率范围内工作:2.4 GHz,3.6 GHz 和 4.9/5.0 GHz。并不是所有 WIFI 网卡都全部支持这三种范围和相关的波段。例如,Alfa 网卡只支持 IEEE 802.11b/g。这就是说,这个网卡不能处理 802.11a/n。这里的关键是嗅探或注入特定波段的封包。你的 WIFI 网卡需要支持它。

另一个 WIFI 的有趣方面是,在每个这些波段中,都有多个频道。要注意你的 WIFI 网卡在每个时间点上只能位于一个频道。不能将网卡在同一时间调整为多个频道。这就好比车上的收音机。任何给定时间你只能将其调整为一个可用的频道。如果你打算听到其它的东西,你需要修改频道。WLAN 嗅探的原则相同。这会产生一个很重要的结论 -- 我们不能同时嗅探所有频道,我们只能选择我们感兴趣的频道。这就是说,如果我们感兴趣的接入点的频道是 1,我们需要将网卡设置为频道 1。

虽然我们在上面强调了 WLAN 嗅探,注入的原则也相同。为了向特定频道注入封包,我们需要将网卡调整为特定频道。

让我们现在做一些练习,设置网卡来制定频道或进行频道跳跃,设置规范域以及功率等级,以及其它。

仔细遵循以下步骤:

我们知道了,无线嗅探和封包注入依赖于硬件的支持。这即是说我们只能处理网卡支持的波段和频道。此外,无线网卡每次只能位于一个频道。这说明了我们只能一次嗅探或注入一个频道。

WIFI 的复杂性到这里并没有结束。每个国家都有自己的未授权的频谱分配策略。这规定了允许的功率等级和频谱的用户。例如,FCC 规定,如果你在美国使用 WLAN,你就必须遵守这些规定。在一些国家,不遵守相关规定会收到惩罚。

现在让我们看看如何寻找默认的规范设置,以及如何按需修改它们。

仔细遵循以下步骤:

每个国家都有用于未授权无线波段的自己的规范。当我们将规范域设置为特定国家时,我们的网卡会遵循允许的频道和指定的功率等级。但是,嗅探网卡的规范域,来强制它工作在不允许的频道上,以及在高于允许值的功率等级上传输数据相当容易。

查看你可以设置的多种参数,例如频道、功率、规范域,以及其它。在 Kali 上使用 iw 命令集。这会让你深刻了解在不同国家的时候如何配置网卡,以及修改网卡设置。

Q1 哪种帧类型负责在 WLAN 中的验证?

Q2 使用 airmon-mg 在 wlan0 上创建的第二个监控器模式接口的名字是什么?

Q3 用于在 Wireshark 中查看非信标的过滤器表达式是什么?

这一章中,我们对 WLAN 协议进行了一些重要的观察。

管理、控制和数据帧是未加密的,所以监控空域的人可以轻易读取。要注意数据封包载荷可以使用加密来保护,使其更加机密。我们在下一章讨论它们。

我们可以通过将网卡设置为监控模式来嗅探附近的整个空域。

由于管理和控制帧没有完整性保护,使用例如 aireplay-ng 的工具通过监控或照旧重放它们来注入封包非常容易。

未加密的数据封包也可以被修改和重放到网络中。如果封包加密了,我们仍然可以照旧重放它们,因为 WLAN 设计上并没有保护封包重放。

下一章中,我们会看一看用于 WLAN 的不同验证机制,例如 MAC 过滤和共享验证,以及其它。并且通过实际的演示来理解多种安全缺陷。

Kali Linux 网络扫描秘籍 第三章 端口扫描(二)

执行 TCP 端口扫描的一种方式就是执行一部分。目标端口上的 TCP 三次握手用于识别端口是否接受连接。这一类型的扫描指代隐秘扫描, SYN 扫描,或者半开放扫描。这个秘籍演示了如何使用 Scapy 执行 TCP 隐秘扫描。

为了使用 Scapy 执行 TCP 隐秘 扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

此外,这一节也需要编写脚本的更多信息,请参考第一章中的“使用文本编辑器*VIM 和 Nano)。

为了展示如何执行 SYN 扫描,我们需要使用 Scapy 构造 TCP SYN 请求,并识别和开放端口、关闭端口以及无响应系统有关的响应。为了向给定端口发送 TCP SYN 请求,我们首先需要构建请求的各个层面。我们需要构建的第一层就是 IP 层:

为了构建请求的 IP 层,我们需要将 IP 对象赋给变量 i 。通过调用 display 函数,我们可以确定对象的属性配置。通常,发送和接受地址都设为回送地址, 127.0.0.1 。这些值可以通过修改目标地址来修改,也就是设置 i.dst 为想要扫描的地址的字符串值。通过再次调用 dislay 函数,我们看到不仅仅更新的目标地址,也自动更新了和默认接口相关的源 IP 地址。现在我们构建了请求的 IP 层,我们可以构建 TCP 层了。

为了构建请求的 TCP 层,我们使用和 IP 层相同的技巧。在这个立即中, TCP 对象赋给了 t 变量。像之前提到的那样,默认的配置可以通过调用 display 函数来确定。这里我们可以看到目标端口的默认值为 HTTP 端口 80。对于我们的首次扫描,我们将 TCP 设置保留默认。现在我们创建了 TCP 和 IP 层,我们需要将它们叠放来构造请求。

我们可以通过以斜杠分离变量来叠放 IP 和 TCP 层。这些层面之后赋给了新的变量,它代表整个请求。我们之后可以调用 dispaly 函数来查看请求的配置。一旦构建了请求,可以将其传递给 sr1 函数来分析响应:

相同的请求可以不通过构建和堆叠每一层来执行。反之,我们使用单独的一条命令,通过直接调用函数并传递合适的参数:

要注意当 SYN 封包发往目标 Web 服务器的 TCP 端口 80,并且该端口上运行了 HTTP 服务时,响应中会带有 TCP 标识 SA 的值,这表明 SYN 和 ACK 标识都被激活。这个响应表明特定的目标端口是开放的,并接受连接。如果相同类型的封包发往不接受连接的端口,会收到不同的请求。

当 SYN 请求发送给关闭的端口时,返回的响应中带有 TCP 标识 RA,这表明 RST 和 ACK 标识为都被激活。ACK 为仅仅用于承认请求被接受,RST 为用于断开连接,因为端口不接受连接。作为替代,如果 SYN 封包发往崩溃的系统,或者防火墙过滤了这个请求,就可能接受不到任何信息。由于这个原因,在 sr1 函数在脚本中使用时,应该始终使用 timeout 选项,来确保脚本不会在无响应的主机上挂起。

如果函数对无响应的主机使用时, timeout 值没有指定,函数会无限继续下去。这个演示中, timout 值为 1秒,用于使这个函数更加完备,响应的值可以用于判断是否收到了响应:

Python 的使用使其更易于测试变量来识别 sr1 函数是否对其复制。这可以用作初步检验,来判断是否接收到了任何响应。对于接收到的响应,可以执行一系列后续检查来判断响应表明端口开放还是关闭。这些东西可以轻易使用 Python 脚本来完成,像这样:

在这个 Python 脚本中,用于被提示来输入 IP 地址,脚本之后会对定义好的端口序列执行 SYN 扫描。脚本之后会得到每个连接的响应,并尝试判断响应的 SYN 和 ACK 标识是否激活。如果响应中出现并仅仅出现了这些标识,那么会输出相应的端口号码。

运行这个脚本之后,输出会显示所提供的 IP 地址的系统上,前 100 个端口中的开放端口。

这一类型的扫描由发送初始 SYN 封包给远程系统的目标 TCP 端口,并且通过返回的响应类型来判断端口状态来完成。如果远程系统返回了 SYN+ACK 响应,那么它正在准备建立连接,我们可以假设这个端口开放。如果服务返回了 RST 封包,这就表明端口关闭并且不接收连接。此外,如果没有返回响应,扫描系统和远程系统之间可能存在防火墙,它丢弃了请求。这也可能表明主机崩溃或者目标 IP 上没有关联任何系统。

Nmap 拥有可以执行远程系统 SYN 扫描的扫描模式。这个秘籍展示了如何使用 Namp 执行 TCP 隐秘扫描。

为了使用 Nmap 执行 TCP 隐秘扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

就像多数扫描需求那样,Nmap 拥有简化 TCP 隐秘扫描执行过程的选项。为了使用 Nmap 执行 TCP 隐秘扫描,应使用 -sS 选项,并附带被扫描主机的 IP 地址。

在提供的例子中,特定的 IP 地址的 TCP 80 端口上执行了 TCP 隐秘扫描。和 Scapy 中的技巧相似,Nmap 监听响应并通过分析响应中所激活的 TCP 标识来识别开放端口。我们也可以使用 Namp 执行多个特定端口的扫描,通过传递逗号分隔的端口号列表。

在这个例子中,目标 IP 地址的端口 21、80 和 443 上执行了 SYN 扫描。我们也可以使用 Namp 来扫描主机序列,通过标明要扫描的第一个和最后一个端口号,以破折号分隔:

在所提供的例子中,SYN 扫描在 TCP 20 到 25 端口上执行。除了拥有指定被扫描端口的能力之外。Nmap 同时拥有配置好的 1000 和常用端口的列表。我们可以执行这些端口上的扫描,通过不带任何端口指定信息来运行 Nmap:

在上面的例子中,扫描了 Nmap 定义的 1000 个常用端口,用于识别 Metasploitable2 系统上的大量开放端口。虽然这个技巧在是被多数设备上很高效,但是也可能无法识别模糊的服务或者不常见的端口组合。如果扫描在所有可能的 TCP 端口上执行,所有可能的端口地址值都需要被扫描。定义了源端口和目标端口地址的 TCP 头部部分是 16 位长。并且,每一位可以为 1 或者 0。因此,共有 2 ** 16 或者 65536 个可能的 TCP 端口地址。对于要扫描的全部可能的地址空间,需要提供 0 到 65535 的端口范围,像这样:

这个例子中,Metasploitable2 系统上所有可能的 65536 和 TCP 地址都扫描了一遍。要注意该扫描中识别的多数服务都在标准的 Nmap 1000 扫描中识别过了。这就表明在尝试识别目标的所有可能的攻击面的时候,完整扫描是个最佳实践。Nmap 可以使用破折号记法,扫描主机列表上的 TCP 端口:

这个例子中,TCP 80 端口的 SYN 扫描在指定地址范围内的所有主机上执行。虽然这个特定的扫描仅仅执行在单个端口上,Nmap 也能够同时扫描多个系统上的多个端口和端口范围。此外,Nmap 也能够进行配置,基于 IP 地址的输入列表来扫描主机。这可以通过 -iL 选项并指定文件名,如果文件存放于执行目录中,或者文件路径来完成。Nmap 之后会遍历输入列表中的每个地址,并对地址执行特定的扫描。

Nmap SYN 扫描背后的底层机制已经讨论过了。但是,Nmap 拥有多线程功能,是用于执行这类扫描的快速高效的方式。

除了其它已经讨论过的工具之外,Metasploit 拥有用于 SYN 扫描的辅助模块。这个秘籍展示了如何使用 Metasploit 来执行 TCP 隐秘扫描。

为了使用 Metasploit 执行 TCP 隐秘扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

Metasploit 拥有可以对特定 TCP 端口执行 SYN 扫描的辅助模块。为了在 Kali 中启动 Metasploit,我们在终端中执行 msfconsole 命令。

为了在 Metasploit 中执行 SYN 扫描,以辅助模块的相对路径调用 use 命令。一旦模块被选中,可以执行 show options 命令来确认或修改扫描配置。这个命令会展示四列的表格,包括 name 、 current settings 、 required 和 description 。 name 列标出了每个可配置变量的名称。 current settings 列列出了任何给定变量的现有配置。 required 列标出对于任何给定变量,值是否是必须的。 description 列描述了每个变量的功能。任何给定变量的值可以使用 set 命令,并且将新的值作为参数来修改。

在上面的例子中, RHOSTS 值修改为我们打算扫描的远程系统的 IP 地址。地外,线程数量修改为 20。 THREADS 的值定义了在后台执行的当前任务数量。确定线程数量涉及到寻找一个平衡,既能提升任务速度,又不会过度消耗系统资源。对于多数系统,20 个线程可以足够快,并且相当合理。 PORTS 值设为 TCP 端口 80(HTTP)。修改了必要的变量之后,可以再次使用 show options 命令来验证。一旦所需配置验证完毕,就可以执行扫描了。

上面的例子中,所指定的远程主机的钱 100 个 TCP 端口上执行了 TCP SYN 扫描。虽然这个扫描识别了目标系统的多个设备,我们不能确认所有设备都识别出来,除非所有可能的端口地址都扫描到。定义来源和目标端口地址的TCP 头部部分是 16 位长。并且,每一位可以为 1 或者 0。因此,共有 2 ** 16 或 65536 个可能的 TCP 端口地址。对于要扫描的整个地址空间,需要提供 0 到 65535 的 端口范围,像这样:

在这个李忠,远程系统的所有开放端口都由扫描所有可能的 TCP 端口地址来识别。我们也可以修改扫描配置使用破折号记法来扫描地址序列。

这个例子中,TCP SYN 扫描执行在由 RHOST 变量指定的所有主机地址的 80 端口上。与之相似, RHOSTS 可以使用 CIDR 记法定义网络范围。

Metasploit SYN 扫描辅助模块背后的底层原理和任何其它 SYN 扫描工具一样。对于每个被扫描的端口,会发送 SYN 封包。SYN+ACK 封包会用于识别活动服务。使用 MEtasploit 可能更加有吸引力,因为它拥有交互控制台,也因为它是个已经被多数渗透测试者熟知的工具。

除了我们之前学到了探索技巧,hping3 也可以用于执行端口扫描。这个秘籍展示了如何使用 hping3 来执行 TCP 隐秘扫描。

为了使用 hping3 执行 TCP 隐秘扫描,你需要一个运行 TCP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

除了我们之前学到了探索技巧,hping3 也可以用于执行端口扫描。为了使用 hping3 执行端口扫描,我们需要以一个整数值使用 --scan 模式来指定要扫描的端口号。

上面的例子中,SYN 扫描执行在指定 IP 地址的 TCP 端口 80 上。 -S 选项指明了发给远程系统的封包中激活的 TCP 标识。表格展示了接收到的响应封包中的属性。我们可以从输出中看到,接收到了SYN+ACK 响应,所以这表示目标主机端口 80 是开放的。此外,我们可以通过输入够好分隔的端口号列表来扫描多个端口,像这样:

在上面的扫描输出中,你可以看到,仅仅展示了接受到 SYN+ACK 标识的结果。要注意和发送到 443 端口的 SYN 请求相关的响应并没有展示。从输出中可以看出,我们可以通过使用 -v 选项增加详细读来查看所有响应。此外,可以通过传递第一个和最后一个端口地址值,来扫描端口范围,像这样:

这个例子中,100 个端口的扫描足以识别 Metasploitable2 系统上的服务。但是,为了执行 所有 TCP 端口的扫描,需要扫描所有可能的端口地址值。定义了源端口和目标端口地址的 TCP 头部部分是 16 位长。并且,每一位可以为 1 或者 0。因此,共有 2 ** 16 或者 65536 个可能的 TCP 端口地址。对于要扫描的全部可能的地址空间,需要提供 0 到 65535 的端口范围,像这样:

hping3 不用于一些已经提到的其它工具,因为它并没有 SYN 扫描模式。但是反之,它允许你指定 TCP 封包发送时的激活的 TCP 标识。在秘籍中的例子中, -S 选项让 hping3 使用 TCP 封包的 SYN 标识。

在多数扫描工具当中,TCP 连接扫描比 SYN 扫描更加容易。这是因为 TCP 连接扫描并不需要为了生成和注入 SYN 扫描中使用的原始封包而提升权限。Scapy 是它的一大例外。Scapy 实际上非常难以执行完全的 TCP 三次握手,也不实用。但是,出于更好理解这个过程的目的,我们来看看如何使用 Scapy 执行连接扫描。

为了使用 Scapy 执行全连接扫描,你需要一个运行 UDP 网络服务的远程服务器。这个例子中我们使用 Metasploitable2 实例来执行任务。配置 Metasploitable2 的更多信息请参考第一章中的“安装 Metasploitable2”秘籍。

此外,这一节也需要编写脚本的更多信息,请参考第一章中的“使用文本编辑器*VIM 和 Nano)。

Scapy 中很难执行全连接扫描,因为系统内核不知道你在 Scapy 中发送的请求,并且尝试阻止你和远程系统建立完整的三次握手。你可以在 Wireshark 或 tcpdump 中,通过发送 SYN 请求并嗅探相关流量来看到这个过程。当你接收到来自远程系统的 SYN+ACK 响应时,Linux 内核会拦截它,并将其看做来源不明的响应,因为它不知道你在 Scapy 中 发送的请求。并且系统会自动使用 TCP RST 封包来回复,因此会断开握手过程。考虑下面的例子:

这个 Python 脚本的例子可以用做 POC 来演系统破坏三次握手的问题。这个脚本假设你将带有开放端口活动系统作为目标。因此,假设 SYN+ACK 回复会作为初始 SYN 请求的响应而返回。即使发送了最后的 ACK 回复,完成了握手,RST 封包也会阻止连接建立。我们可以通过观察封包发送和接受来进一步演示。

在这个 Python 脚本中,每个发送的封包都在传输之前展示,并且每个收到的封包都在到达之后展示。在检验每个封包所激活的 TCP 标识的过程中,我们可以看到,三次握手失败了。考虑由脚本生成的下列输出:

在脚本的输出中,我们看到了四个封包。第一个封包是发送的 SYN 请求,第二个封包时接收到的 SYN+ACK 回复,第三个封包时发送的 ACK 回复,之后接收到了 RST 封包,它是最后的 ACK 回复的响应。最后一个封包表明,在建立连接时出现了问题。Scapy 中可能能够建立完成的三次握手,但是它需要对本地 IP 表做一些调整。尤其是,如果你去掉发往远程系统的 TSR 封包,你就可以完成握手。通过使用 IP 表建立过滤机制,我们可以去掉 RST 封包来完成三次握手,而不会干扰到整个系统(这个配置出于功能上的原理并不推荐)。为了展示完整三次握手的成功建立,我们使用 Netcat 建立 TCP 监听服务。之后尝试使用 Scapy 连接开放的端口。

这个例子中,我们在 TCP 端口 4444 开启了监听服务。我们之后可以修改之前的脚本来尝试连接 端口 4444 上的 Netcat 监听服务。

这个脚本中,SYN 请求发送给了监听端口。收到 SYN+ACK 回复之后,会发送 ACK回复。为了验证连接尝试被系统生成的 RST 封包打断,这个脚本应该在 Wireshark 启动之后执行,来捕获请求蓄力。我们使用 Wireshark 的过滤器来隔离连接尝试序列。所使用的过滤器是 tcp (ip.src == 172.16.36.135 || ip.dst == 172.16.36.135) 。过滤器仅仅用于展示来自或发往被扫描系统的 TCP 流量。像这样:

既然我们已经精确定位了问题。我们可以建立过滤器,让我们能够去除系统生成的 RST 封包。这个过滤器可以通过修改本地 IP 表来建立:

在这个例子中,本地 IP 表的修改去除了所有发往被扫描主机的目标地址的 TCP RST 封包。 list 选项随后可以用于查看 IP 表的条目,以及验证配置已经做了修改。为了执行另一次连接尝试,我们需要确保 Natcat 仍旧监听目标的 4444 端口,像这样:

和之前相同的 Python 脚本可以再次使用,同时 WIreshark 会捕获后台的流量。使用之前讨论的显示过滤器,我们可以轻易专注于所需的流量。要注意三次握手的所有步骤现在都可以完成,而不会收到系统生成的 RST 封包的打断,像这样:

此外,如果我们看一看运行在目标系统的 Netcat 服务,我们可以注意到,已经建立了连接。这是用于确认成功建立连接的进一步的证据。这可以在下面的输出中看到:

虽然这个练习对理解和解决 TCP 连接的问题十分有帮助,恢复 IP 表的条目也十分重要。RST 封包 是 TCP 通信的重要组成部分,去除这些响应会影响正常的通信功能。洗唛按的命令可以用于刷新我们的 iptable 规则,并验证刷新成功:

就像例子中展示的那样, flush 选项应该用于清楚 IP 表的条目。我们可以多次使用 list 选项来验证 IP 表的条目已经移除了。

执行 TCP 连接扫描的同居通过执行完整的三次握手,和远程系统的所有被扫描端口建立连接。端口的状态取决于连接是否成功建立。如果连接建立,端口被认为是开放的,如果连接不能成功建立,端口被认为是关闭的。

普通手机怎么变成黑客系统?

普通手机变成黑客手机的方法:

首先第一种是伪造wifi热点:我们都知道如今wifi是我们生活中比不可少的一部分,公众场合连接wifi也是常规操作,所以伪造一个假的wifi热点也就有了可乘之机,攻击他人的手机也是轻而易举。

其次是badusb劫持:这种方式的操作方式是只要将连接手机usb线插入到电脑之中,那么那个电脑就会自动执行命令,而最终的结果就是电脑沦陷。

最后是卡里Linux的全套工具包,这种手机攻击方式最牛逼的地方在于不需要远程服务器也能发出攻击。

总的来说,在时代发展的今天,手机已经渐渐的具备了电脑攻击的功能,而它又便捷容易携带,攻击时通常无声无息。如果是一个电脑黑客,他在那里噼里啪啦的敲键盘你可能会有察觉。

但是要有一个人用手机在那打字,你可能还以为他在跟妹子聊天呢。所以作为一个成年人更应该保护自己的安全,尤其是信息安全,不要在信息泄露那一刻才追悔莫及。

控制服务器进行攻击:

通常来说黑客手上都会掌握着大量的服务器资源,而这些服务器黑客也可以通过手机进行远程连接,然后通过输入指令来进行远程攻击。

使用这个方法来进行攻击的话,电脑能够发动的攻击,那么通过手机也同样能够实现,完全不需要随身带着笔记本。

毫不夸张的说,只要黑客能够远程连接到服务器,那么任意一部手机都有可能成为它的攻击工具。

手机通常是安卓系统或苹果系统,实际上大部分黑客软件都是电脑软件,手机是无法运行的,所以想在手机实现黑客技术很多是不能的,也显得很鸡肋。

也没有黑客喜欢拿着个小小的手机慢慢敲代码。在电脑上的话,黑客最喜欢的也不是window系统,而是黑客专用的kalilinux系统。

0条大神的评论

发表评论