四种假消息攻击-恶搞你的室友

关键词:ARP欺骗    ICMP重定向    IP欺骗    DoS攻击

#00x1 前言

    在学习网络攻防技术时如果只对各种攻击的原理和理论进行了解和学习,那么可能不到3分钟就开始拽瞌睡了,如果加上实践的反馈,那种实验成功的快感会成为你源源不断的动力,让你沉迷,让你上瘾。不过法网恢恢疏而不漏,掌握这些技能用来学习、交流、研究或者吹吹牛就行了,在你蠢蠢欲动的时候先看看《网络安全法》冷静冷静,千万不要挑战法律的底线,人在做,天在看。此文章仅提供技术的讨论和交流,对任何用于恶意攻击的违法行为概不负责。

#00x2 原理介绍

    ARP欺骗

    根据百度百科的定义,ARP地址解析协议是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。可通过arp -a命令查询本机ARP缓存中IP地址-->MAC地址的对应关系。具体详细介绍见ARP

    址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

    ICMP重定向攻击

    根据百度百科的定义,ICMP是Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。具体详细介绍见ICMP

    ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据包向它的目的地转发。这样攻击者可以伪造路由器给客户端发送一个ICMP重定向包,告诉客户端到达服务器的最佳路由是攻击者的机器。

    IP欺骗

    根据百度百科的定义,IP地址欺骗是指行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份。这是一种黑客的攻击形式,黑客使用一台计算机上网,而借用另外一台机器的IP地址,从而冒充另外一台机器与服务器打交道。具体详细介绍见IP欺骗

    DoS攻击

    根据百度百科的定义,DoS即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。

    DoS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。具体详细介绍见DoS攻击

#00x3 实践

    不登高山,不知天之高也;不临深溪,不知地之厚也,实践是检验真理的唯一标准。本次实验是在VMware虚拟机局域网的环境下进行。话不多说,直接上图。

    ARP欺骗

    本次实验使用的虚拟机的IP-MAC地址映射关系如下:

实验机IP-MAC地址映射关系

    ARP欺骗实验的网络拓扑图如下:


ARP欺骗网络拓扑图

    (Windows7作为攻击机,Centos作为服务器,kali linux作为客户端)

    首先查看kali linux/windows 7/Centos的IP地址、MAC地址和arp的IP-MAC地址映射表,一切显示正常。

Windows7 IP-MAC地址映射表
kali linux IP-MAC地址映射表
Centos IP-MAC地址映射表

    打开Cain工具,开始嗅探,发现本网段内有4台已经开启的虚拟机,嗅探时可以全局嗅探,也可以在一定网段范围内嗅探。

Scan MAC Address

    转到ARP,添加进行ARP欺骗的主机,点击start开始进行ARP欺骗。

ARP Attack Start

    此时kali linux的用户登录搭建在Centos服务器上的DVWA,在Cain工具的password栏里将监听到明文的用户名和密码。

Get User And Password

    用wireshark抓包进行分析,发现第一次kali的IP-MAC地址映射表里的Centos的MAC地址变成了Windows7的MAC地址,所以发送tcp包时先发送给了Windows7攻击机,之后Windows7会将此包发送给Centos,Centos将响应包先发送给Windows7,Windows7将响应包再发送给kali,这样Windows7在kali用户毫不知情的情况下窃取了他的通信信息。

    查看三台机器上的ARP的IP-MAC地址映射表,发现kali中Centos的MAC地址变成了windows7的MAC地址,Centos中的kali的MAC地址变成了Windows7的MAC地址,而Windows7中的IP-MAC映射表是正常的。

Windows7 IP-MAC地址映射表
kali linux IP-MAC地址映射表
Centos IP-MAC地址映射表

    至此,一次中间人窃听的攻击就这样成功进行了。

    ICMP重定向攻击

    ICMP重定向攻击的网络拓扑图如下:


