Локальный r00t в FreeBSD 7.1, 7.2, 8.0, 9.0 & later
Ну вот и дожили... ;)
Предварительная адвизори http://permalink.gmane.org/gmane.os...sd.announce/478 Сообщение об уязвимости http://www.securityfocus.com/bid/37154 Сплойт http://seclists.org/fulldisclosure/2009/Nov/371 Предварительный патч http://people.freebsd.org/~cperciva/rtld.patch PS Завтра ожидается официальная адвизори + окончательная реализация патча. PPS ;) Цитата: > (18:35:58 </usr/home/silver>) 0 $ id uid=1001(silver) gid=0(wheel) groups=0(wheel),5(operator),920(vboxusers) (18:38:15 </tmp>) 0 # sh 1.sh # id uid=0(root) gid=0(wheel) groups=0(wheel),5(operator) # uname -a FreeBSD FreeBSD.xxx.local 8.0-RELEASE FreeBSD 8.0-RELEASE #4: Mon Nov 23 11:48:14 EET 2009 root@FreeBSD.xxx.local:/usr/obj/usr/src/sys/SILVER i386 Источник http://www.opennet.ru/opennews/art.shtml?num=24466 |
Моя протяжно выдыхает -- на всех подотчётных никсах только один человекоюзер.
|
Цитата: > s1lv3r пишет: Ну вот и дожили... Ты сам это пробовал? У меня оно как-то не сработало :( Пробовал на 7.0 и 7.1 Цитата: > Dud пишет: один человекоюзер. Ты сам? ;) У меня почти так же. |
Цитата: Smithson > ты глянь повнимательнее мое сообщение, конечно пробовал на 8.0 и даже показал результат. ;)Ты сам это пробовал? У меня оно как-то не сработало :( Пробовал на 7.0 и 7.1 PS модераторы, подредактируйте плиз топик! Как выяснилось, ошибка не в rtld, а в lib/libc/stdlib/getenv.c. После вызова unsetenv("LD_PRELOAD") вызов getenv("LD_PRELOAD") все равно может вернуть true, если среда процесса правильным образом испорчена. Таким образом FreeBSD 6.x не уязвима так как использует еще старую Berkeley реализация getenv. |
Цитата: > s1lv3r пишет: конечно пробовал на 8.0 и даже показал результат. А, это твой результат. Я думал, это тоже перепечатка ;) Ok, поставлю 8.0, буду смотреть. |
Пробовал на
FreeBSD ххххх 8.0-BETA2 FreeBSD 8.0-BETA2 #0 r196161: Thu Aug 13 13:16:11 MSD 2009 ххххх:/usr/obj/usr/src/sys/21h amd64 компилится, выдает следующее: FreeBSD local r00t zeroday by Kingcope November 2009 env.c: In function 'main': env.c:5: warning: incompatible implicit declaration of built-in function 'malloc' env.c:9: warning: incompatible implicit declaration of built-in function 'strcpy' env.c:11: warning: incompatible implicit declaration of built-in function 'execl' После этого больше ничего не происходит, появляется обычный шелл, рута нету. Интересно, есть ли какие-либо соображения, от чего может зависеть успешность срабатывания данного эксплойта? |
_Igor_: а если глянуть в адвизори на секуритифокус? ;)
Цитата: > FreeBSD FreeBSD 8.0-STABLE FreeBSD FreeBSD 8.0-RELEASE FreeBSD FreeBSD 7.2-STABLE FreeBSD FreeBSD 7.2-RELEASE-p4 FreeBSD FreeBSD 7.2-RELEASE-p1 FreeBSD FreeBSD 7.2-RC2 FreeBSD FreeBSD 7.2-PRERELEASE FreeBSD FreeBSD 7.1-STABLE FreeBSD FreeBSD 7.1-RELEASE-p6 FreeBSD FreeBSD 7.1-RELEASE-p5 FreeBSD FreeBSD 7.1-RELEASE-p4 FreeBSD FreeBSD 7.1 -RELEASE-p2 FreeBSD FreeBSD 7.1 -RELEASE-p1 FreeBSD FreeBSD 7.1 -PRE-RELEASE FreeBSD FreeBSD 7.0-RELEASE-p3 FreeBSD FreeBSD 7.0-RELEASE |
ИМХО самый актуальный ресурс в этом направлении
_http://xorl.wordpress.com/2009/12/01/freebsd-ld_preload-security-bypass/ Довольно полная адвизори, так что если не получается следует ознакомиться. Да и ещё тут недавно конференция прошла _http://www.frasunek.com/CONFidence-2009.pdf |
Теперь официально патчим системы и выдыхаем. ;)
http://security.freebsd.org/advisor...-09:16.rtld.asc Цитата: > (19:59:32 </usr/home/silver>) 0 $ uname -a FreeBSD FreeBSD.xxx.local 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 #5: Thu Dec 3 17:51:07 EET 2009 root@FreeBSD.xxx.local:/usr/obj/usr/src/sys/SILVER i386 PS заодно уж и остальное подлечить не мешает... http://security.freebsd.org/advisor...A-09:15.ssl.asc http://security.freebsd.org/advisor...ebsd-update.asc |
Всем привет, а чего это тут так тихо? ;)
Security Advisory http://www.freebsd.org/security/adv...-13:06.mmap.asc Exploit http://1337day.com/exploit/20911 Код:
tested and working on freebsd 9.1 (fame@shell) (~) id uid=1001(fame) gid=1001(fame) groups=1001(fame) (fame@shell) (~) gcc -Wall ./test.c && ./a.out [+] Saved old '/sbin/ping' [+] Using mmap-ed area at 0x4b75000 [+] Attached to 18553 [+] Copied 6755 bytes of payload to '/sbin/ping' [+] Triggering payload # id uid=0(root) gid=0(wheel) egid=1001(fame) groups=1001(fame) # exit [+] Restoring '/sbin/ping' [+] |
флуд не в тему: s1lv3r: Так ты лазишь непонятно где, вот и тихо... ;) |
Часовой пояс GMT +4, серверное время: 04:00. |
powered by vbulletin engine