IT/Security

Kali Linux 보안 도구, 막힌 건 도구가 아니다

얇은생각 2026. 9. 29. 21:30
반응형

Kali Linux를 VM에 설치하고 도구를 하나씩 써봤을 때, 정작 발목을 잡은 건 도구 사용법이 아니라 네트워크 모드와 인증서 같은 기본 환경 이해였다.

Nmap이 대상을 못 찾은 것도, Metasploit이 exploit에 계속 실패한 것도 도구가 문제라서가 아니었다. VM 네트워크 설정이나 대상 조건을 잘못 이해하고 있었을 뿐이다. 이 글은 그 지점을 도구별로 정리한 기록이다.

아래 도구들을 고른 기준부터 밝혀둔다. Kali에서 유명한 도구를 실측 순위로 매긴 게 아니다. 보안 입문자가 penetration-testing 흐름을 한 번 따라갈 때 각 단계(정찰→패킷 확인→웹 취약점 실습→exploit→패스워드 크래킹→무선·사회공학까지)에서 대표적으로 만나는 도구를 골랐다.

 

카테고리 도구 이 글에서 다루는 역할
정찰 Nmap, Skipfish 대상 탐색, 웹 크롤링·취약점 후보 발견
패킷 분석 Wireshark, hping3 트래픽 확인, 패킷 직접 조립·전송
Exploit Metasploit, SQLmap 취약점 공격 실행, SQL 인젝션 자동화
크래킹 Hashcat 해시 비밀번호 고속 크래킹
무선 Aircrack-ng Wi-Fi 보안 점검
포렌식 Foremost 삭제된 파일 복구
소셜 엔지니어링 Social-Engineer Toolkit 피싱·가짜 로그인 시뮬레이션

 

정찰·패킷 분석·exploit 단계에 도구가 두 개씩 몰려 있는 건, penetration-testing 흐름에서 이 초반 단계들이 반복 작업을 가장 많이 요구하기 때문이다.

정직하게 밝힐 것도 있다. OSCP나 CEH 같은 자격증은 없다. 고객사 시스템을 대상으로 계약된 침투테스트를 수행해본 적도 없다. 실습은 전부 Kali VM과 별도로 띄운 target VM, 또는 허가된 CTF 환경 안에서만 진행했다. 여기 쓴 내용은 전문 pentester의 경력이 아니라, 개인적으로 VM 실습 환경에서 직접 부딪힌 기록이다.

 

 

Nmap

Nmap 스캔에서 대상이 안 잡힌다면 방화벽보다 VM 네트워크 모드(NAT vs Host-only)부터 확인하는 게 먼저다.

처음 Kali VM과 target VM을 각각 만들고 Nmap으로 스캔했을 때 대상이 전혀 보이지 않았다. 한동안 방화벽을 의심하며 설정을 뒤졌는데, 실제 원인은 그게 아니었다. 두 VM의 네트워크 모드를 잘못 이해하고 있었을 뿐이다.

 

VirtualBox 네트워크 어댑터 설정에서 NAT와 Host-only Adapter 중 하나를 선택하는 화면

 

 

NAT와 Host-only는 서로 다른 네트워크 대역에 놓이는 경우가 많아서, VM 두 대가 같은 네트워크 안에 있다고 착각하면 스캔 결과가 계속 비어 나온다. Nmap 자체는 정상 동작하고 있었는데도 그랬다.

 

 

Wireshark

Wireshark는 네트워크를 오가는 패킷을 실시간으로 캡처해 들여다보는 패킷 분석 도구다.

인터페이스를 지정해 캡처를 시작하면 TCP, HTTP, DNS 같은 프로토콜별 패킷이 그대로 화면에 쌓인다. 필터 구문으로 특정 IP나 포트만 걸러보거나, TCP 스트림을 따라가며 요청·응답 흐름을 재구성할 수 있다. 실습하면서 Wireshark는 Nmap 스캔이나 Metasploit exploit 뒤에서 실제로 어떤 패킷이 오가는지 직접 들여다보며 확인하는 용도로 썼다.

 

 

