Статьи Боевой Софт в Linux

Discussion in 'Статьи' started by SladerNon, 15 Jun 2005.

  1. SladerNon

    SladerNon Адам

    Joined:
    6 Mar 2005
    Messages:
    1,634
    Likes Received:
    934
    Reputations:
    355
    Вооружаем твоего пингвина до зубов!


    Скитаясь по просторам интернета, все чаще встречаешь зафаерволенные до зубов сервера. Разумеется, без этого прожить довольно сложно - сломают в момент. Эксплоиты в наше время все чаще прорываются из private в public источники, тем самым позволяя даже самому ушастому ламеру поломать самый безопасный сервер. Защищать свои машины всегда полезно, но иногда стоит задуматься и о некоторой контратаке, которая остановит даже самого коварного противника. Речь пойдет не о применении банальных эксплоитов, это ты сможешь сделать самостоятельно, здесь нет ничего сложного. А поговорим мы о чудо-программках, способных существенно помочь тебе в сборе информации о противнике для нанесения достойного удара по почкам :).

    Сбор информации о противнике

    Разумеется, перед атакой ты должен знать о жертве как можно больше: начиная с ip-адреса и заканчивая физическим расположением сервера (вдруг ты атакуешь сервер нашей доблестной милиции, которая постучится к тебе в дверь через 20 минут после факта атаки). Также ты должен знать все открытые порты на сервере. Иными словами, без хорошего сканера тебе не обойтись. О них и поговорим.

    1. Nmap - оружие настоящего разведчика.

    Если ты выбрал nmap - сканер портов нового поколения, о котором не раз писал X, то ты сделал шаг в верном направлении. Я не буду расписывать его возможности, а лишь укажу некоторые плюсы этого чудо-сканера, чтобы лишний раз убедить тебя в его огромном преимуществе перед другими. Итак:

    - Присутствие stealth-сканирования. Как правило, сам факт сканирования не записывается в логи, так как полное tcp-соединения еще не осуществилось, но nmap уже узнал об открытом порте.

    - Возможность определения операционной системы, установленной на сервере. Но, к сожалению, на практике система определяется довольно криво, поэтому доверять этой фене не стоит.

    -Некоторые приятные мелочи: изменения source ip-адреса, поддержка сканирования udp-портов и прочее.

    Огорчает только один минус: nmap’у нужны root-права. Этот недостаток может оказаться фатальным, из-за которого разведчик отказывается от "услуг" сканера, несмотря на его продвинутость.

    2. NetCat - швейцарский нож нового поколения.

    В противовес Nmap, я решил выставить невзрачную, на первый взгляд, сетевую утилиту netcat. Недаром ее прозвали швейцарским ножом за огромную пользу, которую она принесла. Рассмотрим простую строку, реализующую сканирование tcp-портов. Даю гарантию, что о возможности сканирования портов в NetCat мало кто знает, а если и догадывается, то не умеет применить ее.

    [root@shell root]# nc -v -z -w2 222.222.222.222 1-500

    [222.222.222.222] 300 (?) : Operation timed out

    [222.222.222.222] 143 (imap) open

    [222.222.222.222] 113 (auth) open

    [222.222.222.222] 111 (sunrpc) open

    [222.222.222.222] 110 (pop3) open

    [222.222.222.222] 106 (pop3pw) open

    [222.222.222.222] 94 (objcall) : Operation timed out

    Если ты думаешь, что сканирование портов - единственная фича NetCat, ты ошибаешься. Его возможности практически безграничны. Он может как прибиндить шелл на каком-либо порту, так и выполнять туннельную передачу данных между портами. Главное, знать опции этой чудесной тулзы. Поговорим о httpd. Очень часто требуется узнать баннер этого (хотя и не только этого) сервиса для определения, скажем, операционной системы сервера. Можно решить задачу в лоб: запустить telnet на порт и передать туда интересующие данные. Но участие "разведчика" в этой рутинной работе нежелательно, поэтому нас опять выручит NetCat. Дело в том, что сетевая кошка легко взаимодействует между локальными файлами и удаленными портами, поэтому задать алгоритм чтения баннера с порта можно легко и непринужденно.

    Брутфорс - тупой, но действенный метод

    Брутфорс всегда был и останется самым любимым методом взломщика :). Если ты изучал теорию вероятности, то можешь рассчитать везение в подборе пароля или логина с паролем (для особых везунчиков). Что касается софта для этого черного дела, то, к сожалению, большого ассортимента брутфорсов для Linux не найти (пара-тройка самописных сишников, не больше), поэтому приходится писать брутфорсеры самому. Как уважающий себя линуксоид ты обязан знать устройство и работу программы, которую ты запускаешь, иначе и вирус запустить недолго, поэтому неглубокое погружение в кодинг не повредит. Перед знакомством с брутфорсерами поговорим о самом методе, а также о его недостатках, ведь неспроста все профессиональные взломщики пренебрегают этим методом. Поехали:

    - Ограниченная скорость. Это, пожалуй, самый важный фактор, из-за которого брутфорс уже неактуален. Сам посуди, даже на хорошем канале на полный перебор одномегабайтного словарика у тебя уйдет не меньше 10 часов. К тому же, кто знает характер админа, который вполне мог поставить себе пароль, типа: J8sAe3sm7VxW.

    - Логи. Каждая попытка авторизации, как правило, записывается в лог-файл системы (если, конечно, это не Windows 95). Опять же, не зная характера администратора системы, ты можешь получить по башке от органов ОБЭП или от своего провайдера. А можешь и не получить... Как повезет.

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

    Брутаем pop3-аккаунты, или реальный DoS почтовому серверу

    Первый мой релиз - простенький pop3-брутфорсер. На самом деле, вещь незаменимая и уникальная, так как если ты заломал какой-нибудь сервер и жаждешь достать валидный аккаунт среди множества юзеров, то, запуская его локально, ты сможешь добыть огромную базу пользователей системы без особого напряга и мозолей на пальцах. Я не буду подробно комментировать код, так как брутер написан на Perl. Надеюсь, ты читаешь рубрику Кодинг и уже давно знаешь, как осуществить простые алгоритмы на этом языке. Сам же алгоритм, как я уже сказал, очень простой: открывается ворд-лист с предполагаемыми паролями, берется по циклу каждое слово в листе, затем происходит коннект на 110 порт сервера-жертвы, пересылка команд USER и PASS, и в зависимости от результата - решение о правильности пароля. Сам по себе код не содержит каких-либо сложных операторов. Еще один плюс этого брутфорсера - его с легкостью можно перенастроить на другой сервис, например, на ftp, где обмен командами в точности совпадает с pop3d. Иными словами - все в твоих руках :).

    Подбираем пароли к web-admin-zone

    Следующий брутфорсер, который удостоен чести быть описанным в этом материале, будет в виде подборщика паролей к веб-авторизации. Для составления алгоритма этого брутфорсера нужно знать, что пароли для этого дела передаются в MIME-хэше, в виде "user:password". А сгенерировать такой хэш, имея стандартные модули Perl, не так уж сложно - всю работу за нас выполнит модуль MIME::Base64. Прочитав хелп к нему, мы узнаем, что функция encode_base64() возвращает нам закодированный ее параметр. Далее алгоритм сводится к предыдущему, если не считать, что мусора на сервер поступит больше, чем в случае с pop3-брутфорсером, что опять-таки повлияет на скорость работы нашего переборщика... В этом проекте ты также найдешь удобную вещь - текущий процент перебора (иногда полезно знать, сколько лет тебе осталось до полного перебора твоего гигабайтного словарика :). Да, чуть не забыл. Лови линку на эти два брутфорсера: http://kamensk.net.ru/forb/1/x/brute.tar.gz. Словарей внутри не ищи, так как вкусы у всех разные, а заливать на сервер лишних сто мегов я не хочу.

    Сага о DoS

    В случае, если ты, прочитав заголовок, подумаешь, что я буду толковать о крутой операционке Dos v3.0, то тебе в Hack-Faq :), ибо эту аббревиатуру ты должен знать как свои пять пальцев. DoS расшифровывается как Denial of Service, или по-простому - отказ в обслуживании. Принципы DoS-атак не раз были описаны в журнале, поэтому, думаю, повторение изученного материала тут ни к чему. А о том, что поможет совершить это грязное дело, мы все-таки поговорим. Но прежде чем рассказывать о DoS’ерах, я должен предупредить тебя о трех серьезных вещах.

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

    2. Трафик. Учитывай тот фактор, что весь трафик, который ты нагонишь удаленному серверу, может учитываться твоим провайдером, так что у тебя есть реальный шанс наступить на свои же грабли.

    3. Безопасность. В последнее время DoS-атаками занимается abuse-служба атакованных компаний. Иными словами, если тебя засекут, тебе будет несладко, поэтому, если и идешь на грязное дело - иди с умом.

    Из этих трех важных фактов вытекает один - тебе необходимо обзавестись анлимитным рутшеллом за границей, тогда, возможно, ты избежишь побочных (для себя) эффектов совершенной DoS-атаки. Собственно, DoS’еры бывают разные. Некоторые донимают сервер запросами на tcp/udp порты, некоторые флудят icmp ECHO-реквестами, некоторые, опираясь на баги операционки, валят систему намертво (как teardrop для win95, например). Самым эффективным, на мой взгляд, флудильщиком является программа stream3.c, написанная 3APA3A'ой, создателем проекта security.nnov.ru. Этот ДоСер флудит сервер FIN/ACK пакетами, в результате этого флуда сервер впадает в депрессию и не отвечает на запросы. Но если твой канал маленький, то отказ в обслуживании понесешь ты, из-за действительно мощного потока флуда. DoS'ер, как ты уже понял, написан на C. В нем нет ничего заумного - структуры сокетов, попытка спуфа source ip и source port, и бесконечный цикл отправки мусора на сервер-жертву, после чего сервер послушно впадает в зимнюю спячку. Этот чудо-ДоСер ты можешь слить по адресу http://kamensk.net.ru/forb/1/x/stream3.c.

    На втором месте по DoS’ингу находится сишник smbnuke.c. Как я уже говорил, DoS - это не только забивка канала мусором, им вполне можно выбить из строя отдельный сервис, причем сервер будет работать как ни в чем не бывало. В нашем примере ДоСер стремится вывести из строя виндовый сервис SMB, причем делает это довольно успешно. Опробовать DoS’ер можно, предварительно скачав его с http://kamensk.net.ru/forb/1/x/smbnuke.c и скомпилировав стандартным gcc. Напоследок даю ссылку, где можно найти множество DoS’еров для конкретных целей: http://packetstormsecurity.nl/DoS/.

    Attention! Я не толкаю тебя на взлом, цель данного материала чисто ознакомительная. Я лишь хотел показать, какой софт под Linux можно использовать в зависимости от ситуации, а также напомнить тебе главные преимущества и недостатки описанных методов нападения на вражеский сервер. Делаем выводы: в чем-то Win32 превосходит linux (под винду гораздо больше сканеров и брутфорсеров), в другом - проигрывает (DoS’еры, флудеры - стихия именно Linux). Если возникнут вопросы по теме, мыль мне, я постараюсь ответить. Только не стоит задавать вопросов, типа: "Я пытался заломать сервак, а он не ломается - что мне делать?" - мне и так их хватает.

    Автор: Дмитрий Докучаев aka Forb
     
  2. Zadoxlik

    Zadoxlik рояль с сыром

    Joined:
    28 Feb 2005
    Messages:
    758
    Likes Received:
    216
    Reputations:
    257

    Странная концовка какая-то.
     
  3. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    не понравилось... =(