Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
proxychains — proxychains - 주어진 애플리케이션이 만드는 모든 TCP 연결이 TOR 또는 다른 SOCKS4, SOCKS5, HTTP(S) 프록시 같은 프록시를 거치도록 강제하는 도구. 지원되는 인증 유형: SOCKS4/5의 경우 "user/pass", HTTP의 경우 "basic". | Kitploit
도구/GitHubGitHub/haad/proxychains
Network SecurityPenetration TestingRed TeamingDNS Analysis
GitHubhaad/proxychains

proxychains

proxychains - 주어진 애플리케이션이 만드는 모든 TCP 연결이 TOR 또는 다른 SOCKS4, SOCKS5, HTTP(S) 프록시 같은 프록시를 거치도록 강제하는 도구. 지원되는 인증 유형: SOCKS4/5의 경우 "user/pass", HTTP의 경우 "basic".

저장소 보기
7.9k6772년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

ProxyChains ver. 4.3.0 README

build-badge

ProxyChains는 UNIX 프로그램으로, 동적으로 링크된 프로그램에서 미리 로드된 DLL을 통해 네트워크 관련 libc 함수를 후킹(hook)하고 SOCKS4a/5 또는 HTTP 프록시를 통해 연결을 리디렉션합니다.

경고: 이 프로그램은 동적으로 링크된 프로그램에서만 작동합니다. 또한 proxychains와 호출할 프로그램 모두 동일한 동적 링커(즉, 동일한 libc)를 사용해야 합니다.

현재 버전의 알려진 제한 사항

프로세스가 fork를 수행하고, 자식 프로세스에서 DNS 조회를 한 다음, 부모 프로세스에서 해당 IP를 사용하는 경우, 해당 IP 매핑을 찾을 수 없습니다. 이는 fork가 부모의 매핑 테이블에 다시 기록할 수 없기 때문입니다. IRSSI에서 이런 동작이 나타나므로, 확인된 IP 주소를 직접 전달해야 합니다. (이때 proxyresolv 스크립트를 사용할 수 있으며, "dig"가 필요합니다.)

즉, 현재 irssi에 토르 onion URL을 사용할 수 없습니다. 이 문제를 해결하려면 외부 데이터 저장소(파일, 파이프 등)가 DNS <-> IP 매핑을 관리해야 합니다. 물론 적절한 잠금(locking)도 필요합니다. shm_open, mkstemp은 파일 기반 접근 방식의 후보이며, 다른 옵션은 맵 조회를 관리하는 일종의 서버 프로세스를 생성하는 것입니다. connect() 등이 후킹되므로 TCP 서버가 되어서는 안 됩니다.

설명된 동작이 꽤 어리석어 보이고(fork를 DNS 조회만을 위해 수행), 현재 irssi만이 알려진 유일한 영향을 받는 프로그램이므로 이 변경을 꺼리는 입장입니다.

설치

릴리스 버전 사용

Proxychains-4.3.0은 Linux, NetBSD, FreeBSD, OpenBSD, DragonFlyBSD 또는 _Mac OS X_를 사용하는 모든 사용자에게 pkgsrc로 제공됩니다. pkgsrc-wip 저장소를 설치하고 다음을 실행하기만 하면 됩니다. make install wip/proxychains 디렉터리에서 실행합니다.

pkgsrc에 대한 자세한 내용은 link:http://www.pkgsrc.org[pkgsrc]에서, pkgsrc-wip에 대한 자세한 내용은 link:https://pkgsrc.org/wip[Pkgsrc-wip 홈페이지]에서 확인할 수 있습니다.

Mac OS X에 homebrew로 설치하기

현재 proxychains는 homebrew로 Mac OS X에 설치할 수 있습니다. 비공식 link:https://gist.github.com/3792521[homebrew formula]를 기본적으로 /usr/local/Library/Formula/인 BREW_HOME에 다운로드한 후 다음을 실행해야 합니다.

root@kitploit:~
$ brew install proxychains

현재 소스 코드 버전 실행하기

root@kitploit:~
# needs a working C compiler, preferably gcc
./configure
make
sudo make install

변경 내역

*버전 (4.x)*에서는 원격 DNS 조회 시 동적으로 링크된 "dig" 바이너리가 필요했던 dnsresolver 스크립트를 제거했습니다. 이로 인해 이전 스크립트가 TCP를 사용해야 했던 DNS 관련 모든 작업이 빨라집니다. 또한 TOR와 함께 사용할 때 .onion URL을 사용할 수 있게 해줍니다. 그리고 문제가 많았던 autoconf 빌드 시스템을 간단한 Makefile로 대체했습니다. 편의를 위해 ./configure 스크립트가 여전히 제공됩니다. 또한 명령줄 스위치/환경 변수를 통해 전달되는 구성 파일 지원도 추가했습니다.