Metasploit

Metasploit은 exploit 모듈 선택보다 대상의 정확한 버전과 precondition 확인이 성공을 가른다.

검색 결과에서 비슷해 보이는 exploit 모듈을 고르면 바로 될 거라 생각했는데, 실습해보니 그런 구조가 아니었다. 각 모듈은 특정 소프트웨어 버전, 특정 설정 상태 같은 precondition을 전제로 만들어져 있다. target의 버전을 정확히 확인하지 않고 module만 실행하면 대부분 실패로 끝난다. Metasploit을 쓰면서 배운 건 exploit을 고르는 감각보다, 대상을 먼저 정확히 파악하는 습관이었다.

 

 

Aircrack-ng

Aircrack-ng는 Wi-Fi 네트워크의 보안(WEP·WPA·WPA2)을 점검하는 도구 모음이다.

패킷 캡처, 핸드셰이크 수집, 사전 공격을 통한 키 크래킹까지 Wi-Fi 보안 점검에 필요한 과정을 단계별 도구로 나눠 제공한다. 무선 보안 학습 환경에서 기본 실습을 해본 정도라 아직 자세한 시행착오는 없다. WPA3가 점차 확산되고는 있지만, 구형 라우터에서 WPA2를 혼용하거나 설정을 잘못해둔 경우가 여전히 많아 이 계열 공격이 통하는 사례가 적지 않다.

 

 

Hashcat

Hashcat은 GPU 연산을 활용해 해시로 저장된 비밀번호를 고속으로 크래킹하는 도구다.

사전 공격, 규칙 기반 변형, 무차별 대입까지 여러 방식을 GPU 병렬 연산으로 돌려 CPU 기반 크래킹보다 훨씬 빠르게 처리한다. 그래서 2FA가 필요하고, 그래서 아직도 'password123' 같은 비밀번호를 쓰면 안 되는 거다.

CTF와 개인 실습에서 Hashcat을 직접 써봤는데, 처음엔 결과가 전혀 안 나와서 wordlist가 문제라고 생각해 목록을 이것저것 바꿔가며 반복 실행했다. 실제 원인은 그게 아니었다.

대상 hash의 유형과 실행할 때 지정한 hash mode(-m)가 서로 맞지 않았던 것이다. hash 형식을 다시 확인하고 mode를 맞추자 그제서야 정상적으로 진행됐다. 비밀번호 후보를 의심하며 시간을 썼지만, 문제는 cracking 성능이 아니라 입력 hash를 잘못 이해한 쪽이었다.

비밀번호 인증 자체를 꺼도 우회 경로가 남는 경우가 있는데, 이건 SSH 키 인증 껐는데 왜 여전히 비밀번호로 들어가질까에서 실제 겪은 사례로 다룬 적 있다.

 

 

SQLmap

sqlmap은 SQL 인젝션 취약점을 자동으로 탐지하고 데이터베이스 정보를 추출·검증하는 도구다.

URL이나 요청 파라미터를 지정하면 다양한 인젝션 패턴을 자동으로 시도해 취약점 여부를 판별한다. 취약점이 확인되면 데이터베이스 이름, 테이블 구조까지 단계적으로 뽑아낼 수 있다. 웹 취약점 실습 단계에서 대상 요청을 걸어보는 용도로 직접 써봤다.

 

 

Social-Engineer Toolkit

Social-Engineer Toolkit(SET)은 피싱 이메일, 가짜 로그인 페이지 같은 사회공학 공격 시나리오를 시뮬레이션하는 프레임워크다.

Kali Linux는 오직 authorized penetration testing과 security audit를 위해 존재한다. 시스템 소유자이거나 명확한 허가가 없다면—거기서 멈춰야 한다.

합법적으로 실력을 검증하고 싶다면 OSCP나 CEH 같은 자격증 경로, 또는 HackTheBox·TryHackMe 같은 합법 실습 플랫폼부터 시작하는 걸 권한다. 이 글의 실습도 전부 허가된 VM·CTF 환경 안에서만 진행했다.

 

 

