티스토리 뷰

💼 정보 ver1.0

메일 헤더 분석

James Wetzel 2009. 7. 21. 14:03
728x90
반응형

           ******배너 광고좀 클릭해 주세요. 이거 테스트 한 후에 용돈 벌이 되는지 확인되면 정보 공유 할게요.******                       ******배너 광고좀 클릭해 주세요. 이거 테스트 한 후에 용돈 벌이 되는지 확인되면 정보 공유 할게요.******
시나리오
 
정보

스팸 메일 헤더 분석
이제 한 스팸 메일의 헤더를 예로 들어 헤더의 의미를 분석해 보자.

 

Received: from medentech.isdn.esat.net (medsvr01.medentech.com)[193.120.114.219]
          by relay03.avnetcom.co.kr(8.11.6/8.11.6) with ESMTP id 18qi5I-0002Is-00             for mkeh@avnetcom.co.kr; Wed, 05 Mar 2007 23:14:01 +0000
Received: from test.com ([200.59.38.130]) by medsvr01.medentech.com
          with Microsoft SMTPSVC(5.0.2195.5329); with SMTP id h093ANn04454;           for mkeh@avnetcom.co.kr; Wed, 5 Mar 2007 23:10:53 +0000
Return-Path: hahaha@tt.co.kr
From: "섹시마스터" <hahaha@tt.co.kr>
To: "mkeh@avnetcom.co.kr" <mkeh@avnetcom.co.kr>
Date: 5 Mar 2007 23:10:55 +0000
Message-ID: <MEDSVR01kNsjUHQHh2w00000278@medsvr01.medentech.com>
Subject: 지금 바로 확인해 보세요.

 

각 줄의 메일 헤더가 각각 어떤 의미를 가지고 있는지 순서대로 알아보도록 하자.

 

Received: from medentech.isdn.esat.net 

자기 자신이 medentech.isdn.esat.net 라고 언급한 호스트(이는 발신 호스트에서 수신 호스트에게 ‘HELO 호스트 이름’ 또는 ‘EHLO 호스트 이름’ 형식으로 알려준다)로부터 메일을 수신했다는 의미다. 이는 다음과 같이 telnet으로 25/tcp로 접속해 HELO로 응답하는 것을 확인할 수 있다.

 

# telnet mail.tt.co.kr 25
Trying 211.47.68.99...
Connected to mail.tt.co.kr.
Escape character is '^]'.
220 mail.tt.co.kr ESMTP
HELO client.tt.co.kr
250 mail.tt.co.kr Hello [211.47.66.50], pleased to meet you
        
(medsvr01.medentech.com)[193.120.114.219]

실제 IP는 193.120.114.219이고, 호스트의 이름은  medsvr01.medentech.com이라는 것을 의미한다.
수 신하는 메일서버에서는 발신 호스트의 IP인 193.120.114.219에 대한 Reverse DNS 질의(호스트 이름에 대한 IP 주소 질의를 Forward DNS질의라 하고 반대로 IP 주소에 대한 호스트 이름 질의를 Reverse DNS 질의라 한다.)를 이용해 호스트의 이름이 medsvr01.medentech.com이라는 것을 확인한 것이다. 만약  Reverse DNS 질의에서 호스트 이름이 응답되지 않을 경우에는 공란으로 나타난다.

 

by relay03.avnetcom.co.kr(8.11.6/8.11.6) 

메일을 수신한 호스트는 relay03.avnetcom.co.kr이고, 메일 프로그램의 버전은 8.11.6이라는 것을 알 수 있다. 버전 정보로 보아 sendmail로 예상된다.

 

with ESMTP id 18qi5I-0002Is-00

esmtp 프로토콜을 통해 수신하는 호스트에서 해당 메시지를 구별하기 위해 18qi5I-0002Is-00라는 ID를 부여했다. ID는 해당 호스트에서 내부적으로 사용하기 위해 쓰이는데, 관리자가 메일의 로그파일에서 해당 메일을 검색할 때 사용되기도 한다.
 
for mkeh@avnetcom.co.kr

메시지가 전송될 메일 주소다.

 

Wed, 05 Mar 2007 23:14:01 +0000

이 메일이 전송된 시각이다. 2007년 3월 5일 오후 11시 14분 1초에 전송됐다는 것을 알 수 있다.

 

