베지밀
[악성코드분석] 이메일 헤더 필드 분석 본문
이메일 헤더란?
메일 발송자의 위치부터 시작하여 각 서버를 거쳐 최종적으로 수신자에게 오는 과정을 기록
악성코드 분석가는 해커가 발송한 메일을 역추적하기 위해 이메일 헤더의 여러 필드들을 반드시 확인해야 함
이메일 헤더 필드
- To : 수신인, 받는 사람
- Cc(Carbon Copy) : 다른 사람이 메시지를 참조해서 읽으라고 보내는 경우
- Bcc(Blind Carbon Copy) : 숨은 참조로 여러 사람에게 보낼 때 참조인 주소를 숨기기 위해 사용
- From : 보내는 사람. 임의의 주소를 적으면 되기 때문에 해커는 자신의 주소가 아닌 가짜 주소 입력
- Reply-To : 수신한 메일을 회신할 때, 우선적으로 Reply-To에 설정된 주소로 회신
- Received : 수신한 메일이 어느 서버들을 거쳐왔는지 표시
- 헤어 부분의 하단에서 거꾸로 역추적해야 함.
- 발신지 서버 by 수신지 서버 with 메일 프로토콜 id 문자열 for 수신자 메일 주소
- Message-ID : 메일 서버에서 메시지를 외부로 보낼 때 붙이는 고유 일련번호
- Date : 실제 메일을 보낸 날짜
- Return-Path : 메일 전송 실패 시 반송되는 주소. 주로 송신자의 메일 주소 입력
- 'X-' 헤더 : MIME 규칙을 따르지 않은 비표준 헤더. 임의로 붙여지는 헤더
- 실제 발송 IP, 계정, 응용프로그램 명 등 중요한 단서 포함
- Content-Type : 메일 본문이 어떤 형식인지 (일반 문자열, html 등)
네이버 eml파일 실습 (가상환경입니다)
Thunderbird에 [네이버].eml 파일을 올려보자
평범한 메일처럼 보이지만 초록 버튼에 커서를 올리면
아래쪽에 up으로 시작하는 url로 이동하는 것을 볼 수 있다.
그러나 마우스에는 naver인 척 위장중이다.
클릭해서 들어가보면
이렇게 뜬다.
idnaver.com을 평판 조회 사이트에 올려보자.
피싱사이트라고 한다.
메모장에서 메일 헤더 역시 체크해보자.
Received가 6개정도 나오는데, 중간 Received는 경유지이고, 마지막 Received가 발신지라고 확인하면 됨
여기서는 upsrv.~~ 하는 서버로 되어있다.
upsrv.16mb.com는 Malilcious라고 뜬다.
From과 같은 주소이므로 해당 주소가 공격자의 주소임을 확신할 수 있다.
From은 조작 가능하지만, 이메일 헤더의 Return-Path는 신뢰할 수 있다.
공격자의 IP
캐나다에 있는 IP이므로 스팸 메일이라고 생각할 수 있다.