Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
box-js — JavaScript 악성코드 연구를 위한 도구입니다. | Kitploit
도구/GitHubGitHub/capacitorset/box-js
Indicator of Compromise (IOC) ManagementDynamic Analysis (Sandboxing)ForensicsMalware Analysis
GitHubcapacitorset/box-js

box-js

JavaScript 악성코드 연구를 위한 도구입니다.

저장소 보기
67288213개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

box.js

npm Build Status paypal

악성 JavaScript를 분석하는 유틸리티입니다.

설치

npm에서 box-js를 간단히 설치합니다:

npm install box-js --global

box-js는 또한 다음 형태로 제공됩니다:

  • Cuckoo 모듈로 (integrations 디렉토리 및 Nwinternights/Cuckoo_Boxjs 참조);
  • Dockerfile로 (integrations/README.md 참조);
  • 보안 전문가용 배포판의 패키지로 (REMnux, BlackArch);
  • 오픈 소스 애플리케이션의 일부로 (Intel Owl);
  • 상용 타사 서비스의 일부로 (any.run).

사용법

sample.js라는 샘플이 있다고 가정해 봅시다. 분석하려면 다음을 실행하면 됩니다:

box-js sample.js

페이로드를 다운로드하려는 경우가 많을 것입니다. 다운로드를 활성화하려면 --download 플래그를 사용하세요. 그렇지 않으면 엔진이 404 오류를 시뮬레이션하여 스크립트가 배포 사이트가 다운되었다고 속아서 대체 사이트에 접촉하게 됩니다.

Box.js는 Windows JScript 환경을 에뮬레이션하고, 에뮬레이션 결과 요약을 콘솔에 출력하며, sample.js.results라는 폴더를 생성합니다(이미 존재하는 경우 sample.js.1.results 등으로 생성됩니다). 이 폴더에는 다음이 포함됩니다:

  • analysis.log - 화면에 출력된 분석 로그;
  • UUID로 식별되는 일련의 파일들;
  • snippets.json - 샘플이 실행한 코드 조각 목록(JavaScript, 셸 명령 등);
  • urls.json - 접촉한 URL 목록;
  • active_urls.json - 활성 악성코드를 드롭하는 것으로 보이는 URL 목록;
  • resources.json - ADODB 스트림(즉, 스크립트가 디스크에 쓴 파일)과 파일 유형 및 해시;
  • IOC.json - IOC(침해 지표)로 식별된 동작 목록. 레지스트리 접근, 기록된 파일, HTTP 요청 등이 포함됩니다.

직접 분석하거나 Malwr, VirusTotal 또는 Cuckoo 샌드박스에 자동으로 제출할 수 있습니다. 자세한 내용은 box-export --help를 실행하세요.

추가적인 격리를 위해 임시 Docker 컨테이너에서 분석을 실행하는 것이 좋습니다. 자세한 내용은 integrations/README.md를 참조하세요.

분석을 자동화하려면 반환 코드를 사용할 수 있습니다. 반환 코드는 integrations/README.md에 문서화되어 있으며, 다양한 오류 유형을 구분하는 데 도움이 됩니다.

'document' 객체 또는 다른 객체/함수가 없어 분석 실패 시

Git에서 box-js 저장소를 복제하면 boilerplate.js 파일이 포함되어 있습니다. 이 파일은 document와 같은 일반적인 브라우저 객체의 스텁 버전을 정의합니다. --prepended-code=DIR/boilerplate.js 옵션을 사용하여 분석을 다시 실행해 보세요. 여기서 DIR은 복제된 box-js 저장소의 디렉토리입니다. 또는 --prepended-code=default를 사용할 수도 있습니다. --prepended-code 옵션은 box-js가 주어진 파일의 JavaScript를 분석 대상 샘플 앞에 추가하도록 지시합니다.

boilerplate.js를 복사하여 필요에 따라 자신만의 스텁 클래스, 객체 등을 추가할 수 있습니다. --prepended-code=show-default 명령줄 옵션을 사용하면 기본 box-js boilerplate.js 파일의 전체 경로를 출력합니다.

배치 사용

box.js는 일반적으로 단일 파일에 사용되지만, 배치 분석도 실행할 수 있습니다. 분석할 파일 또는 폴더 목록을 전달하면 됩니다:

box-js sample1.js sample2.js /var/data/mySamples ...

기본적으로 box.js는 샘플을 병렬로 처리하며, 코어당 하나의 분석을 실행합니다. --threads 값을 지정하여 다른 설정을 사용할 수 있습니다. 특히 0으로 설정하면 제한이 제거되어 box-js가 가능한 많은 분석 스레드를 생성하여 매우 빠른 분석이 가능하지만 시스템에 과부하가 걸릴 수 있습니다(분석은 일반적으로 CPU 바운드이며 RAM 바운드가 아닙니다).

--loglevel=warn을 사용하면 분석 관련 메시지를 숨기고 진행 정보만 표시할 수 있습니다.

분석이 완료된 후에는 다음과 같이 활성 URL을 추출할 수 있습니다:

cat ./*.results/active_urls.json | sort | uniq

플래그

도구 다운로드