Try Attack/Mail

우리집에서 메일 보고갈래?

D4tai1 2020. 5. 24.

안녕하세요!!

 

5월이가 가고 6월이가 오고 있는 지금은

 

편지를 주고받기 좋은 계절이네요!

 

맞다고 해주세요!

 

하하..

 

우리집에서 메일을 보고가라고 여러분들을 꼬신 이유가

 

궁금하신가요?

 

바로바로바로

 

두구두구두구두구...

 

그저께 제가 휴가간 사이에 저의 사수?분께서

 

메일과 관련된 이것저것 쪽지를 보냈는데 

 

덜떨어진 부사수(저에요;;)는 이해하지 못했기 때문에

 

 

관심을 가져볼까 합니다.. 메일이라는 너에게!

 

시작!

 

메일 헤더는 알고있다?!

 

여러분은 메일을 받으면 보낸사람정보를 알 수 있습니다.

 

이게 정말 믿을만한지는?

 

메일 헤더가 알고 있습니다.

 

그렇다면 메일 헤더에는 어떤 정보가 있을까요?

 

메일서비스를 제공하는 회사마다 조금씩은 다르지만

기본구조(눈 두 개, 코 한개, 입 한 개 와 같이..)는 동일하기 때문에 

크게 문제가 되지는 않습니다.

 

1. 메일 헤더

1) Received:

"Received: "는 계속으로 나오게 되는데 이 부분을 통해

어떤 네트워크경로를 통해서 나에게 도달했는지

원산지를 알아낼 수 있습니다.

발송경로(Routing 정보)로 부를게요!

 

그리고 가장 아래 있는 것이 최초 발신정보입니다.

 

[1] from

메일을 발송한 PC의 IP주소를 말합니다.

위치에 따라 처음 보내는 곳이 될 수도 있고 경유지가 될 수도 있습니다.

 

[2] by

발송한 사람이 사용한 메일서버의 IP주소나 호스트이름을 말합니다.

 

[3] with

SMTP, ESMTP 등의 메일프로토콜을 말합니다.

 

[4] id

발신서버나 수신서버에서 메일을 구분할 수 있는 식별자를 말합니다.

 

[5] for

수신자의 전자우편주소를 말합니다.

 

[6] 날짜 및 시간정보

만약 국내에서 보냈다면 "+0900" 이 추가로 있을 것이다.

 

 

 

우선 여기까지 볼 때 한국어로 작성된 메일의 타임존이

"+0800" 이라면?

 

아마도 중국에서 한국에서 보낸 것처럼 가장할 확률도 존재하죠?

"+0800"이 중국이 아닐지라도 한국이 아니라는 것만은 확실하게 됩니다.

 

2) Message-ID:

"Message-ID: "는 메일 발송서버가 메일에 부여한

고유식별번호로 생각하시면 됩니다.

 

3) From:

"From: "은 어떤사람이 어느메일서버를 통해 보낸지에 대한

보낸사람의 정보를 담고 있습니다. 

즉, 발신자의 전자우편주소죠!


7ip) Received: 의 from과 다르다면?

- 메일 발신자가 자체메일서버가 없어서 웹메일서비스에서 제공하는 전자우편주소를 사용해서

발신에 사용된 메일서버(Received: from)과 

발신자 전자우편주소(From)가 다를 수 있습니다

 

4) Return-Path: 
"Return-Path: "는 답장을 받을 주소로 보낸주소와 다르게 작성할 수 있어요.

 

5) X-

X로 시작하는 식구들은 아웃룩 익스프레스가 임의로 붙인 헤더이지만

표준이 아니기 때문에 메일서버에서는 신경쓰지 않고 넘깁니다.

 

[1] X-Original-SENDERIP:

발신메일서버의 IP를 의미합니다.

 

[2] X-Original-MAILFROM:

실제 메일을 발송한 송신자의 메일주소를 의미합니다.

 

[3] X-Originating-IP:

실제 메일을 발송한 송신자PC의 IP주소를 의미합니다.

 

 

5) FOFE(Forefront Online Protection for Exchange)

스팸여부를 확인해서 True나 False로 반환

 

6) 그 외

To: 수신자 전자메일

Cc: 참조(Carbon Copy)

Bcc: 숨은참조(Blind Carbon Copy)

Subject: 제목

 

영어단어 자체가 의미하는 뜻 그대로입니다.

.

7) MIME헤더

Multi-purpose Internet Mail Extentions의 약자로

다목적 인터넷 메일의 확장규격입니다.

7비트가 아닌 8비트 문자를 사용해서도 전송할 수 있지요.

 

[1] MIME-Version:

MIME의 버전을 의미합니다.

 

[2] Content-Type:

전송 데이터의 타입을 표시합니다.

 

[3] Content-Transfer-Encoding:

전송 데이터 바디의 인코딩종류를 정의합니다.

 

 

 

 

이제 제가 궁금한 내용입니다.

 

2. 돋보기

1) MX Recode란?

 위키백과의 말씀에 의하면 

"Mail Exchanger Record는 인증되고 유효성이 확인된 도메인 네임 시스템 리소스 레코드의 일종으로, 수신자의 도메인 중간에 이메일 메시지 수용을 책임지는 메일 서버, 또 여러 메일 서버를 이용할 수 있을 경우 메일 전달 우선순위 제어에 사용되는 선호 값을 규정한다. 도메인 네임의 MX 레코드 집합은 이메일이 어떻게 간이 우편 전송 프로토콜(SMTP)로 라우팅되는 것이 좋을지를 규정한다."

라고 합니다.

 

 MX Recode는 메일서버의 주소이고

 

 발신자 도메인의 MX Recode를 제한한다는 것은

도메인과 메일서버가 연결되어있지 않으면 거부한다는 말이 되겠네요.

 


 

2) SMTP AUTH

 위키백과의 말입니다..

"SMTP Authentication(SMTP 인증)은 클라이언트가 서버에서 지원하는 인증 메커니즘을 사용하여 로그인 할 수있는 단순 메일 전송 프로토콜의 확장입니다. 주로 인증이 필수인 서버에서 사용됩니다."

라고 합니다.

 

 외부에서 회사에 접속하여 다른회사의 메일을 보내는 경우

내 계정만 있다면 SMTP 계정을 인증받아서 메일을 전송할 수 있습니다.

 

 그러나 이 기능을 활성화했을 때 내부 메일이 도용당해 

외부로 악성메일을 보낼 수 있습니다.

 

 그래서 비활성화를 하나 봅니다.

 


 

3) RBL(Real-time Black List)

 메일발송서버의 IP가 블랙리스트인지 확인하는 기능입니다.

 

 키사에서 말하기를

이메일의 발송IP 확인을 통해 스팸여부를 판단하여 즉각 차단하므로

메일서버 등 자원의 불필요한 소모를 방지할 수 있답니다.

 

 주로 DNS Lookup을 통해 확인하며

DNS-based Blackhole List라고도 합니다.

 


 

4) SPF(Sender Policy Framework)

발신 메일서버의 IP정보를 사전에 DNS에 등록함으로써 정당한 메일서버임을 확인

 수신자로 하여금 이메일에 표시된 발송자 정보가 실제 메일서버의 정보와 일치하는지를

확인할 수 있도록 하는 메일 검증기술을 말한다.

 

조금 더 요약하면 발신서버 진위여부?라고 볼 수 있겠네요.

 

feat. RFC7208

 

 바보라서 힘든데 몰라서 더 아프지 않기위해

 

메일알못이 작성한 내용이었습니다.

 

 

추후 이메일포렌식을

 

공부하게 된다면 추가로 작성할 예정입니다!

댓글