О Некоторых Приемах Нападения Человек Посередине

Немного Википедии: Атака «человек посередине» (атака MitM) — это термин в криптографии, обозначающий ситуацию, когда злоумышленник может читать и модифицировать по своему желанию сообщения, которыми обмениваются корреспонденты, и никто из последних не сможет догадаться о его присутствии на канале.

В этой статье будет обсуждаться техника пассивной атаки на http-соединение без изменения передаваемой информации.

Итак, вы каким-то образом смогли физически или удаленно вклиниться в канал передачи данных, настроить мост или просто получить root-контроль над шлюзом.

Руткит установили, исходные базы слили, вебшелл залили, в cron заложили бомбу замедленного действия, и что теперь? Оговоримся, что в данной статье не рассматриваются методы взлома защищенного соединения, например SSL. Как мы получили этот самый root-доступ, мы тоже не будем рассказывать, оставим место для интриги.

Доступ без root-прав не имеет смысла, так как описанные ниже утилиты требуют высоких привилегий.

С чего нам начать сейчас? И тут же приходит нам на помощь утилита tcpflow .

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

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

В случае со шлюзом у нас будет как минимум два интерфейса, один из которых, как правило, смотрит во внутреннюю сеть, другой «вовне».

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

Итак, возьмем несколько http-соединений, например, из «внутреннего» интерфейса: #tcpflow порт 80 -i eth1 Многие файлы сеансов начинают создаваться в текущем каталоге.

Мы помним это благодаря технологии поддержания активности , в одном соединении может быть сделано несколько запросов, а значит несколько из них можно записать в один файл.

Файлы содержат заголовки, как HTTP-заголовки, так и передаваемые данные.

Это выглядит примерно так: HTTP/1.1 200 ОК Дата: вторник, 01 ноября 2011 г.

, 12:25:18 по Гринвичу Сервер: Апач Последнее изменение: среда, 14 сентября 2011 г.

, 03:48:00 GMT. ETag: "1111111-22222-333333333" Диапазоны принятия: байты Длина контента: 4451 Keep-Alive: таймаут=15, макс=100 Соединение: Поддержание активности Тип контента: изображение/png .

PNG.IHDR.d.,T+3.gAMA.7.tEXtSoftware.Adobe ImageReadyq.e<.

.

PLTE.2.j.*.

N.\.

> .

.

&.

В.

$.

Р.

л.

:.

.

.

мм.

р.

,.

Б.

уу.

