- Простая Dos атака с Golden Eye в Kali Linux
- Установка
- Атака
- Тесты
- Результат
- Анализ логов
- Заключение
- Атаки на сетевое оборудование с Kali Linux
- Атакуем CISCO маршрутизатор
- Атакуем L2 протоколы
- Атакуем DHCP сервер
- Атака на переполнение CAM таблицы коммутатора.
- Защита
- Как организовать MITM атаку на Windows с помощью Linux.
- Реализация MITM атаки
- Делаем гостевую систему
- Тихая установка и запуск VirtualBox
- Аргументы в пользу Linux
- Деплой на удаленном хосте
- Уходим красиво
- Пример из жизни
Простая Dos атака с Golden Eye в Kali Linux
В этой статье мы разберём один из самых простых способов Dos атак с помощью «Golden Eye»
DoS-атака представляет собой генерацию «мусорного» трафика с одного устройства (IP-адреса) на ресурс-«жертву» (например, сайт). Цель — исчерпать вычислительные и иные мощности «жертвы», чтобы заблокировать работу последней.
Не стоит путать DDos с Dos, хотя аббревиатуры различаются всего лишь на одну букву, за ней скрывается огромная фактическая разница. Dos атаку производит одна машина, а DDos атака зачастую делается с использованием ботнета.
Ботнет — это сеть компьютеров, зараженных вредоносным ПО. Киберпреступники используют специальные троянские программы, чтобы обойти систему защиты компьютеров, получить контроль над ними и объединить их в единую сеть (ботнет), которой можно управлять удаленно.
Действия в данной статье являются образовательными и будут проходить на собственном ресурсе. Автор никого не призывает к действиям и не несёт ответственности.
Установка
Для начала нам понадобится поставить на OC «Golden Eye». Выделим каталог под наш софт, в моём случае я создам новый.
Перейдём в него:
Теперь качаем архив:
Атака
Тесты
Следить за состоянием сервера я буду командой top:
Cервер находится в состоянии простоя, процесс полностью свободен, свободной оперативной памяти доступно 350 мегабайт.
Результат
Можно посмотреть по скриншоту, процессор по-прежнему практически бездействует, но количество свободной памяти резко сократилось, увеличилось количество спящих процессов.
Анализ логов
Одного взгляда на логи достаточно, что каждый запрос GET содержит различные строки, различные пользовательские агенты и различных реферов, среди которых Bing, Baidu, Yandex и другие рандомные поисковые системы.
Так что происходит, когда ваш веб-сервер встречается с этой атакой? Он анализирует входящий трафик, проверяет запрашиваемые URL, адреса источников и поле Referrer и пропускает их с кодом 200 OK. Почему? Потому что каждый браузер был различным.
Инструмент был создан остроумно так, чтобы любой сервер мог подумать, что это различные пользователи, пытающие зайти с одного IP (может быть IP прокси или большой организации?) с различными браузерами (Firefox, Chrome, MSIE, Safari и т. д.), различными операционными системами (Mac, Linux, Windows и т.д.) и даже с различными реферами. Да, возможно запрашиваемый URL был неправильным, но нормальные веб-сервера всё равно пропустят его, перенаправят на страницу ошибки в то время как соединение будет оставаться открытым (например, Apache worker/socket). Стандартный веб-сервер обычно позволяет X число одновременных пользователей с одного IP и с большим количеством соединений/используемых сокетов, этот тип атаке приводит к тяжёлому давлению на сервер и последующие пользователи получают ошибку (HTTP 503 или наподобии). Следовательно, атакующий с несколькими рандомными proxy/VPN может быстро истощить ресурсы сервера. Он даже может замедлить атаки на один IP для избежания начального выявления:
Вышеприведённая команда использует:
-w = 10 одновременные рабочие
-s = 10 одновременных соединений
-m = рандом, смесь GET и POST
Заключение
GoldenEye выглядит как расширенная (или схожая на) HTTP Flooder программа. Обе работают похожим образом, но NoCache и KeepAlive от GoldenEye делают большую разницу. Также она использует интересный способ перемешивания браузеров, операционных систем и рефереров, что может обмануть файервол.
В общем, это хороший инструмент для тестирования на нагрузку своего собственного веб-сайта (с разрешения вашей хостинг компании), вашего корпоративного веб-сайта и любых веб-приложений, которые позволяют входящие GET или POST запросы. Используйте её для обновления ваших правил файервола. WAF и благодаря этому избежите будущих атак.
Источник
Атаки на сетевое оборудование с Kali Linux
В данной статье мы рассмотрим актуальные атаки на сетевое оборудование и инструменты, доступные в популярном дистрибутиве Kali Linux для их проведения.
Атакуем CISCO маршрутизатор
В состав Kali Linux входит несколько инструментов, которые можно использовать для аудита оборудования CISCO. Список можно посмотреть в разделе Vulnerability Analysis — Cisco Tools:
Cisco Audit Tool или CAT
Используется для брутфорса пароля при выключенном режиме aaa-mode, брутфорса SNMP community-строк и проверки на уязвимость IOS History bug (https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-19981014-ios-hist)
Cisco Global Exploiter или CGE
Используется для экслпутации известных уязвимостей. Нам доступно 14 атак:
cisco-ocs
Инструмент для автоматизации поиска устройств со стандартными значениями пароля для telnet и режима enable, который может искать устройства в диапазоне адресов. Может использоваться при сканировании больших сетей.
cisco-torch
Многофункциональный сканер уязвимостей для оборудования Cisco. Может сканировать несколько IP адресов за раз, подгружая из текстового файла. Запускать cisco-torch в Kali Linux следует, находясь в рабочей директории /usr/share/cisco-torch.
Поиск доступных интерфейсов и протоколов и определение типа оборудования.
Может использоваться для брутфорса паролей и SNMP community-строк.
Для использования своего словаря, его нужно поместить в /usr/share/cisco-torch вместо файла password.txt
copy-router-config.pl и merge-copy-config.pl
Инструменты для загрузки текущей конфигурации маршрутизатора cisco при известной community-строке на свой tftp-сервер. В дальнейшем можно модифицировать конфигурацию и снова загрузить на сервер.
Для автоматизации подобной атаки, где нас интересует только загрузка конфигурации на свой TFTP-сервер лучше воспользоваться модулем Metasploit auxiliary/scanner/snmp/cisco_config_tftp
Или NSE скриптом nmap snmp-ios-config.
Атакуем L2 протоколы
Yersinia — многофункциональный инструмент для атак на протоколы L2 (Data Link) уровня OSI.
Умеет проводить атаки на DHCP, STP, CDP, DTP, HSRP и другие.
Работать с Yersinia можно в нескольких режимах:
Запуск в режиме сервера и управление при помощи команд, похожих на cisco cli.
Логин и пароль root/root
Пароль для перехода в режим enable – tomac
- Запуск в интерактивном режиме
Опции управления доступны по нажатии на клавишу h:
- Графический интерфейс GTK
Графический интерфейс может работать нестабильно. В режиме сервера не поддерживает некоторые виды атак, вроде DHCP Rogue server. Так что, основным режимом запуска можно считать интерактивный режим.
Атакуем DHCP сервер
В качестве примера продемонстрируем атаку на переполнение пула IP-адресов DHCP сервера. Данная атака может быть использована для выведения из строя корпоративного DHCP сервера и последующая его замещение поддельным, конфигудрация которого настроена таким образом, что весь трафик новых клиентов будет проходить через хост атакующего. Таким образом будет проведена одна из атак MitM.
На стороне атакующего можно выполнить скрипт nmap для обнаружения DHCP сервера в локальной сети.
Теперь запускаем Yersinia в интерактивном режиме и переходим в режим DHCP выбрав его нажатием клавиши g.
Теперь в этом режиме будут видны все DHCP пакеты, полученные Yersinia.
Проверим список выданных адресов DHCP сервера до атаки:
Yersinia показывает DHCP пакеты, выловленные из сети:
Если выбрать пакет и нажать сочетание клавиш Shift+L то можно затем при помощи атаки RAW пересылать этот пакет в сеть, или модифицировать его при помощи нажатия клавиши e – переход в режим редактирования пакета.
При нажатии на клавишу x получаем список доступных атак:
Видим, что начинает отправлять огромное количество DHCP Discover запросов:
Через некоторое время можно остановить атаку нажатием на клавиши L и затем Enter:
Nmap больше не показывает доступных DHCP серверов в сети. Коропоративный DHCP сервер выведен из строя.
Проверим таблицу выданных IP-адресов на роутере:
Далее вы можете запустить атаку Rogue DHCP в Yersinia, либо при помощи модуля Metasploit или любым другим способом, чтобы провести MitM атаку.
Атаку на истощение пула IP адресов DHCP сервера можно так же провести при помощи инструмента DHCPig. При помощи Yersinia можно проводить атаки и на другие популярные протоколы, такие как STP (Spanning Tree Protocol) и HSRP (Hot Standby Router Protocol), которые так же позволят вам прослушивать трафик в сети.
Атака на переполнение CAM таблицы коммутатора.
Еще одна атака, которая переполняет CAM таблицу коммутатора, хранящую список MAC адресов, работающих на определенном порту. Некоторые коммутаторы при ее переполнении начинают работать как хабы, рассылая пакеты на все порты, тем самым создавая идеальные условия для проведения атак класса MitM.
В Kali Linux для проведения данной атаки присутствует инструмент macof
Где eth0 – интерфейс, к которому подключен коммутатор для атаки.
Защита
Для защиты от подобного рода атак производителями используются различные, обычно проприетарные, технологии. На коммутаторах Cisco следует активировать DHCP Snooping и PortSecutiy во избежание атак на протокол DHCP и CAM Overflow. Для защиты от атак на HSRP и прочие протоколы используются другие технологии. Всегда нужно помнить, что дорогостоящее сетевое оборудование после правильной настройки может существенно повысить безопасность сетевой инфраструктуры, в то же время недонастроенное или настроенное неправильно может само стать инструментом в руках злоумышленника и угрозой безопасности. Выявление уязвимостей сетевого оборудования при проведении тестирования на проникновение и применение рекомендаций по результатам аудита помогает снизить риски взлома информационной системы злоумышленниками.
Источник
Как организовать MITM атаку на Windows с помощью Linux.
Представь, что тебе удалось пробить сетевой периметр и получить доступ к серверу, который работает на Windows. Но что дальше? Нужно двигаться по инфраструктуре — от DMZ до контроллера домена или до технологической сети и управления турбинами!
Или что мы уже давно в локальной сети, но захватить контроль над каким-либо сервером не получается — все обновления установлены и нет никаких зацепок, кроме скомпрометированных машин в ее VLAN.
И в том и в другом случае атакующий — это интерфейс прямо в VLAN скомпрометированной машины, да еще и на уровне L2. Тем самым мы превратили бы подконтрольный нам хост с Windows в некий шлюз и избавили бы себя от необходимости ставить специальное ПО для сканирования сети и разного рода сетевых атак.
У доступа L2 есть ряд дополнительных преимуществ. Мы можем проводить:
- MITM-атаки, эксплуатируя слабости протокола Ethernet (arpspoof);
- атаки на NetBIOS (responder);
- атаки на IPv6 (mitm6).
MITM-атаки — один из самых мощных приемов против локальных сетей, построенных по технологии Ethernet. Этот тип атак открывает широкие горизонты и позволяет брать совсем неприступные с виду хосты, просто прослушивая их сетевой трафик на предмет наличия в нем учетных данных либо как-то модифицируя его.
Так уж сложилось, что большинство хостов в локальных сетях работают на Windows. И так уж сложилось, что Windows, мягко говоря, не лучшая платформа для атак. Здесь нельзя полноценно реализовать IP forwarding, поэтому атака подобного рода грозит тем, что будет парализована работа всего сетевого сегмента.
Другие способы провернуть тоже непросто. Например, можно было бы настроить OpenVPN и сетевой мост, но настройка моста из командной строки в Windows реализована плохо, и, изменив настройки, скорее всего, ты безвозвратно потеряешь доступ.
Реализация MITM атаки
Разумеется, для полноценной постэксплуатации потребуются административные полномочия.
В качестве виртуальной машины, в которой мы будем запускать Linux на скомпрометированном хосте, я предлагаю использовать VirtualBox, поскольку она:
- может быть установлена в тихом режиме;
- поставляется с крайне функциональным CLI-инструментом VBoxManage;
- может работать на старом железе без аппаратной виртуализации;
- позволяет запустить виртуальную машину в фоне.
На первый взгляд такое решение может показаться немного громоздким, но, с другой стороны, у него есть свои плюсы:
- такой подход никак не палится антивирусом, ведь мы используем только легитимное ПО;
- не требуется ничего делать через графический интерфейс, достаточно psexec, webshell или netcat;
- будет работать на всех Windows от XP/2003 до 10/2019;
- метод достаточно чист в плане следов — все действия происходят в файловой системе виртуальной машины.
Главным же минусом будет необходимость копировать около 500 Мбайт файлов. Но зачастую это не особенно большая проблема.
Но сразу должен тебя предупредить, что есть случай, когда эта техника не сработает. Если скомпрометированная система — это уже виртуальная машина, то вполне может быть, что в ее настройках отключен неразборчивый режим для сетевой карты. Это может привести к тому, что сетевые пакеты не будут заходить в нашу виртуальную машину.
Делаем гостевую систему
В качестве гостевой ОС есть смысл рассматривать два варианта:
- Kali Linux с полноценным набором хакерского софта;
- минималистичный дистрибутив с OpenVPN, который будет играть роль шлюза.
С первым вариантом все просто — скачал и запустил. В Kali почти наверняка будет весь необходимый арсенал.
Но мы вместо того, чтобы закидывать в эту виртуалку весь любимый софт, соберем свою с чистого листа и превратим в шлюз, который предоставит нам комфортный L2-доступ к атакованному хосту из любой точки мира.
Так мы сэкономим 1–2 Гбайт места, так как весь ][-софт будет запускаться с машины атакующего, да и антивирус в таком случае ничего не увидит.
Чтобы сделать дистрибутив минималистичным, потребуется создать его, что называется, from scratch. Наиболее переносимым вариантом будет 32-битная система.
Создаем образ, который впоследствии будем наполнять:
Мы указали размер образа с запасом в 1 Гбайт, в дальнейшем формат VDI сожмет пустоты.
Создаем разметку диска — один логический раздел:
$ fdisk linux.img
Command (m for help):n
Command (m for help):p
Partition number (1-4, default 1):
First sector (2048-2097151, default 2048):
Last sector, +/-sectors or +/-size
Command (m for help):w
Command (m for help):q
Создаем файловую систему и монтируем готовый раздел:
Скачиваем минимальный набор user-space:
Теперь осталось собрать ядро:
Создаем дефолтную конфигурацию ядра:
Также нам потребуется несколько дополнительных модулей:
- Сперва самое главное — поддержка сетевого моста (bridge): Networking support → Networking options → 802.1d Ethernet Bridging.
- Поддержка виртуальных интерфейсов (tun) тоже потребуется: Device Drivers → Network device support → Network core driver support → Universal TUN/TAP device driver support.
- Помимо OpenVPN, туннель можно построить и через GRE (опционально): Networking support → Networking options → TCP/IP networking → The IPv6 protocol → IPv6: GRE tunnel.
- Для построения PPP-туннелей в одну команду (тоже опционально): Device Drivers → Network device support → PPP (point-to-point protocol) support.
После того как все собралось, копируем ядро и модули:
Остался RAM-диск. Его, если хост-система 64-битная, лучше собрать на 32-битной системе. Только что скачанное через debootstrap окружение идеально подходит для этого:
И последнее — загрузчик ОС.
Пропишем опции для загрузки:
mnt/boot/grub/grub.cfg
Готово. Мы получили полностью работоспособную ОС. Теперь нужно слегка настроить ее. Снова заходим в файловую систему:
Сперва настроим SSH, без этого никуда:
Не забываем указать пароль для root:
Теперь очередь сервера OpenVPN, через который и предполагается организовывать себе доступ:
Опустим этап генерации сертификатов и ключей для OpenVPN. Итоговый конфиг для серверной стороны должен выглядеть так:
Здесь up.sh и down.sh — это скрипты, которые должны добавлять интерфейс VPN в сетевой мост.
/etc/openvpn/up.sh
/etc/openvpn/down.sh
Дополнительно я для себя добавил клиент OpenVPN для подключения к VDS, который поднимется сразу после запуска виртуалки и позволит подключаться откуда угодно.
Также на случай, если виртуалка поднимается в фильтруемом сетевом сегменте, я предусмотрел обратный шелл. Прописываем в cron:
А на случай, если нет интернета, но есть эксфильтрация DNS (что бывает очень часто), прописываем в cron еще такую строку:
И в том и в другом случае, контролируя свою зону DNS через attacker.my_zone.tk и dnscat.my_zone.tk, можно управлять поведением реверс-шеллов.
Теперь осталось очистить базу dpkg, так мы освободим 50 Мбайт места:
И отмонтируем готовую ФС:
Последний штрих — создание образа для VirtualBox. Предварительно сконвертируем его в формат VDI:
Все готово. Теперь импортируем диск в VirtualBox, указываем количество процессоров и оперативки (все по минимуму) и на выходе получаем готовый файл linux.ova, который можно будет импортировать на любом хосте без лишних вопросов.
В итоге весь образ занял у меня 341 Мбайт.
Тихая установка и запуск VirtualBox
Скачиваем дистрибутив VirtualBox. Я взял версию 5.2.6-120293, она должна работать в любой Windows с XP по 10.
Чтобы установить ее в тихом режиме, потребуется достать установочные пакеты .msi:
В папке %USER%\appdata\local\temp\virtualbox\ будут лежать все необходимые для установки файлы:
- VirtualBox-5.2.6-MultiArch_amd64.msi
- VirtualBox-5.2.6-r120293-MultiArch_x86.msi
- common.cab
Также потребуется достать сертификат из любого драйвера VirtualBox, чтобы перед установкой добавить его в trusted и обойти тем самым окно с уведомлением о левом драйвере.
Для удобства вот батник, который деплоит все, что нужно, в скрытом режиме:
Аргументы в пользу Linux
Возможно, пролистав все настройки, ты уже готов пожаловаться на то, что все это слишком сложно. Но на самом деле ничего сложного здесь нет. Наоборот — сложно работать, используя хакерский софт для Windows, который:
- в половине случаев не заведется или заведется, но не будет нормально работать;
- также в половине случаев захочет показать графическую оболочку, а это зачастую роскошь;
- потребует как-то обходить антивирусное ПО;
- потребует ставить интерпретаторы типа Python и кучу разных зависимостей, что без доступа к интернету станет дополнительной проблемой;
- иногда может потребовать даже перезагрузку (в Windows частое явление);
- никак не сравнится по функциональности и гибкости с аналогичной экосистемой в Linux.
Деплой на удаленном хосте
Последний этап, который мы рассмотрим, — это запуск нашей виртуальной машины на захваченной машине с Windows.
Для начала копируем все и запускаем:
Ждем пять минут, и если все пошло хорошо, то в требуемом сетевом сегменте появится новый хост с открытым 22-м портом, куда мы сможем зайти:
Дальше помещаем нужный сетевой интерфейс в мост:
Важно все сделать одной командой, чтобы не потерять связь.
Скорректируем выданный виртуалке IP-адрес в /etc/openvpn/server.conf , после чего запускаем его:
Далее уже на своей основной системе (с Linux, конечно же) делаем
И получаем интерфейс tap0, словно мы подключены патч-кордом в VLAN скомпрометированной системы. Здесь уже можем творить все, что захотим:
И многое, многое другое.
В итоге благодаря магии виртуализации и сетевых туннелей мы открыли портал в сетевой сегмент скомпрометированной системы и тем самым выжали максимум пользы во время постэксплуатации. Теперь мощь всех инструментов, реализованных главным образом в Linux, обрушит неприступность практически любой, даже полностью пропатченной и защищенной на первый взгляд системы.
Уходим красиво
Когда придет время заметать следы, выключаем и удаляем виртуалку, удаляем VirtualBox, убираем сертификат, удаляем все файлы:
Никаких следов. Почти.
Пример из жизни
Напоследок — пример из практики, благодаря которому и родилась описанная идея.
Однажды на реальном внутреннем пентесте мы оказались в шаге от получения доступа к управлению турбинами гидроэлектростанции. Вся загвоздка заключалась в том, что управляющий ПК не состоял в домене (так часто бывает с технологическими компонентами) и не содержал никаких актуальных уязвимостей.
Единственным шансом была MITM-атака или через ARP spoofing или частичная через NetBios spoofing. Однако во всем сетевом сегменте не было серверов с Linux, пригодных для эксплуатации MITM-атак, а доступ был лишь на несколько смежных рабочих станций с Windows. И тогда мы провернули описанную выше процедуру (правда, в качестве гостевой ОС запустили Kali).
В результате минут через пятнадцать у нас была учетка локального администратора и доступ в технологическую сеть.
Источник