본문 바로가기
IT_정보보안/웹 모의해킹 프로젝트

33. 프록시(Proxy)란?

by jys275 2024. 9. 4.

먼저 해당 글은 Proxy 기능을 가지고 있어 모의해킹을 지원하는 툴을

확실하게 짚고 넘어가기 위한 목적이라고 할 수 있다.

 

 


 

 

프록시(Proxy)

 

 

개념

네트워크에서 중개 역할을 수행하는 서버 또는 프로그램을 의미한다. 

익명성 제공, 콘텐츠 필터링, 캐싱, 보안 강화 등의 기능을 통해 네트워크 통신을 더욱 효율적이고 안전하게 관리할 수 있다.

클라이언트와 서버로 네트워크를 보았을 때, 클라이언트와 서버의 직접적인 연결 대신 

프록시가 중간에 위치하여 프록시에 의해 통신이 이루어지는 것이다.

기능

  1. 익명성 제공 : 클라이언트의 IP 주소를 숨기고 프록시 서버의 IP 주소로 서버에 접속할 수 있다.
    이를 통해 사용자의 신원을 보호하고 익명성을 유지할 수 있다.

  2. 캐싱(Caching) : 자주 요청되는 웹 페이지나 데이터를 캐시(저장)하여 같은 요청이 있을 때,
    더 빠르게 응답할 수 있도록 할 수 있다. 이 기능은 네트워크 트래픽을 줄이고 응답 속도를 높이는 데 도움을 준다.

  3. 컨텐츠 필터링(Content Filtering) : 특정 웹사이트나 콘텐츠에 대한 접근을 제한할 수 있다. 
    예를 들어, 회사나 학교에서는 프록시를 통해 특정 사이트를 차단하여 직원이나 학생들의 접근을 막을 수 있다.

  4. 보안 및 로깅 : 네트워크 트래픽을 모니터링하고, 보안 정책을 적용하며, 데이터의 로그를 기록할 수 있다. 
    이를 통해 악성 코드나 불법적인 액세스를 차단할 수 있다.

  5. 로드 밸런싱(Load Balancing) : 여러 서버가 있는 경우, 프록시가 클라이언트의 요청을 적절히 분배하여,
    각 서버에 고르게 부하가 걸리도록 할 수 있다. 이를 통해 서버의 성능을 최적화할 수 있다.

 

또한 프록시 서버는 네트워크 구조상 어디에 위치하는지 또는 

어느 방향으로 데이터를 제공하는지에 따라 두 가지로 구분할 수 있다.

 

종류

  1. Forward Proxy : 일반적인 프록시 형태로 클라이언트(사용자) 앞에 위치하며,
    사용자의 요청을 대신 서버에 전달하여 클라이언트를 보호해 사용자의 익명성을 유지할 수 있다.

    주로 사용자의 IP를 보호하고, 회사 또는 학교에서 특정 웹사이트에 대한 접근 제한, 콘텐츠 필터링을 위해 사용한다.

  2. Reverse Proxy : 웹 서버 앞에 위치하며, 서버로 향하는 요청을 대신 처리하여 서버를 보호할 수 있다.
    즉, 사용자들은 프록시 서버의 존재를 인지하지 못하고 바로 서비스를 받는 것으로 인지하게 된다.

    주로 서버의 IP를 보호하고, 여러 서버에 요청을 분산시켜 서버의 부하를 줄이는 로드 밸런싱,
    서버 대신 복잡한 SSL 암호화 처리를 수행한다.

    이는 회사의 내부 내트워크에 대한 보안 대응책의 일환으로 사용된다.

 


 

 

 

프록시 툴은 웹 트래픽을 중계, 조작, 분석, 그리고 수정할 수 있는 프로그램이며, 

주로 웹 애플리케이션의 보안 취약점을 발견하고 평가하는 데 사용된다.

 

대표적으로 Paros, Burpsuite, Fiddler 세 가지 툴이 존재한다.

 

 

프록시 툴(Proxy Tools) - Paros

 

 

자바로 개발된 오픈소스 웹 애플리케이션 보안 테스트 도구로, 

XSS, SQL 인젝션 등 보안 취약점을 테스트하는 데 사용되어왔다.

 

특징

  1. 웹 트래픽 분석과 클라이언트, 서버 간의 요청 및 응답을 조작할 수 있다.
  2. 간단한 스캐닝, 자동 취약점 탐지, 스크립트 재생 등을 제공한다.
  3. 비교적 간단한 GUI를 제공하며, 보안 전문가뿐만 아니라 초보자도 사용하기 쉽게 설계되었다.

장점

  1. 가볍고 설치가 간단하며, 시스템 자원을 많이 소모하지 않는다. 
  2. 무료로 사용할 수 있으며, 자바로 작성되어 있어 다양한 플랫폼에서 실행 가능하다.

단점

  1. Burp Suite, Fiddler와 비교했을 때 기능이 제한적이다. 특히 복잡한 취약점 테스트에서는 부족할 수 있다.
  2. Paros는 현재 더 이상 개발되지 않고 있어, 최신 보안 트렌드와 기능이 부족할 수 있다.

 

 

프록시 툴(Proxy Tools) - Burpsuite

 

웹 애플리케이션 보안 테스트를 위한 종합 툴이다.

 

