Архив метки: Безопасность

Как пользоваться Ettercap

Ettercap — это утилита для анализа сетевого трафика, проходящего через интерфейс компьютера, но с дополнительной функциональностью. Программа позволяет выполнять атаки типа «Человек посередине» чтобы заставить другой компьютер передавать пакеты не маршрутизатору, а вам.

С помощью Ettercap вы можете проверить безопасность своей сети, насколько она подвержена такого типа атакам, а также анализировать трафик из нескольких компьютеров, и даже модифицировать его на лету. В этой статье мы рассмотрим как пользоваться Ettercap для анализа и модификации трафика.

Что такое атака «Человек по середине»?

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

Компьютер, через который будут проходить пакеты может анализировать источник, целевой адрес, а если они не зашифрованы, то и полное их содержимое.

Существует два способа выполнения MITM (Man In Middle Attack):

  • ARP атака — с помощью особенностей протокола ARP ваш компьютер говорит другим, что он маршрутизатор, после этого все пакеты начинают предаваться ему;
  • DNS атака — когда компьютер пытается получить ip адрес для домена, мы подменяем этот адрес на свой, но чтобы этот вид работал, нужно использовать способ с ARP.

Программа Ettercap Linux умеет выполнять оба вида атак. Кроме того, утилита может выполнять атаки на отказ в обслуживании и сканировать порты. А теперь давайте рассмотрим как выполняется установка и использование Ettercap.

Установка Ettercap

Это довольно популярная программа, среди специалистов по сетевой безопасности, поэтому она есть в официальных репозиториях большинства дистрибутивов. Например, чтобы установить Ettercap в Ubuntu выполните:

sudo apt install ettercap-gtk

В Fedora или других, основанных на ней дистрибутивах, команда будет выглядеть похожим образом:

sudo yum install ettercap-gtk

С задачей как установить Ettercap Linux мы справились, но перед тем, как ее использовать, нужно изменить несколько настроек в конфигурационном файле.

sudo vi /etc/ettercap/etter.conf

Строки ec_uid и ec_gid должны иметь значение 0, чтобы сервис программы работал от имени суперпользователя:

[privs]

ec_uid = 0 # nobody is the default

ec_gid = 0 # nobody is the default

Дальше нужно найти и раскоментировать такие две строки:

redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

Они используются для перенаправления SSL соединений на обычные HTTP, если это возможно. Дальше сохраните изменения и программа готова к работе.

Использование Ettercap GUI

Программа может работать в нескольких режимах — с графическим интерфейсом, без и в виде сервиса. Мы будем рассматривать работу в графическом интерфейсе. Для запуска программы с интерфейсом GTK используйте опцию -G:

sudo -E ettercap -G

Опцию -E для sudo мы используем, чтобы сохранить все переменные окружения нашего пользователя. Главное окно программы выглядит очень простым. Сначала мы рассмотрим как выполняется атака ARP-poisoing.

Атака ARP-poisoning в Ettercap

Как я уже говорил, с помощью этой атаки мы можем заставить целевой компьютер отправлять пакеты не маршрутизатору, а нам. Работает все достаточно просто. Компьютер знает IP маршрутизатора, он получил его при подключении к сети. Но каждый раз, когда ему нужно отправить пакет, нужно преобразовать этот универсальный IP адрес в низкоуровневый адрес используемой сетевой технологии, например, для проводного интернета — это MAC адрес.

Для этого используется протокол ARP. Компьютер отправляет запрос всем устройствам в сети, например «кто такой 192.168.1.1» и маршрутизатор, увидев свой адрес отправит в ответе свой MAC. Дальше он будет сохранен в кэше. Но мы можем с помощью Ettercap попросить целевой компьютер обновить свой ARP кэш и передать ему вместо MAC адреса роутера свой MAC адрес. Тогда все пакеты будут передаваться нам, а уже мы отправим их куда нужно.

