HttpTroy 백도어
김수키(Kimsuky)로 추적되는 북한 연계 공격자가 'HttpTroy'로 추적되는, 이전에는 발견되지 않았던 백도어를 한국의 단일 표적에 배포하는 것이 관찰되었습니다. 공개된 정보에는 구체적인 타임라인이 포함되어 있지 않았지만, 연구원들은 이번 침입이 VPN 청구서를 사칭하여 피해자가 악성 아카이브를 열도록 유도하는 정교하게 제작된 피싱 패키지에서 시작되었다고 보고했습니다.
목차
납품 및 초기 실행
감염은 VPN 장비 청구서로 위장한 ZIP 파일에서 시작되었습니다. 내부에는 Windows SCR 파일이 있었는데, 실행되면 자동화된 3단계 실행 체인이 시작됩니다. 첫 번째 단계는 Golang 바이너리로 구현된 작은 드로퍼입니다. 이 드로퍼에는 세 가지 내장 리소스가 포함되어 있는데, 그중 하나는 악성 활동이 백그라운드에서 감지되지 않도록 사용자에게 미끼로 표시되는 무해한 PDF 파일입니다.
실행 체인
- 소형 Golang 드로퍼(임베디드 디코이 PDF 및 기타 페이로드 포함)
- MemLoad라는 로더 구성 요소
- HttpTroy라는 이름의 최종 DLL 백도어
지속성 및 로더 동작
로더인 MemLoad는 드로퍼와 동시에 실행되며 지속성 및 페이로드 배포를 처리합니다. 'AhnlabUpdate'라는 예약된 작업을 생성하는데, 이는 의심을 줄이기 위해 안랩을 흉내 내는 명백한 시도이며, 이 작업을 사용하여 백도어가 지속적으로 로드되도록 합니다. MemLoad는 또한 DLL 백도어를 복호화하고 호스트 프로세스 공간에 주입하여 실행되도록 합니다.
백도어가 제공하는 기능
- 피해자 호스트에 임의의 파일을 업로드 및 다운로드합니다.
- 데스크탑의 스크린샷을 캡처합니다
- 상승된 권한으로 명령을 실행하고 역방향 셸을 생성합니다.
- 실행 파일을 메모리에 직접 로드하고 실행합니다(파일 없는 실행)
- 프로세스를 종료하고 활동 흔적을 제거합니다.
명령 및 제어 및 네트워크 동작
HttpTroy는 load.auraria.org로 식별된 C2 도메인으로 POST 요청을 전송하여 일반 HTTP를 통해 컨트롤러와 통신합니다. HTTP POST를 사용하면 특별히 프로파일링하지 않는 한 네트워크 트래픽이 일반 웹 트래픽과 섞이게 됩니다.
분석 방지 및 난독화 기술
이 임플란트는 정적 분석 및 시그니처 탐지를 방해하기 위해 여러 계층의 난독화 기법을 사용합니다. API 이름과 문자열을 하드코딩하는 대신, 사용자 지정 해시 루틴을 통해 API 호출을 숨기고 XOR 및 SIMD 방식 조작을 통해 텍스트 아티팩트를 은폐합니다. 중요한 것은 동일한 해시 값이나 문자열 인코딩을 재사용하지 않는다는 것입니다. 이 악성코드는 다양한 산술 및 논리 연산을 사용하여 필요한 API 해시와 문자열을 즉석에서 재구성하기 때문에 리버스 엔지니어링 및 시그니처 생성 비용이 증가합니다.
귀속 및 맥락
행동 지표와 표적 지정은 이 활동을 Kimsuky와 연관시킵니다. 이 공격은 한국인 수신자를 겨냥한 표적 스피어피싱으로 보입니다. 연구진은 사건의 정확한 시점을 공개하지 않았습니다.
결론
HttpTroy 관련 잠재적 감염을 탐지하고 완화하기 위해 조직은 의심스러운 예약된 작업, 특히 합법적인 공급업체 업데이트로 위장한 작업을 시스템에 면밀히 모니터링해야 합니다. 네트워크 방어 체계는 알려지지 않았거나 흔하지 않은 외부 도메인으로 향하는 HTTP POST 통신을 식별하고 플래그를 지정하여 가능한 경우 전송된 데이터를 심층적으로 검사할 수 있도록 구성해야 합니다.
보안팀은 예상치 못한 SCR 파일과 인식되지 않은 Golang 바이너리가 엔드포인트 전반에서 실행되는 것을 제한하거나 차단하는 것이 좋습니다. 또한, 메모리 내 코드 실행을 식별하고 비정상적인 프로세스 주입 활동을 탐지할 수 있는 강력한 엔드포인트 보호 솔루션을 구축하면 침해 위험을 크게 줄일 수 있습니다.