이번 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 명령어를 통해 실행시킬 수 있다.
'Hacking > Hacking Beginner Class (normaltic)' 카테고리의 다른 글
[해킹 비기너 클래스] Drill Course 1주차 Practice (0) | 2023.09.19 |
---|---|
[해킹 비기너 클래스] Drill Course 1주차 정리 (1) | 2023.09.15 |
[해킹 비기너 클래스] 7주차 Practice (Post-exploit Task 2) (0) | 2023.09.06 |
[해킹 비기너 클래스] 7주차 정리 (post-exploit) (0) | 2023.09.04 |
[해킹 비기너 클래스] 6주차 Practice (Task 5) (0) | 2023.08.30 |