◎ 서론: 배경과 타겟
 - 배경

  • 최근 칼리(Kali Linux)는 단순히 터미널에서 명령을 두드리는 도구를 넘어, LLM과 결합해 “자연어 기반 침투 테스트 환경”으로 진화하고 있습니다.
  • 특히 Anthropic의 Claude Desktop과 MCP(Model Context Protocol)를 활용하면, “`scanme.nmap.org 포트 스캔하고 보안 관련 요약해줘`” 같은 자연어 지시만으로 칼리의 다양한 도구를 자동 실행·분석하는 워크플로우를 구성할 수 있습니다.

 

 - 이 글의 주요 타겟은 다음과 같습니다.

  • 칼리를 이미 사용 중이며, LLM을 이용해 침투 테스트·위협 헌팅 자동화를 시도해보고 싶은 보안 전문가.
  • macOS/Windows 환경에서 Claude Desktop을 GUI 프론트엔드로, 칼리를 “백엔드 공격 박스”로 쓰고 싶은 레드팀·블루팀 담당자.
  • MCP 설계 시 보안 고려사항(권한 분리, 도구 노출 통제, 로그/모니터링 등)에 관심 있는 AI·보안 엔지니어.

 

◎ 특징: 핵심 기능 및 변경 사항

 - Kali & Claude Desktop 통합의 핵심은 “UI–Kali–LLM–MCP”로 구성되는 4계층 구조입니다.

  • UI: macOS 또는 Windows에서 실행되는 Claude Desktop이 대화형 인터페이스 및 MCP 호스트 역할을 수행.
  • 공격 박스: 원격/클라우드에 위치한 Kali Linux가 실제 nmap, gobuster, sqlmap 등 도구를 실행.
  • LLM: 클라우드 상의 Anthropic Claude Sonnet 4.5 등이 자연어를 이해하고 침투 테스트 전략·분석 결과를 생성.
  • MCP 서버: `mcp-kali-server` 등 MCP 서버가 HTTP API 또는 stdio를 통해 칼리 도구를 “툴”로 노출.

 

 - 이 구조를 통해 다음과 같은 핵심 기능이 제공됩니다.

  • 자연어 → 명령 변환: “이 URL에 SQLi 있는지 검사해줘”라고 말하면 MCP를 통해 sqlmap 실행, 결과 요약까지 자동 수행.
  • 툴 체이닝: nmap → gobuster/dirb → nikto → 보고서 초안 작성까지 LLM이 단계별 워크플로우를 제안·실행.
  • 로그·TI 연동: MCP를 통해 Elasticsearch, Sysmon 로그, VirusTotal/AlienVault TI까지 연동해 위협 헌팅 시나리오를 구성 가능.

 - 이전의 “단순 프롬프트 기반 LLM 활용”과 달리, MCP 표준 도입으로 툴·데이터 소스를 구조적으로 붙일 수 있게 된 것이 가장 큰 변화입니다.

◎ 설치 및 사양
 - 권장 사양

  > macOS / Windows (Claude Desktop)

  • OS: macOS(공식 지원), Windows(공식 지원), Linux는 WINE·비공식 빌드 등 우회 필요.
  • CPU/RAM: 일반적인 데스크톱 수준(LLM은 클라우드에서 동작하므로 주로 MCP 클라이언트·SSH 처리 비용 수준).
  • 네트워크: 칼리 서버와 안정적인 SSH 통신이 가능할 것(저지연·안정적인 연결 권장).

 

  > Kali Linux

  • OS: 최신 Kali Linux, 클라우드(예: VPS) 또는 온프레미스 모두 가능.
  • 패키지: `openssh-server`, `mcp-kali-server`, `nmap`, `gobuster`, `dirb`, `nikto`, `enum4linux-ng`, `hydra`, `sqlmap`, `wpscan`, `john`, `metasploit-framework`, `wordlists` 등.
  • 자원: 여러 도구를 병렬 실행할 수 있는 CPU/RAM, 대량 스캔 시 충분한 네트워크 대역폭.

 

 

설치 과정 개요
1. Kali에서 SSH 서버 준비
   - `sudo apt install -y openssh-server && sudo systemctl enable --now ssh`로 SSH 서비스 활성화.
   - 외부에서 접근할 수 있도록 방화벽·보안 그룹 설정.


2. macOS/Windows에서 SSH 키 생성 및 등록
   - `ssh-keygen`으로 ed25519 키 생성 후, `ssh-copy-id [email protected]` 형태로 칼리에 공개키 등록.
   - 이후부터는 비밀번호 없이 키 기반 인증으로 접속 가능

 

3. Kali에서 MCP-Kali 서버 설치 및 기동   
   - `sudo apt install -y mcp-kali-server`로 MCP 서버와 지원 도구 설치.
   - `kali-server-mcp`로 내부 API 서버(예: `127.0.0.1:5000`) 실행.
   - 별도 터미널에서 `mcp-server`를 실행해 MCP 서버가 Kali API와 연동되는지 확인.

4. Claude Desktop 설치 및 로그인
   - macOS에서 `Claude.dmg` 다운로드 후 `Applications`에 복사, 실행 후 계정 등록/로그인.
   - Windows에서 claude-desktop-windows-x64.exe 다운로드 후 설치

