Hack FAQ

VEiDER

Xakep, номер #050, стр. 050-051

hack-faq@real.xakep.ru

Задавая вопросы, конкретизируй их. Давай больше данных о системе, описывай абсолютно все, что ты знаешь о ней. Это мне поможет ответить на твои вопросы и указать твои ошибки. И не стоит задавать вопросов вроде "Как сломать www-сервер?" или вообще просить у меня "халявного" Internet'а. Я все равно не дам, я жадный :).

Q: В локалке, которую я изучаю, установлен фаервол, отфильтровывающий все соединения, кроме 80-го порта (21-го порта). Как я могу оставить лазейку, ведь мой самописный бэкдор слушает порт 31337, который фаерволом закрыт, а открытый 80-й (21-й) занят вебсерваком (фтп-сервером)?A: Попробуй использовать такую утилиту, как неткат. Она позволяет прослушивать даже те порты, которые заняты приложением. Когда клиент коннектится на позволительный 80-ый (21-ый) порт, он получает консоль удаленной системы. Запуск нетката на винтуке: nc.exe -L -t -vv -e cmd.exe.

Q: У меня есть эксплоиты на си и на перле. Что с ними делать?A: Прежде чем использовать сишный эксплоит, его надо скомпилировать. Загружаешь свой любимый Linux или *BSD и делаешь что-то типа: "gcc -o exploit exploit.c". Естественно, что имена исходника и бинарника у тебя могут отличаться. Возможно, тебе понадобится подключить библиотеки, но это все зависит от конкретного случая. Что касается перла, то там все проще. Компилировать ничего не надо, просто ставишь на файл права запуска (+x или 755) и запускаешь ("./exploit.pl" или "perl exploit.pl").

Q: Поставил на шелл свой бэкдор, но ведь после перезагрузки он прибьется. Куда его прописать так, чтобы он запускался после перезагрузки?A: Прописать можно во многие места. Например, во всех UNIX-подобных системах есть такая удобная вещь, как crond. В Linux в /etc/rc.d лежит огромное количество скриптов. Эти скрипты запускаются при переходе системы на другой runlevel. Ну и, наконец, *BSD. В /etc лежат различные rc.local, rc.network. Вот в них-то и можно записать.

Q: Можно ли по IP или по доменному имени вычислить физическое расположение компьютера?A: Теоретически это возможно, но на практике все сложнее. Допустим, ты зарегистрировал домен l33thax0r.ru. Естественно, подразумевается, что это русский домен, но ведь вовсе не обязательно, что хостинг располагается в России. С IP-адресами дела обстоят лучше. Каждый диапазон адресов привязан к некоторой организации, а организация, соответственно, находится в какой-то стране/штате/городе и т.д. Посмотреть информацию о доменном имени или IP-адрес можно, используя команду who.

Q: Я часто слышу про каких-то кисок, кошек, цицок и т.д. Что это такое и зачем это надо?A: Так обычно называют роутеры фирмы CISCO. Роутер - это такой девайс, который занимается маршрутизацией пакетов. Обычно роутеры ставятся для объединения нескольких локальных сетей или в качестве шлюза/firewall'а между локальной сетью и интернетом. Помимо CISCO, роутеры выпускают 3COM, NOKIA, Motorola. Роутеры имеют свою собственную операционную систему, например роутеры CISCO - IOS. Практических применений у роутеров очень много. Начнем с того, что к роутеру обычно подведен канал с достаточно большой пропускной способностью. Таким образом, возможно проведение элементарной DoS-атаки, просто посылая ping-запросы. С другой стороны, имея возможность настраивать роутинг, мы можем скрыть свое пребывание в сети, а настраивая фаервол, можно расширить возможный доступ к ресурсам сети.

Q: Я нашел странный комп. Если к нему подключаться на 31337-й порт, то он пытается установить ppp'шную сессию. Как я могу туда подключиться при помощи винды или никсов?A: В винде тебе понадобится утилита comip. Она позволяет создать на компьютере эмуляцию модема, которому в качестве номера задается IP и порт для соединения. Далее программа установит соединение, и тебе останется лишь настроить роутинг в новой сетке. С никсами интереснее. Рассмотрим весь этот процесс на примере *BSD. Там есть стандартная утилита "ppp". Запускаешь ее, получаешь приглашение типа "ppp>". Далее необходимо задать девайс, через который будешь подключаться "set device <gateway address>:<port>". Теперь переходишь в терминальный режим "term". Как только удаленный хост попытается установить с тобой ppp-сессию, утилита выйдет из терминального режима, и ты увидишь примерно следующее: "ppp", "Ppp", "PPp", "PPP>". Все, соединение успешно установлено. Теперь делаешь "ifconfig -a", и смотришь, на каком интерфейсе у тебя появился новый адрес. Скорее всего, это tun0 или ppp0. Далее настраиваешь роутинг, и все. Дело сделано :).

