Ⅰ. 브루트 포스(Brute Force, 무차별 대입) 공격이란?
가능한 모든 문자 조합을 자동화된 방법으로 반복 시도해 비밀번호·암호키·인증 정보를 크래킹하는 공격 기법입니다. "무식하게 힘으로 밀어붙인다"는 뜻 그대로, 정교한 취약점 분석 없이 컴퓨팅 파워로 경우의 수를 전부 소진하는 방식입니다.
과거에는 느린 처리 속도 때문에 실용성이 낮았지만, GPU 클러스터·클라우드 컴퓨팅·AI 자동화 도구가 보편화되면서 현재도 가장 자주 사용되는 공격 기법 중 하나입니다.
Ⅱ. 브루트 포스(Brute Force, 무차별 대입) 공격 유형 5가지 (MITRE ATT&CK T1110 기반)
MITRE ATT&CK 프레임워크는 브루트 포스를 T1110 기술로 분류하며, 4가지 하위 기술로 세분화합니다.
ⅰ. Password Guessing (순수 브루트 포스)
1) 순수 브루트 포스(T1110.001, Password Guessing)
모든 가능한 문자 조합(a, b, c … aa, ab…)을 순서대로 시도합니다. 패스워드가 짧을수록 빠르게 크래킹되며, 14자 이하 단순 패스워드는 현대 GPU로 수 분~수 시간 내 해독 가능합니다.
| 시도 예시: a → b → c → ... → aa → ab → ... → password → passw0rd |
2) 딕셔너리 공격(Dictionary Attack)
실제로 많이 쓰이는 패스워드 목록(사전 파일)을 순서대로 대입합니다. rockyou.txt 같은 유출 데이터 기반 딕셔너리가 대표적이며, 순수 브루트 포스보다 훨씬 빠르고 실용적입니다.
| 시도 예시: 123456 → password → qwerty → admin → administrator … |
ⅱ. 패스워드 크래킹(T1110.002, Password Cracking)
서비스를 직접 공격하는 것이 아닌, 이미 탈취한 해시 파일을 오프라인에서 역산합니다. 레인보우 테이블, GPU 크래킹 도구(Hashcat 등) 활용이 대표적이며, 앞서 정리하신 LM Hash의 취약성이 이 공격에 직접 노출됩니다.
ⅲ. 패스워드 스프레이(T1110.003, Password Spraying)
여러 계정에 하나의 흔한 패스워드를 시도합니다. 계정 잠금 정책을 우회하기 위해 계정당 시도 횟수를 최소화하는 것이 특징입니다.
| 1) 일반 브루트 포스: 1개 계정 × N개 패스워드 시도 → 계정 잠금 걸림 2) 패스워드 스프레이: N개 계정 × 1개 패스워드 시도 → 계정 잠금 우회 |
| 구분 | 브루트 포스 | 패스워드 스프레이 |
| 대상 계정 수 | 1개 집중 | 다수 분산 |
| 시도 패스워드 수 | 매우 많음 | 1~수개 |
| 계정 잠금 위험 | 높음 | 낮음(의도적 우회) |
| 탐지 난이도 | 쉬움(폭발적 실패 로그) | 어려움(조용히 분산) |
ⅳ. 크리덴셜 스터핑(T1110.004 — Credential Stuffing)
타 서비스에서 유출된 ID/PW 조합을 다른 서비스에 그대로 대입합니다. 사람들이 여러 사이트에서 같은 비밀번호를 재사용하는 경향을 악용하며, 전 세계 사용자의 약 62%가 비밀번호를 재사용한다는 통계가 공격 성공률을 높입니다.
| 공격 흐름: 다크웹 유출 DB(ID/PW) → 자동화 봇 → 타 서비스 대량 시도 → 성공 계정 수집 |
Ⅲ. 주요 공격 대상(타겟 서비스)
브루트 포스 공격이 가장 자주 노리는 서비스는 다음과 같습니다.
| 서비스 | 포트 | 이벤트 ID(Windows) |
| RDP (원격 데스크톱) | 3389 | 4625 (로그온 실패) |
| SMB (파일 공유) | 445 | 4625 (로그온 실패) |
| SSH | 22 | - (Linux syslog) |
| FTP | 21 | - |
| WinRM | 5985/5986 | 4625 (로그온 실패) |
| 웹 로그인(OWA, M365) | 443 | - |
| VPN 게이트웨이 | 다양 | 각 장비 로그 |
Ⅳ. 공격 도구(대표적인 것들)
실무 침투 테스트(Pentest)에서 자주 언급되는 도구들입니다.
| 도구 | 용도 |
| Hydra | SSH/FTP/RDP/HTTP 등 온라인 브루트 포스 |
| Medusa | 다양한 프로토콜 멀티스레드 브루트 포스 |
| Hashcat | 오프라인 해시 크래킹(GPU 기반, 매우 빠름) |
| John the Ripper | 오프라인 패스워드 크래킹 |
| Burp Suite | 웹 로그인 폼 브루트 포스 |
| CrackMapExec | Windows/SMB/AD 환경 자동화 공격 |
Ⅴ. 탐지 방법
ⅰ. Security 로그에서 아래 이벤트 ID를 집중 모니터링합니다.
| 이벤트 ID | 의미 | 브루트 포스 신호 |
| 4625 | 로그온 실패 | 단시간 내 동일 계정/IP에서 반복 발생 |
| 4740 | 계정 잠금 발생 | 임계값 초과로 자동 잠금 |
| 4648 | 명시적 자격 증명으로 로그온 시도 | 다른 계정 사용 시도 |
| 4776 | DC에서 자격 증명 검증 실패 | 대량 NTLM 인증 실패 |
ⅱ. XML 쿼리로 대량 실패 필터링
| xml <QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[(EventID=4625)]] and *[EventData[Data[@Name='LogonType']='3']] </Select> </Query> </QueryList> |
LogonType=3(네트워크 로그온)에서 4625가 단시간 대량 발생하면 브루트 포스 공격 진행 중으로 판단합니다.
Ⅵ. 방어 방법(다층 방어 전략)
단일 방어책으로는 불충분하며, 아래 계층을 겹쳐 적용하는 것이 핵심입니다.
ⅰ. 계정 잠금 정책
Windows 기본값은 계정 잠금 임계값 = 0(비활성화) 이라 무제한 시도가 가능합니다.
| 정책 위치: 컴퓨터 구성 → Windows 설정 → 보안 설정 → 계정 정책 → 계정 잠금 정책 권장 설정: - 계정 잠금 임계값: 5회 (KISA/CIS 기준) [web:273] - 계정 잠금 기간: 30~60분 [web:270][web:273] - 잠금 수 원래대로 설정: 30~60분 [web:273] ※ 임계값을 너무 낮게(1~2회) 설정하면, 공격자가 의도적으로 모든 계정을 잠가버리는 서비스 거부(DoS) 공격이 가능합니다. |
ⅱ. MFA(다중 인증)
비밀번호가 크래킹되더라도 추가 인증 요소가 없으면 로그인 불가합니다. MITRE ATT&CK도 브루트 포스의 가장 효과적인 대응책으로 MFA를 1순위로 제시합니다.
ⅲ. 강력한 패스워드 정책
| 1) 최소 12자 이상 (8자는 GPU로 수 시간 내 해독 가능) 2) 대소문자 + 숫자 + 특수문자 혼합 3) 패스워드 히스토리 관리 (이전 패스워드 재사용 방지) 4) Passphrase(문장형 패스워드) 사용 권장 (예: Coffee!At8AM#daily) |
ⅳ. 공격 표면 최소화
1) RDP(3389), SSH(22) 같은 관리 포트를 인터넷에 직접 노출 금지
2) VPN/ZTNA 뒤에 두고, 허용된 IP만 접근 가능하도록 IP 화이트리스트 적용
3) 불필요한 계정 비활성화(특히 기본 Administrator 계정 이름 변경)
ⅴ. CAPTCHA / 지연(Throttling)
웹 로그인에 CAPTCHA 또는 로그인 시도 간격 제한(Rate Limiting)을 적용하면 자동화 도구의 속도를 크게 낮출 수 있습니다.
■ "브루트 포스는 단순하지만 여전히 가장 많이 쓰이는 공격입니다. 계정 잠금 정책 + MFA + 강력한 패스워드 + 공격 표면 최소화를 겹쳐 적용하는 다층 방어가 정답입니다.
'어플리케이션' 카테고리의 다른 글
| WinDbg (Windows Debugger) 에 대해 알아보겠습니다. (0) | 2026.02.20 |
|---|---|
| 크래쉬 덤프(Crash Dump)에 대해 알아보겠습니다. (0) | 2026.02.19 |
| MODBUS 프로토콜에 대해 알아보겠습니다. (0) | 2026.01.09 |
| QR 코드(QR Code)에 대해 알아보겠습니다. (0) | 2026.01.05 |
| SSO(Single Sign-On) 에 대해 알아보겠습니다. (0) | 2025.12.30 |