
이메일 스푸핑은 발신자의 이메일 주소를 위조하여 다른 사람이나 조직인 것처럼 가장하는 행위를 말한다. 이를 통해 해커는 수신자가 이메일을 신뢰하고 반응하도록 유도할 수 있다.
이메일 스푸핑을 하기 위해서는 대상자를 보다 쉽게 속이기 위해서 대상자의 정보, 관련된 사람들, 관계도 등이 필요하다.
이러한 정보를 얻기 위한 정말 탁월한 프로그램이 있는데, 그게 바로 Maltego라는 프로그램이다.
Maltego는 정보 수집 및 분석을 위한 강력한 오픈 소스 도구로, 주로 사이버 보안, 조사, 데이터 분석 등의 분야에서 사용된다. 특정 사람의 이름만 가지고도 이메일 정보나, 주변 인물, 더 나아가 그 주변인물의 정보에 대해서도 파악할 수도 있다. 특정 사람에 대한 정보와 관계도를 알게 된다면 전략을 짤 수 있어, 보다 더 쉽게 이메일 스푸핑에 걸려들게 할 수 있다. 하지만 Maltego 프로그램 사용법에 대해서는 생략하겠다.
구글에 spoof emails online이라고 검색하면 이메일 발신 기능을 제공하는 여러 사이트들이 있지만, 해당 사이트들은 이미 알려져 있기 때문에 몇몇 여러 사이트에선 블랙리스트로 등록이 되어있으므로 스팸함으로 수신 되는 문제점이 있다.
그래서 추천되는 게 바로 Brevo 사이트다.
https://www.brevo.com/

가입하고 나서 My Profile > Transactional 에 들어가보면 STMT 정보에 대해서 볼 수 있다.
(가입 후에는 반드시 계정 활성화 절차를 거쳐야 한다.)
칼리 리눅스에는 이메일을 보낼 수 있는 도구가 존재한다.
아래 명령어를 통해 해당 도구의 명령어 사용법을 알아볼 수 있다.
sendemain --help

sendemail -xu [Login] -xp [Password] -s [STMT server]:[Port] -f "발신자 이메일" -t "수신자 이메일" -u "제목" -m "내용"
STMT 정보를 보고 위 명령어를 입력하면, 원하는 발신자 이메일로 수신자 이메일에게 이메일을 전달할 수 있다.

하지만 발신된 이메일을 확인해보면 발신자 이름이 모르는 이메일주소로 되어있다면, 수신자 입장에선 의심스러울 수 있다.
이를 위해서 발신자 이름 또한 속이는 게 가능하다.
sendemail -xu [Login] -xp [Password] -s [STMT server]:[Port] -f "발신자 이메일" -t "수신자 이메일" -u "제목" -m "내용" -o essage-header="From: abcd<이메일 주소>"
-o 옵션을 사용하면 발신자 이름을 속일 수 있다.
-o essage-header="From: abcd<aaaa@gmail.com>"
예를 들어 위와 같다면 발신자 정보가 "abcd"라는 이름과 함께 "aaaa@gmail.com"이라는 이메일 주소로 나타나도록 지정이 가능하다는 것이다.

결과적으로 위와 같이 수신이 된다.
만약 발신자를 특정 조직으로 사칭할 때, 그 조직의 도메인이 적절한 이메일 인증을 구현하지 않았을 경우에만 작동된다는 점에 유의하자.
https://easydmarc.com/tools/dmarc-lookup

도메인을 입력하여 결과가 DMARC 레코드가 없다면 해당 도메인을 사칭할 수 있다는 의미다.
DMARC(Domain-based Message Authentication, Reporting, and Conformance) 레코드는 이메일 인증 프로토콜로, 도메인 소유자가 이메일을 통해 발신되는 메시지의 진위를 확인하고, 이를 통해 스푸핑 및 피싱 공격을 방지하기 위해 사용된다.
이메일 스푸핑 하는데에는 이 방법 말고도 이메일을 발송할 프로그래밍 코드를 짠 후, 웹호스팅 서버에 업로드해서 웹서버를 통해 발신하는 방법도 존재한다.