Q: Слышал, что есть такие x.25 сети. Что это такое и зачем они нужны?A: X.25 - это протокол, который применяется в так называемых сетях пакетной коммутации. Базируются такие сети на PAD’ах - Packet Assembler Disassembler. Таких PAD'ов много, и они разбросаны по всему миру. При подключении между падами устанавливается виртуальное соединение, по нему и происходит передача данных. X.25 сети интересны тем, что в них имеют выход многие крупные корпоративные сети. Здесь можно встретить локальные сети банков, аэропортов.

Q: Я нашел сайт с огромным количеством эксплоитов и другой информации. Среди всего этого я нашел один massrooter, который и запустил у себя на машине. Теперь мой Linux выпадает в coredump при загрузке. Что могло случиться?A: Вполне возможно, что в твоей проблеме виноват свежескачанный массрутер. Иногда в таких "утилитах" используется "защита от дурака". Т.е. в код умышленно вставляется какое-то вредоносное действие, которое незаметно на первый взгляд. Таким образом утилиты защищаются от использования непонимающими любителями.

Q: Я пытаюсь скомпилировать эксплоит на своей FreeBSD 4.7. Он ругается на lpthread, говорит, что такая библиотека не найдена. В Linux'е все собирается нормально. Для чего эта либа-то, и что может глючить?A: Видимо, твой эксплоит использует многопоточность. Именно для реализации этой многопоточности и необходима библиотека lpthread. Опция -l у компилятора gcc означает, что будет искаться либа с названием libXXXX. Для начала следует проверить, установлена ли вообще данная библиотека. Также стоит добавить, что в FreeBSD данная либа включается не опцией "-l", а просто "-pthread". Таким образом, для сборки софта с использованием libpthread необходимо ввести что-то типа: "gcc -pthread -o exploit exploit.c".

Q: У меня не собирается эксплоит. Находит какую-то синтаксическую ошибку. Как такое может быть?A: Ответов несколько. Возможно, это не эксплоит, а фейк (если ты стрейдил его). Может, это и вовсе не работающий фейк :). Возможна и другая ситуация, например, в код действительно вкралась синтаксическая ошибка. При копировании пропустил либо точку с запятой, либо скобку. Такие ошибки обычно легко исправимы и очень заметны. Ну, и третий вариант заключается в том, что ошибка была умышленно допущена авторами. Очень часто эксплоиты защищают таким методом. Т.е. авторы слегка ломают эксплоит, так, чтобы профессионал, понимая суть происходящего, мог исправить код. Таким образом, люди, далекие от этого, просто не в состоянии скомпилировать исходный код.

Q: Скачал я один эксплоит. Запустил, а он сказал, что опции по дефолту результата не дали, но есть возможность подобрать адрес. Что за адрес он будет подбирать и как?A: Значит, у эксплоита есть ограниченный набор целей (target), являющихся уязвимыми, в результате чего получится взлом. Если ни одна из целей не подходит, то, возможно, стоит перебрать все возможные варианты, надеясь, что хоть один из них подойдет. Обычно этот метод крайне неэффективен и ОЧЕНЬ заметен, так как в логи пишется информация о нестандартных запросах и прочее. Какой конкретный адрес эксплоит собирался считать, я сказать не могу, хотя можно предположить, что это либо адрес возврата, либо адрес начала/конца некоторого буфера. В общем, здесь существуют разные варианты.

