hacktricks/network-services-pentesting/3128-pentesting-squid.md

4.2 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

기본 정보

From Wikipedia:

Squid는 캐싱 및 포워딩 HTTP 웹 프록시입니다. 반복 요청을 캐싱하여 웹 서버의 속도를 높이고, 네트워크 리소스를 공유하는 사람들을 위한 웹, DNS 및 기타 컴퓨터 네트워크 조회를 캐싱하며, 트래픽 필터링을 통해 보안을 지원하는 등 다양한 용도로 사용됩니다. 주로 HTTP와 FTP에 사용되지만, Squid는 Internet Gopher, SSL, TLS 및 HTTPS를 포함한 여러 다른 프로토콜에 대한 제한된 지원을 포함합니다. Squid는 Privoxy와 달리 SOCKS 프로토콜을 지원하지 않으며, SOCKS 지원을 제공하기 위해 Squid와 함께 사용할 수 있습니다.

기본 포트: 3128

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

Enumeration

Web Proxy

이 발견된 서비스를 브라우저에서 프록시로 설정해 볼 수 있습니다. 그러나 HTTP 인증으로 구성되어 있다면 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

# 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

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}