*버전 (3.x)*에서는 프록시를 통한 DNS 확인 지원을 도입했습니다. SOCKS4, SOCKS5 및 HTTP CONNECT 프록시 서버를 지원합니다.

  • 인증 유형 ** socks - "user/pass", ** http - "basic"

언제 사용하나요?

  • LAN에서 "외부"로 나갈 수 있는 유일한 방법이 프록시 서버를 통하는 경우.
  • 발신 포트를 필터링하는 제한적인 방화벽 뒤에서 빠져나가야 하는 경우.
  • 두 개(또는 그 이상)의 프록시를 체인으로 사용하려는 경우:
root@kitploit:~
   like: your_host <--> proxy1 <--> proxy2 <--> target_host
  • 프록시 지원 기능이 내장되지 않은 프로그램(예: telnet)을 "프록시화(proxify)"하려는 경우.
  • 프록시를 통해 외부에서 인트라넷에 접근하려는 경우.
  • 프록시 뒤에서 DNS를 사용하려는 경우.

유용한 기능 몇 가지

  • 이 프로그램은 동일한 체인에서 서로 다른 프록시 유형을 혼합할 수 있습니다.
root@kitploit:~
  like: your_host <-->socks5 <--> http <--> socks4 <--> target_host
  • 지원되는 다양한 체인 옵션: 목록의 무작위 순서(사용자 정의 체인 길이). 정확한 순서(목록에 나타나는 대로). 동적 순서(체인에서 죽은 프록시를 스마트하게 제외).
  • TCP 클라이언트 애플리케이션, 심지어 네트워크 스캐너와도 사용할 수 있습니다. 네, 맞습니다. 프록시(또는 체인 프록시)를 통해 포트스캔을 할 수 있습니다. 예를 들어 fyodor의 Nmap 스캐너(www.insecure.org/nmap)가 있습니다.
root@kitploit:~
  proxychains nmap -sT -PO -p 80 -iR  (find some webservers through proxy)
  • squid, sendmail 등 어떤 서버와도 사용할 수 있습니다.
  • 프록시를 통한 DNS 확인.

구성

proxychains는 다음 순서로 구성을 찾습니다:

  • 환경 변수 ${PROXYCHAINS_SOCKS5_HOST} ${PROXYCHAINS_SOCKS5_PORT}에 지정된 SOCKS5 프록시 호스트 IP와 포트 (${PROXYCHAINS_SOCKS5_PORT}가 설정된 경우 더 이상 구성을 검색하지 않습니다. ${PROXYCHAINS_SOCKS5_HOST}가 설정되지 않은 경우 호스트 IP는 "127.0.0.1"이 됩니다.)
  • 환경 변수 ${PROXYCHAINS_CONF_FILE}에 지정된 파일 또는 proxychains 스크립트/바이너리에 -f 인수로 제공된 파일.
  • ./proxychains.conf
  • $(HOME)/.proxychains/proxychains.conf
  • /etc/proxychains.conf

자세한 내용은 /etc/proxychains.conf를 참조하세요.

사용 예

root@kitploit:~
$ proxychains4 telnet targethost.com

이 예에서는 proxychains.conf에 지정된 프록시(또는 체인 프록시)를 통해 telnet을 실행합니다.

사용 예

root@kitploit:~
$ proxychains4 -f /etc/proxychains-other.conf targethost2.com

이 예에서는 targethost2.com 호스트에 연결하기 위해 proxychains.conf가 아닌 다른 구성 파일을 사용합니다.

사용 예

root@kitploit:~
$ proxyresolv targethost.com

이 예에서는 proxychains.conf에 지정된 프록시(또는 체인 프록시)를 통해 targethost.com을 확인합니다.

사용 예

root@kitploit:~
$ ssh -fN -D 4321 some.example.com
$ PROXYCHAINS_SOCKS5_HOST=127.0.0.1 PROXYCHAINS_SOCKS5_PORT=4321 proxychains zsh

이 예에서는 localhost 포트 4321에서 OpenSSH의 "동적 프록시"(SOCKS5 프록시)를 통해 모든 트래픽이 프록시되는 셸을 실행합니다.

사용 예

root@kitploit:~
$ export PROXY_DNS_SERVER=8.8.8.8
$ proxychains4 telnet targethost.com

이 예에서는 사용자가 PROXY_DNS_SERVER를 통해 지정한 8.8.8.8 네임서버를 사용하여 targethost.com에 telnet으로 접속합니다.

도구 다운로드