PDA

Просмотр полной версии : Поднятие 3proxy на похеканном сервере


Dobby007
27.04.2009, 18:11
Вообщем собственно проблема...
Посмотрел я видео, которое выкладывали на http://video.antichat.ru/ про данную тему (ссылку сходу дать не смогу, качал давно, но знаю, что вроде оттуда).
Суть примерно понял: сначала льем архив с прокси, распаковываем, а дальше уже как пойдет =)) Хотел было уже взяться за это, но когда я начал подтыкать команды в шеле типа ls -la, mkdir, uname -a, понял, что не одна из них не работает. В Лине, если честно, плаваю (в винде бы разобрался, я думаю, если б похожая ситуация бы была). Ну теперь по-подробнее расспишу все вообщем...

SAFE_MODE на сервере выключен, отключенных функций (disable_functions) в php нет. Но функции system() или passthru() выполняться не хотят. Вернее, они выполняются, но выдают пустой результат. Например код:
<?php
echo system("ls ../../ -la");
echo passthru("uname -a");
?>
Выводит пустую страницу.
Как будто программ (или как лучше сказать) нет на диске. Но они то самое смешное, вроде как есть.
Структура папок на сервере как бы вроде простая, но в тоже время с такой структурой никогда не сталкивался.
Сайт лежит в папке: /var/www/htdocs/
Файлика /etc/passwd нет! В этой директории лежат только два файла:
ld.so.cache 2005-11-18 05:46:37 2.33 K 0644 / -rw-r--r-- /
ld.so.conf 2005-11-18 05:46:37 0 B 0644 / -rw-r--r-- /

Все файлы (программы), которые мне нужны, увидел в папочке /bin/:
[ 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
basename 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
bash 2005-11-18 05:46:37 601.74 K 0755 / -rwxr-xr-x /
bunzip2 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
busybox 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
bzcat 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
cat 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
chmod 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
...........
dirname 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
dos2unix 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
du 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
echo 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
egrep 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
.....
gunzip 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
gzip 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
head 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
hexdump 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
hostid 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
hostname 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
id 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
install 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
...
ls 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
.......
perl5.8.5 2005-11-18 05:46:37 14.77 K 0755 / -rwxr-xr-x /
pidof 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
ps 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
pwd 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
readlink 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
rm 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
rmdir 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
..........
tar 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
......
tr 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
true 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
uname 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
uniq 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
unix2dos 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
unzip 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
..........
which 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
whoami 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
xargs 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
yes 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
zcat 2005-11-18 05:46:37 855.31 K 0755 / -rwxr-xr-x /
Всего: 0 подпапок и 86 файлов

Ну т.е. как бы вроде все есть. Меня припугнул как-то их размер: большинство файлов занимает 855.31 K. Не больше, не меньше. Но я подумал, что так и должно быть (ИЛИ НЕТ?)....
Вот содержимое самой начальной директории / (дико извиняюсь, если искажаю понятия):
bin 2005-11-18 05:46:38 -- 0755 / drwxr-xr-x /
dev 2005-11-18 05:46:37 -- 0755 / drwxr-xr-x /
etc 2005-11-18 05:46:37 -- 0755 / drwxr-xr-x /
lib 2005-11-18 05:46:37 -- 0755 / drwxr-xr-x /
local 2005-11-18 05:46:37 -- 0755 / drwxr-xr-x /
lost+found 2005-11-18 05:46:40 -- 0700 / drwx------ /
sbin 2005-11-18 05:46:38 -- 0755 / drwxr-xr-x /
share 2005-11-18 05:46:37 -- 0755 / drwxr-xr-x /
tmp 2009-04-27 12:40:51 -- 0700 / drwx------ /
usr 2005-11-18 05:46:47 -- 0755 / drwxr-xr-x /
var 2005-10-11 10:11:46 -- 0700 / drwx------ /
Вот скрин всей инфы о сервере:
http://savepic.ru/541416m.jpg (http://savepic.ru/541416.htm)
В качестве ОС я так понял, что установлена какая-та ручная сборка.

В /var/ есть еще одна папка /bin/ (т.е. /var/bin/)
Но она пустая. Пытался скопировать туда все что есть в /bin/. Но большинство файлов так и не скопировалось, а с теми, что скопировались, так ничего сделать и не получилось.

Вообщем проблему я изложил мне кажется ясно. Помогите кто чем может.
Может кто-то и сталкивался уже с такой фичей....

Pashkela
27.04.2009, 18:16
Шелл какой юзаешь - не написал, и всё такое прочее.

По поводу прокси - ставь это и не парься:

https://forum.antichat.ru/thread53202.html

для брута и подобных вещей вполне прохаванная штука

ShAnKaR
27.04.2009, 19:41
chroot небось

Dobby007
27.04.2009, 21:41
Шелл я писал сам (php) под себя и как мне удобно. Но я пробовал и на r57shell, и c99madshell. Везде тоже самое...
За ссылку огромное спасибо. Но это конечно с одной стороны выход, но с другой стороны уже не получится проделать это с выключенными сокетами (без enable_dl=1). Ну или сделать сокс-сервер (он то по-любому лучше проксей всяких). Плюс ко всему, мой айпишник будет в логах апачи палиться.
Может есть еще идеи?

А chroot кстати вполне может быть. А есть ли какой-нибудь способ узнать это наверняка? Или лучше: как можно узнать на какой каталог имеет доступ Апачи? может если я закину туда 3proxy он сможет все-таки его запустить?

В любом случае спасибо за ответы. Плюс поставил Pashkela, а Шанкару как ВИПу, даже и это нельзя сделать :D ...

Pashkela
27.04.2009, 21:54
если шелл залил - рутай серв. Прав у тебя не хватает просто, чо тут думать.

$n@ke
28.04.2009, 00:04
Это на 90% - песочница. ищи хорошо, часто бывает что где-то висят файлы типа jail\chr и т.п. - он тебе ничего не даст,кроме еще большей уверенности что это chroot.
Единственный вариант - искать конфиги и пробовать пароли к ссш\фтп.
зы: да, и рутать можешь даже не пробовать.

Dobby007
28.04.2009, 05:13
Это на 90% - песочница. ищи хорошо, часто бывает что где-то висят файлы типа jail\chr и т.п.
А че искать? Конфиги чтоли? Если да, то какие? Какой формат у них должен быть? Где вообще обычно лежат пароли к этому самому SSH? Я просто говорю, что "в линуксе плаваю"... Вы мне хотя б куда копать подскажите....
зы: да, и рутать можешь даже не пробовать.
А почему? Багов чтоли нет думаешь или че?

$n@ke
28.04.2009, 12:52
Это на 90% - песочница. ищи хорошо, часто бывает что где-то висят файлы типа jail\chr и т.п. - он тебе ничего не даст,кроме еще большей уверенности что это chroot.

А че искать? Конфиги чтоли? Если да, то какие? Какой формат у них должен быть? Где вообще обычно лежат пароли к этому самому SSH? Я просто говорю, что "в линуксе плаваю"... Вы мне хотя б куда копать подскажите....


читай полностью. тут написано что дадут такого рода файлы.

зы: да, и рутать можешь даже не пробовать.

А почему? Багов чтоли нет думаешь или че?

да,думаю нет. =))

Dobby007
30.04.2009, 16:50
Ну я так понял ты имел ввиду, что "если где-либо ежат файлы типа jail/chr то что значит, что для апачи выставлен chroot". Только где они должны лежать? Получается все-таки chroot обойти Или хотя бы узнать директорию, на которую поставлен chroot никак нельзя?
А конфиги SSH и FTP где по-идее должны лежать? Имена файлов стандартные какие-то?
Просто когда я открываю папку /etc/ мне выдает какие-то два лог файла и то один из них пустой....

re-2
30.04.2009, 20:36
может быть это поможет? http://pentestmonkey.net/blog/chroot-breakout-perl/
http://www.bpfh.net/simes/computing/chroot-break.html

Dobby007
30.04.2009, 23:45
Спасибо конечно... Но проблема осталась. Переписал тот скрипт на перле в такой:

<?php
$dir="/";

chdir($dir);
if (is_dir($dir)) {
if ($JAILROOT = opendir($dir)) {
mkdir("mysubdir");
chdir("mysubdir");
chroot(".");
chdir(&$JAILROOT);
$stats = array();
$stats1 = array();
while ($stats[0] != $stats1[0] || $stats[1] != $stats1[1]) {
$stats=stat(".");
$stats1=stat("..");
chdir("..");
}
chroot(".");
system("/bin/uname");
}else die("Error: cannot get file handle to root");
}
?>

и как это ни странно выдает следующие ошибки:
Warning: mkdir(mysubdir): Read-only file system in /var/www/htdocs/forum/images/avatars/chroot.php on line 6
Warning: chdir(): No such file or directory (errno 2) in /var/www/htdocs/forum/images/avatars/chroot.php on line 7
Fatal error: Call to undefined function: chroot() in /var/www/htdocs/forum/images/avatars/chroot.php on line 8

Ладно Warning, но Fatal Error насчет несуществующей функции chroot().....
Хотя в факе php (http://www.php.net/chroot) написано, что для этой функции необходим:
PHP 4 >= 4.0.5, PHP 5

попугай
01.05.2009, 13:41
а чо без chdir() и chroot() обойтись нельзя?

Dobby007
01.05.2009, 15:15
а чо без chdir() и chroot() обойтись нельзя?
Так это вроде как скрипт ломающий chroot... Я его переписал с перла на php. В том скрипте на перле (re-2 давал ссылку) был вызов chroot. Вот я его и сделал в моем php-скрипте...
P.S. А че у тебя есть другие идеи?