본문 바로가기
모의해킹 침해대응 과정/본 과정

Metasploit Framework / day 43~44

by 알거음슴 2021. 5. 25.

Metasploit Framework

메타스플로잇(msf)은 종합적인 모의해킹 Tool이다 기존 벤더, OS, 상황별 마다 사용되는 Tool이 상이했으나 해당 Tool들을 종합하여 루비기반으로 작성된 취약점 진단 통합 프레임워크이다. 공격코드, 페이로드, 인코더, 정찰도구, 보안테스팅 등의 체계를 이루고 있다.

 

[실습] MSF DB 생성 및 설정 초기화

 * msfdb init : msfdb의 DB 초기화 및 설정파일들 재 생성, 계정 초기화 등

 

1. Msf 구성요소 (Modules)

Rex, MSF:Core, MSF:Base : 개발자들을 위한 구성요소, Rex --> MSFbase 갈수록 요소들이 뭉쳐져 있다 = 모듈화.

 1) Penetration Modules (침투 모듈)

Explotis : Payloads 가 포함된 exploit code 

Auxiliary : Explotis 를 보조하는 code Payload 가 필요없음, 취약점 유무, Port scan, Dos 등 

Payloads : 원격에서 실행할 수 있는 code, bind-tcp, reverse-tcp 등

Encoders : AV 제품들을 인코딩을 통해 회피할 수 있도록 하는 기능

Nops : null byte 를 의미,  AV제품을 우회하기위해 Attack code의 형태를 변형, code 사이에 null값을 넣음

 

 2) Msf UI (User Interface)

msfconsol : (CLI) 유연하고 풍부한 문자와 지원이 잘 되는 Tool 공격수행, 보조모듈로딩, enumeration실행 리스너 생성 전체 네트워크의 대한 방대한 공격을 수행할 수 있다.

msfvenom : (CLI) 스크립트에 기초, 인터프리터가 제공되지않는다, 공격과 보조모듈로딩, 개발된 새로운공격코드 테스트를 할때 주로 활용됨

 

[실습] Metasploitable V2 Linux 취약한 Server 구축

[실습] Metasploit Framework 디렉토리 구조 확인. ( /usr/share/metasploit-framework )

 

2. Metasploit Framework CMD 

 1) 접속

msfconsole : msfconsole 접속

msfconsole -q : banner를 안띄우고 접속

 

 2) 접속 후

help : 도움말 확인

info : 현재 활성 모듈 및 제공된 모듈의 정보를 표시 (info [modul name] [mod2 mod3...])

show : 대항목에 맞는 모듈을 찾아줌 및 추가적인 지시자의 따라 정보를 띄워줌

search : keyword 에 맞는 모듈을 찾아줌. 하단 주요 키워드 표 참조.

app 클라이언트 또는 서버 공격 모듈 author 직접 만든 모듈
bid Butraq ID가 일치하는 모듈 CVE CVE ID가 일치하는 모듈
edb Exploit-DB-ID를 가진 모듈 name: 일치하는 설명 이름을 가진 모듈
platform 플랫폼에 영향을 미치는 모듈 ref 일치하는 참조가 있는 모듈
type 특정 유형의 모듈 (exploit, auxiliary, or post)    

 3) 접속 후 주요 CMD

back 최초 실행장소로 이동 banner  banner (최초접속화면)을 띄워줌
check 공격 가능 OS, 버전 등의 정보를 알려줌 color 색 표시 유무 (auto/false)
edit vim 으로 활성 모듈을 편집, 반드시 reload 필요 use code 경로 입력 시 해당 코드로 접속
irb ruby 언어를 사용해볼수 있음. jobs -K : all kill jobs  -l : jobs list 
kill kill [jobID] 해당 job를 종료시킴. resource resource file 을 가져와서 실행함.
set/unset 변수를 지정, 변수를 해제    

 * resource : 실행될 스크립트를 순서에 맞게 미리 작성해둔 파일.

 

[실습] Zenmap 으로 얻은 정보를 MSF 에 PostgreSQ DB 에 저장

 * nmap/zenmap CMD -> scan1.xml -> msfconsole(db_import) -> postgresql 저장

 * msfconsole(db_nmap) -> postgresql 저장

 * msfconsole(portscan/syn) -> postgresql 저장

 

