어떤 수업을 찾고 있나요?

예: PowerShell, 네트워크, XSS, Step 138

전체 커리큘럼 둘러보기 →

침투 실습

Step 111. Kali Linux 설치 — 공격자의 작업대를 마련한다

Step 111예상 실습 시간 · 2~3시간 (다운로드 시간 제외)

유닛 안내: 「침투 테스트 기초」 유닛(Step 111~121)의 시작입니다 — Kali와 Metasploitable2로 격리 랩을 만들고, 정찰에서 첫 쉘과 수동 익스플로잇까지 경험합니다.

Level 2 — 보안 입문과 공격 스킬 기초 | 난이도 ★★☆☆☆ | 예상 소요 시간 2~3시간 (다운로드 시간 제외)

전제: Step 16(가상화 이해)과 Step 17(VM 만들기와 스냅샷)을 마쳤다. VirtualBox가 설치되어 있고 VM을 만들어 부팅해 봤다. 인터넷 연결 필요(이미지 다운로드, 약 3~4GB).

  • 준비물: 윈도우 PC, VirtualBox, 인터넷 연결, 디스크 여유 30GB 이상, 메모리 8GB 이상 권장.
  • 주의: ⚠️ 이 챕터의 실습은 내 랩·합법 플랫폼 전용입니다. 허가 없는 시스템에 적용하면 범죄입니다. Kali는 강력한 공격 도구의 창고입니다 — 설치하는 순간부터 그 도구들을 어디에 겨눌지는 전적으로 여러분의 책임입니다. 이 챕터의 설치 화면은 "화면 예시"이며, 가상화 확인 명령만 집필 환경(2026-09-09)에서 실측했습니다.

지금까지 여러분은 nmap도, 스크립트도, 워게임 접속도 "일반 리눅스"에서 하나씩 다뤘습니다. 침투 테스터들의 실제 작업 환경은 이 도구 수백 개가 처음부터 전부 깔린 리눅스 — Kali Linux입니다. 오늘은 그 작업대를 우리 랩 안에 설치합니다. 새로운 개념보다 "공식 이미지 고르기"와 "네트워크 기본값 이해"가 오늘의 핵심입니다.


1. 학습 목표

이 챕터를 끝내면 다음을 할 수 있습니다:

  • Kali Linux가 무엇이며 왜 보안 업계의 표준 작업 환경인지 설명한다
  • kali.org에서 VirtualBox용 사전 빌드 이미지를 골라 다운로드한다
  • 이미지를 VirtualBox에 등록해 Kali를 부팅하고 기본 계정을 바꾼다
  • Kali의 도구 분류 체계(정찰/취약점 분석/익스플로잇…)를 둘러본다
  • 가상화 기능(VT-x/AMD-V)이 켜져 있는지 내 PC에서 확인한다

2. 배경 지식 — 오늘의 도구와 개념

오늘의 도구 한눈에 보기

구분 내용
언어·환경 VirtualBox(호스트: 윈도우) + Kali Linux(게스트)
오늘의 명령 systeminfo(가상화 확인, 윈도우), Kali 안에서 nmap -V, msfconsole -v, passwd
필요한 개념 보안 특화 배포판, 사전 빌드(pre-built) 이미지 vs 설치형 ISO, 도구 분류 체계, NAT vs Host-only(개념)
오늘의 산출물 부팅되는 Kali VM 1대 + "Kali 클린 상태" 스냅샷

2-1. Kali Linux — 도구가 미리 깔린 리눅스

Kali Linux는 침투 테스트와 보안 진단을 위해 만들어진 데비안 계열 리눅스 배포판입니다. 일반 배포판과의 차이는 단순합니다 — 여러분이 지금까지 배우고 앞으로 배울 도구들이 처음부터 전부 설치되어 있습니다. nmap, Metasploit, Burp Suite, Wireshark, John the Ripper, hashcat까지 수백 개입니다.