5. Claude MCP 클라이언트 설정(claude_desktop_config.json)
   - 설정 → 개발자 → “Edit Config”에서 `claude_desktop_config.json`을 연 뒤 다음과 같이 MCP 서버 정의 추가.
   - 예시 설정:

     "mcpServers": {
       "mcp-kali-server": {
         "command": "ssh",
         "args": [
           "-i",
           "/Users/user/.ssh/id_ed25519",
           "[email protected]",
           "mcp-server"
         ],
         "transport": "stdio"
       }
     }


   - Claude Desktop 재시작 후, MCP 도구 목록에 `mcp-kali-server` 관련 툴이 표시되면 성공.

6. 동작 테스트
   - Claude에게 “`scanme.nmap.org`에 대해 서비스 버전 스캔해줘”와 같이 지시.
   - 최초 실행 시 MCP 서버 신뢰 여부와 명령 실행 권한을 물어보며, 승인 후 Kali에서 `nmap -sV scanme.nmap.org` 등이 실제로 실행됨.
   - Kali 터미널 로그에서 `which nmap`, `nmap -sV` 호출 흔적을 확인 가능.

◎ 장단점 비교
 - 아래 표는 “전통적인 칼리 단독 사용”과 “Kali + Claude Desktop + MCP 통합”을 비교한 것입니다.

구분 전통적 Kali 사용 Kali + Claude Desktop + MCP
작업 방식 사용자가 직접 명령·옵션을 기억하고 입력. 자연어 지시로 LLM이 명령·옵션을 구성.
자동화 수준 셸 스크립트·툴별 자동화에 한정. nmap → gobuster → nikto → 보고서까지 LLM이 워크플로우 체이닝 가능.
학습 곡선 도구별 매뉴얼과 옵션 학습 필요. 도구 상세 지식이 부족해도 기본 개념만으로 시작 가능.
분석 지원 결과 해석·리포트 작성은 전적으로 사용자 책임. LLM이 결과 요약, 인사이트, 공격 시나리오·보고서 초안까지 생성.
유연성 CLI 위주, GUI·대화형 인터페이스 한계. macOS/Windows GUI + 대화형 인터페이스로 접근성 향상.
보안 통제 OS·툴 레벨 권한 관리에 집중. MCP 도구 노출 범위, RBAC, 입력 검증, 프롬프트 인젝션 등 추가 보안 고려 필요.
확장성 개별 스크립트/툴 수준 통합. Elasticsearch, TI, 내부 API 등 다양한 시스템을 MCP로 표준화 연동 가능.
위험 요소 잘못된 명령도 사용자가 직접 입력. LLM 오판·프롬프트 인젝션으로 의도치 않은 고위험 도구 호출 가능성 존재.



 - 장점 요약

  • 침투 테스트·위협 헌팅 워크플로우를 자연어로 빠르게 반복·자동화 가능
  • 대량 로그 분석·IOC 조회·요약 등 분석 업무에서 큰 생산성 향상.  
  • MCP 표준 기반으로 다른 로그 플랫폼·TI·내부 시스템과의 연동이 구조화되어 확장성 우수.  

 

 - 단점·주의점 요약

  • MCP 서버 보안 설계(도구 노출, 입력 검증, 인증·인가, 로깅 등)를 소홀히 할 경우 새로운 공격면이 생김.  
  • LLM 특성상 환각·오판, 프롬프트 인젝션·가드레일 우회 가능성을 고려해 사람의 검증이 필수.  
  • 현재 공식 지원 OS(Claude Desktop 기준)가 macOS/Windows에 한정, Linux는 우회·비공식 빌드에 의존.  

◎ 결론 및 제언

 - 결론

  • Kali와 Claude Desktop, MCP를 결합한 구조는 “LLM이 실제 칼리 도구를 실행·분석하는 에이전트”를 비교적 간단한 구성으로 구현하게 해주며, 특히 반복적 침투 테스트와 위협 헌팅 업무에서 분석·보고서 작성의 생산성을 크게 끌어올릴 수 있는 접근입니다.
  • 다만 MCP 서버는 곧 “LLM이 직접 만지는 원격 실행 인터페이스”이므로, 다음과 같은 보안 설계를 꼭 권장드립니다.
  • 노출할 도구와 기능을 최소 권한(Least Privilege) 원칙에 따라 제한. 
  • 도구 입력 값에 대한 엄격한 검증을 적용해 Command Injection·SQLi·XSS 등 방어. 
  • RBAC, API 토큰/OAuth 기반 인증·인가로 사용자별 권한 분리. 
  • 모든 도구 호출을 로깅·모니터링하여 오남용·이상 행위를 탐지하고, 정기적인 AI 레드팀·보안 점검 수행. 

 

 - 제언

  • 보안 전문가 입장에서 이 환경은 “완전 자동화된 해킹 머신”이 아니라, 사람이 전략과 통제를 유지한 채 LLM을 강력한 조수로 활용하는 구조로 설계하는 것이 바람직합니다.
  • 실무에 도입하실 때에는 먼저 테스트 랩 환경에서 워크플로우·보안정책을 충분히 검증한 후, 단계적으로 범위를 확장하시는 것을 제안드립니다. 

 

◎ 참고 사이트

[Kali] https://www.kali.org/blog/kali-llm-claude-desktop/

[github] https://github.com/JesseEikeland/kali-linux-mcp

[github] https://github.com/whit3rabbit0/project_astro

[tierzerosecurity] https://tierzerosecurity.co.nz/2025/04/29/mcp-llm.html

[reddit] https://www.reddit.com/r/ClaudeAI/comments/1o8el2s/automated_kali_linux_mcp_server_for_claude/

[linkedin] https://www.linkedin.com/posts/rudra-kumar-a5ba44243_kali-mcp-server-activity-7379514808745955329-ztkD

반응형

+ Recent posts