Step 113. 정찰 1: 타깃 서비스 전수 조사 — 공격은 목록 작성에서 시작된다

Step 113. 정찰 1: 타깃 서비스 전수 조사 — 공격은 목록 작성에서 시작된다

Level 2 — 보안 입문과 공격 스킬 기초 | 난이도 ★★★☆☆ | 예상 소요 시간 3시간

전제: Step 81(nmap 완전 정복)을 마쳤다. Step 112의 격리 랩(Kali + Metasploitable2)이 완성되어 있고, MS2의 랩 IP를 알고 있다.

  • 준비물: Kali VM(또는 nmap이 있는 리눅스), 부팅된 MS2, 그리고 정찰 노트를 적을 파일 하나.
  • 주의: ⚠️ 이 챕터의 실습은 내 랩·합법 플랫폼 전용입니다. 허가 없는 시스템에 적용하면 범죄입니다. 오늘 스캔 대상은 오직 내 랩의 MS2와 내 컴퓨터(127.0.0.1)뿐입니다. 이 챕터에서 MS2 대상 출력은 "출력 예시", 127.0.0.1 대상 출력은 WSL(nmap 7.94SVN)에서 2026-09-09에 실측했습니다.

침투 테스트의 첫 실제 행동은 공격이 아니라 목록 작성입니다. 목표 서버에 열린 문이 몇 개이고, 각 문 뒤에 무엇이 있는지 빠짐없이 파악하는 것 — 이것이 정찰(reconnaissance)입니다. Step 81에서 nmap의 원리를 내 컴퓨터 상대로 익혔으니, 이제 진짜 표적에 겨눕니다. MS2는 포트가 스무 개 넘게 열려 있는, 정찰 연습을 위해 태어난 표적입니다.


1. 학습 목표

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

  • 공격 표면(attack surface)이 무엇인지 설명하고 전수 스캔으로 열거한다
  • nmap -p--sV -sC를 조합해 타깃의 서비스·버전 인벤토리를 만든다
  • nmap 출력에서 서비스 배너를 읽고 "버전 = 취약점 색인"임을 이해한다
  • 특이 포트(512/513/514, 1524, 6667 등)를 보고 조사 우선순위를 매긴다
  • 스캔 결과를 -oN 파일로 남겨 재현 가능한 정찰 기록을 만든다

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

오늘의 도구 한눈에 보기

구분 내용
언어·환경 Kali(또는 WSL)의 nmap 7.9x + 격리 랩의 MS2
오늘의 명령 nmap -p- -T4 대상(전수 스캔), nmap -sV -sC -p 포트목록 대상 -oN 파일(버전+스크립트+저장), ss -tlnp(내 포트의 주인 확인)
필요한 개념 공격 표면, 배너, 서비스 인벤토리, Step 81의 스캔 옵션 전부
오늘의 산출물 MS2 서비스 인벤토리 문서 (포트 | 서비스 | 버전 | 역할 | 취약점 후보)

2-1. 공격 표면 — 열린 문의 총합

공격 표면(attack surface)은 공격자가 닿을 수 있는 접점의 총합입니다. 네트워크 서비스 관점에서는 열린 포트 하나 = 접점 하나입니다. 포트가 20개 열린 서버는 20개의 서로 다른 대화 상대를 노출한 것이고, 각 대화 상대(서비스 프로그램)에는 각자의 역사와 알려진 약점이 있습니다.

정찰의 목표는 이 표면을 빠짐없이, 정확하게 열거하는 것입니다. "빠짐없이"가 -p-(전수 스캔)이고, "정확하게"가 -sV(버전 확인)입니다. 둘 중 하나만 하면 반쪽짜리입니다 — 기본 스캔은 놓치고, 포트 번호만으로는 실체를 모릅니다.

2-2. 배너 읽기 — 버전이 곧 색인이다

-sV의 출력에서 VERSION 열에 적히는 것은 서비스가 스스로 밝히는 신분증, 배너입니다. 예를 들어 vsftpd 2.3.4라는 다섯 글자는 단순한 이름이 아닙니다 — 취약점 데이터베이스에서 검색하면 바로 결과가 나오는 색인입니다.

공격자의 사고 흐름은 이렇습니다:

