3128/tcp - Pentesting Squid

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

基本情報

出典 Wikipedia:

Squid はキャッシュおよび転送型の HTTP web プロキシです。繰り返しのリクエストをキャッシュしてウェブサーバを高速化したり、ネットワークリソースを共有するグループ向けに Web、DNS、その他のネットワーク問い合わせをキャッシュしたり、トラフィックのフィルタリングによってセキュリティを支援したりと、用途は多岐にわたります。主に HTTP と FTP 用に使用されますが、Squid は Internet Gopher、SSL、TLS、HTTPS などいくつかの他のプロトコルも限定的にサポートしています。Squid は Privoxy と異なり SOCKS プロトコルをサポートしていませんが、Squid は Privoxy と組み合わせて SOCKS サポートを提供するために使用できます。

デフォルトポート: 3128

PORT     STATE  SERVICE      VERSION
3128/tcp open   http-proxy   Squid http proxy 4.11

列挙

Web Proxy

ブラウザでこの発見したサービスをproxyとして設定して試すことができます。ただし、HTTP authenticationが設定されている場合、ユーザー名とパスワードの入力を求められます。

# Try to proxify curl
curl --proxy http://10.10.11.131:3128 http://10.10.11.131

Nmap proxified

プロキシを悪用して、nmap をプロキシ経由で実行し内部ポートをスキャンすることもできます.
proxychains を squid プロキシで使用するよう設定するには、proxichains.conf ファイルの末尾に次の行を追加します: http 10.10.10.10 3128
認証が必要なプロキシの場合は、設定の末尾にユーザー名とパスワードを追加して資格情報を付加します: http 10.10.10.10 3128 username passw0rd.

その後、proxychains を使って nmap を実行し、ローカルからホストをスキャンします: proxychains nmap -sT -n -p- localhost

SPOSE Scanner

代わりに、Squid Pivoting Open Port Scanner (spose.py) を使用できます。

python spose.py --proxy http://10.10.11.131:3128 --target 10.10.11.131

Pivot & tooling configuration

Use Squid as a discovery pivot and a transparent upstream hop for CLI and browser tools.

  • Scan “from” the proxy: Squid 経由で SPOSE を実行し、proxy ホスト/loopback から到達可能なポートを列挙する。With uv you can install deps and scan all TCP ports directly:
uv add --script spose.py -r requirements.txt
uv run spose.py --proxy http://SQUID_IP:3128 --target localhost --allports
  • Proxychains を HTTP 通信に利用する場合: /etc/proxychains.conf の末尾に strict な HTTP エントリを追加します:
[ProxyList]
http    SQUID_IP   3128

その後、内部リスナー(例:127.0.0.1 にバインドされた web UI)と Squid を介して透過的にやり取りします:

proxychains curl http://127.0.0.1:9191 -v
  • Chaining Burp/Browser → Squid: Burp の Proxy → Settings → Network → Connections → Upstream proxy servershttp://SQUID_IP:3128 に設定します。http://127.0.0.1:9191 のような内部ホストへのリクエストは Browser → Burp → Squid → target を経由するため、外部からは到達できないサービスも完全にインターセプトできます。

参考

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする