Обзор инструмента orjail

Обзор инструмента orjail

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

orjail — это инструмент, который позволяет создавать вокруг программ изолированное пространство (джэйл) в целях принудительного перенаправления их трафика через Tor. Это создаёт стойкое окружение для всего, что пытается обнаружить ваш реальный IP адрес. 

Авторы orjail попытались деанонимизировать программу выполняемую в окружении torsocks и это оказалось не так сложно, поскольку torsocks использует LD_PRELOAD, поэтому вам только нужно статически скомпилировать ваши вещи. Поскольку Whonix для многих пользователей это слишком много, проект orjail возник из идеи экспериментировать с пространствами имён linux и учиться, делая что-то полезное. 

Требования: 

  • Ядро Linux с поддержкой namespaces (пространств имён) (у вас есть это с 2008) 
  • Установленный Tor 
  • firejail (опционально, но весьма рекомендуется) 

Как работает orjail 

Скрипт отделяет сетевое пространство имён (используя ip netns) со своим собственным сетевым интерфейсом и привязкой на интерфейс хоста правилами iptables (на хосте), которые принуждают сгенерированный внутри orjail трафик выходить только через Tor (включая DNS). 

Внутри orjail вы будете в другом pid пространства имён (попробуйте sudo orjail ps aux) и другого пространстве имён mount (это используется чтобы был задействован другой /etc/resolv.conf). 

Дополнительная информация 

  • orjail требует для запуска права root 
  • orjail запускает вашу команду от вашего пользователя 
  • orjail запустит экземпляр Tor привязанный к интерфейсу orjail 

Домашняя страница: https://github.com/orjail/orjail 

Автор: lesion 

Лицензия: Do What The F*** You Want To Public License, Version 2 

Справка по orjail 

Использование: 

orjail <опции> [команда <аргументы>...]

Опции: 

-h, --help         Показывает справку.
-u, --user <пользователь>  Выполняет команду с разрешениями этого пользователя. По умолчанию это 'root'.
-n, --name <имя>  Устанавливает выбранное имя пространства имён. По умолчанию 'orjail'.
-v, --verbose      Вербальный режим.
-k, --keep         Не удаляет пространство имён и не убивает tor после выполнения.
-f, --firejail     Использует firejail в качестве безопасного контейнера (/usr/bin/sudo orjail -f pidgin).
    --firejail-args "<аргументы>"
                   Устанавливает аргументы для передачи в firejail, их нужно окружить кавычками. ("--hostname=host --env=PS1=[orjail]")
-H, --hidden <порт>
                   Включает Tor как скрытый сервис, перенаправляющий запросы с/на указанный порт.
-d, --hiddendir <директория>
                   Указывает, где искать 'hostname' и 'private_key' скрытого сервиса.
-p, --private      Приватная домашняя папка
                   Монтирует песочнику в качестве домашней директории и устанавливает как текущую директорию.
-s, --shell        Выполняет оболочку (используя ваш текущий)
    --host-torrc   Включает файл torrc вашего хоста.
-t, --tor-exec    Выбирает исполнимый файл Tor для использования. Путь может быть полным, относительным или быть в $PATH
-r, --routing <ip_host> <ip_ns> <netmask>
                   Устанавливает пользовательские IP. По умолчанию 10.200.x.2/10.200.x.1/30.
    --trans-port <порт>
                   Устанавливает tor TransPort. По умолчанию 9040
    --dns-port <port>
                   Устанавливает пользовательский DnsPort. По умолчанию 5354
    --port-range <port>-<port>
                   Генерирует случайные TransPort и DnsPort в заданном диапазоне.

Руководство по orjail 

Страница man отсутствует. 

Примеры запуска orjail 

Проверка своего текущего IP адреса: 

curl suip.biz/ip/ 

Проверка своего текущего IP адреса через orjail: 

sudo orjail curl suip.biz/ip/ 

Этот пример для понимания объяснённой выше теории: 

sudo orjail ifconfig 

Пример вывода: 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
out-orjail: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.200.8.1  netmask 255.255.255.252  broadcast 0.0.0.0
        inet6 fe80::8cf0:51ff:fe98:76ca  prefixlen 64  scopeid 0x20<link>
        ether 8e:f0:51:98:76:ca  txqueuelen 1000  (Ethernet)
        RX packets 1  bytes 90 (90.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2  bytes 176 (176.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Или более актуальный вариант команды: 

sudo orjail ip a 

Получение содержимого домашней страницы с curl через Tor: 

sudo orjail curl autistici.org > autistici.org 

То же самое, но с другим пользователем: 

sudo orjail -u ДРУГОЙ_ПОЛЬЗОВАТЕЛЬ curl autistici.org 

«Получение IP» адреса .onion (пользы нет, просто показывает, что резолвинг .onion работает): 

sudo orjail dig hacktoolseqoqaqn.onion 

Запуск скрытого сервиса .onion внутри orjail (ваш адрес будет искаться внутри examples/hostname) 

sudo orjail -v -H 8080 -d examples "python -m SimpleHTTPServer 8080" 

Получение сайта .onion через Tor: 

sudo orjail curl hacktoolseqoqaqn.onion 

Запуск firefox, который может выходить только через Tor: 

sudo orjail firefox -P /tmp/tmpprofile 

Предупреждение: firefox имеет настройку, которая по умолчанию блокирует получение IP адреса для .onion, для её изменения перейдите в about:config/network.dns.blockDotOnion. 

Запуск браузера внутри orjail не безопасно, вместо этого используйте Tor Browser

Получение анонимной оболочки: 

sudo orjail -s 

Запуск pidgin в вербальном режиме: 

sudo orjail -v pidgin 

Сохранение пространства имён после выхода, поэтому мы сможем запустить другую программу в том же namespace: 

sudo orjail -k ls 

Использование firejail как безопасной песочницы для присоединения сетевого пространства имён orjail: 

sudo orjail -f thunderbird 

Установка orjail 

Установка в Kali Linux

sudo apt install tor bc firejail
git clone https://github.com/orjail/orjail
cd orjail
sed -i 's/USERHOME=$(getent passwd les | cut -d: -f 6)/USERHOME=$(getent passwd $USER | cut -d: -f 6)/' ./usr/sbin/orjail
sed -i 's/chown "$USERNAME" "$TORCONFIGFILE"/#chown "$USERNAME" "$TORCONFIGFILE"/' ./usr/sbin/orjail
sudo make install

Установка в BlackArch 

Программа предустановлена в BlackArch. 

sudo pacman -S orjail
sudo sed -i 's/chown "$USERNAME" "$TORCONFIGFILE"/#chown "$USERNAME" "$TORCONFIGFILE"/' /usr/bin/orjail

Информация об установке в другие операционные системы будет добавлена позже. 

Скриншоты orjail

Источник


Report Page