Перейдем ближе к делу и выполним атаку attercap arp spofing. В Ettercap откройте меню Sniff и выберите Unified Snifing. Затем выберите ваш сетевой интерфейс, например, eth0 или wlan0:

Окно программы измениться и нам будет доступно намного больше функций. Теперь нужно просканировать сеть. Для этого откройте меню Hosts и нажмите Scan hosts. Если даже что-то не работает, то вы можете загрузить список хостов из файла:

Дальше, после быстрого сканирования, если вы откроете Hosts -> Hosts List, то увидите список подключенных к сети устройств:

Чтобы начать атаку нам нужно указать цель 1 и цель 2. В качестве первой цели нужно указать ip машины, которую мы собрались атаковать, а в качестве цели 2 — ip маршрутизатора. Для добавления целей используйте кнопки Add Target 1 и Add Traget 2:

Далее откройте меню MITM и выберите ARP poisoning:

В открывшемся окне отметьте пункт Sniff remote connections, чтобы перехватывать все удаленные соединения от этого компьютера:

 

Теперь, для запуска процесса подмены в меню Start выберите Start Sniffing.

После этого программа начнет отправлять в сеть пакеты, с запросом для 192.168.1.3 на обновление кэша ARP и замены MAC адреса маршрутизатора на ваш. Атака запущена и успешно выполняется. Вы можете открыть меню View -> Connections и посмотреть активные соединения для целевого устройства:

Если пакет не был зашифрован, то мы можем посмотреть передаваемую информацию клинув по соединению мышью. Слева отображается отправленная информация, а справа — полученная:

Атака DNS-spoofing с помощью Ettercap

Для преобразования имен сайтов в IP адреса сети используется специальная служба — DNS. Когда компьютеру нужен ip сайта он спрашивает его у DNS сервера. Но если вы уже выполняем MITM атаку, то можем подменить ответ сервера таким образом, чтобы вместо IP сервера сайта возвращался наш IP. Сначала нам нужно отредактировать файл /etc/ettercap/etter.dns:

sudo vi /etc/ettercap/etter.dns

google.com.ua A 127.0.0.1

Эта запись означает, что мы подменим основной IP google.com.ua на 127.0.0.1. Обратите внимание, что эта атака не выполняется без предыдущей. Дальше откройте меню Plugins -> Manage Plugins:

Затем два раза кликните по плагину dns_spoof:

Плагин будет активирован и вы можете проверять ip на устройстве. DNS действительно подменяется. Например, вы можете выполнить на целевой машине:

ping google.com.ua

Или:

ping www.ettercap.org

Кроме этих плагинов, существуют и другие, с помощью которых вы можете выполнять нужные действия.

Фильтры Ettercap

Фильтры позволяют модифицировать пропускаемые через программу пакеты прямо на лету. Вы можете отбрасывать пакеты, либо вносить в них необходимые изменения с помощью функции replace. Фильтры тоже работают только пока запущена MITM атака. Синтаксис условий, по которым мы будем фильтровать пакеты очень похож на wireshark. Давайте рассмотрим простенький фильтр, который будет заменять все картинки на нашу:

vi test.filter

if (ip.proto == TCP && tcp.dst == 80) {

if (search(DATA.data, "Accept-Encoding")) {

replace("Accept-Encoding", "Accept-Rubbish!");

# note: replacement string is same length as original string

msg("zapped Accept-Encoding!n");

}

}