"그냥 우분투에 하나씩 깔면 안 되나요?" — 가능은 합니다. 하지만 버전 충돌과 의존성 지옥을 겪게 되고, 실무 환경과 달라집니다. 침투 테스트 자격증 시험, 기업 레드팀, CTF 선수들의 기본 환경이 Kali이므로, Kali를 쓰는 것 자체가 업계 표준에 맞추는 일입니다.

2-2. 설치형 ISO vs 사전 빌드 이미지

kali.org의 다운로드 페이지에는 여러 종류가 있습니다. 오늘 우리가 고를 것은 둘 중 하나입니다:

종류 설명 소요
Installer ISO 바닥부터 설치하는 정규 설치 디스크 느림 (설치 과정 필요)
Pre-built VM 이미지 설치가 끝난 가상 디스크 통째 파일 빠름 — 오늘의 선택

사전 빌드 이미지는 "이미 설치된 Kali가 든 가상 디스크"를 압축해 둔 것입니다. VirtualBox에 등록만 하면 바로 부팅됩니다. 단, VirtualBox용과 VMware용이 따로 있으니 VirtualBox용을 골라야 합니다 — 집필 환경에서 자주 보이는 첫 번째 실수 지점입니다.

2-3. 도구 분류 체계 — 공격의 순서가 메뉴다

Kali의 애플리케이션 메뉴는 도구를 알파벳순이 아니라 공격의 단계 순으로 분류합니다:

  • Information Gathering — 정찰 (nmap 등)
  • Vulnerability Analysis — 취약점 분석
  • Web Application Analysis — 웹 공격
  • Exploitation Tools — 익스플로잇 (Metasploit 등)
  • Password Attacks — 비밀번호 공격 (John, hashcat)
  • Post Exploitation — 침투 후 처리

이 분류는 곧 이 책 Level 2 후반의 진도표이기도 합니다. 메뉴를 둘러보는 것만으로 "실제 침투 테스트가 어떤 순서로 진행되는가"를 배울 수 있습니다.

2-4. 네트워크 기본값 — NAT가 안전한 이유

VirtualBox의 VM 네트워크 기본값은 NAT입니다(Step 16 복습). VM은 바깥으로 인터넷에 나갈 수 있지만, 같은 집 네트워크의 다른 기기가 VM으로 직접 접속할 수는 없습니다. Kali 설치 직후에는 업데이트를 받아야 하므로 이 기본값이 적합합니다.

나중에 공격 표적 VM(Metasploitable2)을 랩에 추가할 때는 Host-only 네트워크 — 내 PC 안에서만 통하는 완전 격리 가상 랜 — 를 쓰게 됩니다. 오늘은 "NAT = 나갈 수 있음, 들어올 수 없음 / Host-only = 내 PC 안에서만 통함, 인터넷 차단"이라는 한 줄만 기억해 두세요.


3. 따라 하기

3-1. 가상화 기능 확인 — 설치 전 점검

VM을 만들기 전에, 이 PC가 가상화를 돌릴 준비가 됐는지 확인합니다. 윈도우 명령 프롬프트나 Git Bash에서:

입력 (윈도우)

systeminfo | findstr /i "Hyper-V"

출력 (2026-09-09 실측):

Hyper-V Requirements:          A hypervisor has been detected. Features required for Hyper-V will not be displayed.

읽는 법: "하이퍼바이저가 검색됐다"는 이 메시지는 이 PC에서 이미 가상화 기능(VT-x/AMD-V)이 켜져 있고 하이퍼바이저가 동작 중이라는 뜻입니다(WSL2를 쓰는 PC에서는 항상 이 상태입니다). 만약 이 항목이 "가상화가 펌웨어에서 비활성화됨(Virtualization … Disabled In Firmware)"이라고 나오면, Step 16의 3-4절대로 BIOS/UEFI에서 켜야 합니다.