hping3

hping3는 TCP/IP 패킷을 직접 조립해 보내는 패킷 생성 도구로, 방화벽 테스트나 네트워크 진단에 쓰인다.

hping3는 응답을 기다리지 않고 패킷을 쏟아붓는다. 단일 머신이면 DoS, botnet이면 DDoS다.

격리된 Kali VM과 target VM 사이에서 TCP 패킷과 방화벽 반응을 직접 확인하는 실습에 hping3를 썼다. 처음 실행했을 때 raw packet 관련 권한 오류가 나서 또 VM 네트워크 설정이 잘못된 줄 알았는데, 다시 확인해보니 이번엔 raw socket을 쓰는 실행 권한 쪽 문제였다. 이걸 해결하고 나서야 SYN, ACK, RST가 오가며 방화벽이 어떻게 반응하는지를 패킷 수준에서 이해하게 됐다.

다만 hping3 자체는 몇 년째 업스트림 업데이트가 없는 상태다. 요즘은 같은 계열 작업에 Nmap 프로젝트가 관리하는 nping을 더 많이 쓴다.

 

 

Skipfish

Skipfish는 웹 애플리케이션을 자동으로 크롤링하며 취약점을 스캔하는 정찰 도구다.

대상 웹 서버를 재귀적으로 탐색하면서 발견되는 페이지·파라미터마다 알려진 취약점 패턴을 대입해본다. 스캔 결과는 보고서 형태로 정리돼 나와서, 넓은 범위를 빠르게 훑고 우선순위를 정할 때 쓰기 좋다.

 

 

Foremost

Foremost는 손상되거나 삭제된 파일을 헤더·푸터 시그니처 기반으로 복구하는 파일 카빙(carving) 도구다.

파일시스템 정보가 남아있지 않아도, 디스크 이미지 안에서 파일 형식 고유의 시그니처를 찾아 잘라내는 방식으로 복구를 시도한다. 디지털 포렌식 실습에서 삭제된 증거 파일을 복원하는 기초 도구로 자주 쓰인다.

 

 

결론

이 도구들은 부수기 위해 배우는 게 아니라, 지키기 위해 배우는 거다.

10개를 순위로 고른 게 아니라 정찰부터 exploit, 패스워드 크래킹까지 이어지는 흐름의 각 단계에서 대표적으로 만나는 도구를 골랐다는 걸 다시 한번 짚어둔다.

돌이켜보면 막힌 지점은 매번 비슷한 결이었다. Nmap에서는 VM 네트워크를, Hashcat에서는 hash 형식을, hping3에서는 raw packet 실행 조건을 잘못 이해했다. Kali를 배우며 가장 많이 막힌 곳은 명령어가 아니라 각 도구가 전제로 하는 네트워크·프로토콜·데이터 구조였다. 실제로 써보면 도구 자체보다 이런 기본기에서 먼저 막힌다.

 

Nmap·Metasploit·Hashcat·hping3에서 처음 의심한 원인과 실제 원인을 비교한 다이어그램. 네 사례 모두 환경·설정 이해 부족이라는 공통 원인으로 수렴한다

 

2026-09-29 기준으로 도구 목록과 참고 정보를 다시 확인했다.

 

 

자주 묻는 질문

 

Wi-Fi 공격은 아직도 유효한가요?

네, 여전히 그렇다. WPA3가 확산되고 있지만 구형 라우터의 WPA2 혼용 설정이나 잘못된 설정이 아직 많아 Aircrack-ng 계열 공격이 통하는 경우가 적지 않다.

 

Kali 도구를 합법적으로 연습하려면 어떻게 시작하나요?

허가받지 않은 시스템에는 절대 쓰면 안 된다. HackTheBox·TryHackMe 같은 합법 실습 플랫폼이나 직접 만든 격리된 VM·CTF 환경에서 시작하고, 실력을 검증하고 싶다면 OSCP·CEH 같은 자격증 경로를 보는 게 안전하다.

 

 

참고 자료

반응형