ICMP重定向攻击网络拓扑图

    (Windows7作为攻击机、Windows xp作为靶机)

    查看靶机和攻击机的IP/MAC地址,并通过route print命令记录下靶机的路由表状态。

靶机的路由表状态

   开启netwox工具进行ICMP路由重定向,依次输入5和86使用86号工具,按照工具的介绍和提示进行数据包的篡改:netwox 86 -f "tcp and host 192.168.188.130" -g 192.168.188.134 -i 192.168.188.2 -c 1

netwox工具菜单栏
netwox-86号工具

    这条指令的意思是嗅探网络中来自主机192.168.188.130的TCP包,一旦出现,就以网关192.168.188.2的名义,向数据包的源地址发送一个ICMP重定向报文,使之使用192.168.188.134作为默认的路由。

    打开wireshark输入过滤条件:(tcp or arp or icmp)&&ip.addr == 192.168.188.130并开始抓包。

ICMP重定向过程

    当靶机想访问百度的IP时,攻击机会伪装成默认网关给靶机发送ICMP重定向报文,此时在靶机的终端上输入route print指令,发现靶机已经错误地将网关地址改成了攻击机地址。

攻击后的靶机的路由表状态

    至此,一次ICMP重定向攻击成功实现了。

    TCP会话劫持

    TCP会话劫持的网络拓扑图如下:

TCP会话劫持网络拓扑图

    (kali linux作为攻击机,Windows7作为客户端,Centos作为服务器)

    (注:由于某些原因我修改了虚拟机的IP地址,之前的实验不想再重做重新截图了,所以接下来的实验使用一下IP地址,实在不好意思,各位看官将就看吧)

实验机IP-MAC地址映射关系-new

    为了构造客户端和服务器进行tcp会话的过程,我们在服务器上搭建telnet服务器,并在客户端上用telnet远程连接服务器,用攻击机对其进行监听和会话劫持。

    在Centos服务器上运行netstat -an | grep 23或netstat -ntl查看23端口有没有开启,发现服务器上没有开设23号端口的telnet服务,需要搭建telnet服务器。

服务器没有开设23号端口

    Centos里搭建telnet服务器的过程是:

    1、检查Centos是否已经安装了以下两个安装包:telnet-server、xinetd(rpm -qa telnet-server/rpm -qa xinetd)

    2、如果没有就安装:(yum install telnet-server/yum install xinetd)

    3、安装完成后,将telnet服务和xinetd服务加入开机自启动(systemctl enable xinetd.service /systemctl enable telnet.socket )

    4、启动两个服务(systemctl start telnet.socket/systemctl start xinetd)

    5、安装完成后检查两个服务有没有开启(systemctl status telnet.scoket/systemctl status xinetd)

telnet服务器搭建

    用windows7的telnet连接Centos,建立TCP连接。

客户端连接上服务器

    在kali linux下运行hunt工具。

hunt工具menu

    在此工具下运行1指令可以看见该局域网下的所有TCP连接,发现windows7连上了Centos服务器。

发现TCP连接

    依次输入a、0,一路默认下去,实现会话监听。

    此时用户windows7的输入和回应就全显示在攻击机页面了。

hunt监听界面

    继续使用快捷键ctrl+c进行会话劫持,此时用户windows7被挤下线,所有的输入都不会得到响应,会话被劫持到了kali linux攻击端。

hunt劫持界面

    至此,TCP会话劫持成功实现,下面我们通过抓包分析整个绘画劫持的过程,抓包结果如下:

wireshark抓包结果

    为了方便观察,设置过滤条件,只显示telnet协议的包,发现在如图所示的包处源地址的MAC地址发生了变化,大胆猜测kali linux在此处进行了TCP会话劫持。

源地址MAC地址改变

    观察这个包的上一个从192.168.188.129发出的包,将上一个包的相关信息与该包的信息比较进行验证。

