로딩
티스토리 데이터 처리 중입니다.

인스타그램 DM 으로 유포 되는 네이버 계정 탈취 목적 김수키(Kimsuky)에서 만든 네이버 피싱 사이트 분석

 인스타그램 DM 으로 유포 되는 네이버 계정 탈취 목적 김수키(Kimsuky)에서 만든 네이버 피싱 사이트 분석

북한 해킹 조직 김수키가 제작한 피싱 사이트는 네이버 로그인 화면으로 가장해 사용자를 속이는 것이 특징으로 나타난다. 피싱 페이지의 구성은 예전보다 간소화되어 진짜와 비슷한 화면 구성을 갖추고 있으며 인스타그램 DM을 통해 네이버 계정 탈취를 목적으로 확산되는 수법이 확인된다. 공격자는 hxxps://ncafe-article(.)media 도메인으로 접속을 유도하고 로그인 입력 시 입력값이 특정 서버로 전송되도록 설계되어 있다. 자세한 전송 경로로는 입력된 아이디와 비밀번호가 ncafe-article(.)media/api/login 로 전송되는 구조가 확인된다.

피싱 페이지의 핵심 로직은 외부 JS 파일인 ../assets/index-MQiTgOJp(.)js 내에 포함되어 있다. 구조적으로는 React/Vite 기반의 SPA 형태를 닮았으며 HTML 자체는 비교적 비어 있고 실제 화면 구성, 로그인 폼, 버튼, 입력값 수집, 서버 전송 로직은 JavaScript 실행으로 동적으로 구현된다. 의심 포인트로는 브라우저 탭 제목이 네이버 로그인으로 위장되고 description도 네이버 카페 글처럼 보이게 만드는 등 사용자 유인 요소가 포함된다. Open Graph 메타데이터 역시 og:title 은 네이버 카페 글 제목처럼 보이게 하고 og:description 은 실제 피해 사연의 글 같아 보이도록 구성되며 og:image 는 네이버 카페 이미지나 썸네일로 위장된다. 페이지는 링크 공유 단계에서도 네이버 카페 글처럼 보이도록 디자인되어 있어 클릭을 유도한다.

언어 설정 역시 불일치를 보인다. 문서 html lang가 en으로 설정돼 있으나 실제 내용은 한국어 독자에게 노출되며, index-MQiTgOJp.js 분석 결과 로그인 화면을 사칭하는 프런트엔드 로직이 존재한다. 자바스크립트 코드의 전송 로직은 POST 방식으로 /api/login, /api/login-vip, /api/login-nid 등의 엔드포인트로 사용자가 입력한 데이터와 함께 세션 식별자인 sessionId를 전송하도록 설계되어 있다. 입력 흐름은 아이디 입력 시 userId 상태에 저장되고 비밀번호 입력 시 password 상태에 저장된 뒤 로그인 버튼 클릭 시 제출 이벤트가 발생해 서버로 데이터가 전송된다. 이 과정은 HTTP 디버거를 통해서도 확인 가능하다.

결론적으로 입력된 아이디와 비밀번호는 ncafe-article(.)media/view/482915 경로에서 수집되어 ncafe-article(.)media/api/login 로 전송되며, 네이버 아이디·비밀번호를 탈취하는 피싱 계정 수집의 목적이 명확하게 드러난다. 피싱 화면의 위장 요소와 공유 단계의 설계로 인해 일반 브라우저 화면뿐 아니라 링크 공유 과정에서도 사용자를 속이려는 특징이 두드러진다. 이 피싱의 구성 요소를 이해하는 것은 유사한 위협을 예측하고 차단하는 데 중요한 단서가 된다.