암호화폐 보상 내건 페이스북 광고, 악성코드 감염 주의
익숙한 수법이라고 방심할 수는 없다. 최근 암호화폐 보상을 미끼로 한 유사한 공격 수법이 다시 확인됐다. 이번에는 암호화폐 거래소를 사칭한 페이스북(Facebook) 광고를 통해 Node.js 기반 악성코드 JSCEAL이 유포된 사례가 확인됐다. 공격자는 실제 거래소와 비슷하게 꾸민 사이트로 사용자를 유도한 뒤 운영체제에 따라 서로 다른 설치 파일을 내려보내 악성코드를 실행했다. 최근 두 달간 국내에서 약 1,500대의 PC에서 JSCEAL 감염이 확인됐으며, 윈도우뿐만 아니라 맥OS도 공격 대상에 포함됐다. 광고 클릭부터 악성코드 실행까지 JSCEAL이 사용자를 속이는 과정을 알아보자.
JSCEAL 악성코드가 설치되는 과정
JSCEAL은 Node.js 환경을 이용해 동작하는 악성코드로, 공격자는 암호화폐 거래소의 공식 프로그램을 설치하면 암호화폐 등의 보상을 받을 수 있는 것처럼 광고해 사용자의 클릭을 유도한다. 이 악성코드 공격은 특정 시점에 그치지 않고 최근까지도 국내 사용자를 대상으로 계속되고 있다.

[그림 1] 국내 JSCEAL 감염 현황(2026.08~2026.09)

[그림 2] 암호화폐 거래소 사칭 페이스북 광고
사용자가 광고를 클릭하면 암호화폐 거래소로 위장한 사이트로 연결된다. 위장 사이트는 거래소의 로고와 색상을 모방하고 실시간 암호화폐 가격 정보까지 보여줘 공식 사이트처럼 보이도록 구성됐다.

[그림 3] 암호화폐 거래소 위장 사이트와 정상 사이트 비교
하지만 페이지 내부에서는 접속한 사용자의 브라우저 환경과 광고 캠페인 관련 정보를 수집하고 운영체제를 확인하는 과정이 진행된다. 페이지에 포함된 악성 JavaScript는 접속 환경의 운영체제를 식별하고 서버로부터 설정 정보를 받아 운영체제별 설치 파일을 구성한다. 윈도우에서는 BAT 파일을, 맥OS에서는 PKG 설치 파일을 생성해 이후 악성 행위를 이어간다.
윈도우에서의 악성코드 시작점은 BAT 파일
윈도우 사용자가 위장 사이트에 접속하면 정상 설치 프로그램처럼 보이는 BAT 파일이 생성된다. 파일명에는 버전이나 설치 프로그램을 연상시키는 문자열이 포함돼 있어 사용자가 정상 파일로 오인하기 쉽다.

[그림 4] BAT 코드
해당 BAT 파일은 파워셸(PowerShell)을 이용해 외부에서 추가 코드를 내려받아 실행하는 초기 로더 역할을 한다. 이후 시스템의 보안 설정을 변경하고 예약 작업을 등록하는 한편, 정상적인 암호화폐 거래소 프로그램이 설치된 것처럼 보이도록 바탕화면 바로가기까지 생성한다.
공격자는 등록한 예약 작업을 이용해 지속성을 확보한다. 예약 작업이 실행되면 Microsoft Defender 검사 제외 대상을 추가해 방어를 회피하고, C2 서버와 통신해 추가 명령을 수신한다.

[그림 5] Binance 바로가기 파일(정상)

