모의해킹 & 취약점 분석

배재현·2025년 12월 14일

정보 보안

목록 보기
12/12

모의해킹의 개념과 목적

모의해킹이란 합법적인 권한과 범위 내에서 실제 해킹 기법을 활용해 시스템의 보안 취약점을 점검하는 활동을 의미한다

실제 해킹이 불법적인 침입과 피해를 목적으로 한다면, 모의해킹은 보안 강화를 위한 사전 점검이라는 점에서 차이가 있다. 주요 목적은 공격자가 악용할 수 있는 취약점을 미리 발견하고, 이를 개선하여 보안 사고를 예방하는 것이다.

모의 해킹의 절차

  1. 정보 수집
    대상 시스템의 도메인, 서버 정보, 사용 기술 스택, 공개된 URL 등을 수집하는 단계이다. 공개된 정보만으로도 공격 표면이 넓어질 수 있기 때문에 매우 중요한 단계다.
  2. 스캐닝 및 탐색
    수집한 정보를 바탕으로 열린 포트, 서비스, 입력 지점(URL, 파라미터 등)을 탐색한다. 자동화 도구를 통해 잠재적인 공격 포인트를 식별한다.
  3. 취약점 분석
    발견된 입력 지점이나 기능을 대상으로 보안 취약점이 존재하는지 분석한다. 이 단계에서는 XSS, SQL Injection 취약점 등 웹 취약점 여부를 중점적으로 확인한다.
  4. 공격 및 결과 확인
    실제 공격 시나리오를 통해 취약점이 악용 가능한지 검증하고, 시스템에 미치는 영향을 확인한다. 이후 발견된 취약점을 정리해 보고서로 작성한다.

대표적인 취약점

XSS (Cross-Site Scripting)

XSS는 사용자로부터 입력받은 값이 적절한 검증이나 인코딩 없이 웹 페이지에 그대로 출력될 때, 공격자가 삽입한 스크립트가 다른 사용자의 브라우저에서 실행되는 취약점이다. 이로 인해 세션 탈취, 피싱, 악성 사이트로의 강제 이동 등의 공격이 가능해진다.
가장 흔한 사례는 게시판이나 댓글 기능이다.
사용자가 입력한 댓글을 서버가 그대로 저장하고, 이후 다른 사용자가 해당 페이지를 열 때 입력 내용을 그대로 출력한다면 문제가 발생한다. 공격자가 댓글에 스크립트 코드를 입력할 경우, 해당 페이지를 보는 모든 사용자의 브라우저에서 그 스크립트가 실행될 수 있다. 이는 저장형 XSS의 대표적인 예다.

파일 업로드 취약점

파일 업로드 취약점은 서버가 업로드되는 파일의 확장자, MIME 타입, 내용을 제대로 검증하지 않을 때 발생한다.

간단하게는 shell.php.jpg처럼 확장자를 속여서 서버가 마지막 파일이라고 믿게 만든 후 해당 파일을 실행하게 만들 수 있다.
또한 파일 이름에 ../같은 문자를 넣어 임의의 디렉터리에 파일을 삽입할 수도 있다. 이런 것을 방지하려면 서버에서 사용자의 파일 이름을 신뢰하지 않고 랜덤 문자열 같은 것으로 파일 이름을 바꿀 수 있다.
또한 HTTP 헤더의 Content-Type을 바꿀 수도 있다. Content-Type은 해당 요청의 body가 어떤 타입인지 가리키는 헤더인데 만약 서버에서 실제 확장자를 검사하지 않고 이 헤더만 신뢰한다면 공격자는 아래 설명할 Burp Suite같은 툴을 이용해 요청을 가로채 Content-Type을 정상적으로 속여서 보내면 악성 파일이 그대로 저장될 수 있다.

모의해킹 도구: Burp Suite

Burp Suite는 웹 애플리케이션 모의해킹에서 가장 널리 사용되는 도구 중 하나로, HTTP/HTTPS 요청과 응답을 가로채 분석할 수 있다. 프록시 기능을 통해 클라이언트와 서버 간 통신을 직접 수정할 수 있으며, XSS나 파일 업로드 취약점 테스트에 효과적이다. 또한 반복 요청을 자동화해서 브루트 포스 공격에도 유용하게 쓰인다.

모의해킹과 법·윤리

모의해킹은 반드시 사전 승인과 명확한 범위 정의 하에 수행되어야 하며, 허가 없이 시스템을 공격하는 행위는 불법이다. 또한 테스트 중 알게 된 정보는 외부에 유출하지 않아야 하며, 시스템에 불필요한 피해를 주지 않도록 주의해야 한다.

profile
많관부

0개의 댓글