banner
뉴스 센터
즉시배송

TurkoRat infostealer를 호스팅하는 합법적인 npm 패키지가 발견되었습니다.

Oct 11, 2023

루시안 콘스탄틴

CSO 선임 작가, CSO |

최근 몇 년 동안 공개 소프트웨어 저장소에서 악성 코드를 사전에 모니터링하려는 노력에도 불구하고 악성 코드를 묶은 패키지가 이러한 장소에 계속해서 일상적으로 나타납니다. 연구원들은 최근 2개월 넘게 탐지되지 않은 합법적인 것처럼 보이는 패키지 2개를 식별하고 TurkoRat이라는 오픈 소스 정보 도용 트로이 목마를 배포했습니다.

공격자는 여러 가지 방법으로 사용자를 속여 악성 패키지를 다운로드하도록 시도하며, 타이포스쿼팅은 많은 노력이 필요하지 않기 때문에 가장 널리 사용되는 방법 중 하나입니다. 이 기술에는 합법적인 패키지를 복사하고, 여기에 악성 코드를 추가하고, 사용자가 실제 패키지를 검색할 때 찾을 수 있기를 바라면서 원본의 변형인 다른 이름으로 게시하는 작업이 포함됩니다.

최근 소프트웨어 공급망 보안 회사인 ReversingLabs의 연구원들의 관심을 끌었던 nodejs-encrypt-agent라는 패키지의 경우가 의심스러운 특성과 행동의 조합을 보여주었습니다. 첫째, npm 레지스트리의 패키지 이름이 readme.md 파일에 선언된 이름(agent-base)과 다릅니다. 둘째, 레지스트리에 업로드된 패키지의 첫 번째 버전은 6.0.2였습니다. 이는 새 패키지가 일반적으로 1.0 이하와 같은 낮은 버전으로 시작되기 때문에 이례적입니다.

연구자들이 에이전트 기반을 검색했을 때 모든 것이 이해되었습니다. 이 패키지는 레지스트리에서 가장 인기 있는 버전이 6.0.2이고 다운로드 횟수가 2천만 건이 넘는 합법적인 패키지입니다. 코드 비교를 통해 nodejs-encrypt-agent는 몇 가지 수정 사항을 가미한 에이전트 기반 코드 베이스의 사본일 뿐이라는 사실이 드러났습니다. 실제로, 악성 패키지에는 에이전트 기반의 GitHub 페이지에 대한 링크도 포함되어 있어 더 합법적인 것처럼 보일 수 있습니다.

연구원들은 보고서에서 "ReversingLabs 팀은 수백만 개의 의심스러운 패키지를 분석하는 과정에서 함께 볼 때 악의적인 활동을 매우 암시하는 여러 가지 동작 조합을 식별했습니다"라고 밝혔습니다. "예를 들어, 코드에 하드 코딩된 IP 주소가 포함되어 있으면서 명령을 실행하고 파일에 데이터를 쓰는 오픈 소스 패키지는 일반적으로 악성으로 판명됩니다. 사실입니다. 개별적으로는 이러한 기능이 전혀 없습니다. , 악성입니다. 그러나 결합되어 있는 경우 일반적으로 악성 기능을 지원하는 것으로 보입니다."

공격자가 에이전트 기반 코드를 수정한 방법은 패키지가 다운로드되어 시스템에 설치된 직후 새 패키지와 함께 전달된 PE(이식 가능) 파일을 실행하는 것이었습니다. 이 파일을 자동으로 분석한 결과 Windows 시스템 디렉터리에서 파일을 작성 및 삭제하고, 시스템 명령을 실행하고, 시스템의 DNS(Domain Name System) 설정을 수정하는 기능이 식별되었으며 모두 의심스러운 것으로 보였습니다.

수동 분석을 통해 이 악성코드는 감염된 시스템에서 로그인 자격 증명과 암호화폐 지갑을 훔치도록 설계되었다는 사실도 추가로 밝혀졌습니다. 또한 분석을 더욱 어렵게 만드는 안티 샌드박스 및 디버깅 기능도 포함되었습니다. 연구자들이 이것이 JavaScript로 작성되고 Node.js 프레임워크에서 작동하도록 설계된 오픈 소스 인포스틸러인 TurkoRat의 복사본이라는 것을 깨닫는 데는 오랜 시간이 걸리지 않았습니다.

연구원들은 “이 특정 버전의 TurkoRat 악성코드는 npm 패키지 pkg를 사용하여 필요한 모든 파일을 단일 패키지 실행 파일로 묶었습니다.”라고 밝혔습니다. "모든 파일은 패키지된 애플리케이션이 런타임 중에 액세스할 수 있는 가상 파일 시스템 또는 스냅샷 내에 있습니다."

Discord의 TurkoRat 프로젝트에 따르면 이 악성코드는 Discord 및 Telegram의 인증 및 세션 토큰을 훔칠 수 있습니다. 모든 주요 브라우저의 비밀번호, 쿠키, 자동 완성 및 기록 그리고 다수의 암호화폐 지갑. 스크린샷 촬영도 가능합니다. 수집된 모든 정보는 공격자가 구성한 웹훅 URL로 다시 전송될 수 있습니다.