Metastploit 용어 및 설치
Metasploit 이란?
침투 테스트는 악의적인 소스의 공격을 시뮬레이션하여 시스템의 보안을 평가하는 데 도움이 된다.
Metasploit Framework는 시스템의 취약점을 찾아 악용할 수 있는 인기 있는 침투 테스트 플랫폼이다. 침투 테스트에 필요한 완벽한 환경과 도구 세트를 제공하는 오픈 소스 플랫폼이다.
1. Metasploit 용어
1-1. Exploit
- 익스플로잇은 공격자 또는 모의해킹 수행자가 시스템 응용 프로그램, 서비스 내의 결함을 찾는데 유익한 수단이 된다.
- 공격자는 결코 개발자가 의도하지 않은 산출물 안의 결과들에서 시스템을 공격하는 방법으로 익스플로잇을 사용한다.
- 일반적인 익스플로잇은 버퍼 오버플로우, 웹 어플리케이션(sql-injection) 그리고 설정에러 등을 모두 포함한다.
1-2. Payload
- 페이로드는 프레임워크에 의해 선택되고 전송되어 실행되길 원하는 시스템의 코드이다.
- 예를 들어 reverse shell 은 windows command prompt 를 통해 타겟 머신이 공격자로 연결을 생성하도록 하는 payload 이다.
- 또한 페이로드는 공격 대상인 운영 시스템에서 수행되는 몇몇 명령어들을 심플하게 해놓은 것일 수 있다.
1-3. Shell code
- 쉘 코드는 exploitation을 할 때 페이로드에 사용되는 명령어의 한 묶음이다.
1-4. Module
- 모듈은 Metasploit Framework 에 의해 사용될 수 있는 소프트웨어의 한부분이다.
1-5. Listener
- 리스너는 어떤 종류의 연결을 대기하는 메타스플로잇 안의 구성요소 이다.
- 리스너 핸들은 익스플로잇 시스템에 의해 접근이 될 공격 머신을 기다린다.
1-6. Metasploit Interface
- 메타 스플로잇 인터페이스는 콘솔, cmd, 그래픽 유저 인터페이스를 포함
1-7. MSFConsole
- msfconsole은 프레임워크 안에서 이용 가능한 모든 설정과 옵션을 제공하는 툴
1-8. LHost (Local Host), LPort (Local Port)
- LHost : 공격자의 IP 주소
- LPort : 공격자의 포트
1-9. RHost (Romote Host), RPort(Remote Port)
- RHost : 피해자의 IP 주소
- RPort : 피해자의 포트
2. Metasploit 설치하기
2-1. 아래 명령어를 통해 업데이트를 한다
$ sudo apt update
2-2. 이제 Ubuntu 머신에 Metasploit Framework 설치 프로그램을 다운로드한다.
$ cd /tmp/
$ curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
2-3. 아래의 명령어를 입력 후 실행한다.
$ sudo chmod 755 msfinstall
$ sudo ./msfinstall
2-4. 설치가 완료되면 아래 명령어를 사용하여 msfconsole을 시작한다.
$ sudo msfconsole
2-5. search 명령어를 통해 관련 cve 찾기