본문 바로가기

전공 공부/리눅스 보안 실습

메타스플로잇(Metasploit)을 활용한 사전 정보 수집(DB 저장)

728x90

이 글은 교육목적으로 작성하는 것으로 절대 타인의 컴퓨터에 공격을 해서는 안됩니다.

범죄 행위이고 처벌을 받을 수 있습니다.

모든 해킹 행위는 자기 자신에게 책임이 있습니다.

 

제 블로그는 불법적인 해킹 행위를 권장하거나 유도하지 않습니다. 오로지 테스트 및 연습 목적으로 읽어주시면 감사하겠습니다.

 

수동적 정보수집은 괜찮으나 능동적 정보수집은 불법입니다. 특히 실습에서 사용할 nmap을 활용한 네트워크 스캐닝은 우리나라에서 불법입니다. 

 

모의 침투를 위해선 상대방의 서버 OS가 가지는 허점들을 알아내야 합니다. 이를 위해서 사전 정보 수집이 필수적입니다. 

 

service postgresql start

update-rc.d postgresql enable

msfdb init

메타스플로잇(Metasploit)을 활용하여 정보 수집을 해보겠습니다. 먼저 수집한 데이터를 저장하기 위해 데이터베이스를 활성화해줍니다.  postgresql의 서비스를 시작한후 활성화 및 msfdb 초기화를 하였습니다.

 

service postgresql status

활성화되어 있는 것을 볼 수 있습니다.

 

이제 msfconsole을 실행시켜 줍니다. 

auxiliary: 1075개
post: 330개
payload: 556개
encoders: 45개
nops: 10개
evasion: 4개

현재 사용할 수 있는 여러 도구들의 카테고리와 종류를 볼 수 있습니다. 

 

 

db_status 
db_services

db 상태를 보면 현재 연결되어 있는 것을 확인할 수 있고 현재 데이터베이스에 저장되어 있는 정보는 없는 것을 확인할 수 있습니다.

 

현재 msf에연결되어 있는 데이터베이스 상태를 볼 수도 있습니다.

 

수동적 정보 수집

 

참고할만한 사이트

https://www.rapid7.com/db/modules/auxiliary/gather/corpwatch_lookup_name

 

set company_name 으로 원하는 기업 이름을 선택하고 set limit로 표시할 개수를 선택, set year로 검색할 년도를 선택한 다음 run을 하면 여러 기업 정보들을 보여줍니다.

 

 

 

cd /usr/share/metasploit-framework/modules/auxiliary/gather

에 가면 여러 루비(ruby)확장자로 메타스플로잇에 프레임워크 모듈들을 볼 수 있습니다.

 

https://ko.wikipedia.org/wiki/%EB%A3%A8%EB%B9%84_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)

 

루비 (프로그래밍 언어) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 루비Ruby패러다임프로그래밍 패러다임: 객체 지향 프로그래밍, 명령형 프로그래밍, 함수형 프로그래밍, 반영설계자마츠모토 유키히로개발자마츠모토 유키히로및 관계자발표일1995년최근 버전2.5.0최근 버전 출시일2017년 12월 25일 (20달 전)(2017-12-25)[1]라이선스루비 라이선스GNU GPLv2BSD 라이선스파일 확장자.rb웹사이트www.ruby-lang.org주요 구현체루비 MRI, YARV, 루비니우스, 메

ko.wikipedia.org

 

 

우리가 사용한 corpwatch_lookup_name 또한 루비로 된 소스코드를 이용하여 동작하였습니다.

 

serarch_email_collector을 활용하여 이메일 정보들도 가져올 수 있습니다.

 

 

 

능동적 정보 수집

nmap이라는 네트워크 스캐닝 도구를 활용하여 정보수집을 해보겠습니다. 

 

nmap -h

많은 옵션들을 볼 수 있습니다.

 

이전에 설치해 놓은 서버들의 정보를 수집해보겠습니다.

 

레드햇 리눅스 서버
우분투 서버(방화벽 비활성화)
우분투 서버(방화벽 활성화)

 

owncloud 서버
윈도우 7 

 

윈도우 8
윈도우 10

리눅스의 경우 방화벽 유무에 따라서 얻을 수 있는 네트워크 정보가 달랐고 윈도우는 정보를 스캔하지 못했습니다.

 

 

앞에 db_nmap 명령어를 쓰면 스캔한 정보를 데이터베이스에 저장할 수 있습니다.

db_services 명령어를 통해 저장되어 있는 database 목록을 볼 수도 있습니다.

 

 

 

방화벽 비활성화
방화벽 활성화

방화벽 여부도 확인할 수 있습니다.

728x90