참고로 WSL이 설치된 PC라면 wsl -l -v로 이미 가상화 위에서 돌고 있는 리눅스 목록을 볼 수 있습니다 (2026-09-09 실측):

  NAME                   STATE           VERSION
* Codex-Security-Lab     Running         2

VERSION이 2라는 것은 WSL2, 즉 하드웨어 가상화 위에서 돌고 있다는 뜻 — 가상화가 켜져 있다는 또 하나의 증거입니다.

3-2. 공식 이미지 다운로드

  1. 브라우저에서 주소창에 직접 kali.org 입력 (검색 광고의 가짜 사이트 회피 — Step 16의 습관 복습)
  2. Get Kali → Virtual Machines 섹션으로 이동
  3. VirtualBox용 64비트 이미지를 선택해 다운로드 (압축 파일, 약 3~4GB)

화면 예시 — 다운로드 항목은 대략 이런 이름입니다:

kali-linux-2025.x-virtualbox-amd64.7z

중요: 파일명에 반드시 virtualbox가 있어야 합니다. vmware라고 적힌 것을 받으면 VirtualBox에서 열 수 없습니다. 다운로드 페이지에는 체크섬(SHA256)이 함께 적혀 있습니다 — 받은 파일이 깨지지 않았는지 확인하는 습관은 보안의 기본입니다:

입력 (윈도우 파워쉘, 출력은 화면 예시)

Get-FileHash .kali-linux-2025.x-virtualbox-amd64.7z -Algorithm SHA256
Algorithm       Hash
---------       ----
SHA256          3F1A... (다운로드 페이지에 적힌 값과 비교)

읽는 법: 출력된 해시가 kali.org 페이지의 값과 한 글자라도 다르면 파일이 손상됐거나 변조된 것입니다 — 버리고 다시 받으세요.

3-3. VirtualBox에 등록

다운로드한 압축을 풀면(7-Zip 필요) .vbox 파일과 .vdi 가상 디스크가 나옵니다.

  1. 압축 해제 (오른쪽 클릭 → 7-Zip → 여기에 풀기)
  2. 풀린 폴더의 .vbox 파일을 더블클릭 → VirtualBox에 VM이 자동 등록됩니다
  3. 등록된 VM을 선택하고 설정에서 메모리 확인 — 4096MB(4GB) 권장, 최소 2048MB
  4. 네트워크가 NAT인지 확인 (기본값이면 그대로)

화면 예시 — VirtualBox 관리자 목록:

Oracle VM VirtualBox 관리자
├── (기존 VM들...)
└── kali-linux-2025.x-virtualbox-amd64   ← 새로 등록됨
    전원 꺼짐 / 메모리 4096MB / NAT

3-4. 첫 부팅과 기본 계정 변경

VM을 시작하면 로그인 화면이 뜹니다. 사전 빌드 이미지의 기본 계정은 공개되어 있습니다:

  • 사용자: kali / 비밀번호: kali

로그인 후 가장 먼저 할 일은 비밀번호 변경입니다. 기본 계정은 전 세계가 아는 값이므로 그대로 두면 안 됩니다.

입력 (Kali 터미널)

passwd

화면 예시:

Changing password for kali.
Current password: (kali 입력)
New password: (새 비밀번호)
Retype new password: (다시 입력)
passwd: password updated successfully

읽는 법: 리눅스는 비밀번호 입력 중 화면에 아무것도 표시하지 않습니다. 커서가 안 움직여도 입력되고 있으니 당황하지 마세요(Step 17에서 배운 것과 같습니다).

3-5. 도구 점검 — 익숙한 얼굴 확인

터미널에서 우리가 아는 도구들이 진짜 있는지 확인합니다.

입력 (Kali 안에서)

nmap -V
msfconsole -v
which wireshark john hashcat burpsuite

출력 예시 (집필 환경에는 Kali가 없어 미실행 — 여러분의 화면과 비교하세요):

