침투 실습
Step 111. Kali Linux 설치 — 공격자의 작업대를 마련한다
유닛 안내: 「침투 테스트 기초」 유닛(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. 공식 이미지 다운로드
- 브라우저에서 주소창에 직접
kali.org입력 (검색 광고의 가짜 사이트 회피 — Step 16의 습관 복습) - Get Kali → Virtual Machines 섹션으로 이동
- 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 가상 디스크가 나옵니다.
- 압축 해제 (오른쪽 클릭 → 7-Zip → 여기에 풀기)
- 풀린 폴더의
.vbox파일을 더블클릭 → VirtualBox에 VM이 자동 등록됩니다 - 등록된 VM을 선택하고 설정에서 메모리 확인 — 4096MB(4GB) 권장, 최소 2048MB
- 네트워크가 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 복습).
- Kali를 정상 종료 (
sudo poweroff또는 메뉴에서 종료) - VirtualBox 관리자에서 Kali 선택 → 스냅샷 탭 → 찍기(Take)
- 이름:
Kali 클린 상태/ 설명:설치 직후, 비밀번호 변경 완료
왜: 앞으로 이 Kali에서 온갖 실험을 하게 됩니다. 도구 설정이 꼬이거나 시스템이 망가지면 이 스냅샷으로 몇 초 만에 돌아옵니다. "실험 전 스냅샷"은 이 책 전체를 관통하는 습관입니다.
4. 미션과 연습문제
미션 — Kali 도입 보고서
Kali 설치를 마친 뒤, 짧은 보고서를 작성하세요:
- 다운로드한 이미지의 정확한 파일명과, 체크섬을 대조했는지 여부
- VM 사양 기록: 메모리, CPU 수, 네트워크 모드 (VirtualBox 설정 화면에서 확인)
- 비밀번호 변경 완료 여부 (
passwd결과 메시지 한 줄 인용) nmap -V의 출력 첫 줄 인용- 스냅샷 이름과 찍은 시각
- 마지막으로 한 줄: "이 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 완료입니다.
한 단계 더 가까이
수업을 마쳤나요?
본문의 완료 기준을 확인한 뒤 직접 표시하세요.