HTTP¶
한 줄 요약
웹 페이지, 메일, 메신저, 그리고 악성코드까지 거의 모든 것이 HTTP 위에서 움직입니다. 요청 한 줄과 헤더 몇 개만 제대로 읽어도 웹셸, 피싱, C2 비콘을 꽤 많이 잡을 수 있습니다. 다만 2026년에는 거의 모든 웹이 https라서, 경로·파라미터·헤더는 프록시(TLS 검사)·웹 서버·WAF·EDR 기록에서 얻는 것이 중심입니다.
읽는 순서¶
| # | 페이지 | 핵심 |
|---|---|---|
| 1 | 웹 서버, URL, GET 요청 | 주문과 배달, 문서 루트, 웹셸과 이벤트 4688·Sysmon 1, 모듈 백도어, URL 해부(@·#·%·file://), Zeek http.log, GET 로그·SQL 인젝션·경로 조작·C2 비콘, 확인 문제 |
| 2 | POST, 그 밖의 메서드, 요청 헤더 | POST와 로그, 악성코드·웹셸의 POST, CONNECT·HEAD·OPTIONS·PUT·DELETE·TRACE, Host·User-Agent·Referer·Cookie·Accept·X-Forwarded-For, 헤더 순서 지문, 확인 문제 |
| 3 | 요청 판정 연습 | 칸마다 묻는 점검법, 무작위지만 정상인 문자열, Angler 익스플로잇 킷 요청 해부, 도메인 섀도잉, Referer 속 URL(구글 번역·Safe Links), ClickFix·translate.goog 피싱, 확인 문제 |
| 4 | 응답 헤더와 응답 코드 | Server·Date·Content-Type·Content-Length·Last-Modified·Set-Cookie·Location·Content-Disposition, 매직 바이트, 1xx~5xx를 SOC 관점에서, 407 무응답 행간 읽기, 8바이트 응답, 확인 문제 |
| 5 | 헤더 판독 실전 연습 | 요청 하나·응답 하나를 질문 목록으로 판독, 비표준 포트·해킹된 포럼 리디렉션, IE8과 엣지 IE 모드, Content-Type과 Content-Encoding, gzip 직접 풀기, 확인 문제 |
| 6 | 새 HTTP 표준과 HTTP 정리 | HTTP/2 스트림·프레임·HPACK·의사 헤더, Wireshark로 HTTP/2 거래 따라가기, HTTP/3·QUIC과 Zeek quic.log, UDP 443 정책, SMB over QUIC, 웹소켓, HTTP 섹션 정리, 확인 문제 |
꼭 기억할 10가지¶
- 웹 서버는 파일 공유다. URL 경로가 디스크 경로에 붙고, 실행 폴더에 파일 하나 넣으면 웹셸이 된다.
- 웹셸 신호: 웹 서버 프로세스가
cmd.exe·powershell.exe를 띄운다(4688, Sysmon 1). - 도메인은 오른쪽부터 읽는다. URL의
@뒤가 실제 목적지이고,#뒤는 로그에 없다. %인코딩과 Base64는 풀어서 본다. 포장은 암호가 아니다.- GET은 주소에, POST는 본문에 정보를 담는다. 주소는 로그에 남고 본문은 보통 안 남는다.
- 로그에 없다 ≠ 일어나지 않았다. 호스트 로그·WAF·풀 패킷 캡처를 찾는다.
- 외부에서 온 PUT + 2xx + 실행 파일 = 웹셸 업로드 최우선 확인.
- User-Agent, X-Forwarded-For는 누구나 거짓으로 쓸 수 있다. 우리 장비가 붙인 값만 믿는다.
- 쿠키는 로그인 손목밴드다. 훔치면 MFA도 소용없다.
- 요청 한 줄보다 패턴(주기, 순서, 앞뒤 요청)을 본다. CDN IP는 막지 말고 도메인을 막는다.
관련 레퍼런스¶
- Zeek http.log — 필드별 설명
- Beaconing & C2 탐지 — 규칙적인 간격의 연결
- HTTP 상태 코드 — 응답 코드 정리
- Windows 이벤트 로그 — 4688·Sysmon 이벤트
- Web shell / server 플레이북 — 웹셸 대응 흐름