본문 바로가기
인터넷 보안

[인터넷 보안] Metasploit 모의침투

by 볼링치는 개발자 2021. 6. 13.
반응형

Metasploit 이란?

Metasploit은 온갖 취약점과 공격을 시도할 수 있는 프레임워크이자 오픈소스 도구입니다.

Metasploit과 Metasploitable2는 다른 것입니다.

Metasploitable2는 하나의 시스템이고, Metasploit는 프레임워크입니다.

Kali Linux에 기본적으로 설치되어 있습니다.

 

그럼 본격적으로 Metasploit을 사용해서 모의 침투를 진행해보겠습니다.

 

먼저 Metasploit을 사용하려면 데이터베이스가 필요한데, postgreSQL을 사용하겠습니다.

다음 명령어를 이용해 postgreSQL을 실행하고, 실행 중인지 상태를 확인합니다.

$ systemctl start postgresql
$ systemctl status postgresql

PostgreSQL을 잘 실행시켜주었으면, 다음 명령어를 입력해 Metasploit을 시작합니다.

$ msfconsole

Metasploit의 시스템 안에는 공격 모듈들이 모두 잘 저장되어있습니다.

 

새로운 터미널 창에서 /usr/share/metasploit-framework/modules/exploit/로 이동하면 정리된 모듈들을 확인할 수 있습니다.

 

또한 www.expoit-db.com에도 데이터베이스 관련 취약점에 대해 확인할 수 있습니다. 

 

이번 실습에서 많이 사용할 명령어는 search, show, info, use가 있습니다.

 

search - 명시한 것에 대한 취약점 모듈들을 찾아주는 명령어

먼저 침투를 하기 전에, 침투하려는 대상 시스템에 대한 기본적인 정보와 취약점을 알아볼 필요가 있습니다.

Metasploit의 콘솔 창에서 nmap 명령어를 사용해서 Metasploitable2에 대한 취약점을 찾아봅시다.

192.168.0.21은 Metasploitable2의 IP주소입니다.

$ nmap -sT -A 192.168.0.21

-sT 옵션: TCP 연결을 이용

-A 옵션: 전체 탐색

 

위 명령어는 아래와 같이 버전정보를 포함한 정보를 알려줍니다.

 

21번 TCP포트는 vsftpd 2.3.4 버전을 사용하고, 22번 TCP 포트는 OpenSSH 4.7p1 버전을 사용하는 것을 확인할 수 있습니다.

그럼 21번 포트의 vsftpd 2.3.4 버전을 expoit-db에 검색해봅니다.

그럼 해당 버전에 대한 정보와 소스코드를 보여줍니다.

 

exploit-db에 검색하지 않아도 metasploit에서 검색할 수 있습니다.

 

다음 명령어를 통해 검색을 진행합니다.

$ search vsftpd 2.3.4

찾은 이 모듈을 use를 통해 사용할 수 있습니다.

$ use exploit/unix/ftp/vsftpd_234_backdoor

아래 사진은 vsftpd 2.3.4에 대한 검색을하고, 결과로 나온 모듈을 사용하는 과정입니다.

빠져나올 때는 back을 입력하면 됩니다.

 

그럼 해당 모듈을 사용하면서 info명령어를 입력하면 해당 모듈에 대한 정보를 알려줍니다.

그리고 show options를 입력하면 해당 모듈을 사용하기 위한 정보들을 보여줍니다.

결과를 보면, 2가지 Required옵션이 있는데, RPORT는 Remote Port로 21번 TCP 포트가 설정되어있고, RHOSTS인 Remote Host는 비어있고 설정해줘야 하는 것을 볼 수 있습니다.

 

즉, 침투 대상 호스트를 설정해야 합니다.

 

그럼 다음 명령어를 통해 침투 대상 호스트로 Metasploitable2를 설정해 주겠습니다.

$ set RHOSTS 192.168.0.21

설정한후에 show options명령어로 옵션 상태를 확인하면 Metasploitable2로 침투 대상이 설정된 것을 확인할 수 있습니다.

이제 최종적으로 실행을 해보겠습니다.

run 명령어를 입력해 침투를 실행해줍니다.

그럼 현재 Metasploitable2에 침투되어있는 상태이므로 Metasploitable2에 대한 정보를 조회할 수 있습니다.

Metasploit콘솔 창에서 입력하는 명령어들이 Metasploitable2에서 입력하는 명령어와 동일한 결과를 보여줍니다.

또한 root권한으로 침투해서 웬만하면 원하는 작업들을 모두 할 수 있을 것입니다.

 

반응형

댓글