본문 바로가기

ETC & TIP/◆모의해킹 QA

웹해킹?

 

 

웹 해킹(영어: web hacking)은 웹 사이트의 취약점을 공격하는 기술적 위협으로, 웹 페이지를 통하여 권한이 없는 시스템에 접근하거나 데이터 유출 및 파괴와 같은 행위를 말한다.

유형으로는 웹 엔진 취약점을 이용한 해킹과 웹 애플리케이션의 취약점을 이용한 해킹, 각종 웹 서버 및 미들웨어 기본 제공 샘플 파일을 이용한 해킹 등이 있다.

웹 애플리케이션을 통해서 발생되는 해킹이 주로 일어나는데 이를 OWASP에서 10대 웹 애플리케이션의 취약점을 발표하였다.

웹 애플리케이션 해킹으로 가장 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 것들로는 SQL 삽입(영어: SQL Injection), XSS, CSRF 웹 셸 업로드 등이 있다.

 

웹과 해킹이 합쳐진 말로

최근 발생하는 Hacking중 대부분이 Web Application의 취약성을 이용한 공격이다.

Web Application의 공격은 방화벽,침임탐지시스템, 침입차단시스템 등으로 방어 할 수 없다.

 

보통 국공기관 대상으로는 웹해킹, 웹취약점진단을 하지 않는다

서비스 목적 운영이 아니기 때문에 간단한 내부 시스템 위주로 점검한다.

하지만 쇼핑몰이나 대기업 금융권은 서비스를 목적으로 운영되어 지기 때문에

대부분의 정보시스템을 Web으로 구축하고 Web Program지식의 일반화 Web Hacking기술의 보편화(많은 도구와 툴)

웹을 개발하게 되면 촉박한 개발 일정으로 보안에 취약할 수 밖에 없다.

그렇기 때문에 웹해킹에 대한 사전 보안이 중요하다.

 

쇼핑몰 등의 E-business는 항상 80번 포트를 오픈할수 밖에 없다.

웹의 악의적인 공격으로 항상 운영되어야 하는 Web Service를 중단시킬수 있다.

 

웹공격의 단계

  1. 웹 어플리케이션 구조이해
  2. 정보 수집
  3. 목록화
  4. 취약점 분석
  5. 공격 시도
  6. 공격 결과 분석

의 순서로 공격 구조가 이루어져 있다. 그중 가장 많이 보아야 할 부분이 정보수집 취약점 분석 이다.

이러한 부분에서 직접적 또는 간접적 영향을 줄 수 있기 때문이다.

 

1.웹 어플리케이션 클라이언트와 서버간 통신 방법(C/S기반 서비스 통신)

 

2. 정보수집

- 공격 수행의 가장 기초

- 표적의 운영체제 및 Open된 포트, 구동 중인 서비스 버전 등 파악

 

3. 목록화

- 수집된 정보를 기반으로 애플리케이션의 인증 수준 파악

- 해당 어플리케이션의 프로세스 및 디렉터리 및 토큰에 대한 정보 등 수집

- 공격에 유용한 취약점 목록화

 

4. 취약점 분석

- 수집된 데이터를 가공하여 목록화된 정보를 토대로 실질적인 웹 서버 및 애플리케이션 취약점 파악

- 다양한 애플리케이션 경험과 애플리케이션의 이해도가 높아야 함

- 공격자의 공격 목적에 따라 애플리케이션 또는 시스템 계정 획득, 악성 스크립트 배포, 서비스 장애 유발 등

  다양한 공격 시나리오 가능

 

5. 공격시도

- 분석된 취약점을 바탕으로 공격자의 시나리오를 통해 공격

- 각종 Exploit(공격코드)과 공격 기법들을 바탕으로 단계적으로 하나씩 시도

 

6. 공격 결과의 분석

- 공격이 한번에 성공 하지 못하는 경우가 많기 때문에 자신의 Exploit으로 인한 시스템 반응을

  살펴 실패원인을 보안

- 보안 가능한지 아닌지 판별을 하고 가능하지 않을 경우 필요한 부분을 찾아 지속적인 정보 수집 및 목록화 하여 분석

- 여러 공격기법을 사용하는 것도 좋지만 하나의 공격방법이 안될 때

  보안해서 이를 공격하는 방법을 통하는 시나리오를 시행하는 것도 좋음