1. 정의

- 침투 테스트(Penetration Test, PenTest)는 합법적이고 승인된 시도로 컴퓨터 시스템을 더 안전하게 

   만들기 위해 시스템의 취약점을 찾아내고 이를 성공적으로 공격하는 것


2. 취약점 진단과의 차이

- 취약점 진단은 잠재적인 보안문제를 찾기 위한 서비스와 시스템을 검토하는 과정이고 침투 테스트는 

   이러한 취약점이 어떻게 악용될 수 있는지 공격을 하여 보안문제에 대해 보여줄 수 있는 것


3. 침투 테스트 프로세스


1) 타겟 스코핑

- 타겟 네트워크 환경의 범위를 관찰하고 이해하는 과정

- 감사자에게 주어진 네트워크의 entity 수에 따라 무엇을, 어떻게, 어떤 조건 하에 테스트를 할 것

   인지 테스트 가능한 수준과 얼만큼의 시간이 소요되는지 달성해야하는 비즈니스의 목표는 무엇

   인지 결정


2) 정보 수집

- 다양하 공개 리소를 통해 정보를 수집

- 주로 포럼, 게시판, 뉴스그룹, 기사, 블로그, SNS, 상업/비상업 사이트에서 수집 가능

- 관련 툴로 DNS 서버, whois, 이메일 주소, 전화번호, 개인정보 등으로 접보 수집


3) 타겟 발견

- 타겟의 네트워크 상태, 운영체제, 네트워크 구조를 파악하는 단계


4) 타겟 탐색

- 정보 수집과 타겟 발견 단계에서 얻게된 자료를 조합하여 타겟 시스템의 취약점을 찾아

   내는 단계

- Web/Port Scan, 운영체제 버전, 어플리케이션 버전을 찾아낸다.


기업에서 특정 서버에 대해서 침투 테스트를 승인할 경우 1), 2) 과정이 생략될 수 있고

3) 단계에서도 구조 파악 작업이 간소, 생략될 수 있다.


5) 취약점 매핑

- 타겟 탐색을 통해 알게된 포트 번호, 버전 정보를 이용하여 취약점을 찾아낸다


6) 타겟 익스플로잇

- 발견한 취약점을 살펴보고 exploit 공격을 통해 침투하는 단계

- SQL Injection, XSS, BOF 등


7) 권한 상승

- 익스플로잇에 성공하면 root 권한을 획득한다.


8) 장악 유지

- 장악을 유지할 경우 타겟 시스템의 비정상적인 작동이 일어날 때 전단계를 다시 할 필요가

   없다.

- 백도어 설치, 타겟 시스템에 항상 가동되는 프로세스로의 마이그레이션 등


9) 문서화와 보고

- 전단계의 과정, 취약점은 어떤게 있는지 등의 발견, 검증, 공격한 취약점을 발표하고 문서화

   하는 과정

- 이 과정을 통해 관리자가 보완해야하는 보안 정책이 무엇이 있는지 파악한다.

- 침투 테스트에 사용된 로그를 삭제한다.

Posted by i kiss you
,