Return-Path: hahaha@tt.co.kr

메일 전송에 실패했을 경우 Return-Path에서 지정한 주소로 반송된다는 의미다.

Received: from test.com ([200.59.38.130]) by medsvr01.medentech.com with Microsoft SMTPSVC(5.0.2195.5329); with SMTP id h093ANn04454; for mkeh@avnetcom.co.kr; Wed, 5 Mar 2007 23:10:53 +0000

IP가 200.59.38.130이고 호스트 이름이 test.com인 호스트에서 호스트 이름이 medsvr01.medentech.com인 메일서버로 메일이 전송됐다는 것을 의미한다. 2007년 3월 5일 11시 10분경에 전송됐다. 즉, test.com에서 medsvr01.medentech.com을 경유해 relay03.avnetcom.co.kr으로 전송까지는 약 4분 정도 소요된 것을 알 수 있다. 그러나 서버의 시간이 정확하게 설정돼 있지 않으면 의미가 없을 수 있다. 해당 메일서버 프로그램은 Microsoft SMTPSVC이며, 버전은 5.0.2195.5329라는 것을 알 수 있다. 

 

Message-ID: <MEDSVR01kNsjUHQHh2w00000278@medsvr01.medentech.com>

Message-ID: 또는 Message-Id나 Message-id로 사용되는데, 이 ID는 메일 전송 내내 해당 메일을 인식하고 구분하기 위한 용도로 사용된다. Received: 헤더에 있는 SMTP ID와는 다른 것이라는 점에 주의해야 한다. SMTP ID는 특정한 메일 전송과정에만 의미가 있는 반면(따라서 SMTP ID는 다른 호스트에게는 의미가 없다), Message-ID는 메일전송이 완료될 때까지 의미를 가지고 있다. 때때로 Message-ID에는 발송자의 메일 주소가 일부 포함되기도 한다.

메일 헤더에서 가장 주목해야 할 부분은 바로 Received: from 부분이다. Received: 는 각각의 MTA가 릴레이(relay)를 하면서 하나씩 추가되는데, 메일 전송 경로를 추적할 때 매우 유용하게 사용된다. 앞서 살펴본 바와 같이 형식은 다음과 같다.

 

Received: ["from" 발송 호스트] "by" 수신 호스트 ["with" 메일 프로토콜] "id" 문자열 ["for 수신자메일주소" ] ";" 날짜 및 시각

 

또한 다음과 같은 형식도 사용할 수 있다.

 

Received: from 발송호스트의 이름([발송 호스트의 IP 주소]) by 수신 호스트 (수신서버의 메일 소프트웨어)

 

Received: from은 제일 아래 부분에서 위쪽으로 순서대로 메일이 전송된 것이므로, 예제 헤더의 경우 실제 해당 메일을 처음 발송한 곳은 제일 아래쪽에 있는 Received: from 인 test.com ([200.59.38.130])이라는 것을 알 수 있다. 따라서 해당 메일을 처음 발송한 곳을 알려면 메일 헤더에서 제일 밑에 보이는 Received: from 부분을 살펴보면 되는 것이다.
그러나 전문적인 스패머라면 이런 추적을 어렵게 하기 위해 메일 발송 전에 다음 예제의 ①, ②와 같이 위조된 Received: 헤더를 추가하는 경우가 많다.

 

③ Received: from galangal.org ([104.128.23.115]) by mail.bieberdorf.edu (8.8.5)...
② Received: from nowhere by fictitious-site (8.8.3/8.7.2)...
① Received: No Information Here, Go Away!

 

메일 발송자의 입장에서 볼 때 이미 메일 서버를 통해 발송된 메일에 대해서는 헤더 추가나 변경 등 메일에 대한 제어를 할 수 없고, 또한 Received: 헤더는 메일 전송과 함께 밑에서 위로 순서대로 추가된다. 따라서 만약 위조됐다면, 위조된 부분은 통상적으로 아래 부분에 보이게 될 것이다. 만약 이러한 경우라면 이는 곧 다른 말로 Received: 헤더 부분에서 위조된 부분 이하부터는 의미가 없다는 것을 뜻한다. 따라서 헤더 경로를 추적할 때에는 아래에서부터 위로 살펴보는 것과 더불어 위에서 아래로의 경로도 함께 살펴봐야 한다.

비고
입력




728x90
반응형