본문 바로가기
Hacking/Hacking Beginner Class (normaltic)

[해킹 비기너 클래스] 8주차 정리 (metasploit)

by st-og 2023. 9. 13.

이번 8주 차에서는 metasploit을 사용하는 방법과 기초적인 적용법을 배웠다.

 

metasploit은 해킹을 도와주는 프레임워크이며 모듈을 사용해 원하는 해킹을 할 수 있게 도와준다

모듈은 7가지 종류로 나뉘는데 간단히 이렇게 정리할 수 있다.

 

1. Auxiliary 

→ 공격을 하기 위해 정보 수집이나 스캔 등 서포트를 위한 모듈

 

2. Encoder

→ 공격 코드 등을 인코딩하는데 도움을 주는 모듈(공격 코드를 그대로 사용할 시 백신에서 걸릴 확률이 높음)

 

3. Evasion

→ 백신 탐지를 우회시켜주는 모듈 (특정 백신을 정해놓고 해당 백신을 우회할 수 있음)

 

4. Exploit

→ 찾은 취약점을 토대로 공격하는 모듈

 

5. NOP

→ 어셈블리어 NOP을 사용하여 공격 코드의 정확한 실행을 위해 사용되는 모듈 (BOF 공격에서 주로 사용)

 

6. Payload

→ 공격을 위한 명령어가 저장되어 있는 모듈

 

7. Post

→ post-exploit을 위한 모듈

 


기본적인 사용법

먼저 metasploit 을 사용하기 위해서는 터미널에서 msfconsole명령어를 사용하면 된다

 

 

그럼 해당 화면이 출력되며 metasploit 콘솔로 들어가게 되는데

해당 콘솔에서 기본적인 리눅스 명령어는 사용이 다 가능하며 동시에 metasploit의 명령어도 사용이 가능하다

 

많은 명령어들이 있지만 기본적으로 사용하기 위한 명령어들만 정리를 해보았다

(help명령어를 사용하면 모든 명령어들을 확인할 수 있다)

 

search : 찾고자 하는 모듈이나 프로그램의 이름을 검색하여 취약점을 찾아낼 수 있다

search [찾고자 하는 키워드]

 

ssh의 취약점을 찾아내기 위해 가정하고 search를 사용해 보았다

 

search 명령어를 통해 출력된 많은 모듈들의 정보를 보려면 info 명령어를 사용하면 된다

info [숫자 or 이름]

 

 

info 명령어를 사용하게 되면 해당 모듈에 필요한 인자값들과 모듈에 대한 설명을 확인할 수 있다.

해당 모듈을 사용해도 적합하다 생각한다면 use 명령어를 사용해 해당 모듈을 장착해 보자

use [숫자 or 이름]

 

use 명령어를 사용하게 되면 쉘 이름 옆에 해당 모듈이 장착되었음을 보여준다

이제 이 모듈을 사용하기 전에 필요한 정보가 무엇이 있는지 꼭 확인해줘야 한다

 

장착한 모듈의 정보를 확인하는 명령어는 options 명령어이다

 

해당 모듈을 사용하려면 Required가 Yes인 칸들은 모두 채워줘야 사용이 가능해진다

 

해당 칸을 채우거나 수정을 할 때는 set 명령어를 사용하면 된다

set [Name] [넣고자 하는 값]

*여기서 Rhost는 상대방의 ip 주소를 뜻하고 Lhost는 내 pc의 ip주소를 뜻한다

 

모든 기본 값들이 채워졌다면 run 또는 exploit 명령어를 통해 실행시킬 수 있다.