[그림 6] 예약 작업 등록 코드
이후 추가 압축 파일을 내려받아 압축을 해제하고, 내부에 포함된 Node.js 실행 환경을 이용해 JavaScript 또는 V8 바이트코드 형태의 JSCEAL 페이로드를 실행하는 방식이 확인됐다. 처음 내려받은 BAT 파일 자체가 최종 악성코드라기보다 추가 악성 행위를 이어가기 위한 시작점으로 사용되는 구조다.
맥OS에서는 PKG 설치 파일로 위장
맥OS에서는 윈도우와 다른 방식이 사용된다. 위장 사이트는 서버에서 전달받은 설정과 데이터를 조합해 브라우저에서 PKG 설치 파일을 구성한다. 이 역시 버전과 릴리즈 정보를 연상시키는 이름을 사용해 정상 설치 패키지로 오인될 수 있도록 한다.

[그림 7] 맥OS PKG 실행 화면
사용자가 PKG 파일을 실행하면 설치 과정에 포함된 스크립트가 외부 서버에서 추가 셸 스크립트를 내려받아 실행한다. 실행이 끝난 임시 파일은 삭제해 흔적을 줄인다.
추가 스크립트는 시스템 언어에 맞춰 위장된 대화 상자를 띄우고 사용자의 비밀번호 입력을 유도한다. 입력된 비밀번호가 실제 계정 정보와 일치하는지 확인한 뒤 별도 파일에 저장하는 동작도 확인됐다.

[그림 8] PKG 내부 postinstall 코드
이와 함께 시스템 식별 정보와 클립보드 데이터, 컴퓨터 이름, 설치 파일 관련 정보 등을 외부로 전송한다. 이후 서버로부터 받은 설정을 기반으로 LaunchAgent를 등록해 후속 명령을 실행할 수 있는 환경을 마련한다. 공격자는 이러한 과정을 통해 맥OS에서도 Node.js 실행 환경을 구성하고 JavaScript 형태의 JSCEAL 페이로드를 추가로 실행할 수 있다.
JSCEAL 악성코드 대응 가이드
JSCEAL은 윈도우와 맥OS에서 서로 다른 방식으로 악성 행위를 수행한다. 각 운영체제에서 확인된 주요 실행 흔적과 지속성 확보 여부를 중심으로 점검할 필요가 있다.
윈도우 환경
-
의심스러운 PowerShell 실행 이력과 외부 서버에서 추가 코드를 내려받아 실행한 흔적을 확인한다.
-
Microsoft Defender 검사 제외 설정이 비정상적으로 추가되거나 변경됐는지 점검한다.
-
의심스러운 예약 작업 등록 여부와 등록된 작업의 실행 내용을 확인한다.
-
정상 프로그램(Binance)이 설치된 것처럼 보이도록 생성된 바탕화면 바로가기 파일(Users\Public\Desktop\Binance.lnk)의 존재 여부를 확인한다.
-
추가 압축 파일 다운로드 및 해제 이후 Node.js를 이용한 JavaScript 또는 V8 바이트코드 실행 흔적이 있는지 점검한다.
맥OS 환경
-
설치 과정에서 추가 셸 스크립트의 다운로드·실행 흔적이 있는지 확인한다.
-
위장 대화 상자를 통해 사용자 비밀번호 입력을 유도한 정황이 있었는지 점검한다.
-
입력된 비밀번호가 검증된 뒤 별도 파일에 저장된 흔적이 있는지 확인한다.
-
Machine ID, 컴퓨터명, PKG 파일명, 클립보드 데이터 등이 외부로 전송된 흔적이 있는지 점검한다.
-
LaunchAgent를 이용한 자동 실행 항목이 비정상적으로 등록됐는지 점검한다.
-
Node.js 실행 환경이 구성된 뒤 추가 JavaScript 기반 페이로드가 실행된 흔적이 있는지 확인한다.
암호화폐 거래소 프로그램은 반드시 공식 홈페이지를 통해 직접 다운로드해야 하며, 출처가 불분명한 BAT·PKG 설치 파일은 실행하지 않는다. 프로그램 설치 과정에서 예상하지 못한 비밀번호 입력 창이 나타나면 실행을 중단하고 출처부터 확인하는 것이 안전하다.