FIELD MANUAL · REV. 2026.07

해킹의 이론을 알아야
내 시스템을 지킬 수 있다

공격자의 사고방식으로 방어하고, 합법적 절차로 수익을 만드는 실전 사이버보안 지식 10모듈. 모든 도구·코드는 본인 소유 시스템 또는 명시적 승인 범위 내 사용을 전제로 합니다.

#정찰·자산관리 #네트워크분석 #OWASP 방어 #버그바운티 #보안자동화 #피싱방어
MODULE 01

사이버보안 사고 체계 — 공격자처럼 생각하기

난이도 입문 소요 1–2시간 전 과정 합법

보안은 도구가 아니라 사고 체계다. 모든 보안 활동은 CIA 삼각형(기밀성 Confidentiality · 무결성 Integrity · 가용성 Availability)을 지키기 위해 존재하며, 공격자는 이 세 가지 중 하나를 깨려고 시도한다.

위협 모델링 4단계

  1. 자산 파악 — 무엇을 지켜야 하는가 (데이터, 서버, 계정, 평판)
  2. 공격 표면 분석 — 외부에서 접근 가능한 모든 지점 (포트, API, 로그인 폼, 이메일)
  3. 위협 행위자 정의 — 스크립트 키디부터 국가 단위 APT까지, 누가 왜 노리는가
  4. 완화 우선순위 — 발생확률 × 피해규모 기준으로 대응 순서 결정

Kill Chain (록히드마틴)

정찰 → 무기화 → 전달 → 익스플로잇 → 설치 → C2 → 목표달성. 이 7단계 중 어느 하나만 끊어도 공격은 실패한다 — 방어자는 모든 단계를 막을 필요 없이 한 곳만 막으면 된다.

MITRE ATT&CK

실제 공격 그룹들이 사용한 전술·기법을 표준화한 무료 지식베이스. 자신의 시스템에 어떤 방어가 부족한지 체크리스트로 활용 가능 (attack.mitre.org).

돈이 되는 이유 기업 보안팀은 이 사고 체계를 문서화할 수 있는 사람을 찾는다. 위협 모델링 보고서 작성 능력만으로 프리랜서 보안 컨설팅(건당 150–500만원)이 가능하다.
MODULE 02

윤리적 해킹 방법론 — 합법과 불법의 경계

난이도 입문–중급 소요 2시간 전 과정 합법

윤리적 해킹(모의침투 테스트)은 승인(authorization)이 있느냐 없느냐로 갈린다. 기술은 동일하지만 서면 계약서 한 장이 "보안 전문가"와 "범죄자"를 가른다.

표준 방법론 — PTES / OWASP Testing Guide

단계내용필수 서류
1. 사전 협의테스트 범위(IP·도메인), 기간, 금지행위 명시Rules of Engagement (RoE)
2. 정보 수집공개정보(OSINT) 기반 자산 식별승인서 사본 상시 소지
3. 취약점 스캔자동화 도구로 알려진 취약점 탐지스캔 로그 보관
4. 검증(수동)거짓양성 제거, 실제 악용 가능성 확인-
5. 보고서CVSS 점수, 재현 절차, 해결 방안기밀유지계약(NDA)
법적 리스크 — 정보통신망법 제48조 승인 없는 스캔·접속 시도는 "정당한 접근권한 없이 정보통신망에 침입"으로 간주되어 5년 이하 징역 또는 5천만원 이하 벌금 대상이다. "취약점만 확인했다"는 항변은 인정되지 않는다. 반드시 서면 승인 후 테스트할 것.

합법적으로 연습할 수 있는 곳

  • TryHackMe / HackTheBox — 가상 머신 기반 실습 환경, 무료 티어 존재
  • OWASP Juice Shop / DVWA — 로컬 Docker로 띄우는 취약 웹앱 연습장
  • PortSwigger Web Security Academy — 무료, Burp Suite 개발사 운영, 실전형 랩
MODULE 03

정찰 & 자산 진단 도구 — nmap 실전

난이도 중급 소요 2–3시간 본인 소유 네트워크에서만