포트 열림 → 서비스 확인 → 버전 확인 → "이 버전의 알려진 취약점은?" → 공격 선택

오늘 우리는 이 흐름의 처음 세 칸을 완성합니다. 네 번째 칸 — 버전과 취약점의 대조 — 는 정찰의 다음 단계에서 다룰 별개의 기술입니다.

2-3. 전수 스캔이 느릴 때 — -T4

-p-는 65535개 포트를 검사하므로 원격 대상에서는 시간이 걸립니다. -T4는 nmap의 속도 등급(0~5)을 올리는 옵션으로, 신뢰할 수 있는 내 랩 네트워크에서는 표준 선택입니다. 단, 속도를 올리면 패킷이 거칠어져 상대 로그에 선명하게 남고, 혼잡한 네트워크에서는 오히려 누락이 생길 수 있습니다 — 랩에서 쓰는 옵션이지 실무 정찰의 무더기 적용 대상이 아닙니다.


3. 따라 하기

3-1. 워밍업 — 내 컴퓨터 전수 스캔

MS2를 두드리기 전에, 손 풀기로 내 컴퓨터부터 전수 스캔해 봅니다 (리눅스 터미널 — WSL도 됩니다).

입력

nmap -p- 127.0.0.1

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

Starting Nmap 7.94SVN ( https://nmap.org ) at 2026-09-09 15:09 KST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000010s latency).
Not shown: 65533 closed tcp ports (reset)
PORT      STATE SERVICE
8000/tcp  open  http-alt
43467/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds

읽는 법: 65535개 검사에 0.32초 — 루프백은 대답이 즉시 오므로 빠릅니다. 이 컴퓨터에는 유명 포트 8000번(이전 실습의 간이 웹서버)과, 기본 스캔의 시야(1000개) 밖에 있던 43467번이 열려 있습니다. 전수 스캔의 가치 — "내가 모르는 열린 문"의 발견 — 이 바로 여기 있습니다.

3-2. 워밍업 2 — 배너 읽기

열린 포트의 정체를 확인합니다. 연습용 서버를 하나 더 열어 대상을 늘립니다.

입력

python3 -m http.server 8888 &   # 연습용 서버 추가 (터미널 하나를 씀)
nmap -sV -sC -p 8000,8888 127.0.0.1

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

PORT     STATE SERVICE VERSION
8000/tcp open  http    SimpleHTTPServer 0.6 (Python 3.12.3)
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: SimpleHTTP/0.6 Python/3.12.3
8888/tcp open  http    SimpleHTTPServer 0.6 (Python 3.12.3)
|_http-title: Directory listing for /
|_http-server-header: SimpleHTTP/0.6 Python/3.12.3

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.28 seconds

읽는 법: -sV가 VERSION 열을 실체로 채웠고, -sC(기본 스크립트 묶음)가 |_로 시작하는 부가 정보를 캐냈습니다 — 서버 헤더와 페이지 제목입니다. 이것이 "배너 읽기"의 실제 모습입니다. 기본 스캔의 http-alt(번호표 추정)가 SimpleHTTPServer 0.6 (Python 3.12.3)(확인된 실체)로 바뀌는 순간을 기억하세요.

3-3. unknown의 주인 찾기 — ss

배너로도 안 나오는 포트는 서버 안쪽에서 주인을 조회합니다 (내 컴퓨터라서 가능한 특권입니다).

입력

ss -tlnp | grep 43467

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

LISTEN 0 4096 127.0.0.1:43467 0.0.0.0:* users:(("containerd",pid=216,fd=14))

읽는 법: ss -tlnp는 "듣고 있는(t, l) TCP 포트를 번호로(n), 프로그램 이름과 함께(p)" 보여 줍니다. 43467번의 주인은 컨테이너 관리 프로그램(containerd)이었습니다. 공격 대상 서버에서는 이 명령을 쓸 수 없으므로(로그인 전이니까) 배너와 지문으로 추리해야 하지만, 내 장비 점검에서는 이 한 줄이 가장 빠른 정답입니다.

3-4. 본게임 — MS2 전수 스캔

이제 랩의 표적을 두드립니다. Kali 터미널에서 — 192.168.56.101은 예시이며, 여러분의 MS2 랩 IP(Step 112에서 메모한 것)를 쓰세요.

입력 (Kali)

nmap -p- -T4 192.168.56.101

출력 예시 (집필 환경에는 MS2가 없어 미실행 — MS2의 공개된 표준 결과이며, 여러분의 출력으로 대체해 비교하세요):

Nmap scan report for 192.168.56.101
Host is up (0.0010s latency).
Not shown: 65505 closed tcp ports (reset)
PORT      STATE SERVICE
21/tcp    open  ftp
22/tcp    open  ssh
23/tcp    open  telnet
25/tcp    open  smtp
53/tcp    open  domain
80/tcp    open  http
111/tcp   open  rpcbind
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
512/tcp   open  exec
513/tcp   open  login
514/tcp   open  shell
1099/tcp  open  java-rmi
1524/tcp  open  bindshell
2049/tcp  open  nfs
2121/tcp  open  ccproxy-ftp
3306/tcp  open  mysql
5432/tcp  open  postgresql
5900/tcp  open  vnc
6000/tcp  open  X11
6667/tcp  open  irc
8009/tcp  open  ajp13
8180/tcp  open  unknown

읽는 법: 스물세 개의 열린 문입니다. 일반 서버는 열린 포트이 서너 개가 정상이라는 것을 생각하면, 이 목록 자체가 "이 서버는 연습용이다"라는 간판입니다. 여러분의 출력에서 개수와 목록이 다르면 MS2 상태나 네트워크를 의심하세요(6절 벽 2).

3-5. 버전 탐지 + 기록 — 정찰의 산출물

이제 각 포트의 실체를 확인하며 파일로 남깁니다.

입력 (Kali)

nmap -sV -sC -p 21,22,23,25,53,80,111,139,445,512,513,514,1099,1524,2049,2121,3306,5432,5900,6000,6667,8009,8180 -oN ms2_scan.txt 192.168.56.101

출력 예시 (미실행 — MS2 표준 결과, 일부):

PORT    STATE SERVICE     VERSION
21/tcp  open  ftp         vsftpd 2.3.4
22/tcp  open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp  open  telnet      Linux telnetd
25/tcp  open  smtp        Postfix smtpd
80/tcp  open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
139/tcp open  netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
512/tcp open  exec        netkit-rsh rexecd
1524/tcp open  bindshell  Metasploitable root shell
3306/tcp open  mysql      MySQL 5.0.51a-3ubuntu5
6667/tcp open  irc        UnrealIRCd
8180/tcp open  http       Apache Tomcat/Coyote JSP engine 1.1
|_http-title: Apache Tomcat/5.5

읽는 법: 이제 목록이 "포트 번호"에서 "신원"으로 바뀌었습니다. vsftpd 2.3.4, OpenSSH 4.7p1, Samba 3.0.20, MySQL 5.0.51a — 전부 연도가 느껴지는 오래된 버전이고, 그것이 의도된 설계입니다. 그리고 1524번의 Metasploitable root shell이라는, 표적이 스스로 "나 여기 열려 있어요"라고 말하는 듯한 배너도 보입니다. 저장된 ms2_scan.txt 첫 줄에는 스캔 일시와 명령 전문이 자동 기록됩니다 (Step 81 복습).

3-6. 인벤토리 문서 작성 — 출력을 지식으로

스캔 출력은 데이터이지 지식이 아닙니다. 지식으로 바꾸는 마지막 단계 — 표로 정리합니다. 노트 파일(ms2_inventory.md)을 만들고 아래 형식으로 채웁니다:

포트 서비스 버전 역할 취약점 후보
21 ftp vsftpd 2.3.4 파일 전송 ○ (이 버전은 악명 높음)
22 ssh OpenSSH 4.7p1 원격 접속 △ (오래됨)
23 telnet Linux telnetd 원격 접속(평문!)
512/513/514 rlogin/rsh netkit-rsh 고대의 원격 접속
3306 mysql 5.0.51a 데이터베이스
6667 irc UnrealIRCd 채팅 서버
8180 http Tomcat 5.5 자바 웹서버

읽는 법: "역할" 칸은 모르는 서비스를 스스로 조사하며 채웁니다 — vsftpdftp는 파일 전송(File Transfer Protocol), samba는 윈도우와의 파일 공유, tomcat은 자바 웹 애플리케이션 서버라는 식입니다. "취약점 후보" 칸은 아직 조사하지 않은 예측이므로 ○△로 표시만 합니다 — 확인은 다음 단계의 일입니다.

: 이 표가 이 랩에서 계속 펼쳐 볼 작전 지도입니다. 각 행이 앞으로의 실습에서 하나씩 공격 목표이자 방어 점검 항목이 될 것입니다.


4. 미션과 연습문제

미션 — MS2 서비스 인벤토리 완성

  1. nmap -p- -T4 MS2_IP로 전수 스캔하고, 열린 포트의 개수를 기록합니다.
  2. 발견된 포트 전체를 대상으로 nmap -sV -sC -p (목록) -oN ms2_scan.txt MS2_IP를 실행합니다.
  3. 3-6의 표 형식으로 모든 열린 포트의 인벤토리를 작성합니다 — 빠진 행이 없어야 합니다.
  4. "역할" 칸을 채우며 모르는 서비스 최소 3개를 조사해 한 줄 설명을 붙입니다.
  5. 인벤토리 끝에 "가장 먼저 조사하고 싶은 서비스 1개와 그 이유"를 적습니다.
  6. ms2_scan.txt의 첫 줄(스캔 일시+명령 전문)을 인벤토리 상단에 인용합니다.

스스로 검증하는 법: 표의 행 수 = 전수 스캔의 열린 포트 수. 일치하면 완성입니다.

연습문제

문제 1. 기본 스캔(1000개)만으로 정찰을 끝내지 않고 -p- 전수 스캔을 하는 이유를, 3-1의 실측 결과를 근거로 설명해 보세요.

문제 2. nmap 출력의 SERVICE 열 http-alt-sV 출력의 SimpleHTTPServer 0.6 (Python 3.12.3) 중 어느 것이 "실체"이며, 이 둘의 근거는 각각 무엇인가요?

문제 3. 공격 대상 서버에서는 ss -tlnp를 쓸 수 없는데 내 컴퓨터에서는 쓸 수 있습니다. 이 차이가 말해 주는 "정찰의 위치"는 무엇인가요?

문제 4. MS2의 512/513/514번(exec/login/shell, r-서비스)이 보안 관점에서 특이한 이유를, 이 서비스들이 만들어진 시대의 가정과 연결해 설명해 보세요.


5. 모범 답안과 완료 기준

미션 모범 답안

수행 순서 (형식 참고 — IP·포트 수는 여러분 환경 기준):

nmap -p- -T4 192.168.56.101
# → 열린 포트 23개 (예시 환경 기준)
nmap -sV -sC -p 21,22,23,...,8180 -oN ms2_scan.txt 192.168.56.101

인벤토리 예시 (일부 — 전체는 모든 열린 포트를 포함해야 함):

# MS2 서비스 인벤토리
스캔 기록: # Nmap 7.95 scan initiated ... as: nmap -sV -sC -p ... -oN ms2_scan.txt 192.168.56.101

| 포트 | 서비스 | 버전 | 역할 | 취약점 후보 |
| 21 | ftp | vsftpd 2.3.4 | 파일 전송 | ○ — 이 버전에 백도어 사건이 있었음을 조사해 확인 |
| 23 | telnet | Linux telnetd | 평문 원격 접속 | ○ — 암호화 없음 자체가 취약 |
| 6667 | irc | UnrealIRCd | 인터넷 채팅 서버 | ○ — 조사 대상 1순위 |

최우선 조사 대상: 1524번 bindshell — 배너가 "Metasploitable root shell"로
스스로 정체를 밝히고 있어, 인증 없는 문일 가능성이 가장 높아 보임.

검증하는 법: ① 표의 행 수가 전수 스캔 결과와 일치하는가. ② ms2_scan.txt 파일이 존재하고 첫 줄에 명령 전문이 있는가. ③ "역할" 칸에 빈칸이 없는가. ④ 최우선 대상에 이유가 붙었는가.

연습문제 해답

문제 1 해답. 기본 스캔은 유명한 1000개 포트만 보기 때문에 그 밖의 열린 문을 놓칩니다. 3-1 실측에서 43467번은 1000개 목록 밖의 포트라 기본 스캔에는 나타나지 않고 -p-에서만 발견됐습니다. 공격자는 관례 밖의 포트에 숨는 서비스를 찾고, 방어자도 "내가 모르는 열린 문"을 찾아야 하므로, 정찰의 마무리는 전수 스캔입니다.

문제 2 해답. 후자가 실체입니다. http-alt는 8000번이라는 포트 번호에 대한 관례적 추정(번호표 조회)일 뿐 실제 확인이 아니고, SimpleHTTPServer 0.6-sV가 실제로 접속해 배너와 응답을 분석한 결과입니다. 추정은 "아마도", 확인은 "근거 있음" — 리포트에는 후자를 씁니다.

문제 3 해답. ss는 서버에 로그인한 사람만 쓸 수 있는 명령입니다. 정찰은 로그인 전, 바깥에서 얻을 수 있는 정보(열린 포트, 배너, 응답의 모양)만으로 내부를 추리하는 단계입니다. 그래서 정찰의 출력은 항상 "확실"과 "추정"이 섞여 있고, unknown이나 "추측" 표기를 비판적으로 읽는 눈이 필요합니다. 반대로 내 장비를 점검할 때는 안쪽 명령(ss)으로 바깥 추측을 즉시 검증할 수 있습니다.

문제 4 해답. r-서비스(rlogin/rsh/rexec)는 "신뢰하는 호스트끼리는 비밀번호 없이 들어온다"는, 인터넷이 아직 신사들의 네트워크이던 시대의 설계입니다. 호스트 기반 신뢰는 IP 위조 하나로 무너지고, 전송은 평문이며, 현대 기준으로는 존재 자체가 취약점입니다. MS2에 심어진 이유도 그것입니다 — 현대 서버에서 이 포트들이 열려 있다면 그것만으로 감사 보고서의 항목이 됩니다.

완료 기준 체크리스트

  • [ ] nmap -p- 127.0.0.1로 내 컴퓨터 전수 스캔을 실습했다
  • [ ] -sV의 VERSION 열이 기본 스캔의 추정과 어떻게 다른지 설명할 수 있다
  • [ ] ss -tlnp로 열린 포트의 주인 프로그램을 확인했다
  • [ ] MS2를 nmap -p- -T4로 전수 스캔했다
  • [ ] -sV -sC ... -oN ms2_scan.txt로 버전 탐지와 기록을 남겼다
  • [ ] 모든 열린 포트가 포함된 인벤토리 표를 완성했다
  • [ ] 모르는 서비스 3개 이상의 역할을 조사했다
  • [ ] 미션: MS2 서비스 인벤토리 문서를 완성했다

6. 흔한 실수와 해결

벽 1. MS2 스캔이 한없이 느려요

증상: -p- 스캔이 몇 분째 안 끝납니다.
원인: -T4 없이 기본 속도로 65535개를 검사 중이거나, VM 리소스가 부족합니다. 원격 대상의 전수 스캔은 루프백(실측 0.32초)과 달리 수십 초~수 분이 정상입니다.
해결: -T4를 붙이세요. 그래도 느리면 MS2와 Kali의 메모리 상태를 확인하고, 방화벽이 중간에 패킷을 조용히 버리는지 검토합니다 — 응답 없는 포트는 타임아웃만큼 기다리므로 필터링이 있으면 급격히 느려집니다.

벽 2. MS2 스캔 결과가 책과 달라요 (포트가 적게 나옴)

증상: 스무 개는커녕 몇 개만 열려 있거나, 아예 안 나옵니다.
원인 후보: ① MS2가 꺼져 있거나 부팅 중. ② 잘못된 IP — 다른 장비를 스캔 중. ③ 네트워크 미스 — Kali의 Host-only 어댑터 문제.
해결: 먼저 ping MS2_IP로 생사를 확인하고, Kali에서 ip a로 Host-only 대역 주소가 잡혔는지 확인하세요. 그리고 스캔한 IP가 진짜 MS2인지 — 3-4의 주의처럼 예시 IP를 그대로 치지 않았는지 — 를 점검하세요.

벽 3. 버전이 ?나 unknown으로 나와요

증상 (출력 예시): VERSION 열이 비어 있거나 1 service unrecognized despite returning data가 나옵니다.
원인: nmap의 데이터베이스에 없는 응답 모양입니다. 2026-09-09 실측에서도 43467번이 정확히 이 상태였습니다.
해결: 세 가지 대응 — ① --version-intensity 9로 시험 강도를 올려 재시도. ② 출력의 지문(fingerprint) 속 응답 샘플을 읽어 직접 추리(실측 지문에는 HTTP/1.0 404 Not Found가 보여 "HTTP 비슷한 서비스"임을 알 수 있었습니다). ③ 내 장비라면 ss -tlnp로 주인을 직접 확인. "모른다"도 정직한 정찰 결과입니다 — 추정을 확정처럼 쓰지 마세요.

벽 4. 스캔했는데 Host seems down이 나와요

증상 (출력 예시): 켜져 있는 MS2인데 "꺼져 있는 것 같다"고 나옵니다.
원인: nmap의 생사 확인(핑)만 막힌 경우거나, 진짜로 네트워크가 끊긴 경우입니다.
해결: -Pn(생사 확인 생략)을 붙여 보세요. 그래도 안 되면 네트워크 문제이니 벽 2의 절차로 돌아갑니다.

벽 5. 스캔 결과를 파일로 안 남기고 터미널만 봐요

증상: 터미널을 닫았더니 스캔 결과가 사라졌습니다.
원인: -oN을 빼먹었습니다. 화면 출력은 휘발성입니다.
해결: 정찰 명령에는 항상 -oN 파일명을 붙이는 것을 손가락의 조건 반사로 만드세요. 저장 파일 첫 줄에는 스캔 일시와 명령 전문이 자동으로 적힙니다 — "재현 가능한 기록"이 공짜로 생깁니다. 다시 스캔하는 데 몇 분, 파일을 남기는 데 0초입니다.


7. 정리

오늘의 개념

개념 한 줄 설명
정찰(reconnaissance) 공격·방어 공통의 첫 단계 — 대상의 열린 문을 빠짐없이 파악
공격 표면 공격자가 닿을 수 있는 접점의 총합 — 열린 포트의 목록
배너 서비스가 스스로 밝히는 신분증 — 버전은 취약점의 색인
서비스 인벤토리 포트·서비스·버전·역할을 정리한 표 — 정찰의 진짜 산출물
추정과 실체 SERVICE 열(번호표 추정) vs -sV 결과(확인된 실체)
-T4 신뢰된 랩에서 스캔 속도를 올리는 등급 — 실무 남용 금지

오늘의 명령어

명령 하는 일
nmap -p- -T4 대상 65535개 포트 전수 스캔 (빠짐없이)
nmap -sV -sC -p 목록 대상 서비스·버전 확인 + 기본 스크립트 (정확하게)
nmap ... -oN 파일 명령 전문이 적힌 재현 가능한 기록 저장
nmap --version-intensity 9 까다로운 서비스에 시험 강도 최대
ss -tlnp 내 장비에서 열린 포트의 주인 프로그램 확인
nmap -Pn 대상 생사 확인 생략 (핑이 막힌 대상)

명령어보다 중요한 감각

오늘 여러분은 공격의 첫 페이지를 썼습니다. 그리고 그 페이지는 공격 코드가 아니라 였습니다. 실력 있는 침투 테스터와 스크립트 kiddie의 차이는 이 단계에서 갈립니다 — 후자는 익스플로잇부터 찾지만, 전자는 인벤토리부터 만듭니다. 목록 없는 공격은 도박이고, 목록 있는 공격은 계획입니다.

또 하나 — 오늘의 인벤토리를 방어자의 눈으로 다시 보세요. "열릴 이유가 없는 포트가 열려 있다"는 문장은 공격자에게는 기회 목록이지만, 여러분이 관리하는 서버에서는 감사 지적 사항입니다. 같은 표가 두 개의 직업을 만듭니다. 그것이 정찰을 배우는 진짜 이유입니다.


전부 체크되면 Step 113 완료입니다. 사이드바의 체크박스를 눌러 진도를 저장하세요.