[실습] 사전 파일을이용한 MySQL 원격 로그인시도 (mysql_login)

 

[실습] exploit_db를 이용햔 tikiwiki 취약점 공격 (wiki site 공격)

 * wiki : 누구나 문서에 접속하여 편집할 수 있는 Site

 * Fuzzer : 대상에 무작위 데이터를 자동화 또는 반자동화 프로그램으로 테스트 하는 기법

 * Crawling : Web site 를 그대로 가져와서 원하는 데이터를 수집 추출.

 

[실습] Root SSH key Crack (CVE 2008-0116) * SSH Public key Authentication

 * Open SSH 버전취약성을 노린 공격 postgres_login 을 활용

 

[실습] HTTrack Tool을 이용한 사이트 Clone 구성

 * powerfuzzer : 웹 디렉토리 목록과 파일 목록화 (Crawling)

 * HTTrack : 웹 디렉토리 목록과 파일 목록화 + 파일 다운로드 (site cloner) -> single 쓰레드 방식이기에 속도가 느림

 * webzip : httrack 와 유사함.

 

[실습] Tomcat 취약점 by Msf

 * Tomcat_mgr_login : 관리자 계정 크랙

 * Tomcat_mgr_deploy : 파일 업로드 취약점을 공격 ( webshell )

 

[실습] msfvenom 을 통한 Payload bind_tcp, reverse_tcp (msfconsol > Handlers (listener)

 * bind_tcp : listener, 상대 server에 열린포트상태로 대기하게됨.

 * reverse_tcp : 피해자 시스템에서 TCPsyn 을 보낼 수 msfv있도록 하는 공격 (OS의 맞는 포맷변경 필요)

활용 Tool

 * powermerger : 2가지의 프로그램을 합치는 프로그램, 주로 실제 유포 프로그램과 악성코드를 합치는데 활용 

 * 압축 : 배포파일과 악성코드를 같이 압축하여 상대가 압축을 해제 시 바로 악성코드가 진행됨.

 

[참고] PE, ELF

 PE : MS windows 환경에서 실행 파일 포맷 (# file reverse_text.exe)

 ELF : Linux / Uinx 환경에서 실행 파일 포맷

 

[실습] windows 2008 R2 접속 후 Log 삭제

 * reverse_tcp 통해 접속 -> webshell -> shell -> getsysrem과 getuid 를 통해 AUTHORITY\SYSTEM 권한획득. 

 * wevtutil cl (항목) -> 이벤트 뷰어 내 Log 삭제 커맨드.

 * Open source Tool : Log-Killer  /  msf체계 : meterpreter > clearev

Windows Oneline commend : http://travisaltman.com/one-liner-commands-for-windows-cheat-sheet/

 

[실습] Backdoor Factory Tool 이용한 malware 제작 ( malware 은닉 )

 * Code Cave : 실행 파일 뒤에 코드를 제작하여 뒷단에서 실행하도록 하는것, 주로 메모리에 올라갈 때 해당 코드를 직접 수정하여 작동 될 수 있도록 Code를 만드는 작업.

 

[실습] 변조된 PDF 파일 생성하기 (CVE 2010-1240)

 * Adobe Reader v8.x / windows vista 7의 취약점을 공격

 * msfconsole > adobe_pdf_embedded_exe 를 활용

 

[실습] MS Word의 Macro 악성코드 제작

 

[실습] keybode sniffing 스크린샷

 * 사용자가 키보드로 입력한 값을 기록으로 남기는 프로그램

 * key Logger Tool 활용

 

[실습] Password the hash (hash dump)

 * Post 모듈 : 기 장악한 Server나 시스템을 이용하여 연관된 추가적인 Server나 시스템을 크랙하는 모듈

 

 

'모의해킹 침해대응 과정 > 본 과정' 카테고리의 다른 글

시스템 취약점과 모의해킹 / day 46~47  (2) 2021.05.28
SET (Social Engineering Tech) / day 45  (0) 2021.05.27
모의해킹 / day 42  (0) 2021.05.25
모의해킹 / day 40~41  (0) 2021.05.21
모의해킹 / day 40  (0) 2021.05.21