1

Я работаю с прокси-цепями (3.1 и 4). У меня есть виртуальная машина под управлением Squid Proxy 3.1.19. Я правильно настроил прокси-цепочки для использования Squid Proxy, т.е. http squidip squidport. Proxychains работает, как и ожидалось, во всех условиях, кроме одного, если я пытаюсь подключиться к порту, который заблокирован от внешних сетей через прокси-сервер через proxychains, он возвращает "соединение отказано".

В этом случае виртуальная машина имеет порт 22, открытый для всех сетей, а порт 80 - только для хоста. Я могу подключиться к порту 80, настроив прокси-сервер Squid в своем веб-браузере или воспользовавшись опцией прокси других инструментов, таких как Nikto. Я могу направлять трафик через прокси-цепи к порту 22, но не к порту 80.

Я не верю, что проблема в Squid Proxy, иначе я бы не смог подключиться к внутренним портам через веб-браузер или другой инструмент, это просто прокси-цепи.

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

Хотя теперь я знаю порт, который открыт в этом случае, и другие способы подключения к нему, я хочу иметь возможность использовать nmap для сканирования через прокси-цепи и обнаружить, что порт 80 открыт.

Кто-нибудь видел эту проблему раньше? Что может заставить прокси-цепочки действовать так?

Изменить: я обнаружил, что параметр nmap --proxies ведет себя как прокси-цепочки. Он маршрутизирует через HTTP-прокси, но перечисляет только те порты, которые внешне доступны как открытые. Я все еще в замешательстве, потому что Nikto и Metasploit могут без проблем найти внутренний порт.

Для тех, кто хочет протестировать ее самостоятельно, эта виртуальная машина доступна по адресу https://www.vulnhub.com/entry/sickos-11,132/, но я уже сталкивался с этой проблемой на других хостах.

1 ответ1

1

Для всех, кто сталкивается с этим, я понял это. Proxychains использует CONNECT для отправки своих запросов в Squid Proxy. Прокси-сервер Squid позволяет любому глаголу проходить к портам, которые доступны извне, но разрешает использовать только определенные глаголы, такие как GET и HEAD, для подключения к портам, которые заблокированы извне. Глагол CONNECT получает «403 запрещено» от Squid Proxy, запрос никогда не передается на порт, к которому я пытаюсь получить доступ.

Чтобы обойти это, я пишу свой собственный сканер портов на bash, который использует netcat для отправки HEAD-запросов через прокси.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .