개요

APT 그룹은 C2(Cobalt Strike, Havoc, Sliver 등) 운영 과정에서 특정 TLS 동작과 기본 인증서와 같은 디지털 흔적을 남길 수 있습니다. JARM은 TLS 서버에 능동적으로 Client Hello를 보내 Server Hello의 특정 속성을 수집한 뒤 JARM 지문으로 만들어, 같은 프레임워크에 해당하는 서버 후보를 찾아내는 신호로 쓰일 수 있습니다. 본 가이드는 이 신호를 Shodan과 함께 사용해 C2 인프라 후보를 추적하는 절차와 판단 근거를 다룹니다.
적용 환경·전제조건
- 이 기법의 검색 대상은 Shodan에 공개적으로 관측·인덱싱된 엔드포인트입니다.
- JARM 값은 프레임워크와 런타임이 TLS 응답을 바꾸지 않아 지문이 유효할 때 사용할 수 있습니다.
- 기본 SSL/TLS 인증서 신호는 제공된 근거에서 명시된 Cobalt Strike 중심 관찰에 한해 적용됩니다.
- Shodan의 'Cobalt Strike Beacon' 제품 필터는 해당 인덱싱 정책과 스캔 범위에 의존하며, 제공된 연구가 기술한 2021년 11월 당시의 인덱싱 상태가 전제가 됩니다.
- JARM 기반 연결 의심 판단은 Alexa Top 1M 기준에 시점이 따르며 예외가 있을 수 있습니다.
- JA3/JA3S 조합은 두 지문을 함께 사용할 수 있는 환경에서 적용할 수 있습니다.
기술 절차·판단 근거
- JARM은 타깃 TLS 서버에 TLS Client Hello 패킷을 능동적으로 송출하고, Server Hello 응답의 특정 속성을 수집해 해시한 JARM 지문을 생성합니다.
- 프레임워크 버전과 런타임이 TLS 응답을 바꾸지 않는 경우, C2 프레임워크는 특정 런타임 위에서 동작하면서 TLS 응답 프로파일이 고정적으로 나타날 수 있습니다. 이 고정 지문값으로 Shodan의 ssl.jarm 필터를 쿼리하면 인터넷에 노출된 해당 C2 서버를 검색할 수 있습니다.
- 제시된 자료에 따르면, Java 11 기준 Cobalt Strike의 대표적 JARM 해시는
07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1입니다. - 제시된 자료에 따르면, Golang 기준 Sliver C2의 대표적 JARM 해시는
2ad2ad0002ad2ad00041d2ad2ad41da5207249a18099be84ef3c8811adc883입니다. - 제시된 자료에 따르면, Mythic C2의 대표적 JARM 해시는
2ad2ad0002ad2ad00042d42d000000ad9bf51cc3f5a1e29eecb81d0c7b06eb입니다. - 제공된 연구에 따르면, C2 프레임워크 중 특히 Cobalt Strike는 초기 설치 시 기본 SSL/TLS 인증서를 생성하는 것으로 기술됩니다. 경험이 부족하거나 서둘러 설치한 공격자가 이 인증서를 교체하지 않으면 Shodan 같은 인터넷 검색 엔진에 기본 인증서 정보가 그대로 노출되어 스스로를 드러낼 수 있습니다. 이는 Cobalt Strike에 한정된 조건부 관찰이며, 모든 C2 프레임워크에 일반화할 수 있는 사실은 아닙니다.
- 제공된 연구는 Shodan이 2021년 11월 이후 스캔에서 포착한 Cobalt Strike C2 서버를 'Cobalt Strike Beacon'이라는 제품으로 대시보드에 인덱싱하기 시작했다고 기술합니다. 따라서 이 인덱싱에 기반한 제품 필터로 C2 인프라를 검색하는 방식이 제안된 것입니다. 이 설명은 해당 시점의 Shodan 인덱싱 상태를 전제로 하며, 현재에도 동일하게 지원되는지, 스캔 범위와 결과가 동일한지는 자료에서 확인되지 않습니다.
- JA3와 JA3S를 조합하면 클라이언트와 서버 간 전체 암호화 협상 지문을 만들 수 있습니다. 서버는 같은 클라이언트에는 항상 동일하게 응답하므로, 이 조합으로 특정 C2와 내부 호스트 간 TLS 협상을 매칭할 수 있습니다.
운영상 영향
- JARM 지문 기반 C2 서버는 Alexa Top 1M 웹사이트와 거의 겹치지 않는 것으로 제시되므로, 조직 내 호스트가 해당 지문을 가진 서버에 연결할 가능성은 낮습니다. 연결이 관찰되면 의심 신호로 판단할 수 있습니다. 이 판단은 Alexa Top 1M 기준과 시점에 의존하며 예외가 존재할 수 있습니다.
- Shodan의 'Cobalt Strike Beacon' 제품 필터는 제공된 연구에서 2021년 11월 당시 스캔에서 포착한 Cobalt Strike C2 서버를 대시보드에 인덱싱하는 기반을 가지고 설명됩니다. 별도 JARM 쿼리 없이 이 필터로 C2 인프라를 검색하는 방식은 해당 인덱싱이 전제될 때 제안되며, 현재 지원 상태는 확인되지 않습니다.
탐지·대응
- JARM 또는 기본 인증서 기반 헌팅으로 발견된 C2 인프라는 해당 C2와 통신한 내부 호스트를 식별하는 데 활용할 수 있습니다.
- 같은 방식으로 확보한 공격자 인텔리전스는 이후 분석과 조사에 사용할 수 있습니다.
- 유사 공격자를 대상으로 한 선제 탐지 규칙을 구성할 때, 확인된 C2 인스턴스와 TLS 신호를 기준으로 삼을 수 있습니다.
- 이 활용은 가이드 목적의 조건부 운영 해석입니다. 특정 탐지 규칙, 임계값, 차단 절차는 제공된 자료에서 확인되지 않으므로 별도로 검증해야 합니다.
한계 및 참고자료
- JARM 지문은 프레임워크와 런타임의 TLS 응답에 의존하며, 제시된 값은 자료의 특정 시점과 기준에 해당하는 예시입니다.
- Shodan 인덱싱 정책과 스캔 범위에 따라 특정 C2 서버가 누락되거나 필터 결과가 달라질 수 있으며, 'Cobalt Strike Beacon' 제품 필터의 현재 지원 상태는 자료에서 확인되지 않습니다.
- 기본 인증서 신호는 제공된 근거에서 Cobalt Strike에 한정되어 기술되며, 인증서를 교체한 공격자에게는 적용되지 않습니다.
- Alexa Top 1M 비교는 특정 시점과 기준에 의존하며, 예외 주소를 완전히 배제하지 않습니다.
- 제공된 자료에는 정량적 false positive율, 네트워크 차단 기준, 특정 탐지 쿼리 결과가 포함되어 있지 않습니다.
참고자료
함께 읽으면 좋은 글
- 웹 인증 테스트 가이드: 계정 열거부터 MFA·세션 상태 전이까지
- CVE-2026-77995 대응 가이드: Joomla miniOrange OAuth 임의 계정 탈취 점검
- APT29와 같은 활동의 여러 표지: '동일'이 아니라 '겹침'으로 보는 이유
본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.
댓글 (0)
댓글을 작성하려면 로그인이 필요합니다.
로그인아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!