정찰 도구는 "무기"가 아니라 재고 관리 도구다. 내 홈네트워크나 회사 서버에 어떤 포트가 열려있는지, 불필요한 서비스가 노출돼 있는지 확인하는 것이 핵심 목적이다.

// 자신의 네트워크 자산 확인 — nmap
# 내 로컬 네트워크에서 살아있는 호스트 찾기 (자신의 라우터 대역)
nmap -sn 192.168.1.0/24

# 특정 자기 소유 서버의 열린 포트와 서비스 버전 확인
nmap -sV -p 1-1000 my-own-server.com

# 웹서버가 알려진 취약 서비스를 노출하고 있는지 점검 (NSE 스크립트)
nmap --script vuln -p 80,443 my-own-server.com

왜 돈이 되는가

중소기업은 "우리 서버에 뭐가 열려있는지" 조차 모르는 경우가 많다. 월 1회 자산 스캔 + 리포트 서비스만으로 월 50–200만원 유지보수 계약이 가능하다.

추가 도구

Shodan.io — 인터넷에 노출된 내 IP·기기 검색(무료 계정으로 자기 자산 확인). Nikto — 웹서버 설정 취약점 스캐너.

Shodan으로 내 노출 자산 확인하기

shodan.io에 로그인 후 검색창에 net:내공인IP대역 을 입력하면 인터넷에 공개적으로 노출된 자신의 장비(공유기, NAS, IP카메라 등)를 확인할 수 있다. 관리자 페이지가 인증 없이 노출돼 있다면 즉시 방화벽 규칙을 수정해야 한다.

MODULE 04

네트워크 트래픽 분석 — Wireshark로 이상징후 포착

난이도 중급 소요 2시간 본인 트래픽만 캡처

Wireshark는 내 컴퓨터를 오가는 모든 패킷을 눈으로 보여준다. 악성코드 감염, 비인가 외부 접속, 평문으로 전송되는 비밀번호를 발견하는 가장 확실한 방법이다.

// 유용한 필터 표현식
# 암호화되지 않은 HTTP 로그인 폼 데이터 찾기 (자기 네트워크 점검용)
http.request.method == "POST" and http contains "password"

# 비정상적으로 많은 DNS 요청 — 악성코드의 C2 통신 징후
dns and dns.qry.name

# 알려지지 않은 외부 IP로의 지속적 연결 확인
tcp.flags.syn == 1 and tcp.flags.ack == 0
실전 활용 시나리오 노트북이 평소보다 느려지고 팬이 자주 돌 때, Wireshark로 5분간 캡처해 낯선 IP로 반복 전송되는 트래픽이 있는지 확인 → 있다면 악성코드 감염 의심, 즉시 네트워크 차단 후 백신 검사.

가정에서 바로 적용 가능한 체크리스트

  • IoT 기기(스마트플러그, 카메라)가 알 수 없는 해외 서버와 상시 통신하는지 확인
  • 공유기 관리자 페이지 접속이 평문 HTTP인지 HTTPS인지 확인 → HTTP면 기본 비밀번호부터 교체
  • 공용 와이파이 사용 시 VPN 미사용 상태에서 어떤 정보가 평문 노출되는지 직접 확인해보기(자기 트래픽만)
MODULE 05

웹 취약점 — OWASP Top 10 방어자 관점

난이도 중급–고급 소요 3시간 코드 리뷰·방어 목적

가장 수요가 높은 보안 스킬은 "공격법"이 아니라 "내 코드가 이 패턴에 취약한지 판별하는 능력"이다. 아래는 실제 코드 리뷰에서 바로 쓸 수 있는 방어 패턴이다.

SQL Injection — 방어 코드

// 절대 이렇게 쓰지 말 것 (문자열 결합)
// ❌ 취약: 사용자 입력이 쿼리에 직접 삽입됨
const query = `SELECT * FROM users WHERE email = '${userInput}'`;
// 올바른 방어 — Prepared Statement
// ✅ 안전: 파라미터 바인딩으로 입력값이 데이터로만 취급됨
const query = 'SELECT * FROM users WHERE email = ?';
db.execute(query, [userInput]);

XSS(크로스사이트 스크립팅) — 방어 코드

