본문 바로가기

침투테스트

1. metasploit 사용법

반응형

네트워크 보안과 시스템 보안에 대해 어느정도 공부가 된 이 시점에서

침투테스트를 수행해보려고 한다. 말 그대로 OS에 직접 침투를 해보면서 취약점을 파악하는 것이다.

지금까지 배웠던 시스템과 네트워크 기술들을 가지고 적용해보는 시간이라고 할 수 있다.

해당 카테고리에서는 kali linux를 중심으로 windows나 linux를 침투해보는 실습을 할것이다.

주로 사용하는 명령은 'metasploit' 으로 침투테스트를 할 때 주로 사용하는 명령어다.

바로 시작해보도록 하겠다.

 

 

1. metasploit 기본 설명

 

- 특징

취약점 분석도구이자 공격도구. 보안평가를 할 때도 사용하는 도구이며, ruby 언어로 제작되었다.

module화로 이루어져 있어 사용하기 간편하다.

 

- 활용

모의해킹을 할 때 주로 사용하며 취약점 진단, zero-day 진단, 자동화 도구로도 사용한다.

 

- 명령어 정리

exploit: system, application, service를 향한 공격행위

payload: shell code 또는 공격 code를 뜻한다. (여기서는 packet에 포함된 data를 뜻하지 않음)

module: ruby 언어로 이뤄진 module

session: MSF와 공격대상 (MSF= MetaSploit Framework)

 

- module

Exploit: 공격 명령

Auxialiary: payload를 필요로 하지 않는 공격, 정보수집 관련 공격

Post: exploit 이후 추가적인 공격

 

- Interface 

metasploit에 접속하기 위한 명령어

msfconsole: text mode의 exploit 환경

armitage: graphic mode의 exploit 환경

실습은 msfconsole로 진행하도록 하겠습니다.

 

 

-msfconsole 명령어 모음

help : 도움말

search : 사용가능한 module 검색

use* : 특정 module 사용선언

info : module의 세부정보 활용

set * : module이 사용할 정보 설정

unset : module 사용 설정 해제

exploit :  module 실행 (공격 실행)

jobs : 현재 작업상태 확인

 

 

 

2. metasploit 실전

- msfdb init

- service postgresql restart

위의 두 가지 명령을 수행하는 이유는

metasploit이 사용하는 DataBase framework를 초기화하기 위해서다.

처음 metasploit을 실행할 때 한번만 수행하면 되는 부분이기 때문에 알아만 두자

그리고 msfconsole 명령을 실행시키면 다음과 같이 shell code가 바뀔 것이다.

정상적으로 metasploit 환경에 진입한 것을 볼 수 있다.

 

 

 

- 정보수집 단계

이 시간에 취약점을 분석할 OS는 windows10이다. 해당 OS의 samba 계정을 공격해보자.

그 전에 항상 해야할 일은 정보수집이다. nmap을 통해 해당 OS의 정보를 수집해보도록 하자

 

 

현재 windows10의 135,139,445번 port가 open 되어있음을 알 수 있다.

참고로 samba port는 139번과 445번을 사용한다.

우리는 이를 통해 samba 접속을 통한 공격을 수행할 수 있다는 것을 알게 되었다.

 

 

- use scanner/smb/smb_version  ( smb를 스캔하기 위한 module 장착 )

- set smb user administrator ( smb에서 사용할 사용자를 administrator로 설정 )

- set rhosts 192.168.10.0/24 ( 현재 내부 네트워크 전체 대역 )

- set threads 64 ( process 64개로 실행 )

- run  (실행)

 

 

현재 192.168.10.0/24 네트워크에 대한 scan이 성공적으로 이루어졌다.

 

 

 

- Bruteforce 공격 단계

정보수집 단계가 끝났으니 이제 공격을 시도해보도록 하겠다.

말 그대로 무작위로 때려넣어서 맞으면 되는 방식의 공격이다.

그래서 windows10에 다음과 같이 사용자를 하나 추가하도록 하겠다.

계정이름은 korea이고, 비밀번호는 123456이다.

 

-net user korea 123456 /add (windows에 korea 사용자 추가)

 

 

- use auxiliary/scanner/smb/smb_login  (smb login에 대한 정보수집 module 장착)

- set smbuser korea   (smb user를 korea로 설정)

- set smbpass 123456    (smb 비밀번호를 123456으로 설정)

- set rhost 192.168.10.134    (smb 공격할 대상 192.168.10.134 설정)

- run

smb에 대한 brute-force 공격으로 계정과 비밀번호가 노출되었음을 알 수 있다.

 

 

참고) show options를 통해 해당 module의 option 설정상태를 확인할 수 있다.

또한 어떤 option들을 사용할지 결정할 수 있다.

 

위의 사진은 공격전에 option들을 설정했기 때문에 다음과 같이 결과가 나왔다.

 

 



 

반응형

'침투테스트' 카테고리의 다른 글

3. Bind TCP, Reverse TCP  (1) 2022.11.02
5. ps 탈취  (0) 2022.01.07
4. meterpreter  (0) 2022.01.06
2. SSH, MYSQL 공격  (0) 2022.01.03