Перехватывает системные вызовы через LD_PRELOAD и прозрачно заворачивает TCP-соединения любого приложения через цепочку прокси (SOCKS4/5, HTTP). Режимы: strict_chain (все прокси по порядку), dynamic_chain (пропускает упавшие), random_chain (случайный порядок). Незаменим для пентеста: proxychains nmap, proxychains sqlmap, proxychains msfconsole — весь трафик уходит через Tor или список купленных SOCKS. Поддерживает DNS-over-SOCKS (proxy_dns) чтобы DNS-запросы не утекали.
Луковая сеть для анонимного выхода в интернет. Трафик шифруется в три слоя и проходит через три …
Прозрачный SOCKS/HTTP-редиректор: через iptables REDIRECT перехватывает TCP-трафик любого процесса ОС и заворачивает его через прокси без …
"VPN over SSH" — создаёт прозрачный туннель поверх обычного SSH без root на удалённой стороне и …
Быстрейшая реализация протокола Shadowsocks на Rust с поддержкой AEAD-шифрования (AES-256-GCM, ChaCha20-Poly1305). Трафик выглядит как случайный поток …
git clone https://github.com/rofl0r/proxychains-ng cd proxychains-ng && ./configure --prefix=/usr && make && make install # Конфиг: /etc/proxychains4.conf # Пример (через Tor): # strict_chain # proxy_dns # [ProxyList] # socks5 127.0.0.1 9050 # Использование proxychains4 nmap -sT -Pn target.com
=============================
ProxyChains — это UNIX-программа, которая перехватывает сетевые функции libc в ДИНАМИЧЕСКИ СВЯЗАННЫХ программах с помощью предзагружаемой DLL (dlsym(), LD_PRELOAD) и перенаправляет соединения через прокси SOCKS4a/5 или HTTP. Поддерживается только TCP (без UDP/ICMP и т.д.).
Принцип работы по сути является ХАКОМ; поэтому возможно, что он не будет работать с вашей программой, особенно если это скрипт или программа, запускающая множество процессов, как фоновые демоны, или использующая dlopen() для загрузки «модулей» (баг в динамическом компоновщике glibc). Впрочем, она должна работать с простыми скомпилированными (C/C++) динамически связанными программами.
Если ваша программа не работает с proxychains, рассмотрите возможность использования решения на основе iptables; оно гораздо более надежно.
Поддерживаемые платформы: Linux, BSD, Mac, Haiku.
** ВНИМАНИЕ **
Эта программа может использоваться для обхода цензуры. В некоторых странах это может быть ОЧЕНЬ ОПАСНО.
ВСЕГДА УБЕДИТЕСЬ, ЧТО PROXYCHAINS РАБОТАЕТ КАК ОЖИДАЕТСЯ ПЕРЕД ИСПОЛЬЗОВАНИЕМ ЕГО ДЛЯ ЧЕГО-ЛИБО СЕРЬЁЗНОГО.
Это касается как самой программы, так и прокси, который вы собираетесь использовать.
Например, вы можете подключиться к какой-нибудь службе «what is my ip», вроде ifconfig.me, чтобы убедиться, что она не использует ваш реальный IP.
ИСПОЛЬЗУЙТЕ PROXYCHAINS ТОЛЬКО ТОГДА, КОГДА ВЫ ЗНАЕТЕ, ЧТО ДЕЛАЕТЕ.
АВТОРЫ И СОДЕРЖАТЕЛИ PROXYCHAINS НЕ НЕСУТ НИКАКОЙ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЕ ЗЛОУПОТРЕБЛЕНИЕ ИЛИ НЕПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И ВЫТЕКАЮЩИЕ ПОСЛЕДСТВИЯ.
*** Установка ***
# необходим работающий компилятор C, предпочтительно gcc ./configure --prefix=/usr --sysconfdir=/etc make [опционально] sudo make install [опционально] sudo make install-config (устанавливает proxychains.conf)
Если вы не устанавливаете программу, вы можете использовать proxychains из каталога сборки следующим образом: ./proxychains4 -f src/proxychains.conf telnet google.com 80
Версия 4.17 - добавлен хук для функции close_range, исправляющий работу с новыми версиями openssh - опция fat-binary-m1 для mac - исправлена обработка ошибок DNS в proxy_dns_old - упрощён код инициализации - исправлена предзагрузка в openbsd - исправлено двойное закрытие в многопоточных приложениях - различные улучшения скрипта configure
Версия 4.16 - исправлен регресс в определении флагов компоновщика в скрипте configure - удалено 10-летнее обходное решение для неверного прототипа getnameinfo в glibc - поддержка нового метода перехвата DYLD для OSX Monterey - исправление компиляции для netbsd - поддержка IPv6 localnets - более дружелюбные сообщения об ошибке при неудачном execvp - proxy_getaddrinfo(): заполнение ai_socktype при запросе
Версия 4.15 - исправление скрипта configure для проблемной версии binutils - инициализация rand_seed с наносекундной гранулярностью - добавлена поддержка числовых ipv6 в getaddrinfo - исправлен баг в getaddrinfo, когда узел равен null и !passive - добавлена функция dnat - добавлен тип прокси raw - добавлена поддержка haiku - добавлен proxy_dns_old для эмуляции поведения proxychains 3.1 - добавлена новая функция proxy_dns_daemon (экспериментальная) - различные другие исправления
Версия 4.14 - разрешена альтернативный синтаксис proto://user:pass@ip:port для списка прокси - исправлен бесконечный цикл в режиме round robin, когда все прокси недоступны (#147) - исправлена компиляция на android (#265) - исправлен утечка файловых дескрипторов в порождённых процессах (#273) - пропуск попытки соединения с IP, маршрутизация которых заблокирована - разрешены имена хостов для списка прокси в определенных условиях
Версия 4.13 - исправлена надежность потока поиска DNS и исправлено падение с ошибкой сегментации - исправлена аутентификация user/pass socks5 на нестандартных серверах - исправлена утечка памяти - добавлена поддержка Solaris
Версия 4.12 - исправлены несколько проблем сборки - для MAC - с -pie - с пользовательским CC - исправление совместимости для некоторых GUI-приложений (8870140) - исправление совместимости для некоторых HTTP-прокси (cf9a16d) - исправлены несколько предупреждений для более чистой сборки на debian - исправлен random_chain на OSX (0f6b226)
Версия 4.11 - предварительная поддержка IPv6 - исправлен баг в hostsreader - предварительная поддержка использования в OpenBSD (caveat emptor)
Версия 4.10 - исправлен регресс в порядке компоновки с пользовательскими LDFLAGS - исправлено падение с ошибкой сегментации в коде отображения DNS в программах с более чем ~400 различными запросами
Версия 4.9 - исправлена проблема безопасности CVE-2015-3887 - добавлен хук sendto для обработки флага MSG_FASTOPEN - заменена проблематичная hostentdb на hostsreader - исправлена компиляция на OpenBSD (хотя там всё равно не работает)
Версия 4.8.1: - исправлен регресс в цели установки конфигурации Makefile в версии 4.8
Версия 4.8: - исправление для странного граничного случая, когда getaddrinfo использовался с AI_NUMERICHOST для проверки числового IP вместо его разрешения (исправляет nmap). - разрешено использование с программами, которые сами используют LD_PRELOAD - отклонение неверных записей в конфигурационном файле - вывод номера версии при запуске
Версия 4.7: - новый тип цепочки round_robin от crass. - исправлен баг с отложенным выделением, когда конструктор GCC не использовался. - новый флаг конфигурации --fat-binary для создания «толстого» бинарного файла/библиотеки в OS X - возврат EBADF вместо EINTR в хуке close(). Закономерно для программы повторять вызовы close() при получении EINTR, что может вызвать бесконечный цикл, как наблюдалось в chromium.
Версия 4.6: - некоторые косметические исправления Makefile, исправлен баг, когда нечисловой IP использовался в качестве адреса прокси-сервера.
Версия 4.5: - хук close() для предотвращения нарушения внутренней инфраструктуры OpenSSH. Это вызывало падение клиент ssh с ошибкой сегментации при использовании через прокси.
Версия 4.4: - порт для FreeBSD - исправляет некоторые проблемы установки на Debian и Mac.
Версия 4.3: - исправляет программы, которые делают запросы DNS в дочерних процессах (через fork()), такие как irssi. Для этого пришлось пожертвовать поддержкой компиляции без pthreads. - исправлена потокобезопасность для вызовов gethostent(). - улучшена скорость обработки DNS, так как база hostent теперь кэшируется.
Версия 4.2: - исправлены проблемы компиляции с тулчейном ubuntu 12.04 - исправлено падение с ошибкой сегментации в редком кодовом пути
Версия 4.1 - поддержка mac os x (все архитектуры) - все внутренние функции потокобезопасны при компиляции с флагом -DTHREAD_SAFE (по умолчанию).
Версия 4.0 - заменён скрипт dnsresolver (который требовал наличия динамически связанного бинарника "dig") на удалённый поиск DNS. Это ускоряет любые операции, связанные с DNS, так как старый скрипт использовал TCP. Кроме того, это позволяет использовать .onion URL при работе с TOR. - сломанная система сборки autoconf заменена простым Makefile. Однако для удобства есть скрипт ./configure. Также добавлена поддержка конфигурационного файла, передаваемого через ключи командной строки/ переменные окружения.
Версия 3.0 - поддержка разрешения имён DNS через прокси. Поддерживаются прокси-серверы SOCKS4, SOCKS5 и HTTP CONNECT. Типы аутентификации: socks - "user/pass", http - "basic".
Когда использовать? 1) Когда единственный способ выйти "наружу" из вашей локальной сети — через прокси-сервер. 2) Чтобы выйти из-за ограничивающего межсетевого экрана, который фильтрует исходящие порты. 3) Чтобы использовать два (или более) прокси в цепочке: например: ваш_хост <--> прокси1 <--> прокси2 <--> целевой_хост 4) Чтобы "проксифицировать" программу без встроенной поддержки прокси (вроде telnet) 5) Доступ к интранету извне через прокси. 6) Чтобы использовать DNS за прокси. 7) Для доступа к скрытым onion-сервисам tor.
Некоторые интересные функции:
proxychains ищет конфигурационный файл в следующем порядке: 1) файл, указанный в переменной окружения PROXYCHAINS_CONF_FILE или переданный в качестве аргумента -f скрипту proxychains или бинарному файлу. 2) ./proxychains.conf 3) $(HOME)/.proxychains/proxychains.conf 4) $(sysconfdir)/proxychains.conf **
** обычно /etc/proxychains.conf
Пример использования:
$ proxychains telnet targethost.com
В этом примере telnet будет запущен через прокси (или цепочку прокси), указанных в proxychains.conf.
Пример использования:
$ proxychains -f /etc/proxychains-other.conf telnet targethost2.com
В этом примере будет использоваться другой конфигурационный файл, чем proxychains.conf, для подключения к хосту targethost2.com.
Пример использования:
$ proxyresolv targethost.com
В этом примере целевой хост targethost.com будет разрешен через прокси (или цепочку прокси), указанных в proxychains.conf.
Следующие сайты могут оказаться полезными для проверки утечек: https://ipfighter.com/ https://browserleaks.com/webrtc https://dnsleaktest.com http://check.torproject.org - специально для Tor http://ifconfig.me - можно использовать через curl http://ifconfig.io/
Приветствуются донаты в биткоинах — пожалуйста, отправляйте на этот адрес: 1C9LBpuy56veBqw5N33sZMoZW8mwCw3tPh