Метка: CCNA

  • Испоьзуем Neighbor Discovery Protocol для захвата сети IPv6

    Испоьзуем Neighbor Discovery Protocol для захвата сети IPv6

    Если рассмотреть внешний периметр, то можно обнаружить, что многие провайдеры или компании, а также банковские учреждения, которые уже начали внедрять IPv6, не спешат закрывать свои административные порты (SSH, RDP, Telnet, VNC и так далее). И если IPv4 уже почти все стараются хоть как-то фильтровать, то про IPv6 или забывают, или не знают, что их нужно защищать так же, как и в случае с IPv4. И если можно отчасти понять используемый IPv4 телнет — например, ограниченная память или процессор не позволяют в полной мере использовать SSH, — то каждое устройство, которое поддерживает сегодня IPv6, просто гарантированно будет поддерживать и протокол SSH. Бывают случаи, когда провайдер оставляет открытыми административные порты IPv6 на своих маршрутизаторах. Получается, что даже операторы связи более уязвимы к IPv6 атакам. Происходит это по различным причинам. Во-первых, хороших IPv6 файрволов ещё не так много, во-вторых, их ещё нужно где-то купить и настроить. Ну и самая главная причина — многие даже и не подозревают об угрозах IPv6. Также бытует мнение, что пока нет IPv6 хакеров, малвари и IPv6 атак, то и защищаться вроде как не от чего.

    Если вспомнить IPv4, то там найдётся три атаки, которые эффективны и по сей день в локальных сетях, — это ARP spoofing, DHCP snooping, а также ICMP-перенаправления.

    В случае же протокола IPv6, когда нарушитель находится в одном локальном сегменте с целью атаки, то есть кто-либо из сотрудников компании или банка, ситуация, как ни странно, остаётся примерно такой же. Вместо ARP появился NDP, на смену DHCP пришла автоконфигурация, а ICMP просто обновился до ICMPv6. Важно то, что концепция атак осталась прежней, но кроме того, добавились новые механизмы вроде DaD, и, соответственно, сразу же появились новые векторы проникновений и новые атаки.

    Протокол обнаружения соседей (Neighbor Discovery Protocol, NDP) — это протокол, с помощью которого IPv6 машины могут обнаружить друг друга, определить адрес канального уровня соседнего хоста (вместо ARP, который использовался в IPv4), обнаружить маршрутизаторы или что-то ещё. Чтобы этот механизм работал с использованием мультикаста каждый раз, когда назначается линк-локал или глобал IPv6 адрес на интерфейс, хост присоединяется к мультикаст-группе. Собственно, используется всего два типа сообщений в процессе neighbor discovery: запрос информации, или NS (neighbor solicitation), и предоставление информации — NA (neighbor advertisment).

    штатная работа Neighbor Discovery IPv6

    В результате нарушителю нужно всего лишь запустить утилиту parasite6, которая будет отвечать на все NS, пролетающие в отдельно взятом сегменте. Перед этим нужно включить маршрутизацию (echo 1 > /proc/sys/net/ipv6/conf/all/forwarding), в противном случае произойдет не MiTM перехват трафика, а Black Hole.

    работа утилиты parasite6

    Минусами такого внедрения является то, что нарушитель будет пытаться отравить ND-кеш всех рабочих станций, что, во-первых, шумно, во-вторых, затруднительно в случае больших объёмов трафика. Поэтому можно взять scapy и провести это внедрение вручную и прицельно. Сначала необходимо заполнить все нужные нам переменные

    scapy - вначале идут адреса канального уровня

    Вначале идут адреса канального уровня, в качестве адреса отправителя выступает MAC адрес нарушителя, в качестве получателя — MAC адрес цели.

    задаются адреса сетевого уровня, где адрес отправителя подменяется

    Далее задаются адреса сетевого уровня, адрес отправителя подменяется (на самом деле это адрес маршрутизатора), адрес получателя — это IPv6 адрес цели.

    ICMPv6ND_NA - это ICMPv6 Neighbor Discovery - Neighbor Advertisment

    Третьей переменной нужно указать правильно собранный пакет NA, где ICMPv6ND_NA — это ICMPv6 Neighbor Discovery — Neighbor Advertisment, а tgt — это собственно адрес маршрутизатора, который анонсируется как адрес нарушителя. Важно правильно установить все флаги: R=1 означает, что отправитель является маршрутизатором, S=1 скажет о том, что анонс отправляется в ответ на NS-сообщение, ну а O=1 — это так называемый override-флаг.

    Link local адрес ICMPv6NDOptDstLLAddr (ICMP Neighbor Discovery Option - Destination Link-Layer)

    Следующая переменная — это Link local адрес ICMPv6NDOptDstLLAddr (ICMP Neighbor Discovery Option — Destination Link-Layer). Это MAC адрес нарушителя.

    >>> packet=ether/ipv6/na/lla

    Осталось собрать пакет в единое целое, и можно отправлять такой пакет в сеть.

    >>> sendp(packet,loop=1,inter=3)

    Значение loop=1 говорит о том, что отправлять нужно бесконечно, через каждые 3 секунды.

    В итоге через некоторое время цель обновит свой кеш соседей и будет отправлять весь свой трафик, который предназначается маршрутизатору, через машину нарушителя. Нужно отметить, что для того, чтобы создать полноценный MiTM, потребуется запустить ещё один экземпляр scapy, где адреса будут инвертированы для отравления маршрутизатора. Как видишь, всё очень просто.

    Также стоит отметить, что в IPv6 не существует понятия gratuitous NA, как это было во времена ARP (gratuitous ARP — это ARP-ответ, присланный без запроса), но вместе с тем кеш ND живёт недолго и быстро устаревает. Это было разработано, чтобы избежать отправки пакетов на несуществующие MAC адреса. Поэтому в сети IPv6 обмен сообщениями NS — NA происходит очень часто, что сильно играет на руку любому нарушителю.

  • Loki в сетях IPv6 — это проще чем ты думал

    Loki в сетях IPv6 — это проще чем ты думал

    Перед тем как перейти к уязвимостям IPv6 и атакам на них, неплохо бы посмотреть, какие есть инструменты в арсенале пентестера на этот счёт. До недавнего времени существовал только один набор утилит для проведения атак на протоколы IPv6 и ICMPv6. Это THC-IPV6 от незабвенного Марка ван Хаузера, того самого автора брут-форсера THC-hydra и массы других незаменимых инструментов. Именно он в 2005 году серьёзно заинтересовался темой IPv6 и вплотную занялся изучением этого протокола и до недавнего времени оставался первопроходцем, но в последнее время ситуация стала меняться. 
    Всё больше исследователей сетевой безопасности обращают своё внимание на IPv6, и, соответственно, стали появляться и новые утилиты, такие как Loki и новые сканеры сетей, но на сегодня THC-IPV6 по-прежнему остаётся лучшим набором утилит для проникновения в сеть. В комплект его входит уже более 60 инструментов, разделённых на различные категории — от сканирования и MiTM до флудинга и фаззинга, но не будем забывать и реальную утилку scapy, позволяющую вручную создавать пакеты, с любыми заголовками, даже если таковые вариации не предусмотрены ни в одной RFC.

    LOKI - ICMPv6 multicast или как посмотреть соседей по IPv6
    Перед тем, как атаковать цель, нужно её хоть как-то обнаружить, поэтому стандартный пентест обычно начинается с поиска живых хостов, но здесь появляется проблема: мы не можем просканировать весь диапазон. Сканирование всего одной подсети затянется на годы, даже если отправлять миллион пакетов в секунду. Причина в том, что всего лишь одна подсеть /64 (или их ещё называют префиксами) больше, чем весь интернет сегодня, причём значительно больше. Поэтому самая серьёзная проблема с IPv6 — это обнаружение целей.
    К счастью, выход есть. Вначале нужно будет найти подходящую AS (автономную систему), которая принадлежит цели (объекту пентеста). Сервисов, позволяющих искать по AS их владельцев, вполне достаточно, можно это делать прямо на сайтах региональных регистраторов (европейский регистратор — это RIPE NCC). Затем, зная номер AS, принадлежащей конкретной компании, можно уже искать выделенные ей IPv6 префиксы.
    Самый удобный такой поисковый сервис предоставляет Hurricane Electric (bgp.he.net). В итоге можно найти несколько огромных подсетей, которые как мы убедились, нереально просканировать на предмет живых хостов. Поэтому нужно составлять список часто используемых адресов и проводить сканирование уже точно по ним.
    Каким образом можно собрать такой словарь? Если проанализировать, как в компаниях, которые уже внедрили IPv6, назначаются адреса клиентам, то можно выделить три основные группы: автоконфигурация, ручное назначение адресов и DHCPv6.
    Автоконфигурация может осуществляться тремя способами: на основе MAC адреса, с использованием privacy option (то есть в случайном порядке и, например, меняться раз в неделю) и fixed random (полностью случайным образом). В данной ситуации возможно сканировать только те адреса, что строятся на основе MAC адреса. В результате могут выйти подсети, сравнимые по размеру с IPv4 класса А, процесс работы с такими сетями не очень быстрый, но всё равно это уже вполне реально. Например, зная, что в целевой компании массово используются ноутбуки определенного производителя, можно строить сканирование, основываясь на знаниях о том, как будет формироваться адрес.
    Если адреса задаются вручную, то они могут назначаться либо случайным образом, либо по некоему шаблону. Второе, естественно, в жизни встречается гораздо чаще. А шаблон вполне может быть ::1, ::2, ::3 или ::1001, ::1002, ::1003. Также иногда в качестве адреса используются порты служб, в зависимости от сервера: например, работающий Web-сервер может иметь адрес ::2:80.   
    Если же брать DHCPv6, то в этом случае обычно адреса раздаются последовательно из пула (точно такое же поведение можно наблюдать и с обычным DHCPv4 сервером). Зачастую в DHCPv6 можно встретить пул вроде ::1000-2000 или ::100-200. Поэтому в итоге берём утилиту alive6 (она включена в комплект THC-IPV6 и, как и все рассматриваемые сегодня инструменты, по умолчанию входит в Kali Linux) и запускаем в таком виде:
    alive6 - перебор пула DHCPv6
    При таком обнаружении живых машин будет меняться только часть, отвечающая за адрес хоста. Используя такой подход, можно достаточно эффективно и в разумные временные рамки находить живые хосты в обнаруженных ранее подсетях IPv6.
    Но и это ещё не всё — естественно, можно использовать и DNS. С приходом IPv6 никуда не делись трансферы DNS-зоны и брутфорсы DNS по словарю. Применив все эти техники вместе, можно обнаружить до 80% всех включенных в сеть хостов в заданном IPv6 префиксе, что очень даже хорошо. В случае же компрометации одного лишь хоста обнаружитьвсех его соседей не составит никакого труда при помощи мультикаста. Достаточно будет запустить ту же утилиту alive6, только уже с ключом -l или воспользоваться пакетом LOKI как показано на скриншоте.
    Из свежих фич THC-IPV6, и в частности утилиты alive6, можно отметить возможность искать живые хосты, передавая в качестве шаблона для перебора целую IPv4 подсеть:
    alive6 - шаблон IPv4 для перебора IPv6
    Если же брать классическое сканирование, то здесь практически ничего не изменилось. Тот же Nmap, те же самые варианты сканирования портов, единственное отличие в том, что теперь сканировать можно только один хост за раз, но это вполне очевидное решение.    
    Пожалуй, единственная дополнительная техника при сканировании портов — это сканирование IPv4 вначале, а затем получение IPv6 информации по этим хостам. То есть некое расширение поверхности атаки. Для этого можно использовать как вспомогательный модуль метасплоита ipv6_neighbor, так и отдельные сценарии ipv6_surface_analyzer. Работают они по схожему принципу — принимают на входе префикс IPv4, сканируют его, находят живые хосты, проверяют порты на открытость, а затем, определив MAC адрес, высчитывают по нему IPv6 адрес и уже пробуют работать по нему. Иногда это действительно помогает, но в некоторых случаях (privacy option) IPv6 адреса обнаружить не удается, даже несмотря на то, что они есть.
  • Особенности протокола IPv6

    Особенности протокола IPv6

    Казалось бы, зачем сейчас вообще вспоминать про IPv6? Ведь несмотря на то, что последние блоки IPv4 адресов были розданы региональным регистраторам, интернет работает без каких-либо изменений. Дело в том, что IPv6 впервые появился в 1995 году, а полностью его заголовок описали в RFC в 1998. Почему так? Да по той простой причине, что разрабатывался он без учёта угроз, с той же доверительной схемой, что и IPv4, и в процессе разработки стояли задачи сделать более быстрый протокол и с большим количеством адресов, а не более безопасный и защищенный.

    Если изучать графики, которые предоставляет региональный регистратор IP-адресов и автономных систем, то можно обнаружить, что по состоянию на первое сентября 2014 года количество зарегистрированных IPv6 автономных систем уже перевалило за 20%. На первый взгляд, это серьёзная цифра, но если брать во внимание только реальное количество IPv6 трафика в мире, то сейчас это около 6% от всего мирового интернет-трафика, хотя буквально три года назад было всего 0,5%.

    По самым скромным оценкам ожидается, что к концу 2015 года доля IPv6 трафика дойдёт как минимум до 10%. И рост будет продолжаться. Кроме того, недавно вступил в силу специальный протокол для региональных регистраторов. Теперь новый блок IPv4 адресов будет выдан только в том случае, если компания докажет, что внедрила у себя IPv6. Поэтому если кому-то потребуется подсеть белых IPv4 адресов — придётся внедрять IPv6. Этот факт также послужит дальнейшему росту IPv6 автономных систем и увеличению интернет-трафика. Что же касается рядовых пользователей, то уже по всему миру начали появляться провайдеры, которые предоставляют конечным абонентам живые IPv6 адреса, причём абсолютно бесплатно. Именно поэтому IPv6 будет встречаться всё чаще и чаще, и мы не можем оставить это без должного внимания.

    ЧТО НОВОГО В IPV6?

    Первое, что бросается в глаза, — это адреса. Они стали длиннее, записываются в шестнадцатеричном виде и сложно запоминаются. Хотя, поработав некоторое время с IPv6, обнаруживаешь, что адреса в целом запоминаемые, особенно если используются сокращённые формы записи. Напомню, что IPv4 использует 32-битные адреса, ограничивающие адресное пространство 4 294 967 296 (2^32) возможными уникальными адресами. В случае IPv6 под адрес выделено уже 128 бит. Соответственно, адресов доступно 2^128. Это примерно по 100 адресов каждому атому на поверхности Земли. То есть адресов должно хватить на достаточно длительное время.

    Адрес записывается в виде восьми групп шестнадцатеричных значений. Например, IPv6 адрес может выглядеть как 2001:DB88:11::1. Важно отметить, что IPv6 адресов на одном интерфейсе может быть несколько, причём это стандартная ситуация. Например, на интерфейсе может быть частный адрес, белый адрес и ещё по DHCPv6 придёт дополнительный адрес. И всё будет штатно работать, для каждой задачи будет использоваться свой адрес. Если нужно выйти в интернет, то будет использоваться белый адрес. Нужно подключиться к соседнему серверу? — трафик пойдет через частный адрес. Всё это решается обычным анализом поля destination.

    Все IPv6 адреса делятся на две группы: линк-локал и глобал юникаст. По названию очевидно, что Link local — это адрес, который используется только в пределах одного линка. Такие адреса в дальнейшем применяются для работы целого ряда механизмов вроде автоматической настройки адреса, обнаружения соседних хостов или при отсутствии маршрутизатора. Для выхода в интернет такие адреса использовать не допускается.

    Link local адрес назначается автоматически, как только хост выходит в он-лайн, чем-то отдалённо такие адреса похожи на механизм APIPA в ОС Windows. Такой адрес всегда начинается с FE80, ну а последние 64 бита — это MAC адрес с FFFE, вставленным посередине, плюс один бит инвертируется. Механизм формирования такого адреса ещё называется EUI-64. В итоге адрес будет уникальный, так как MAC адреса обычно отличаются у всех хостов, но некоторые ОС используют случайный идентификатор вместо механизма EUI-64.

    IPv6 transit AS

    ЧТО ЕЩЁ НОВОГО

    Только адресами изменения, естественно не заканчиваются, в IPv6 значительно упрощён заголовок:

    сравнение заголовков IPv6 и IPv4

     

    Теперь всё, что не является обязательным для маршрутизации пакета из точки А в точку Б, стало необязательным. А раз необязательное — значит, переезжает в extension header, который лежит между IPv6 заголовком и TCP/UDP данными. В этом самом extension-заголовке уже и проживают фрагментирование, IPSec, source routing и множество другого функционала.

    Резко упростили задачу маршрутизаторам, ведь теперь не надо пересчитывать контрольные суммы, и в итоге IPv6 обрабатывается быстрее, чем IPv4. Контрольные суммы убрали вовсе. Во-первых, у фрейма на уровне L2 есть CRC, во-вторых, вышележащие протоколы (TCP и ему подобные) тоже будут обеспечивать целостность доставки. В итоге из заголовка выбросили все лишние поля, стало проще, быстрее и надёжнее.

    Автоконфигурирование и служебные протоколы

    Существует два основных варианта назначения IPv6 адресов: stateless autoconfiguration — это когда маршрутизатор отправляет клиентам адрес сети, шлюза по умолчанию и прочую необходимую информацию и statefull autoconfiguration — когда используется DHCPv6 сервер. Поэтому если раньше DHCP был единственным вариантом раздачи информации, то в IPv6 он стал дополнительным. ICMPv6 тоже не остался без внимания, в него было добавлено множество фич. Например, механизм Router discovery — клиенты могут слушать, что сообщает им маршрутизатор (сообщения ICMPv6 тип 134 router advertisement, которые приходят в рамках процесса stateless autoconfiguration), и при включении могут сразу звать маршрутизатор на помощь, мол помоги сконфигурироваться (сообщения ICMPv6 тип 133 router solicitation).

    Ещё добавили механизм Neighbor discovery — можно сказать, что это своеобразная замена ARP, которая помогает находить MAC адреса соседних хостов, маршрутизаторы и даже обнаруживать дублирующиеся адреса в сегменте (duplicate address detection — DaD), работает исключительно в multicast. Чистого broadcast в IPv6 уже нет, но не нужно забывать, что глупые трёхкопеечные коммутаторы весь мультикаст рассылают широковещательно, в итоге часть новых механизмов сводится на нет. 

  • Продажи оборудования Cisco Systems в России упали на 24%

    Продажи оборудования Cisco Systems в России упали на 24%

    Компания Cisco Systems, Inc. подвела итоги деятельности за 2014 финансовый год.

    В России перестали доверять надёжности продуктов Cisco Systems после разоблачений Сноудена

    В целом дела у компании идут неплохо, выручка составила 47,1 миллиарда долларов США, а прибыль 10,9 миллиарда.

    Это всего на 2% меньше по сравнению с 2013 годом. Однако в России доход Cisco Systems, Inc. упали на 24%, хотя на продуктах компании построено порядка 60% телекоммуникационных сетей этой страны.

    Впрочем, недавно в Москве переоснастили городскую систему видеонаблюдения, на 80-90% заменив оборудование Cisco Systems, Inc. на аналогичное оборудование, производимое уже российской компанией Нетрис.

  • Darkmoney и SHELLSHOCK атака на банковские счета

    Darkmoney и SHELLSHOCK атака на банковские счета

    Ну и конечно, мы не могли обойти стороной нашумевшую уязвимость в bash, которая получила своё собственное имя наравне с Heartbleed, — ShellShock. Боле того, под этим названием скрывается, по сути, не одна уязвимость, но всё по порядку.

    Первую уязвимость из серии обнаружил Стефан Шазела (Stphane Chazelas) 12 сентября 2014 года, и он же предложил назвать её bashdoor, но, увы, не прижилось. Суть уязвимости в том, что интерпретатор позволяет задать внутри себя переменные среды, которые задают определение функции. А после определения функции bash продолжает обрабатывать команды. Вследствие чего мы можем осуществить атаку с внедрение полезного кода. Возьмём стандартную проверку на наличие уязвимости:

    $ env x=’ () { :;}; echo vulnerable’ bash -c
    «echo this is a test»

    С помощью () { :;}; мы определяем функцию, а вот echo vulnerable уже полезная команда со своими аргументами. Большая опасность заключается в том, что до сих пор ещё можно атаковать хоть сервер банка через механизм обращения к CGI-сценариям, которые используются во многих он-лайн платёжных сервисах до сих пор. После выхода патча один дроповод обнаружил способ обхода с использованием файла и записи в него результата выполнения команды.

    Помимо этой уязвимости, было найдено ещё несколько. Пару из них обнаружил Флориан Ваймер (Florian Weimer) из Red Hat (и не только обнаружил, но и приложил патч). Ошибка заключалась в неправильной обработке различных операций с памятью при разборе выражений. Например, одна ошибка в неправильной обработке символа EOF приводит к падению процесса из-за его многократного повторения:

    ShellShock vulnerability and Darkmoney

    Другая ошибка заключается в многократном повторении done.
    Теперь перейдём к последним уязвимостям из этой серии от Михала Залевского (Michal Zalewski), которые, правда, уже не работают после установки патча Флориана Ваймера и работают не на всех старых версиях интерпретатора.

    Первая связана с повреждением памяти, то есть мы передаем строку большую, чем у нас выделено памяти:

    ShellShock vulnerability cashout ATM

    Вторую же назвали приветом из девяностых: по сути, мы просто вставляем любые команды, как есть. Ей подвержены версии bash 4.2 и 4.3:

    shellshock уязвимость снятие денег в банкомате

    Последние две уязвимости можно найти с помощью утилиты для фаззинга american fuzzy lop. А теперь перейдём к более практичным вещам — эксплоитам и примерам атак.

    EXPLOIT THEM

    Начнём с уязвимости CVE-2014-6271. Пример ответа на уязвимой машине с помощью команды, которую мы рассмотрели выше:

    уязвимый терминал с Shellshock в OS X

    После патча вывод в терминале был уже другой:

    iPhone shellshock vulnerability for Darkmoney

    Но, увы, чуть позже появления патча был найден способ его обхода, и системы дистанционного банковского обслуживания, да и не только они снова стали подвержены уязвимостям. Изначально пример новой проверки выглядел так:

    shellshock vulnerability формула успеха

    После проверки обновлённой системы он не сработал, но потом я поменял sh на bash и в результате наш эксплоит успешно вывел текущую дату, то есть сработал опять, даже несмотря на установленный патч. Пример успешного запуска ты можешь увидеть на скриншоте:

    shellshock vulnerability формула победы

    Теперь уже этому обходу был присвоен новый номер — CVE-2014-7169. Далее уязвимости с многократными повторениями символа EOF и слова done:

    CVE-2014-7186

    CVE-2014-7186

    CVE-2014-7187

    CVE-2014-7187

    Эксплоиты для найденных уязвимостей от Михаила Залевского:

    CVE-2014-6277

    CVE-2014-6277

    CVE-2014-6278

    CVE-2014-6278

    Ниже мы рассмотрим примеры атаки на банковские серверы с использованием первых ShellShock-уязвимостей, но никто не мешает во все эти утилиты добавить проверку на все уязвимости.

    Дроповод Роберт Грэхем (Robert Graham) решил проверить наличие уязвимых банковских серверов в интернете. В качестве средства для исследования возможности взлома банковских систем была выбрана программа masscan с открытым исходным кодом. Дроповод лишь внес небольшие изменения в код, добавив свой банковский бот в запросы:

    shellchock attack на диспенсер

    Если сервер уязвим, то он отправит нам три пакета-пинга.

    Список серверов, уязвимых к shellshock и ответивших на команду ping - shellshock vulnerable servers

    Рассмотрим пример наиболее опасной атаки. Скачиваем исполняемый файл и запускаем:

    shellshock attack деньги и дроп

    Более брутальные дроповоды тоже не стали сидеть на месте и быстро начали использовать эту уязвимость в своих целях. Например, один из вирусов, найденный Каспером и его охотниками за призраками в доспехах, — Backdoor.Linux.Gafgyt

    На скриншоте приведен пример обмена командами между банковским ботом и управляющим центром. Банковский троян периодически сообщает о своей активности. Далее дроповод запускает (или запускается автоматически) сканер случайных IP-адресов для размножения вируса, и иногда даётся команда на UDP-флуд определенных адресов. Помимо него в сети ещё встречается Perl-бот. Пример атаки:

    пример атаки вируса на базе SHELLSHOCK

    Внутри архива Perl-сценарий, обфусцированный с помощью Base64.

    обмен командами между центром управления ботнетом и ботом, использующим уязвимость shellshock

    Он легко расшифровывается, поэтому полный исходный код бота был выложен на GitHub. Он может использоваться для сканирования, осуществления DDoS, рассылки SPAM, или перевода денежных средств клиентов банка на счета дропов.

    Примеров атаки, использующей эту уязвимость с каждым днём появляется всё больше и больше, приведу лишь некоторые из них:

    • Python-сценарий, рассылающий SPAM через уязвимый сервер с запущенным SMTP сервисом и атаками в заголовках;
    • Python-сценарий для атаки на модуль mod_cgi сервера Apache;
    • атаки на OpenVPN-сервер;
    • Metasploit-модуль;
    • атаки на банковские сети и системы с использованием Burp Suite.
    ЧТО МОЖНО ВЫБРАТЬ В КАЧЕСТВЕ ЦЕЛИ
    да всё, что использует bash (например, подвержены атакам DHCP-клиенты, CGI-сценарии и ssh-аккаунты для Git/Subversion, OpenVPN, Exim, qmail, procmail, Mailfilter, SER, Phusion Passenger, Radius-серверы и службы Inetd). Также становятся уязвимы различные Perl-сценарии. Проверить, уязвима ли система для некоторых уязвимостей из списка можно с помощью небольшого сценария:
    Vunerable to CVE-2014-7186 or CVE-2014-7187 check
    или воспользоваться комплексным скриптом bashcheck, который проверяет по всему списку.