{{.

.

а.

\.

!.

з… .

}.

л.

7.Х.

у.

М.

д.А.

=.

.

&ff.~~.

|.

У.

-.

.

.

|.

к.

?… Фильтрация Попробуем отфильтровать данные по строкам, содержащим данные авторизации.

#egrep -ir "Авторизация|Cookie" .

/ Результат будет выглядеть примерно так.



О некоторых приемах нападения Человек посередине

Извините за качество, скриншот с рабочего сервера.

С файлами cookie все просто, просто введите их в свой браузер через какой-то редактор файлов cookie украсть сессию.

Следует помнить, что иногда файлы cookie привязаны к IP-адресу клиента и даже к его Пользовательский агент , поэтому простое удаление файлов cookie ничего не даст. Также легко расшифровать HTTP-АУТ существует всего несколько видов:

  1. Базовая пара логин:пароль отправляется в кодировке Base64. В данном случае мы берем строку из Authorization и декодируем ее в декодере base64, получаем строку вида имя пользователя:пароль.

  2. Дайджест, хеш передается из функции MD5(имя пользователя:область:пароль) .

    Здесь сложнее.

    Вы можете попробовать через радужные столы найти все совпадения строк вида «A:B:C», где A — логин, B — область, C — пароль.

    Таких совпадений не должно быть так много, чтобы их потом невозможно было разобрать.

  3. Прочее: открытый ключ, Kerberos, TLS/SSL – не рассматривается.

Нас также интересуют все случаи посылок HTTP-метод POST , часто содержит авторизационные данные на страницах.

#egrep -rnH "POST" .

/ ПОСТ/auth.php HTTP/1.1 Хозяин: blabla.ru. Пользовательский агент: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Принять: text/html,application/xhtml+xml,application/xml;q=0,9,*/*;q=0,8 Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 Принять-кодирование: gzip, deflate Accept-Charset: windows-1251,utf-8;q=0,7,*;q=0,7 ДНТ: 1 Соединение: поддержание активности Реферер: http://bla.ru/auth.php Файл cookie: __utma=25445499.32598290.132041700.132014354.132015499.3; __utmc=25445439; __utmz=25445499.132014100.1.1.utmcsr=(прямой)|utmccn=(прямой)|utmcmd=(нет); Тип контента: приложение/x-www-form-urlencoded Длина контента: 72 text=blabla&login=имя пользователя&пароль=ololo&wefo=onPOST /bla.php HTTP/1.1 Захват файла Также tcpflow в сочетании с полезность прежде всего полезен для перехвата файлов или, скорее, их извлечения из массива необработанных захваченных данных.

Для этого просто используйте передний план в файлах подключения, обработанных tcpflow: #в первую очередь .

/* # ls -la .

/выход/ всего 48 drwxr-xr — 5 root root 4096 1 ноября 18:01. drwxr-xr-x 3 root root 32768 1 ноября 18:01… -rw-r--r-- 1 корень корень 0 1 ноября 18:01 Audit.txt drwxr-xr-- 2 root root 4096 1 ноября 18:01 flv drwxr-xr -- 2 корень корень 4096 1 ноября 18:01 html drwxr-xr -- 2 root root 4096 1 ноября 18:01 php Также неожиданно выяснилось, что с помощью этой утилиты вы можете восстановить файлы с повреждённых носителей, благо файлы по сигнатурам он распознаёт хорошо.

Например, в передовой.

conf Вы даже можете зарегистрировать подписи для пользовательских типов файлов.

Другие примеры работ Перехват FTP-соединений на шлюзе snup: #tcpflow 'функция шлюза и (порт ftp или ftp-данные)' Перехват незашифрованного почтового трафика: #tcpflow TCP-порт 110 #tcpflow TCP-порт 25 Похожий на tcpflow выполняет функцию утилита tcpxtract .

Есть еще сторона утилита httpflow , но в основном используется для отладки http-соединений.

выводы Таким образом, мы показали, что имея физический или удаленный root-доступ к каналу, без образования и сложных знаний можно перехватить любые пользовательские данные с помощью простых утилит. Статья скорее обзорная, так как мне не хотелось писать очередное бездушное «скачал-скомпилировало».

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

Что мне не удалось

  1. Установите кучу утилит через трубка TCP-поток | в первую очередь.

    Они, видимо, не очень дружелюбны друг с другом.

  2. Эизвлечь с использованием html-файлов переднего плана, сжатых Принять-кодирование: gzip, сдуть , очевидно, в первую очередь не поддерживает такой вид декодирования.

    При быстром поиске я не смог найти никаких утилит для этого.

    Однако это можно сделать вручную; для каждого файла вам нужно обрезать заголовки http и передать их через sdtin в gzip/tar/deflate.

Полезная литература: #человек прежде всего #man tcpflow #man tcpxtract www.voidspace.org.uk/python/articles/authentication.shtml secure.wikimedia.org/wikipedia/ru/wiki/%D0%A7%D0%B5%D0%BB%D0%BE%D0%B2%D0%B5%D0%BA_%D0%BF%D0%BE%D1 %81%D0%B5%D1%80%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5 secure.wikimedia.org/wikipedia/ru/wiki/%D0%A1%D0%BD%D0%B8%D1%84%D1%84%D0%B5%D1%80 www.circlemud.org/jelson/software/tcpflow secure.wikimedia.org/wikipedia/en/wiki/Digest_access_authentication Encrypted.google.com/searchЭq=foremost+linux www.debian-administration.org/articles/558 stackoverflow.com/questions/2866864/extract-payload-from-tcpflow-output tcpxtract.sourceforge.net Набор утилит для анализа и взлома www2.opensourceforensics.org/tools/unix serverniff.blogspot.com/2009/08/extracting-files-from-tcpdump.html Теги: #linux #sniffer #HTML #http #auth #attack mitm #информационная безопасность
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.