if (ip.proto == TCP && tcp.src == 80) {

replace("img src=", "img src="https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png" ");

replace("IMG SRC=", "img src="https://pbs.twimg.com/profile_images/655061121007616000/NCV0qQnS.png" ");

msg("Filter Ran.n");

}

Для тех, кто имел опыт работы с языками программирования здесь должно быть все понятно. Если протокол TCP и порт назначения 80, мы продолжаем поиск и ищем Accept-Encoding. Затем заменяем это слово на любое другое, но эквивалентное по длине. Потому что если браузер будет отправлять Accept-Encoding gzip, то данные будут сжаты и мы там ничего не отфильтруем. Дальше уже в ответе сервера, порт источника 80, мы подменяем все изображения на наше. Теперь фильтр нужно скомпилировать:

etterfilter test.filter -o test.ef

Осталось загрузить фильтр с помощью меню Filters -> Load Filter:

Выберите файл фильтра в файловой системе:

Фильтр будет загружен и вы можете открыть любой сайт, где не используется https чтобы убедиться, что все работает. Чтобы остановить MITM атаку, откройте меню MITM и выберите Stop All Mitm attacks. Наша инструкция Ettercap подходит к концу, но…

Как защититься?

Наверное, после прочтения статьи у вас возник резонный вопрос, как же защитить свой компьютер от такого вида атак? Для этого есть несколько инструментов, в том числе для операционной системы Linux:

  • XArp — графическая утилита, которая может обнаруживать попытки подмены MAC адресов по протоколу ARP и противодействовать этому. Может работать в WIndows и в Linux;
  • Snort — достаточно известная система противодействия вторжениям, среди прочего обнаруживает атаки на протокол ARP;
  • ArpON — небольшой сервис, который следит за ARP таблицей и защищает ее от подмены MAC адресов.

Выводы

В этой статье мы рассмотрели как пользоваться Ettercap — программой для анализа сетевых пакетов и выполнения атак типа «Человек посередине». Используйте программу только для тестирования безопасности своих сетей или приложений, а также не забывайте что незаконные действия в информационном пространстве тоже наказуемы.

На завершение видео с демонстрацией работы программы:

https://youtu.be/QhYIzgBqow4



2016-12-28T17:44:31
Безопасность

Настройка Apparmor в Ubuntu

AppArmor — это система управления доступом к файлам на основе имен (Mandatory Access Control). Недавно мы рассматривали еще одну реализацию такой системы — SELinux. Apparmor работает подобным способом, на основе модуля ядра Linux Security (LSM). Но он сильно отличается от SELinux и в первую очередь своей простотой. Здесь нет никаких ролей и маркеров. Есть только программы и список файлов, к которым они могут иметь доступ. Если SELinux используется по умолчанию в Red Hat, то AppArmor, установлен и активирован по умолчанию в Ubuntu.

В этой статье мы рассмотрим как выполняется настройка Apparmor в Ubuntu, как контролировать доступ приложений к файлам, а также как создавать свои файлы профилей для новых приложений.

Читать

Настройка gufw в Ubuntu

Фаервол — это один из самых важных инструментов для управления безопасностью вашей системы Linux. Если ваш компьютер подключен к сети, вы не можете считать его безопасным, несмотря на то, что Linux — это более безопасная система, не стоит игнорировать правила безопасности.

Операционная система Linux известна своим мощнейшим фаерволом — iptables. Но несмотря на свою мощность, этот фаервол очень сложный, им нужно управлять с помощью длинных и сложных консольных команд. Просматривать информацию о соединениях здесь тоже нужно в консоли. Поэтому он недоступен для большинства новых пользователей.

В Ubuntu, ситуация еще хуже, потому что здесь фаервол отключен по умолчанию и нет простого способа запустить его. Для управления фаерволом необходимо будет настроить несколько скриптов, а это непростая задача для начинающего пользователя. Вы можете вручную искать и создавать правила iptables, или же найти инструмент, с помощью которого будет облегчена настройка firewall ubuntu.

Чтобы обеспечить более легкую настройку firewall в linux был создан Uncomplicated Firewall или простой firewall, ufw. Затем была создана графическая утилита — gufw, чтобы настройка ufw была еще легче.

В этой инструкции мы рассмотрим как выполняется настройка фаервола ubuntu. Мы рассмотрим запуск и остановку службы, создание правил и просмотр сетевых журналов и все это без использования терминала. Gufw сделает iptables более простым, как и любой фаервол в операционной системе Windows. Все что вам понадобится — это базовое понимание принципов работы сетей.

Читать

Проверка Linux на вирусы

Раньше мы уже говорили о вирусах в Linux. Большинство людей считают, что вирусов в Linux нет и кое в чем они правы. Ведь вредоносных программ, которые сами могли бы распространяться по системе и заряжать другие компьютеры в сети минимум. Известные широкой общественности программы такого рода для Linux можно сосчитать на пальцах. Но есть и другой тип угроз, более характерный для Linux. Это руткиты, программы которые устанавливаются вручную и скрывают свою деятельность в системе.

Эти программы могут предоставлять установившему их человеку полный доступ к вашей системе, вычислительным ресурсам и данным. Не стоит недооценивать эту опасность. Если ваш компьютер подключен к интернет без использования локальной сети (роутера) и без технологии NAT, то обратится к нему может любой человек из сети провайдера. Для этого даже не обязательно знать ваш IP адрес. Злоумышленник может просто перебирать все адреса в своей подсети и если на вашем компьютере или сервере окажется искомая им уязвимость, например слабый пароль ssh или любая другая уязвимость в системном сервисе программная или недостаток настройки — ваш компьютер будет взломан.

Проверка Linux на вирусы

Чтобы понять не подключался ли кто к вашему компьютеру, вы можете посмотреть содержимое файла /var/log/audit.log или /var/log/secure.

tail -f /var/log/secure

Здесь фиксируются все события в системе, в том числе неудачные попытки входа по ssh. Я был удивлен когда увидел что мой пароль пытались подобрать. Также можно посмотреть логи сервиса sshd с помощью journalctl:

sudo journalctl _SYSTEMD_UNIT=sshd.service

Ну а если уже хакер получит доступ к вашей системе, тут у него уже много вариантов для действий — всплывают все уязвимости в системных библиотеках и ядре, которые можно использовать для обхода защитных механизмов Linux и повышения привилегий в системе. Поэтому не лишним будет следить за актуальностью своего программного обеспечения, в новом ПО скорее всего, уже закрыли известные уязвимости, а также иногда проверять компьютер специальной программой для поиска руткитов. В этой статье мы рассмотрим как проверить компьютер на вирусы в Linux.

Для поиска руткитов мы будем использовать утилиту rkhunter или RootkitHunter, а также chkrootkit. Мы рассмотрим как ее установить и настроить для правильной проверки. Вообще, я больше склоняюсь к первой, она новее и имеет больше функций.

Читать

Шифрование дисков в Linux

Безопасность и конфиденциальность очень важны, для тех, кто хранит важные данные на компьютере. Ваш домашний компьютер находится в безопасности, но с ноутбуком или другими переносными устройствами ситуация очень сильно меняется. Если вы носите свой ноутбук с собой почти везде и к нему могут иметь доступ посторонние лица, возникает вопрос — как защитить свои данные от чужого вмешательства. Именно от физических атак, где каждый желающий может попытаться получить данные из USB накопителя или жесткого диска ноутбука просто забрав устройство или в случае ноутбука, вытянув жесткий диск и подключив его к другой операционной системе.

Многие предприятия и даже простые пользователи используют шифрование дисков в linux чтобы защитить конфиденциальную информацию, такую как: сведения о клиенте, файлы, контактную информацию и многое другое. В операционной системе Linux поддерживается несколько криптографических методов для защиты разделов, отдельных каталогов или полностью всего жесткого диска. Все данные, в любом из этих способов автоматически зашифровываются и расшифровываются на лету.

Читать

ARP сканирование локальной сети Linux

Иногда возникает необходимость узнать какие устройства подключены к локальной сети Linux. Это может понадобиться если вы хотите подключиться к одному из компьютеров и не помните его адрес или хотите убедиться в безопасности вашей сети и найти все скрытые устройства.

Самый надежный способ обнаружить все подключенные к сети Linux устройства, в том числе и скрытые — это ARP сканирование локальной сети. В этой статье мы рассмотрим как его выполнить и какие утилиты для этого нужны.

Читать