• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Вариант собственной анонимной службы SOCKS.

SecretHex

HDD-drive
Забанен
Регистрация
05.02.2023
Сообщения
24
Реакции
6
Пожалуйста, обратите внимание, что пользователь заблокирован
В данной статье переработаны и дополнены некоторые нюансы и актуализированы те моменты, которые устарели во многих похожих статьях на просторах Интернет.

Шаблон конфигурации для организации системы собственного анонимного SOCKS через две сетевые ноды с использованием служб и инструментов tor, stunnel, openssl и iptables, но без учета особенностей алгоритмов шифрования. Так как детальные необходимые настройки в части шифрования вы легко можете сделать самостоятельно, это не входит в тематику данной статьи и непублично:

Даны в основном настройки файлов конфигураций определенных служб, а также основные команды установки и настройки нужного ПО условных сетевых нод(серверов):

a.a.a.a - Frontend_Server
b.b.b.b - Backend_Server

Настройка Frontend_Server:

Frontend_Server:~# apt-get install tor stunnel4 openssl


Frontend_Server:~# openssl genrsa -out key.pem 2048
Frontend_Server:~# openssl req -new -x509 -key key.pem -out cert.pem -days 1095
Frontend_Server:~# cat key.pem cert.pem >> /etc/stunnel/stunnel.pem


-----------------------------------------------------

Содержимое файла /etc/stunnel/stunnel.conf

cafile = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.pem
client = yes
socket = l: TCP_NODELAY=1
socket = r: TCP_NODELAY=1
verify = 2
debug = 7

[ssh]

accept = 127.0.0.1:555
connect = sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion:777


-----------------------------------------------------

Примечание: sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion - это новая версия доменного имени сервиса tor, который расположен на хосте сервера Backend_Server, в директории /var/lib/tor/optik. Имя домена приведено случайным образом и оно может быть любым.

-----------------------------------------------------

Содержимое файла /etc/stunnel/stunnel.conf /etc/default/stunnel4

ENABLED=1

Перезапустить сервис stunnel:
Frontend_Server:~# systemctl restart stunnel4

-----------------------------------------------------

Приблизительное содержимое файла(бывают нюансы) службы TOR: /etc/tor/torrc:

SocksPort 0 OnionTrafficOnly
TransPort 9444
RunAsDaemon 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept *
SocksPolicy reject *
SocksPolicy reject6 *
ExitPolicy reject *:*
ExitPolicy reject6 *:*
AutomapHostsOnResolve 1
DNSPort 53
DNSListenAddress 127.0.0.1


-----------------------------------------------------

Frontend_Server:~# sysctl -w net.ipv4.conf.eth0.route_localnet=1
Frontend_Server:~# sysctl -w net.ipv4.ip_forward=1


Затем, прописать указанные строки в файл: /etc/sysctl.conf(тут, даны строки, касающиеся только конкретного решения):

net.ipv4.conf.ens0.route_localnet=1
net.ipv4.ip_forward=1


Настройка файервола iptables(также, даны строки, касающиеся только конкретного решения):

iptables -t nat -A PREROUTING -p tcp --dport 111 -j DNAT --to-destination 127.0.0.1:555
iptables -t nat -A OUTPUT -p tcp --dport 777 -j REDIRECT --to-ports 9100


-----------------------------------------------------

Содержимое файла /etc/resolv.conf

nameserver 127.0.0.1

-----------------------------------------------------

Теперь следует перезапустить службы: tor, stunnel на Frontend_Server

___________________________________________________________________________________________________________
___________________________________________________________________________________________________________

Настройка Backend_Server:

Backend_Server:~# apt-get install tor stunnel4 openssl

--------------------------------------------------

Содержимое файла /etc/stunnel/stunnel.conf

cafile = /etc/stunnel/stunnel.pem
cert = /etc/stunnel/stunnel.pem
socket = l: TCP_NODELAY=1
socket = r: TCP_NODELAY=1
verify = 2
debug = 7
output = /var/log/stunnel4/stunnel4.log

[ssh]
accept = 777
connect = 127.0.0.1:9050


-------------------------------------------------

Backend_Server:~# cat /etc/default/stunnel4

ENABLED=1


Перезапустить сервис stunnel:
Backend_Server:~# systemctl restart stunnel4

-------------------------------------------------

Приблизительное(могут быть нюансы) содержимое файла /etc/tor/torrc:

SocksPort 9050
RunAsDaemon 1
VirtualAddrNetworkIPv4 10.192.0.0/10
SocksPolicy accept 127.0.0.1
SocksPolicy reject *
SocksPolicy reject6 *
ExitPolicy reject *:*
ExitPolicy reject6 *:*
AutomapHostsOnResolve 1
DNSPort 53
DNSListenAddress 127.0.0.1

HiddenServiceDir /var/lib/tor/optik
HiddenServicePort 777 127.0.0.1:777


Задаем права доступа на файлы сервиса:

Backend_Server:~# chmod 700 /var/lib/tor/optik

Примечание: При перезапуске Тора в папке /var/lib/tor/optik, генерируется onion-домен, в данном случае это sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion

------------------------------------------------

Backend_Server:~# sysctl -w net.ipv4.ip_forward=1

Затем, прописать указанные строки в файл: /etc/sysctl.conf:

net.ipv4.ip_forward=1

------------------------------------------------

Необходимо посмотреть dns адрес сервера Server2, тот, который мы вписываем в конфигурацию stunnel на Server1:

Backend_Server:~# cat /var/lib/tor/optik

или в некоторых случаях: Backend_Server:~# cat /var/lib/tor/optik/hostname

Где должно быть прописано указанное выше внутреннее доменное имя сервиса tor:

sdofmxbgajq5plpuoo5aa3cwsd4dbg245ofic3scwna5luah4bpet7qa.onion

------------------------------------------------

Теперь следует перезапустить службы: tor, stunnel на Backend_Server

------------------------------------------------

Все, теперь можно пробовать подключаться через данный условно анонимный SOCKS на порт 111 по адресу a.a.a.a
При необходимости, через него пробрасывается уже openvpn канал до нужного openvpn сервера, либо делать с ним что-то еще на ваше усмотрение. Цепочку разумеется можно дополнять или модифицировать по-разному. На Backend_Server вы не увидете никаких следов Frontend_Server и выйти на него без раскрутки звеньев ТОР не получится, ни путем сниффинга трафика, ни путем анализа DNS запросов, так как он не использует классическую систему DNS

Крайне важно также понимать следующее:

Для достижения анонимности использования только лишь технологий vpn/proxy/tor сетей недостаточно, это не убережет вас от взлома вашей внутренней сети и приложений в ней посредством уязвимостей и эксплоитов.

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

Спасибо за внимание.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх