Metasploit는 타겟호스트의 취약점을 알아내고 그 해당 취약점에 대한 침투방법을 제공하는 프로그램이다. Metasploit는 너무 방대해서 얼마나 많은 강좌가 이뤄질지 알 수 없지만 아마도 30일정도는 Metasploit에 대해서만 얘기할 거 같다. 오늘은 Metasploit에서 쓰이는 용어를 정리해 보겠다.
Exploit: 공격자에 의해 행해지는 방법으로 시스템이나 어플리케이션, 서비스등의 결점을 이용하여 공격하여 개발자가 의도치 않았던 목적을 달성하는데 있다. 기본적으로 buffer overflow, web application 취약점분석, SQL injection 등의 공격을 들 수 있다.
Payload: 소스코드로써 시스템에 실행시켜서 원하는 결과를 얻어낼 수 있다. 예를 들어 reverse shell은 payload중의 하나로 윈도우 시스템과 연결을 시켜주는 코드이고 bind shell은 타겟 호스트의 포트를 리스닝모드로 만들어 공격자가 연결할 수 있게 해준다. Payload는 타겟 호스트에 간단한 몇개의 컴멘드만으로도 구성이 가능하다.
Shellcode: 공격이 행해질때 payload에 의해 사용되어지는 툴의 집합정도로 보면 된다. 어셈블리 언어로 만들어지며 대부분 commend shell이나 Meterpreter shell같은 코드들이 타겟호스트에 의해 실행되어진다.
Module: 이는 Metasploit Framework에서 쓰여지는 작은 프로그램이라고 보면 된다. exploit module이나 auxiliary module과 같은 형태로 사용되어지며 이러한 자그마한 툴들이 모여서 Metasploit를 강력하게 만든다.
Listener: Metasploit에서 사용되어지는 컴퍼넌트로 연결을 기다리는 역할을 한다. 예를 들어 타겟호스트가 공격에 노출되었을 때 공격자가 연결을 할 수 있게 도와주는 컴퍼넌트이다.
다음에는 Metasploit Framework의 구성요소에 대해 알아보겠다.
'보안vs해킹' 카테고리의 다른 글
CEH Chap 9. Metasploit의 기능 (0) | 2011.11.17 |
---|---|
CEH Chap 8. Metasploit 2. 실행 (0) | 2011.11.16 |
CEH Chap 6. OpenVAS 2/2 (0) | 2011.11.12 |
CEH Chap 5. OpenVAS 1/2 (0) | 2011.11.11 |
CEH Chap 4. Zenmap (0) | 2011.11.10 |