REDCap 경유 연구망 침투


요약
중국 연계로 추적되는 UNC6508이 인터넷에 노출된 REDCap 서버를 거점으로 북미 의료 연구기관을 침해한 사례가 공개됐다. 공개일은 2026-06-15다. 침해는 REDCap 서버에 배치된 Infinitered malware와 Google Workspace content compliance rule을 결합해 장기 체류와 메일 유출로 이어졌다.
초기 침투 벡터는 공개 자료에서 확정되지 않았다. 다만 GTIG는 UNC6508이 오래되고 취약한 REDCap 버전을 탐색한 정황을 언급했다. 패치 여부만으로 침해 가능성을 배제하면 안 된다.
| 항목 | 내용 |
|---|---|
| 공개일 | 2026-06-15 |
| 추적명 | UNC6508 |
| 대상 | 미국 및 캐나다의 의료 연구 관련 조직 |
| 침투 거점 | 인터넷 노출 REDCap 서버 |
| malware | Infinitered |
| 주요 유출 방식 | Google Workspace content compliance rule 기반 BCC 전달 |
| 확인된 rule 이름 | Patroit |
| 확인된 외부 수신 주소 | BebitaBarefoot774@gmail.com |
침해 흐름
UNC6508은 REDCap 서버를 장기간 거점으로 유지했다. 공개 자료는 피해 환경에서 1년 이상 탐지되지 않은 체류를 설명한다. Infinitered는 REDCap에 맞춰 설계된 custom malware로, persistence/update module, credential harvester, backdoor로 구성된다.
| 시점 | 행위 |
|---|---|
| 2023-09 | 북미 의료 연구기관 침해 시작으로 설명됨 |
| 2023-12 전후 | 침해 약 3개월 뒤 Infinitered 배치 |
| 2023-2025 | REDCap 서버 내 장기 체류 |
| 2025-11 | 악성 활동 지속 확인 |
| 2026-06-15 | 공개 보도 및 분석 공개 |
### Exposed REDCap server
-> Infinitered persistence/update module
-> REDCap login credential harvester
-> HTTP cookie command backdoor
-> Google Workspace admin access
-> Content compliance rule: Patroit
-> BCC exfiltration to external Gmail
Infinitered
Infinitered의 credential harvester는 REDCap 로그인 흐름에서 username과 password를 가로챈다. 수집된 값은 암호화된 상태로 로컬 REDCap database table에 저장됐고, backdoor 명령으로 조회될 수 있었다.
backdoor는 HTTP cookie를 명령 전달 채널로 사용했다. 공개 자료에서 확인되는 기능은 shell command 실행, 파일 업로드·다운로드, 임의 SQL query 실행, 탈취 credential 조회·삭제, 시스템 및 database 정보 조회다.
| 기능 | 관측 지점 |
|---|---|
| shell command 실행 | 웹 서버 프로세스 하위의 비정상 shell 또는 utility 실행 |
| 파일 업로드 | REDCap 경로 또는 웹 루트 하위 신규 파일 생성 |
| 파일 다운로드 | 인증된 세션에서 반복적 파일 접근 또는 대량 응답 |
| SQL query 실행 | REDCap DB에 대한 비정상 query 패턴 |
| credential 조회 | 암호화된 credential 저장 table 접근 |
| credential 삭제 | credential 저장 table의 레코드 삭제 |
| 환경 정보 조회 | 시스템·DB fingerprinting 성격의 요청 |
점검 범위
REDCap 서버와 Google Workspace를 같은 사건 범위로 묶어 봐야 한다. 서버 침해 흔적만 제거해도 Workspace routing rule이 남아 있으면 메일 유출이 계속될 수 있다.
Google Workspace 악용
UNC6508은 Google Workspace 관리자 접근 권한을 확보한 뒤 content compliance rule을 만들었다. 확인된 rule 이름은 Patroit이다. 이 rule은 특정 keyword, content pattern, email address, phone number 조건에 맞는 메일을 외부 Gmail 주소로 BCC 전달했다.
검색 조건은 의료 연구, 첨단 기술, 군사 주제, 지정학 정책과 관련된 것으로 설명된다. 별도 relay malware가 아니라 정상 관리 기능을 쓴 방식이라, 설정 변경 이력과 외부 BCC 목적지를 함께 봐야 한다.
title: suspicious_workspace_content_compliance_rule
product: Google Workspace
log_sources:
- Admin audit
- Gmail routing settings
match:
rule_name:
- Patroit
suspicious_fields:
- external_bcc_recipient
- broad_keyword_match
- medical_research_terms
- defense_or_policy_terms
actions:
- review_admin_sessions
- disable_unknown_routing_rules
- rotate_privileged_credentials
- terminate_existing_sessions
영향 범위
REDCap은 의료·과학 연구용 database와 survey 구축에 널리 쓰인다. 이 캠페인에서 언급된 연구 영역은 molecular discovery, clinical drug trial, state-level public health policy, military readiness까지 걸쳐 있다.
피해 조직명과 전체 규모는 공개 자료에서 제한적으로만 드러난다. 내부 점검은 기관 유형보다 인터넷 노출 REDCap 운영 여부, 연구·정책·국방 관련 메일 데이터 보유 여부, Workspace 관리자 계정 노출 가능성을 기준으로 잡는 편이 정확하다.
탐지 포인트
네트워크
REDCap access log에서 고엔트로피 cookie 값과 파일 접근, SQL query, 프로세스 실행 시점이 맞물리는 요청을 찾는다. 공개 자료에 특정 cookie 이름은 제시되지 않았다.
REDCap access log review
- POST requests to REDCap login pages followed by unusual DB writes
- requests with long or high-entropy Cookie values
- repeated download-like responses from authenticated admin context
- requests followed by web server child process execution
Google Workspace에서는 content compliance rule과 Gmail routing 설정 변경을 본다. 외부 BCC 수신자, 오타처럼 보이는 rule 이름, 연구·군사·정책 키워드 기반 조건이 있으면 격리 대상이다.
엔드포인트
웹 서버 프로세스가 shell, archive utility, database client, network utility를 실행한 흔적을 확인한다. REDCap 경로 아래 신규 PHP 파일, 수정 시간이 튀는 system file, 로그인 처리부 주변의 코드 삽입도 같이 본다.
Endpoint review
- web server process spawning shell utilities
- new or modified files under REDCap paths
- unexpected PHP files in web-accessible directories
- changes around REDCap login handling code
- archive or compression activity near REDCap data paths
서버
REDCap DB에서는 최근 생성·수정된 table과 credential 저장용으로 보이는 비정상 table을 확인한다. Infinitered는 탈취 credential을 암호화해 로컬 REDCap database table에 저장한 것으로 설명된다.
SELECT table_name, create_time, update_time
FROM information_schema.tables
WHERE table_schema = DATABASE()
ORDER BY COALESCE(update_time, create_time) DESC;
SELECT table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND (
column_name LIKE '%user%'
OR column_name LIKE '%pass%'
OR column_name LIKE '%cred%'
OR column_name LIKE '%token%'
)
ORDER BY table_name, ordinal_position;
대응 포인트
인터넷에 노출된 레거시 REDCap 인스턴스는 제거하거나 최신 버전으로 올린다. 초기 exploit은 확정되지 않았으므로, 업데이트만으로 침해 여부를 배제하지 말고 파일 무결성, DB table, access log를 같이 확인한다.
REDCap 관리자, DB 계정, Workspace 관리자 계정의 credential을 교체하고 기존 세션을 종료한다. 고권한 계정에는 MFA/2SV를 적용하고, 가능한 환경에서는 세션 탈취 방어 기능도 함께 검토한다.
Workspace에서는 Patroit 또는 유사한 content compliance rule, 외부 BCC routing, 광범위 keyword 조건을 제거한다. rule 생성 시점 이후 조건에 일치해 전달됐을 수 있는 메일 범위를 산정하고, 관련 Admin audit log와 Gmail routing 설정 이력을 보관한다.
참고 자료
- Chinese hackers breach REDCap servers, steal medical research
- Chinese Hackers Abused Google Workspace Rules to Steal Research and Defense Emails