특징

  1. 인터셉터 프록시, 스캐너, 크롤러, 인코더, 디코더, 리피터 등 다양한 기능을 제공한다.
  2. 다양한 플러그인을 지원하며, 필요에 따라 커스터마이징이 가능해 매우 유연하다.
  3. Community Edition (무료)과 Professional Edition (유료)이 있으며, 
    Professional Edition은 자동 스캐닝과 같은 고급 기능을 제공한다.

    이러한 다양한 기능을 제공하는 특징으로 brute force attack을 다른 툴을 사용하지 않고도 충분히 수행할 수 있고,
    그 밖의 반복적으로 수행해야 되는 행위에 대해서도 매크로 기능들을 사용할 수 있다 보니, 실무에서도 가장 사용빈도가 높은 툴이다.

    즉, 자연스럽게 진단, 모의해킹 분야에서는 Burpsuite에 대한 사용을 거의 필수로 한다고 볼 수 있다.

장점

  1. 수동 및 자동화된 웹 애플리케이션 테스트를 위한 다양하고 강력한 도구를 포함하고 있어, 여러 보안 테스트에 적합하다.
  2. 꾸준한 업데이트를 통해 최신 취약점에 대응할 수 있다.
  3. 많은 보안 전문가들이 사용하는 도구로, 방대한 리소스와 커뮤니티가 지원된다.

단점

  1. 초보자가 처음 사용할 때, 모든 기능을 이해하고 활용하는 데 시간이 필요할 수 있다.
  2. Professional Edition은 유료이기에 사용하려면 별도의 비용이 필요하다.

Paros는 지속적인 업데이트가 이루어지지 않아, Burpsuite와는 달리 보안 측면에서도 신뢰성이 보장될 수 없다.

 

또 다른 차이점은 Paros의 경우 실제로 사용할 시, 접근한 사용자에 대한 이력,

사용 버전 등의 유저에 해당하는 정보, 접속 이력 등이 남게된다.

 

하지만 Burpsuite를 사용했을 때는 위와같은 접속 이력들이 전혀 남지 않다 보니,

모의해킹하는 입장에서도 장점으로 다가오지만 공격자의 입장에서도 매우 좋은 툴이라고 볼 수 있다.

 

결과적으로 이 Burpsuite 툴은 화이트 해커도 사용을 하지만,

공격을 목적으로 하는 블랙 해커들도 많이 사용하는 대표적인 툴이다라는 것을 알아두면 좋다.

 

 

프록시 툴(Proxy Tools) - Fiddler

 

 

주로 웹 트래픽 디버깅 및 HTTP/HTTPS 요청의 캡처와 수정에 특화된 도구이다.

 

특징

  1. 다양한 플랫폼을 지원한다.
  2. 주로 웹 개발자와 QA 팀에서 네트워크 트래픽을 분석하고 디버깅하는 데 사용되기에, 
    웹 애플리케이션의 성능 최적화 및 오류 탐지에 유용하다.
  3. 직관적인 인터페이스와 다양한 기능을 제공하며, 초보자도 쉽게 사용할 수 있다.

장점

  1. 웹 애플리케이션의 성능을 분석하는 데 유용하며, 다양한 브라우저 및 장치에서의 동작을 시뮬레이션 할 수 있다.
  2. 강력한 스크립팅 엔진을 통해 사용자 정의 테스트 및 자동화된 작업이 가능하다.

단점

  1. Fiddler는 주로 디버깅 및 성능 분석에 최적화되어 있어, 전문적인 보안 테스트 도구로는 기능이 제한적이다.
  2. HTTPS 트래픽 분석을 위해 추가적인 설정이 필요할 수 있으며, 이 과정이 다소 번거로울 수 있다.

해당 툴은 Burpsuite와 유사한 기능을 제공하지만, 사용 빈도는 사실상

Deface Attack(홈페이지 위변조 공격)의 취약점을 찾기 위해 주로 사용된다.

 

홈페이지 위변조 공격이란 공격자가 홈페이지를 해킹하여 홈페이지의 메인 페이지를 변경해놓는 형태이다.

 

즉, 누가 해킹을 했는지 등의 정보를 표시하여 본인을 과시하는 형태로 웹페이지에서

제일 먼저 보여지는 메인 화면을 바꾸어 놓는 등의 공격 형태를 의미한다. 

 

해당 공격 같은 경우는 한 번에 공격을 수행할 수 있는 형태가 아니라 공격 대상 페이지 자체에

취약한 부분들이 보이는지를 지속적으로 공격자가 확인하는 등의 절차들을 거친다.

 

그렇다면 앞으로 공격을 하기 위한 여러 가지 시나리오를 포함해서 방법들을 마련해놓을 것인데,

이런 공격자들은 추후에 공격을 위해 웹페이지에 자신만의 표식을 남겨놓는다.

 

해당 표식은 0X0 픽셀과 같이 보이지 않는 픽셀을 웹페이지 어느 부분에 찍어놓는 경우가 존재하는데,

 

이 Fiddler라는 툴을 사용하면 웹페이지 상에 존재하고 있는 모든 이미지,

텍스트들을 URL로 변경해서 리스트업해주는 기능들을 수행할 수 있다.

 

이러한 기능을 통해 자연스럽게 보이지 않는 0X0 픽셀도 찾아낼 수 있는 것이다.

결론적으로 해당 툴은 이러한 공격을 대비하여 추가적인 보안을 갖추게끔 지원하는 용도로써 사용하고 있다.

 

 


 

 

즉, 진단, 모의해킹 분야에서는 Burpsuite 툴을 많이 사용하며,

홈페이지 위변조 공격에 대비하기 위해서는 Fiddler 툴을 많이 사용하는 것이다.

 

물론 Paros 툴도 존재하기는 하지만, 프로그램을 사용할 때 규정 중 기업이 신뢰할 수 있는지, 안정성이 보장되는지,

과거의 사건사고 등에 대한 검증을 통해서 사용의 기준이 정해지기 때문에, 해당 툴은 잘 사용되지 않는다고 할 수 있다.