// ✅ 사용자 입력을 화면에 출력하기 전 반드시 이스케이프
function escapeHtml(str) {
  return str.replace(/[&<>"']/g, (c) => ({
    '&':'&', '<':'<', '>':'>', '"':'"', "'":'''
  }[c]));
}
element.textContent = userInput; // innerHTML 대신 textContent 우선 사용

무료 자동 점검 도구

OWASP ZAP — 자기 소유 웹앱에 대해 자동으로 취약점 스캔. securityheaders.com — 내 도메인의 보안 헤더 설정을 무료로 점검.

돈 아끼는 포인트

배포 전 이 체크리스트만 통과해도 실제 침해사고 대응 비용(평균 수천만원)과 평판 손실을 예방한다. 보험료 개념으로 접근할 것.

MODULE 06

인증 · 비밀번호 · 2FA 실전 강화

난이도 입문 소요 1시간 전 과정 합법

실제 침해사고의 80% 이상이 취약한 비밀번호 또는 재사용된 비밀번호에서 시작된다. 가장 저비용·고효율 보안 투자는 여기서 나온다.

비밀번호 정책 — 실무 기준

// Node.js — bcrypt로 안전하게 비밀번호 해시 저장
const bcrypt = require('bcrypt');

// 저장 시: 평문 비밀번호를 절대 DB에 저장하지 않는다
const hashed = await bcrypt.hash(plainPassword, 12); // cost factor 12 권장

// 검증 시
const isValid = await bcrypt.compare(inputPassword, hashed);
0원
Bitwarden 무료 티어로 팀 전체 비밀번호 관리
-90%
2FA 적용 시 계정탈취 성공률 감소 (구글 연구)
12+
해시 cost factor 권장 최소값 (bcrypt)

2FA 구현 — TOTP (Google Authenticator 호환)

const speakeasy = require('speakeasy');

// 사용자별 비밀 키 생성
const secret = speakeasy.generateSecret({ name: 'MyApp' });

// 사용자가 입력한 6자리 코드 검증
const verified = speakeasy.totp.verify({
  secret: secret.base32,
  encoding: 'base32',
  token: userInputCode,
  window: 1 // 시간 오차 허용 범위
});
돈 아끼는 팁 Bitwarden(무료), Aegis Authenticator(오픈소스 2FA 앱)만으로 유료 엔터프라이즈 비밀번호 관리 솔루션(1인당 월 5–10달러) 없이도 팀 단위 보안 수준을 확보할 수 있다.
MODULE 07

피싱 · 소셜엔지니어링 — 패턴 인식 훈련

난이도 입문 소요 1시간 전 과정 합법

가장 정교한 방화벽도 사람의 클릭 한 번을 막지 못한다. 소셜엔지니어링은 기술이 아니라 심리 조작 패턴이며, 패턴만 알면 방어율이 급격히 올라간다.

피싱 이메일 판별 5단계 체크리스트

  1. 발신 도메인 확인 — "naver-security.com" 같이 진짜 도메인과 유사한 가짜 도메인인지 대조
  2. 긴급성·공포 유발 문구 — "24시간 내 미조치 시 계정 정지" 등은 판단력을 흐리려는 전형적 수법
  3. 링크 실제 목적지 확인 — 클릭 전 마우스 호버로 실제 URL 미리보기
  4. 첨부파일 확장자 — .exe, .scr, 매크로 포함 .docm 파일은 특히 주의
  5. 발신자 채널 이원화 검증 — 이메일로 온 "은행" 요청은 반드시 공식 앱/전화로 재확인

URL 안전성 무료 검증 도구

VirusTotal.com에 의심 URL 붙여넣기 → 70여 개 백신엔진이 동시 검사. Google Safe Browsing 상태도 함께 확인 가능.

기업 대상 수익 모델

모의 피싱 훈련 캠페인(예: GoPhish 오픈소스 활용)을 기획·리포트 제공하는 서비스는 중소기업 대상 월 30–100만원 규모 계약으로 이어진다.

MODULE 08

보안 자동화 — 시간과 비용을 아끼는 스크립트

난이도 중급 소요 2시간 본인 시스템 대상

반복적인 보안 점검은 자동화하는 순간 "비용"에서 "자산"이 된다. 아래는 실제로 매일 돌려도 되는 방어형 자동화 스크립트다.

// Python — 자신의 도메인 SSL 인증서 만료일 자동 모니터링
import ssl, socket
from datetime import datetime

def check_cert_expiry(hostname, port=443):
    ctx = ssl.create_default_context()
    with ctx.wrap_socket(socket.socket(), server_hostname=hostname) as s:
        s.connect((hostname, port))
        cert = s.getpeercert()
        expires = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
        days_left = (expires - datetime.now()).days
        print(f"{hostname}: 인증서 만료까지 {days_left}일 남음")
        if days_left < 14:
            print("⚠ 경고: 곧 만료됩니다. 갱신 필요")

check_cert_expiry("topeduprep.uk")
// Bash — 서버 무단 로그인 시도 자동 탐지
#!/bin/bash
# 최근 SSH 실패 로그인 상위 IP 집계 (본인 서버 관리용)
grep "Failed password" /var/log/auth.log \
  | awk '{print $(NF-3)}' \
  | sort | uniq -c | sort -rn | head -10
돈이 되는 이유 이런 자동화 스크립트를 패키징해 "보안 모니터링 서비스"로 여러 클라이언트에게 SaaS 형태로 제공하는 1인 개발자들이 늘고 있다. 초기 투자 없이 반복 매출 구조를 만들 수 있다.
MODULE 09

버그바운티 — 합법적으로 취약점 신고하고 돈 받기

난이도 중급–고급 소요 지속 플랫폼 규정 준수 시 합법

버그바운티는 기업이 공식적으로 허가한 범위 내에서 취약점을 찾아 신고하면 포상금을 지급하는 합법 제도다. HackerOne, Bugcrowd 등 플랫폼이 중개한다.

시작 절차

  1. HackerOne / Bugcrowd 계정 생성 후 "Scope"(허용 범위)를 반드시 먼저 확인
  2. 범위 밖(out-of-scope) 자산은 절대 건드리지 않는다 — 규정 위반 시 법적 보호 상실
  3. PortSwigger Academy에서 취약점 유형별 무료 실습 선행
  4. 발견 시 재현 절차(PoC)를 명확히 문서화해 신고
  5. 공개 공표(Disclosure) 전 반드시 기업의 승인 절차를 따른다
취약점 등급평균 포상금 범위대표 유형
CriticalUS$3,000–20,000+원격 코드 실행, 인증 우회
HighUS$500–3,000주요 IDOR, 저장형 XSS
MediumUS$100–500정보 노출, CSRF
LowUS$50–100설정 미비, 배너 정보노출
반드시 지킬 것 "Scope" 문서를 매번 다시 확인할 것 — 같은 기업이라도 프로그램마다 허용 범위가 다르다. 범위를 벗어난 테스트는 승인이 없는 것과 동일하게 취급되어 형사처벌 대상이 될 수 있다.
MODULE 10

커리어 & 자격증 로드맵

난이도 전체 소요 6–18개월 정보성

단계별 자격증 경로

단계자격증평균 준비기간비고
입문CompTIA Security+2–3개월보안 기초 전반, 채용 필수요건에 자주 등장
실무eJPT (INE)1–2개월실습형 저비용 입문 침투테스트 자격
중급OSCP4–6개월업계 최고 신뢰도의 실기형 침투테스트 자격증
전문CISSP6개월+보안 관리자·컨설턴트급, 5년 경력 요구

무료로 시작하는 학습 경로

  • 1개월차 — TryHackMe "Pre Security" 무료 트랙으로 네트워크·리눅스 기초
  • 2–3개월차 — PortSwigger Academy로 웹 취약점 실습, DVWA 로컬 구축
  • 4–6개월차 — HackTheBox 정기 머신 풀이 + CTF(Capture The Flag) 대회 참가
  • 이후 — 버그바운티 실전 투입 또는 Security+ 응시
₩0
TryHackMe·PortSwigger 무료 트랙 총 비용
6~9K
평균 연봉 상승폭 (보안 자격증 취득 후, 달러 기준 업계 조사)
1인
프리랜서 보안 컨설팅으로 확장 가능한 최소 인력