Институтские забавы Master-lame-master Xakep, номер #064, стр. 064-052-1 Нашумевшие истории крупных взломов В каждом университете существует своя локальная сеть. Без этого никак: студенты должны пользоваться файловыми архивами, преподы – общей базой. Обычно шлюз в таких сетях очень хорошо защищен – за этим следят профессиональные админы. А вот серверы внутри сети... лучше о них не говорить, их защита практически нулевая. Это доказывает один интересный взлом зарубежного вуза. С чего все начиналось? После изнурительной работы хакер наконец-то сел за компьютер. Настало время своеобразного отдыха: сегодня один из серверов должен был подчиниться взломщику. Наш герой внимательно изучал логи nmap’а, сканера, который несколько дней назад был запущен в бэкграунд для сканирования нескольких сегментов. Бегло просмотрев один из таких сабнетов, хакер нашел какой-то роутер. Судя по FingerPrint’у, на нем крутилась SunOS 5.7. Отлично, то что доктор прописал! Хакер глянул список открытых портов на машине. Все стандартно: FTP, SSH, RPC и несколько неизвестных сервисов. Анонимный доступ на FTP был запрещен, поэтому взломать систему через эту службу не представлялось возможным. RPC-демон был пропатчен, поэтому устоял перед эксплойтом. Таким образом, с внешней стороны машина выглядела вполне защищенной. Но это только на первый взгляд. Ахтунг! Хакер внутри! Взломщик всегда обращал внимание на любые мелочи, которые могли бы помочь ему проникнуть на сервер. На компе не был открыт 80 порт, что затрудняло положение: обычно злоумышленник тщательным образом изучал Web-зону в поисках бажных скриптов. На тачке были открыты следующие порты: 563, 2254 и 5567. Коннекты на первые два порта не выявили ничего хорошего – по-видимому, за ними скрывались какие-то хитрые и неизвестные сервисы. Опробовав неткатом последний открытый порт, наш герой хитро улыбнулся, поскольку nc выдал ему в ответ загадочную символику вида «??????#??'??$». Знающий человек сразу поймет, что это за сервис :). Надеюсь, ты тоже догадался, что за цифрой 5567 скрывается обычный telnetd. Наверное, админу было в лом закрывать сервис файрволом, и он решил просто повесить телнет на более высокий порт. Что же, некоторой защиты он добился, но никак не абсолютной. Хакер знал, чем ломать соляровые telnetd. На этот случай у него всегда был эксплойт 7350logout от TESO. Однако наш герой жестоко обломался – в бинарник был вшит 23 порт, который нельзя было сменить. Единственным выходом был туннель с перенаправлением портов, который мутить ну никак не хотелось :). Проще было найти другой сплойт, благо дыра в telnetd уже довольно старая и распространенная. Кто ищет, тот всегда найдет, наш герой не исключение. Эксплойт быстро отыскался в архиве на security.nnov.ru. Он носил гордое имя holygrail.c. Наскоро собрав исходник под Linux’ом, злоумышленник натравил его на хост жертвы и буквально через пару секунд получил полноценный рутовый шелл! Спортивное ориентирование Получить рута еще полбеды. Самое главное его удержать. А сохранить доступ хотелось, так как хакер всегда проявлял нездоровый интерес к разного рода университетским локалкам. Первые команды показали, что на сервере стояла SunOS 5.7 sparc, что, собственно, было известно еще из FingerPrint сканера. Для солярки был создан отличнейший бэкдор, который именовался /bin/login. Наш герой залил его на сервант, скомпилил (на шлюзе даже нашлась рабочая версия gcc) и уже хотел заменить бинарник. Но тут его ожидал неприятный сюрприз. Оказалось, что админ был настоящим извращенцем, мало того, что он загнал telnetd на неизвестный порт, так еще и замонтировал под read-only каталог /bin. После тщательного анализа выяснилось, что /bin находился на обычном оптическом носителе и просто монтируется при старте. Пришлось выбрать иную тактику боя :). Замена /bin/login было невозможна, поэтому злоумышленник решил создать свой самопальный бэкдор с поддержкой очистки utmp и wtmp. Для этой цели вполне подходил лог-клинер под названием grlogwipe. Он поддерживал многие платформы, в том числе и солярку. Хакер всегда находил его на packetstorm-архиве, но не в этот раз. По неизвестной причине, packetstormsecurity.nl двинул кони и решил закрыться. Это временно, как обещают создатели сайта. Хакера это не обрадовало, поскольку пакетшторм хранил очень много нужных тулз, которые взломщик использовал почти каждый день. Если бы не личный архив необходимого софта, то взломщику было бы сложно достать клинер логов. Несмотря на неувязку, злоумышленник нашел нужный файл и закачал его на машину. Дав ему неприметное имя /usr/bin/stdin, наш герой приступил к самому важному шагу: написанию хитрого бэкдора, позволяющего получить рутовый доступ. |