Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Metasploit

메타스플로잇(Metasploit) Msfconsole 사용법 및 활용 / 업데이트

토오쓰 2021. 11. 11. 11:28

Kali Linux(칼리 리눅스)의 Metasploit(메타스플로잇) 설명

 

1. Metasploit(메타스플로잇) 정의

CVE 넘버링이 붙은 알려진 취약점 공격을 사용할 수 있도록 제공되는 도구, 해킹을 간단하게 하도록 도와주는 모의 해킹 테스트 도구

 

2. Metasploit(메타스플로잇) 특징 

  • 정보 수집, 공격(Exploit), 공격에 사용되는 Plugin(payload) 등으로 구성된 도구
  • 외부 모듈인 취약점 점검, 포트 스캐너 등의 사용이 가능하고, DB 저장 가능
  • 정보 수집 및 공격 모듈 사용 시 간편하게 진행 가능
  • Msfconsole 내에서 외부 명령어 사용(리눅스 명령어) 가능
  • 리눅스에서 실행하는 공격 툴 관련 실행 내용들을 Metaploit에서 실행하여 결과를 저장 가능

 

3. 추가지식

CVE란? Common Vulnerabilities and Exposure 약자로 공개적으로 알려진 소프트웨어 보안 취약점을 가리키는 고유 표기이다.
CVE 값은 CVE라는 문자에 취약점이 발견된 연도와 임의의 번호를 붙여 만들어진다.
CVE 넘버를 검색하거나 취약점의 이름을 검색하여 Metasploit에서 사용할 수 있다.
CVE-[발생연도]-[임의번호]
 

 

4. 보안 용어 정리

  • Exploit : 시스템, 애플리케이션, 서버 등의 취약점을 악용하는 방법, SQL Injection, Buffer Overflow 등
  • post: exploit 이후 추가 공격에 사용되는 도구 또는 모듈
  • Payload : 시스템에서 실행하고자 하는 코드로 프레임워크에 의해 전달 (Ex : 악성 코드)
  • Shell code : 공격 수행 시 수행할 때 Payload에 사용되는 명령 집합
  • Module : Metasploit framework에서 사용되는 소프트웨어의 부분
  • auxiliary: 탐색에 사용되는 도구들

 

 


Kali Linux(칼리 리눅스)의 Metasploit(메타스플로잇) 기본적인 사용법

 

1. 업데이트 진행

미러사이트 추가

vi /etc/apt/sources.list

 

 

내용 추가

deb http://kali.mirror.garr.it/mirrors/kali sana main non-free contrib

deb-src http://kali.mirror.garr.it/mirrors/kali sana main non-free contrib

 

 

msfupdate

 

 

하지만 업데이트가 진행되지 않고 에러 메시지를 출력한다.

아래에 있는 명령어를 입력한다.

apt install metasploit-framework

 

 

 

2. 사전 준비 후 Metasploit 실행

msfconsole

msf6> 프롬프트가 생성되면 정상적으로 실행된 것

 

 

 

3. Metasploit 명령어

CVE 넘버를 검색하거나 취약점 이름을 검색하여 Metasploit에서 사용할 수 있다.

 search -h

-h: 어떤 것들을 찾을 수 있는지 확인할 수 있다.

주로 cve, name, platform, type 옵션을 많이 사용한다.

 

 

 

실습 예시로 2021년도의 CVE 취약점 중에서 Windows 운영체제에서 동작 가능한 exploit을 검색한다.

search cve:2021 platform:windows type:exploit

 

 

use

사용법: use [취약점 이름]

원하는 취약점을 사용할 수 있도록 한다.

이름을 모르거나 조건을 이용하여 취약점을 사용한다면 search 명령어를 통해 취약점을 찾은 후

결과를 보고 name 필드의 이름을 적어 사용할 수 있다.

 

 

첫 번째에 있는 취약점을 사용할 것이다.

use exploit/windows/http/advantech_iview_unauth_rce

 

 

info

공격을 수행하기 위해서 필요한 정보를 얻는다.

취약점에 대한 정보와 공격을 수행하기 위해서 어떤 값을 설정해야 하는지 정보가 나온다.

 

 

[Available targets]

취약점 타겟

 

 

[Basic options]

해당 필드에서 Required의 내용이 Yes라면 필수로 설정해야 하는 값

No라면 필수로 설정해야하는 값은 아니다.

 

 

show options

선택된 모듈을 이용해 취약점 공격을 하기 전 반드시 선택하는 옵션, 확장된 옵션 정보

 

 

show targets

선택된 모듈이 취약점 공격을 수행하기 위한 시스템 대상

 

 

set [이름값]

show options, show targets에서 확인한 옵션에서 특정 변수의 값을 설정

 

 

========================= 위에와 이어지는 실습이 아님 =========================

 

 

exploit

옵션까지 설정 후 공격을 수행

 공격은 취약점마다 다른데, 아래 경우는 파일을 저장한다.

 

 

sessions

세션 정보 보여준다.

 

jobs

현재 메타스플로잇 콘솔이 수행 중인 작업 리스트 확인 가능

핸들러가 잘 돌아가는지 확인

 


4. Metasploit 최신 업데이트

메타스플로잇 프레임워크 최신 버전 업데이트 방법

업데이트 하기 전에 msfconsole을 입력하여 콘솔 모드로 진입하여 확인

 

msfupdate 라는 명령어로 현재 업데이트가 되지 않아서 안내에 따라 다른 명령어를 입력하여 업데이트 진행

 

업데이트 결과

 

 

 

참고

https://blog.naver.com/PostView.naver?blogId=kings_and&logNo=221357913321&parentCategoryNo=&categoryNo=50&viewDate=&isShowPopularPosts=false&from=postView

https://jennysgap.tistory.com/entry/Metasploit-01-%EB%A9%94%ED%83%80%EC%8A%A4%ED%94%8C%EB%A1%9C%EC%9E%87-metasploit

https://jdh5202.tistory.com/619

https://m.blog.naver.com/chogar/222024089326