[TECH UP] Metasploit & Nmap 주요 툴 실습

Y·2025년 10월 14일

TECH UP

목록 보기
26/39
post-thumbnail

1️⃣ Nmap 개요

  • Nmap (Network Mapper)는 네트워크 내의 활성 호스트 및 열린 포트를 탐지하는 보안 스캐너
  • 보안 점검, 취약점 진단, 네트워크 구성 파악에 활용됨

주요 기능

  • 네트워크 내 활성 호스트 확인
  • 열린 포트 탐색
  • OS 및 서비스 버전 감지
  • 네트워크 장비나 서버 상태 점검

2️⃣ Nmap 기본 명령어

  • 호스트 탐색

    • nmap -sn 192.168.26.129/24
    • 해당 서브넷(예: 192.168.26.*) 전체 스캔
    • 로컬 네트워크는 ARP, 원격 네트워크는 ICMP ECHO(ping) 활용
  • 포트 및 OS 스캔

    • nmap -sS 192.168.26.129 -O
    • -sS: TCP SYN 스캔 (Half-open, 스텔스 스캔)
      → 빠르고 은밀하게 포트 상태 확인
    • -O: OS 감지 (방화벽이나 필터링으로 부정확할 수 있음)
  • 서비스 및 버전 탐지

    • nmap -sV 192.168.26.129 -A
    • 실행 중인 애플리케이션의 버전 및 서비스 정보 확인 가능

💡 예시: Apache2 웹서버가 실행 중이라면 http 포트 응답 확인 가능


3️⃣ Metasploit 개요

  • Metasploit Framework는 취약점 공격 및 보안 진단을 위한 오픈소스 모의 침투 도구
  • 2003년 해커 HD Moore가 Perl로 개발, 이후 Ruby 기반으로 전환
  • 2025년 현재 버전: v6.4.64-dev

주요 구성

  • Exploit: 시스템·서버·웹의 취약점을 이용한 공격 코드
  • Payload: 공격 후 실행되는 명령어 또는 악성 코드
  • Auxiliary: 포트 스캔, 로그인 시도 등 정보 수집 기능

4️⃣ Metasploit 버전

구분설명
Metasploit Framework무료, CLI 기반 보안 툴
Metasploit Pro유료, GUI 기반 자동화 및 보고 기능 제공

5️⃣ Metasploit 기본 명령어 (Cheat Sheet)

명령어설명
show exploits사용 가능한 Exploit 목록 표시
show payloadsPayload 목록 확인
use특정 모듈 선택
db_statusDB(PostgreSQL) 연결 상태 확인
help명령어 도움말 표시
search portscan포트 스캔 관련 모듈 검색
set RHOSTS <IP>대상 IP 설정
set PORTS <번호>스캔할 포트 지정 (예: 3306)
run스캔 또는 공격 실행

6️⃣ 실습 예시 – MySQL 포트 공격

① 환경 준비

  • Victim: Kali Linux (MariaDB 사용, 포트 3306)
  • Attacker: Metasploit 실행 환경

② nmap으로 확인

  • sudo nmap -sV -O 192.168.29.129 -p3306
    → 포트 상태가 OPEN일 경우 MySQL 접근 가능

③ MySQL 설정

  • sudo mysql 또는 sudo mariadb 접속
  • 50-server.cnf 설정 파일에서 외부 접속 허용
  • MariaDB 재시작 후 포트 오픈 확인

④ 원격 접속 계정 생성

CREATE USER 'root'@'%' IDENTIFIED BY '1525';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

⑤ Brute Force 공격

  • use auxiliary/scanner/mysql/mysql_login

  • 단어 사전(rockyou.txt)을 이용해 무차별 대입 공격 수행

  • sudo gunzip rockyou.txt.gz 후 사용

⑥ 문제 해결

  • set VERBOSE true로 세부 로그 확인

  • 연결 실패 시 원인 분석:

    • 방화벽 차단 여부
    • 원격 접근 설정
    • MySQL 실행 여부

7️⃣ MySQL 관련 모듈

모듈기능
mysql_login계정 무차별 대입 (Brute Force)
mysql_versionMySQL 버전 탐지
mysql_enumMySQL 버전 및 DB 구조 정보 수집
mysql_schemadumpDB 스키마 덤프
mysql_hashdump사용자 비밀번호 해시 추출

8️⃣ 실습 시 주의사항

  • 공격 테스트는 반드시 로컬 가상환경에서만 수행
  • 포트 스캔 및 취약점 공격은 외부 네트워크에서 불법 행위로 간주됨
  • Metasploit의 모듈은 보안 점검 및 교육 목적으로만 사용해야 함

참고 자료

How to use Metasploit in Kali linux

0개의 댓글