s-teals.org e-zine

›› Поднимаем права до рута

Поднимаем права до рута

и так приступим .....

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

[подготовка]
Первым делом нужно разузнать, какое ядро стоит на нашей системе.
Сделать это можно командой:

uname -a

либо

cat /proc/version

В результате выполнения команды, мы увидим что-то вроде:

Linux www 2.4.20. #1 SMP Fri Jan 19 23:43:33 EET 2007 x86_64

После этого необходимо найти какой-либо сплоит под него. Идем на http://www.milw0rm.com и ищем все, что имеется под это ядро. Также можно покопать несколько других известных ресурсов, например http://security.nnov.ru Если повезет, то можно найти сплоит для повышения прав на системе, к примеру, я нашел вот это:

Linux Kernel <= 2.4.22 (do_brk) Local Root Exploit (working)

Вот его мы и будем использовать на нашей жертве...


[in progress]
Проверяем, какие у нас права на данный момент. Делается это командой id.

id

В ответ получим что-то вроде этого:

uid=2370(ru873448) gid=2370(ru873448) groups=2370(ru873448)

Следующим шагом заливаем наш сплоит на сервак. Теперь нам необходимо откомпилировать эксплоит, что мы и делаем:

gcc -lpthread sploit.c -o sploit

Выставляем права на запуск и выполнение:

chmod+x sploit

И последнее, наверное, самый приятный шаг) - запуск сплоита:

./sploit

Теперь остается проверить, достигли ли мы желаемого результата. Проверяем свои права:

id

Если все получилось, то вы должны увидеть:

uid=0(root) gid=0(root)

Однако, частелько бывают случаи, когда подобное не срабатывает при работе с веб-шелла. Поэтому нужно приконнектиться к серваку при помощи netcat либо другой замечательной утилиты - putty. Для этого, нам необходимо открыть порт для коннекта на серваке. В этом случае, потребуется простенький скрипт, либо (что еще удобнее) во многих веб-шеллах уже имеется подобная функция) Открываем порт на хосте и конектимся к хосту через putty Если есть ответ то все замечательно проверяем свои ИД

id

лезем в папку где у нас уже есть готовый сплоит, либо заливаем оный, если его еще не, и проделываем все шаги, которые описаны ранее.
И запускаем:

./sploit

Далее все идет по предыдущему плану) бывает что на серваке стоит хорошо настроеный фаер (ну или бывают всякие лаги ) что мешает приконектится к серваку
Тут нам на помощь приходит бек-коннект. ищем искачиваем скрипт Бек конекта (к примеру bec.c)( читаем ридми уделяем внимание установкам/настроикам скрипта)) Также напомню, что во многих веб-шеллах уже имеется функция бек-коннекта (юзайте правильные шеллы:))) Если же решили использовать скрипт, то заливайте его на хост, и проделываем следующее:

chmod+x bec.c //выставляем права

gcc -lpthread bec.c -o bec //компилим


Открываем на своей машине netcat ставим на прослушку порт ( на который мы настроили бекконект) Запускаем на хосте bec.c и радуемся жизни))
Все дальнейшие операции идентичны шагам в предыдущих вариантах.

[the end]
Это не подробныйный мануал по взятию рута... однако благодаря ей вы можете приблизительно представить как берется рут 8)

Автор - x_empty_dragon ICQ - 617063 [http://s-teals.org]

Назад - Главная - Содержание - Вперед


s-teals.org /* network security project */