ARP 欺骗和 MiTM
经典的黑客攻击之一是中间人攻击。在这种攻击中,黑客将自己置于客户端和服务器之间,从而可以访问两者之间的所有流量。
一般来说,当攻击者想要将自己置于客户端和服务器之间时,他们需要欺骗两个系统的 ARP。这不是进行 MiTM 攻击的唯一方法,但它可能是局域网 (LAN) 上最常见的方法。

MiTM 攻击是黑客领域最流行、最有效的攻击之一。从最简单的形式来看,MiTM 就是攻击者将自己置于客户端和服务器之间,并允许所有流量透明地通过其系统。这要求攻击者让服务器相信他们是客户端 ,并让客户端相信他们是服务器。当然,这两个系统面临的风险是中间人可以看到他们的所有流量,如果他们选择的话,还可以更改数据包。
MiTM 攻击的风险是:
* 嗅探密码
* 间谍活动
* 通信被破坏或改变
* 冒充
一、什么是ARP?
ARP 是地址解析协议,它在 40 位物理 MAC 地址和 32 位逻辑 IP 地址之间进行转换。本质上,它将网络第 3 层地址转换为第 2 层数据链路层地址。这使得网络交换机和其他网络设备能够识别哪个 NIC 卡具有哪个 IP 地址,从而向每个系统发送正确的流量并且仅发送正确的流量。

交换机收集 MAC 地址并通过发送广播 ARP 请求将其映射到 IP 地址。这些 ARP 请求不会以任何方式进行检查或验证,因此任何系统都可以响应它们想要的任何信息。攻击者可以使用该系统发送欺骗性 ARP 回复,告诉交换机它已被分配了另一台计算机的 IP 地址。一旦完成,交换机将向具有欺骗 IP 的 NIC 发送旨在发送给受害者的数据包。
二.ARPspoof欺骗
ARPspoof 是密歇根大学 Dug Song 开发的 dsniff 工具套件中的一个工具。这套工具包括:
* arpspoof
* dsniff
* macof
* tcpkill
* filesnarf
* mailsnarf
* urlsnarf
* webspy
* sshmitm
* webmitm
* and others.
ARPspoof 和许多其他工具都内置在我们的 Kali Linux 发行版中,因此我们不需要下载和安装任何东西。在本演示和实验中,我们将主要使用 arpspoof 和 dsniff。
三.使用 arpspoof 和 dsniff 的 MiTM
在本实验室中,我们将使用三台机器;
(1)客户端,Windows 7
(2)服务器一台,Debian Linux
(3)攻击者,Kali系统
我将使用虚拟机来完成此操作。
下图说明了我们将在即将到来的实验室中所做的事情。

首先,我们使用Windows 7系统作为我们的客户端系统,如下所示。请注意,它的 IP 地址是 192.168.1.116。
然后,我们使用 Debian Linux 系统作为我们的服务器。我将在 Debian 系统上使用黄色背景,以清楚地将其与中间的攻击者系统区分开来。这里,我们开始对Windows 7系统进行ping。由于 Linux 中的 ping 是连续的,所以就让它无限期地继续下去吧。如果您使用的是 Windows 系统,则 ping 只会持续 4 次,因此您需要通过键入以下内容来设置连续 ping:
kali > ping 192.168.1.116 -t

ping 现在正在访问 Windows 7 系统并被回显。
在下一步中,我们的 Kali 系统上需要三 (3) 个终端。我们要做的就是欺骗 ARP 缓存:
(1)让Debian系统认为我们是Windows 7系统;
(2)让Windows 7系统认为我们是Debian系统;
(3) 通过我们的攻击系统转发数据包,以便两者之间的连接是透明的并且不会中断它们的通信。
首先,让我们使用arpspoof命令来欺骗Windows 7系统,让其相信我们是Debian系统。
kali > arpspoof -t 192.168.1.116 192.168.1.118

接下来,在一个单独的终端中,让我们使用 arpspoof 来欺骗 Debian 系统,让其相信我们是 Windows 7 系统。请注意,只是反转了上述命令的 IP 地址。
kali > arpspoof -t 192.168.1.118 192.168.1.116

当我们这样做时,我们可以看到 ping 已停止返回到 Debian 系统。

如果我们可以让 ping 通过攻击者 (Kali) 系统到达 Windows 7 系统,则 ping 应该会恢复。
从 Kali 系统上的第三个终端,我们需要允许数据包通过我们的操作系统。这可以通过使用 Linux 中名为ip_forward的命令来完成。我们可以通过键入来启动这种类型的数据包传递;
kali > echo 1 > /proc/sys/net/ipv4/ip_forward
在哪里:
echo 1 告诉内核在 proc 目录的 ip_forward 字段中放置 1(1=启用,0=禁用)。

当我们这样做时,ping 应该直接通过我们的 Kali 系统内核传递到 Windows 7 系统。本质上,我们把自己置于Windows 7系统和Debian系统之间,让它们的所有流量都经过我们。
当我们返回 Debian 系统时,我们可以看到 ping 已恢复并直接穿过我们的攻击者系统!

四.嗅探
现在我们已经成功地将自己置于这两台计算机之间,我们有很多选项可以用来对付这两个受害者。其中一种选择是使用能够检测通过网络的凭据并抓取它们的嗅探器。
Dsniff 是一个嗅探器,也是由 Dug Sung 开发的,它嗅探现在通过我们的攻击系统的流量并寻找凭据。它能够识别并获取以下类型的凭证;
-
FTP
-
Telnet
-
SMTP
-
HTTP
-
POP
-
poppass,
-
NNTP
-
IMAP
-
SNMP
-
LDAP
-
Rlogin
-
RIP
-
OSPF
-
PPTP
-
MS-CHAP
-
NFS
-
VRRP
-
YP/NIS
-
SOCKS
-
X11
-
CVS
-
IRC
-
AIM
-
ICQ,
-
Napster
-
PostgreSQL
-
Meeting Maker,
-
Citrix ICA,
-
pcAnywhere,
-
NAI Sniffer,
-
Microsoft SMB,
-
Oracle SQL*Net,
-
Sybase
-
Microsoft SQL protocols.
现在我们的流量已经穿过我们的攻击系统,我们可以使用 dsniff 捕获流量并将其放置在名为sniffed.txt的文件中。
kali > dsniff -i eth0 -w sniffed.txt

即使我们对嗅探凭据不感兴趣,我们也可以使用像tcpdump这样的嗅探器来减少进出系统的所有流量,如下所示。

此外,dsniff 工具套件包括以下内容,一旦您在中间站稳脚跟,就可以使用它们。
* tcpkill用于终止 TCP 连接
* mailsnarf捕获 SMTP 邮件流量
* URLSnarf捕获并输出从 HTTP 流量中嗅探到的所有请求的 URL。
如果我们在中间的攻击系统上使用 URLSnarf,并且一个系统导航到网络,我们可以通过键入来查看 URL 和其他信息;
kali > urlsnarf

中间人是经典的黑客攻击之一。它有很多种类,但在局域网 (LAN) 上,arpspoof 是最受欢迎的之一。通过这种方式,攻击者可以完全访问所有数据包流量,从而可以随意读取和更改流量。
网络安全学习路线&学习资源
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。

网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。

一些我自己买的、其他平台白嫖不到的视频教程:

需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
网络安全学习路线&学习资源
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!
3824

被折叠的 条评论
为什么被折叠?