Содержание
Выпуски журнала "Xakep"
Журнал Хакер. Содержание номера #001Журнал Хакер. Содержание номера #002Журнал Хакер. Содержание номера #003Журнал Хакер. Содержание номера #004Журнал Хакер. Содержание номера #005Журнал Хакер. Содержание номера #006Журнал Хакер. Содержание номера #007Журнал Хакер. Содержание номера #008Журнал Хакер. Содержание номера #009Журнал Хакер. Содержание номера #010Журнал Хакер. Содержание номера #011Журнал Хакер. Содержание номера #012Журнал Хакер. Содержание номера #013Журнал Хакер. Содержание номера #014Журнал Хакер. Содержание номера #015Журнал Хакер. Содержание номера #016Журнал Хакер. Содержание номера #017Журнал Хакер. Содержание номера #018Журнал Хакер. Содержание номера #019Журнал Хакер. Содержание номера #020Журнал Хакер. Содержание номера #021Журнал Хакер. Содержание номера #022Журнал Хакер. Содержание номера #023Журнал Хакер. Содержание номера #024Журнал Хакер. Содержание номера #025Журнал Хакер. Содержание номера #026Журнал Хакер. Содержание номера #027Журнал Хакер. Содержание номера #028Журнал Хакер. Содержание номера #029Журнал Хакер. Содержание номера #030Журнал Хакер. Содержание номера #031Журнал Хакер. Содержание номера #032Журнал Хакер. Содержание номера #033Журнал Хакер. Содержание номера #034Журнал Хакер. Содержание номера #035Журнал Хакер. Содержание номера #036Журнал Хакер. Содержание номера #037Журнал Хакер. Содержание номера #038Журнал Хакер. Содержание номера #039Журнал Хакер. Содержание номера #040Журнал Хакер. Содержание номера #041Журнал Хакер. Содержание номера #042Журнал Хакер. Содержание номера #043Журнал Хакер. Содержание номера #044Журнал Хакер. Содержание номера #045Журнал Хакер. Содержание номера #046Журнал Хакер. Содержание номера #047Журнал Хакер. Содержание номера #048Журнал Хакер. Содержание номера #049Журнал Хакер. Содержание номера #050Журнал Хакер. Содержание номера #051Журнал Хакер. Содержание номера #052Журнал Хакер. Содержание номера #053Журнал Хакер. Содержание номера #054Журнал Хакер. Содержание номера #055Журнал Хакер. Содержание номера #056Журнал Хакер. Содержание номера #057Журнал Хакер. Содержание номера #058Журнал Хакер. Содержание номера #059Журнал Хакер. Содержание номера #060Журнал Хакер. Содержание номера #061Журнал Хакер. Содержание номера #062Журнал Хакер. Содержание номера #063Журнал Хакер. Содержание номера #064Журнал Хакер. Содержание номера #065Журнал Хакер. Содержание номера #066Журнал Хакер. Содержание номера #067Журнал Хакер. Содержание номера #068Журнал Хакер. Содержание номера #069Журнал Хакер. Содержание номера #070Журнал Хакер. Содержание номера #071Журнал Хакер. Содержание номера #072Журнал Хакер. Содержание номера #073Журнал Хакер. Содержание номера #074Журнал Хакер. Содержание номера #075Журнал Хакер. Содержание номера #076Журнал Хакер. Содержание номера #077Журнал Хакер. Содержание номера #078Журнал Хакер. Содержание номера #079Журнал Хакер. Содержание номера #080Журнал Хакер. Содержание номера #081Журнал Хакер. Содержание номера #082Журнал Хакер. Содержание номера #083Журнал Хакер. Содержание номера #084Журнал Хакер. Содержание номера #085Журнал Хакер. Содержание номера #086Журнал Хакер. Содержание номера #087Журнал Хакер. Содержание номера #088Журнал Хакер. Содержание номера #089Журнал Хакер. Содержание номера #090Журнал Хакер. Содержание номера #091Журнал Хакер. Содержание номера #092Журнал Хакер. Содержание номера #093Журнал Хакер. Содержание номера #094Журнал Хакер. Содержание номера #095Журнал Хакер. Содержание номера #096Журнал Хакер. Содержание номера #097Журнал Хакер. Содержание номера #098Журнал Хакер. Содержание номера #099Журнал Хакер. Содержание номера #100Журнал Хакер. Содержание номера #101Журнал Хакер. Содержание номера #102Журнал Хакер. Содержание номера #103Журнал Хакер. Содержание номера #104Журнал Хакер. Содержание номера #105Журнал Хакер. Содержание номера #106Журнал Хакер. Содержание номера #107Журнал Хакер. Содержание номера #108Журнал Хакер. Содержание номера #109Журнал Хакер. Содержание номера #110Журнал Хакер. Содержание номера #111Журнал Хакер. Содержание номера #112Журнал Хакер. Содержание номера #113Журнал Хакер. Содержание номера #114