annyoung

대포통장 명의 도용 관련 대검찰청 피싱 본문

분석생활

대포통장 명의 도용 관련 대검찰청 피싱

nopsled 2022. 3. 16. 11:43

오늘 친구 하나가 검찰청 사칭 보이스피싱에 걸릴뻔 했다.

 

검찰청 내부 아이피 주소 불러줄테니 들어가서 접속하라고 했나보다.

 

우선 기본적인 정보는 보이스피싱을 진행하기 전에 정보 수집이된 것으로 판단된다. 친구와 보이스피싱간의 녹취록을 들어보면 이름, 생년월일, 자택 주소(?) 또는 주변 주소지에 대해서는 아는것 같다.

내 친구는 지금 광명에 거주하고 있는데, 철산 우리은행?에 방문하신 적이 있느냐? 라고 물어봤기 때문이다.

 

그리고 이것 외에도, 아이폰을 사용하고 있느냐라고도 물어보았다. 안드로이드의 경우 apk를 설치하면 되지만 아이폰의 경우 프로파일 설정을 통해 다운받거나 해야되기 때문인듯.

 

geolocation 결과

알려준 아이피의 서버 위치는 미국 시애틀에 있다.

 

대검찰청 피싱 사이트 기술스택

클론으로 만들어진 대검찰청 피싱 사이트는 위와 같은 기술 스택을 가지고 있다. 실제 대검찰청은 Java를 사용하고 Nginx가 아닌 Apache를 사용하고 있다.

 

나의사건조회, 증명서발급에만 걸려있는 링크

검찰청 사이트는 클론떠서 만들었고, 이 피싱에서 핵심 요소인 나의 사건 안내와 증명서발급 빼고 다른 메뉴들은 모두 javascript:void(0);으로 선언되어 있어 클릭해도 아무런 이벤트를 발생시키지 않는다.

 

나의사건조회 결과

이름과 주민등록번호는 모두 더미 데이터로 기입해서 상세 페이지로 넘어오면 나의사건조회 결과에서 이렇게 보여진다.

 

URL에 포함되어 있는 이름과 주민등록번호

이 과정에서 서버에 이름과 주민등록번호를 저장하지는 않는 것으로 판단하고 있으나, GET 방식을 사용하기 때문에 저장을 하던 안하던간에 서버 접속 로그에 이름, 주민등록번호 앞자리, 뒷자리가 남게 된다.

 

서버에 저장하지 않는 이유로 추측되는 소스코드

1) html 소스코드 정황상 백엔드에서 쿼리 파라미터(이름, 주민등록번호 앞자리, 뒷자리)를 가져다서버 사이드 랜더링을 해서 쓰지 않고, 프론트에서 GetQueryString이라는 함수를 통해 파라미터를 불러온다.

2) 접속 시 보여지는 파일 확장자는 html로 클라이언트를 위한 파일이다.

 

function GetQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if(r != null) return decodeURI(r[2]);
    return null;
}

이건 그냥 GetQueryString이 뭘 하는 함수인지 확인해봤다. 그냥 별건 없고 정규식으로 search param에서 값 가져오는 함수다.

 

나한테 보이스피싱 맞냐고 물어본 이 친구는 내 답변을 듣자마자 전화를 끊어서 어떻게 진행되는진 모르겠으나, 과연 그 다음은 무엇일까 궁금해서 인터넷 기사를 확인했고 그 기사를 인용해보았다.

가짜 검찰청 홈페이지는 지난 2008년에도 보이스피싱 범행에 사용됐을 정도로 고전적인 수법이다. 검찰 등 공공기관이 주는 신뢰를 이용해 피해자들을 믿게 만들고 통장 계좌번호, 비밀번호 등 개인정보를 빼내는 방식이다. 지난 8월 광주지검이 가짜 검찰청 홈페이지를 사용한 보이스피싱 범죄단체 조직원 12명을 기소할 정도로 최근에도 피해자가 빈번하게 발생하고 있다.
http://m.kmib.co.kr/view.asp?arcid=0016534430

 

내 블로그를 보거나 우연찮게 보신분들 혹시나 검색을 못하셨던 분들도 다들 조심하자!

Comments