劫持前的一个包
用于劫持的包

    可以看出939的Seq序列号应该为203,但是hunt工具伪装Windows7客户端给Centos服务器发送了一个Seq=190的包,并继续与服务器通讯,接管了会话,可以看到服务器随着kali linux攻击机而改变了自己的包的Seq、Next、Ack序号。

劫持前服务器发的包
劫持后服务器发的包

    此时客户端Windows7并不知道自己的会话已经被劫持了,也不知道现在服务器的序列号已经发生了改变,所以当客户端想要再次发送请求时,会发送Seq为203的包,而服务器的ACK已经不再是203了,所以服务器不会再对客户端进行应答了。

客户端继续发送请求包

    这部分我的理解还有一些牵强,有兴趣的读者可以仔细了解TCP协议的相关知识,能够更好地理解会话劫持的原理,待我总结清楚后再新写一篇文章仔细分析。

    DoS攻击

    (攻击机Windows7,目标机Windows xp)

    打开Cain工具,使用76号工具进行DoS攻击,输入IP地址和端口号,实行攻击。

DoS攻击开始

    此时ping Windows  xp,发现没有ICMP回显,Windows xp资源已经被耗尽拒绝服务了,用wireshark进行抓包分析,发现全是Windows7发送给xp的TCP包。

DoS-TCP

    DoS攻击可以利用现有网络协议中存在的缺点、可以利用现有软件和应用程序自身的漏洞,可以利用合法的服务请求耗尽服务资源,具体的原理和方法我会单列一章进行介绍,顺便附上之前编写的简易的DDoS程序。

#00x4 总结

    假消息攻击:利用网络协议设计中的缺陷,通过发送伪造的数据包达到欺骗目标、从中获利的目的。

    ARP欺骗的防范:网关建立静态IP/MAC对应关系,各主机建立MAC数据库;建立DHCP服务器;IDS监听网络安全。

    ICMP重定向攻击的防范:修改系统和防火墙配置,拒绝接收ICMP重定向报文;在Windows 2000里可修改注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ParamentsEnableICMPRedirects REG_DWORD 0x0(默认值为0x1);通过route print命令来查看本机的路由表。

    IP欺骗的防范:抛弃基于地址的信任策略;进行包过滤,只信任内部主机;利用路由器屏蔽掉所有外部希望向内部发出的连接请求;使用加密传输和验证的方法;使用随机化的初始序列号,使得TCP序列号难以猜测。

    DoS攻击的防范:DDoS 必须透过网络上各个团体和使用者的共同合作,制定更严格的网络标准来解决。每台网络设备或主机都需要随时更新其系统漏洞、关闭不需要的服务、安装必要的防 毒和防火墙软件、随时注意系统安全,避免被黑客和自动化的 DDoS 程序植入攻击程序,以免成为黑客攻击的帮凶。

    千里之行始于足下,懂得攻击的原理才会懂得如何防御,环境的搭建也是学习的路上必不可少的重要组成部分,在此我列出了此次实践运用到的环境和工具。

    环境:VMware Workstation,Telnet server

    操作系统:Kali linux,Windows7,Windows xp,Centos

    工具:Cain,Hunt-1.5,Netwox539,wireshark

(注:本人是个刚起步的小菜鸡,表达能力也不强,总结得不对的地方还请大家多多包涵,欢迎大家相互交流,共同学习,一起进步,感激不尽)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,050评论 0 8
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    JasonShi6306421阅读 1,226评论 0 1
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,940评论 1 13
  • LT-0807,2018.03.11翻译,@成都 声明 本文是一篇关于TCP/IP协议组件的RFC,聚焦于一个IP...
    摩诃婆罗多阅读 4,050评论 1 5
  • 1、假消息攻击是指利用网络协议设计中的安全缺陷,通过发送伪装的数据包达到欺骗目标、从中获利的目的。 是一种内网渗透...
    minlover阅读 1,558评论 0 5