Nmap version 7.95 ( https://nmap.org )
Framework: 6.4.x
/usr/bin/wireshark
/usr/bin/john
/usr/bin/hashcat
/usr/bin/burpsuite

읽는 법: 전부 경로와 버전이 출력되면 도구 창고가 제대로 들어온 것입니다. Step 81에서 WSL에 직접 깔아 쓰던 nmap이 여기서는 처음부터 기본 탑재입니다. 애플리케이션 메뉴(왼쪽 위 Kali 로고)를 열어 2-3의 분류 체계 — Information Gathering, Vulnerability Analysis, Exploitation Tools — 가 실제로 보이는지 둘러보세요.

3-6. 스냅샷 — "Kali 클린 상태"

설정을 더 만지기 전에 스냅샷을 찍습니다 (Step 17 복습).

  1. Kali를 정상 종료 (sudo poweroff 또는 메뉴에서 종료)
  2. VirtualBox 관리자에서 Kali 선택 → 스냅샷 탭 → 찍기(Take)
  3. 이름: Kali 클린 상태 / 설명: 설치 직후, 비밀번호 변경 완료

왜: 앞으로 이 Kali에서 온갖 실험을 하게 됩니다. 도구 설정이 꼬이거나 시스템이 망가지면 이 스냅샷으로 몇 초 만에 돌아옵니다. "실험 전 스냅샷"은 이 책 전체를 관통하는 습관입니다.


4. 미션과 연습문제

미션 — Kali 도입 보고서

Kali 설치를 마친 뒤, 짧은 보고서를 작성하세요:

  1. 다운로드한 이미지의 정확한 파일명과, 체크섬을 대조했는지 여부
  2. VM 사양 기록: 메모리, CPU 수, 네트워크 모드 (VirtualBox 설정 화면에서 확인)
  3. 비밀번호 변경 완료 여부 (passwd 결과 메시지 한 줄 인용)
  4. nmap -V의 출력 첫 줄 인용
  5. 스냅샷 이름과 찍은 시각
  6. 마지막으로 한 줄: "이 Kali에서 공격해도 되는 대상 / 절대 안 되는 대상"

스스로 검증하는 법: 6번이 쓰여 있으면 됩니다. 이 문서는 Step 16의 랩 설계서와 짝을 이루는 규칙 문서입니다.

연습문제

문제 1. Kali를 "우분투에 도구를 하나씩 설치"하는 방식이 아니라 배포판 통째로 쓰는 이유를 두 가지 말해 보세요.

문제 2. 사전 빌드(pre-built) 이미지와 설치형 ISO의 차이를 설명하고, 입문자에게 어느 쪽이 적합한지 이유를 말해 보세요.

문제 3. 사전 빌드 이미지의 기본 계정(kali/kali)을 그대로 두면 안 되는 이유를, 이 VM이 NAT 네트워크에 있다는 사실과 연결해 설명해 보세요.

문제 4. Kali의 도구 메뉴가 알파벳순이 아니라 단계순(정찰→분석→익스플로잇→후처리)으로 분류된 것의 의미를 설명해 보세요.


해설과 완료 기준 · 펼치기/접기

5. 모범 답안과 완료 기준

미션 모범 답안

보고서 예시 (형식 참고용 — 파일명·버전은 다운로드 시점에 따라 다릅니다):

[Kali 도입 보고서]
1. 이미지: kali-linux-2025.x-virtualbox-amd64.7z
   체크섬: kali.org의 SHA256과 Get-FileHash 결과 일치 확인함
2. VM 사양: 메모리 4096MB / CPU 2개 / 네트워크 NAT (기본값)
3. 비밀번호: 변경 완료 — "passwd: password updated successfully"
4. 도구: "Nmap version 7.95 ( https://nmap.org )"
5. 스냅샷: "Kali 클린 상태" (설치일 2026-09-XX)
6. 규칙: 이 Kali에서 공격하는 대상은 오직 내 랩의 표적 VM과
   합법 워게임 플랫폼뿐. 랩 밖의 어떤 시스템도 스캔·공격하지 않는다.

검증하는 법: ① 체크섬 대조 여부가 기록됐는가. ② 네트워크 모드가 명시됐는가. ③ 6번의 금지 대상이 구체적인가. 세 가지면 완성입니다.

연습문제 해답

문제 1 해답. 첫째, 의존성과 버전 충돌을 배포판 제작사가 미리 해결해 두어 "깔고 바로 쓰는" 상태가 보장됩니다. 둘째, 자격증 시험·기업 레드팀·CTF의 사실상 표준 환경이라, Kali를 쓰면 각종 문서와 튜토리얼의 화면·경로가 그대로 일치합니다.

문제 2 해답. 설치형 ISO는 설치 프로그램을 직접 진행해 파티션·언어·패키지를 고르는 방식이고, 사전 빌드 이미지는 설치가 끝난 가상 디스크를 통째로 받아 등록만 하는 방식입니다. 입문자에게는 사전 빌드가 적합합니다 — 설치 단계에서 생길 수 있는 변수를 건너뛰고 "오늘의 목표인 Kali 사용"에 바로 도달하기 때문입니다.

문제 3 해답. 기본 계정은 공개된 값이라 누구든 알고 있습니다. NAT 아래라면 외부에서의 직접 접속은 막혀 있지만, 랩 안에 표적 VM이 추가되는 순간 같은 가상 네트워크 안의 다른 VM(혹은 랩을 관찰하는 사람)이 기본 비밀번호로 들어올 수 있고, 무엇보다 "기본값을 바꾸지 않는다"는 습관 자체가 보안 사고의 제1 원인입니다. 새 장비의 첫 행동은 항상 기본 자격 증명 변경입니다.

문제 4 해답. 메뉴 분류가 곧 침투 테스트의 표준 절차(정찰 → 취약점 분석 → 익스플로잇 → 권한 상승/후처리)이기 때문입니다. 도구를 고르는 행위가 "지금 내가 공정의 어느 단계에 있는가"를 자각하는 훈련이 되도록 설계된 것이며, 초보자는 메뉴를 따라가는 것만으로 실무의 흐름을 익힐 수 있습니다.

완료 기준 체크리스트

  • [ ] systeminfo(또는 wsl -l -v)로 가상화 기능이 켜져 있음을 확인했다
  • [ ] kali.org에서 VirtualBox용 사전 빌드 이미지를 다운로드했다
  • [ ] 체크섬(SHA256)을 대조했다
  • [ ] Kali VM이 부팅되고 로그인된다
  • [ ] 기본 비밀번호를 passwd로 변경했다
  • [ ] nmap -V 등 주요 도구의 실행을 확인했다
  • [ ] "Kali 클린 상태" 스냅샷을 찍었다
  • [ ] 미션: Kali 도입 보고서를 작성했다

6. 흔한 실수와 해결

벽 1. VMware용 이미지를 받아버렸어요

증상: 다운로드한 파일을 VirtualBox가 열지 못합니다.
원인: 사전 빌드 이미지는 가상화 소프트웨어별로 따로 빌드됩니다. 파일명에 vmware가 있으면 그것은 VMware 전용입니다.
해결: 다운로드 페이지에서 VirtualBox 탭/항목을 다시 확인하고 받으세요. 파일명에 virtualbox가 있는지가 검증 포인트입니다.

벽 2. VM이 64비트로 안 만들어지거나 시작 오류가 나요

증상: "VT-x is not available", "AMD-V is disabled" 류의 오류 (Step 16의 벽 3과 동일).
원인: CPU 가상화 기능이 BIOS/UEFI에서 꺼져 있습니다.
해결: 3-1의 systeminfo로 먼저 확인하세요. 꺼져 있으면 재부팅 후 Del/F2로 BIOS에 들어가 Intel VT-x / AMD-V를 Enabled로. 제조사마다 위치가 다르니 "내 노트북 제조사 + 가상화 활성화"로 검색하면 됩니다.

벽 3. 압축이 안 풀려요 (.7z 파일)

증상: 윈도우 기본 압축 풀기가 .7z를 인식하지 못합니다.
원인: Kali 이미지는 7-Zip 형식으로 압축되어 있습니다.
해결: 무료 프로그램 7-Zip(공식 사이트 7-zip.org)을 설치한 뒤 오른쪽 클릭 → 7-Zip → 여기에 풀기. 용량이 크니 몇 분 걸리는 게 정상입니다.

벽 4. Kali가 무겁게 버벅여요

증상: 부팅은 됐는데 화면 반응이 느립니다.
원인: 메모리·CPU 배정이 작거나, 호스트 여유가 부족합니다.
해결: Step 16의 "호스트 절반 이하" 규칙 안에서 메모리를 4096MB로 올리고, CPU를 2개로 배정하세요. 그래도 버거우면 부팅 후 그래픽 효과를 줄이거나, Xfce 외의 가벼운 사용법(터미널 위주)을 택합니다. 참고로 Kali의 기본 데스크톱은 이미 가벼운 편인 Xfce입니다.

벽 5. root로 로그인하고 싶어요

증상: 예전 자료에는 root/toor로 로그인하라고 나옵니다.
원인: 옛날 Kali(2020년 이전)는 기본이 root였지만, 현재 Kali는 일반 사용자 kali + sudo 방식으로 바뀌었습니다.
해결: 옛 자료를 따라 하지 마세요. kali로 로그인하고 관리자 작업은 sudo를 붙이세요. 일상을 root로 사는 습관은 실수 한 번이 시스템 전체를 치는 환경을 만듭니다 — 우분투에서 배운 원칙(Step 24)과 같습니다.


7. 정리

오늘의 개념

개념 한 줄 설명
Kali Linux 침투 테스트 도구 수백 개가 기본 탑재된 보안 특화 배포판
사전 빌드 이미지 설치가 끝난 가상 디스크 통째 파일 — 등록만으로 부팅
체크섬(SHA256) 다운로드 파일이 변조·손상되지 않았음을 검증하는 지문
도구 분류 체계 정찰→분석→익스플로잇→후처리, 공격 단계 순 메뉴
NAT / Host-only 나갈 수 있고 들어올 수 없음 / 내 PC 안에서만 통하는 격리 랜

오늘의 명령어

명령 하는 일
systeminfo (윈도우) Hyper-V 항목으로 가상화 기능 활성 여부 확인
Get-FileHash -Algorithm SHA256 (파워쉘) 다운로드 파일 체크섬 대조
passwd (Kali) 기본 비밀번호 변경 — 설치 후 첫 행동
nmap -V, msfconsole -v 주요 도구 존재와 버전 확인
sudo poweroff 정상 종료 (스냅샷 전)

명령어보다 중요한 감각

오늘 여러분은 공격자의 작업대를 손에 넣었습니다. Kali의 메뉴를 처음 열었을 때 느껴지는 "도구의 홍수"가 이 책 후반부의 지도입니다 — 당황하지 마세요. 하나씩 배우면 되고, 우리는 이미 그중 몇 개(nmap, ssh, nc)를 쓸 줄 압니다.

동시에 기억할 것 — 이 작업대는 어디에나 겨눌 수 있지만, 겨눌 수 있는 곳은 정해져 있습니다. 내 랩과 합법 플랫폼. 그 경계선은 도구가 아니라 여러분이 긋는 것이며, 미션의 6번 항목으로 이미 그어 두었습니다. 작업대가 생겼으니 이제 남은 것은 안전한 표적, 그리고 둘을 잇는 격리된 사격장입니다.


전부 체크되면 Step 111 완료입니다.

한 단계 더 가까이

수업을 마쳤나요?

본문의 완료 기준을 확인한 뒤 직접 표시하세요.

화면이나 링크에 문제가 있나요? 알려주세요.
다음 수업