요약 - PyPI 플랫폼에서 새로운 공급망 공격 시도인 Revival Hijack 적발
- PyPI의 패키지 삭제 관련 정책을 교묘하게 악용
내용 - PyPI 플랫폼에서 22,000개 이상의 패키지에 영향을 미치는 공급망 공격 Revival Hijack 확인
> PyPI에서 개발자가 자신의 패키지를 삭제한 경우, 누구나 동일한 이름으로 패키지를 생성할 수 있음
> 공격자는 이를 악용해 유명 패키지와 동일한 이름을 가진 악성 패키지를 등록
> 관련된 실험을 진행한 결과, PyPI 플랫폼에서는 아무런 경고도 발생하지 않음
기타 - PyPI은 이와 관련된 정책을 검토하는 중
> 해당 정책이 적용되기 전까지 다운로드하는 패키지를 철저히 검사하는 과정 필요

 

보안뉴스

 

PyPI 생태계에서 발견된 악성 캠페인, 패키지 삭제 정책 악용해

보안 외신 핵리드에 의하면 PyPI 플랫폼에서 새로운 공급망 공격 시도가 적발됐다고 한다. 이 캠페인의 이름은 리바이벌하이잭(Revival Hijack)이라고 하며, PyPI의 패키지 삭제 관련 정책을 교묘하게

www.boannews.com

 

New Supply Chain Attack "Revival Hijack" Risks Massive PyPI Takeovers

Follow us on Twitter (X) @Hackread - Facebook @ /Hackread

hackread.com

 

Revival Hijack - PyPI hijack technique exploited in the wild, puts 22K packages at risk

JFrog’s security research team continuously monitors open-source software registries, proactively identifying and addressing potential malware and vulnerability threats to foster a secure and reliable ecosystem for open-source software development and de

jfrog.com

 

요약 - Typosquatting을 이용한 공급망 공격은 오래전부터 인기
- CI/CD 솔루션 GitHub Actions이 Typosquatting에 취약한 것이 확인
내용 - CI/CD 솔루션 GitHub Actions이 Typosquatting에 취약
> 개발자가 알아차리지 못하는 사이에 애플리케이션이 악성코드를 실행하도록 만들 수 있음
> 누구나 임시 이메일 계정으로 GitHub 계정을 만들어 GitHub Action을 게시할 수 있기 때문에 가능

- GitHub Actions에서 Typosquatting를 악용한 약 198개의 파일이 발견
기타 - 이름과 출처를 신뢰할 수 있는지 확인

 

보안뉴스

 

GitHub Actions Vulnerable to Typosquatting, Exposing Developers to Hidden Malicious Code

Typosquatting in GitHub Actions is a rising security threat, risking software supply chain attacks.

thehackernews.com

1. 개요

- Apple에서 나온 거의 모든 장비에 영향을 주는 10년간 방치되어 있다 발견 [1]
- 취약점은 종속성 관리자 CocoaPods 프로그램에서 발생 [2]
- 악용한 시도는 아직까지 확인되지 않았으며, 취약점은 패치됨

 

1.1 관련 용어

구분 설명
Pod 프로젝트의 Dependency 상황을 서술하고 있는 파일
Dependency(의존성) 소프트웨어를 구성하는 요소들끼리 상호 의존하는 관계
CocoaPods Swift와 Objective-C 언어로 만들어진 애플리케이션들의 디펜던시 관리를 편리하게 해 주는 오픈소스로, 팟들을 관리
Swift 개발 언어 중 하나
Objective-C
Trunk 코코아팟즈와 연결된 서버로, 팟들을 저장하고 관리

 

2. 주요내용

2.1 CocoaPods 마이그레이션

- 2014년 CocoaPods은 새롭게 구축한 Trunk 서버로 마이그레이션
- 마이그레이션으로 인해 모든 Pod의 소유자가 초기화
Pod의 원 소유자들은 CocoaPods에 연락해 Pod에 대한 소유권을 주장
- 그러나 일부 Pod 소유자들은 소유권을 주장하지 않았고, 1,870개의 Pod가 주인 없이 방치

 

2.2 CVE-2024-38368 [3]

[사진 1] CVE-2024-38368

의의 사용자가 방치된 Pod의 소유권을 획득할 수 있는 취약점 (CVSS: 9.3)

누구나 Pod에 접근 및 내용을 수정이 가능하여 악성코드 삽입 가능
> 방치된 Pod는 기본 CocoaPods 계정(unclaimed-pods[@]cocoapods.org)과 연결되어 있었음
> 또한, Pod의 소유권을 주장할 수 있는 공개 API 엔드포인트가 사용가능해 누구나 검증 없이 Pod의 소유권을 획득할 수 있었음

 

- 공격자는 해당 API에 대상 Pod를 포함한 간단한 CURL 요청을 통해 소유권 획득 가능

# Curl request for changing ownership of a targeted orphaned pod
curl -X 'POST' \
 -H 'Host: trunk.cocoapods.org' \
 -H 'Content-Type: application/x-www-form-urlencoded' \
--data-binary 'owner[name]=EVA&email=research@evasec.io'
--data-binary 'pods[]=[TARGET_UNCLAIMED_POD]&button=SEND'
 'hxxps://trunk.cocoapods.org/claims'

 

2.3 CVE-2024-38366 [4]

[사진 2] CVE-2024-38366

이메일 도메인의 MX 레코드 유효성을 확인하는 rfc-822 라이브러리에의해 발생하는 원격 코드 실행 취약점 (CVSS: 10.0)

> rfc-822 라이브러리는 MX 레코드 유효성 검증을 위해 셸 명령을 실행하여 이로 인해 원격 코드 실행이 가능해짐
익스플로잇에 성공시 모든 Pod 소유자들의 세션 토큰 덤프하고 클라이언트 트래픽 조작 가능하며, 서버 자체를 완전히 셧다운 시키는 것도 가능

 

[사진 3] 취약한 rfc-822 구현

① mx_records()
> 38행: 이메일 주소를 받아 모듈의 EMAIL 정규식 패턴과 비교하여 검증
> 41행: 제공된 이메일 주소에서 분할된 도메인 부분을 이용해 raw_mx_records() 호출
② raw_mx_records()
> 49~51행: 도메인 부분 수신 및 DNS MX 레코드 검증을 위해 host_mx() 호출
③ host_mx()
> 53~55행: 임의의 OS 명령 '/usr/bin/env host -t MX #{domain}'을 실행하고, 이를 사용자가 제공한 이메일의 도메인과 연결
적절한 검증 없이 제공된 이메일 주소에 대해 OS 명령을 실행하여 취약점 발생

 

[영상 1] 취약점 시연 영상 [5]

2.4 CVE-2024-38367 [6]

[사진 4] CVE-2024-38367

- 사용자들의 상호작용 없이 세션 인증 토큰을 탈취할 수 있는 제로클릭 취약점 (CVSS: 8.2)

> 취약점은 세션 유효성 검사 URL을 구성하는 sessions_controller 클래스의 'Trunk' 서버 소스 코드에 위치

 

[사진 5] sessions_controller.rb

① request.host_wth_port()
> 21행: 세션 검증 URL의 도메인 부분을 생성하며, 새 세션이 생성 및 생성된 링크가 이메일을 통해 전송
request.host_wth_port()는 Host 헤더나 다른 환경 변수 값보다 X-Forwarded-Host 헤더를 우선시

 

- 공격자는 조작된 X-Forwarded-Host를 통해 스푸핑된 도메인이 포함된 세션 검증 URL을 생성공격자 메일로 전송
> 공격자는 검증 URL을 통해 세션 토큰을 탈취할 수 있음

POST /api/v1/sessions HTTP/1.1
Host: trunk.cococapods.org
Content-Type: application/json; charset=utf-8
Accept: application/json; charset=utf-8
User-Agent: CocoaPods/1.12.1
Accept-Encoding: gzip, deflate
X-Forwarded-Host: research.evasec.io
Content-Length: 78

{
  "email":"research@evasec.io",
  "name":"EVAResearch",
  "description":null
}

 

3. 대응방안

- 패치 적용

구분 설명
CVE-2024-38368 23.09 commit 71be5440906b6bdfbc0bcc7f8a9 fec33367ea0f4
CVE-2024-38366 23.09 commit 001cc3a430e75a16307f5fd6cdff1363ad2f40f3
CVE-2024-38367 23.10 commit d4f66f49cedab449af56a21ab697b9f7b97

 

- 기타 방안

① 모든 CocoaPods 관리자와 개발자들이 항상 같은 버전의 podfile.lock 파일을 보유하고 있어야함

> 동기화를 제대로 해야 모든 구성원이 똑같이 사용할 수 있으며 비정상적인 것들을 일찍 발견할 수 있음

② Trunk 서버에 Pod을 하나 호스팅한 뒤 다운로드하여 내부적으로 보유하고 있는 Pod와 비교해 CRC 검사 수행

> 배포하려는 것과 보유하고 있는 것이 정말로 같은 파일인지 확인하는 것

③ 서드파티 코드를 쓰려면 여러 번 확인 과정을 거칠 것

④ 주인 없는 Pod 사용 여부 점검

⑤ 인기있는 Dependency를 사용해야 한다면 더더욱 주의를 기울이고 검사에 만전을 기해야 함

> 공격자들은 유명한 것들을 더 활발히 악용

 

4. 참고

[1] https://www.evasec.io/blog/eva-discovered-supply-chain-vulnerabities-in-cocoapods
[2] https://cocoapods.org/
[3] https://nvd.nist.gov/vuln/detail/CVE-2024-38368
[4] https://nvd.nist.gov/vuln/detail/CVE-2024-38366
[5] https://www.youtube.com/watch?v=nO84n2v3ZyM
[6] https://nvd.nist.gov/vuln/detail/CVE-2024-38367
[7] https://www.boannews.com/media/view.asp?idx=131055&page=1&kind=1

1.  개요

- 최근 수년간 소프트웨어 공급망을 통한 다양한 침해사고 발생

- 인프라를 운영하며 관련 법률에서 제정한 다양한 규정 준수 및 보안 인증 등을 위해 다양한 솔루션이 사용

- 솔루션 증가는 공격자 입장에서 더 많은 선택권이 주어지는 것이므로, 현재 사용되는 솔루션의 위험성을 인식할 필요

- 금보원은 공격자의 관점에서 모의해킹을 진행공급망 공격을 분석한 ‘레드아이리스 인사이트 리포트 : Campaign ThirdEye’를 발간 [1]

※ 내용의 민감성을 고려하여 요약본 게시

 

2. 주요 내용

2.1 3rd Party 솔루션 유형 분류

구분 설명
형태별 분류 - 단일 소프트웨어 형태
- 하드웨어와 소프트웨어가 포함된 어플라이언스 장비 형태
기능별 분류 - 업무용 솔루션: 그룹웨어 / 웹 메일 / 메신저 / 문서 편집 / 업무포탈 등
- 보안 솔루션: 통합인증 / 망분리 및 망연계 / 계정관리 / 서버접근통제 등

 

2.2 3rd Party 취약점 분석

구분 설명
파일 업로드 취약점 - 파일업로드 기능을 이용해 악의적인 웹쉘 파일을 업로드하는 취약점
> 웹쉘 업로드 성공시 구동하는 웹 서비스 권한으로 쉘 획득 및 후속 공격이 가능
> 게시판 모듈의 취약점을 악용한 사례가 가장 많이 발견(개발사 폐업, 지원 종료, 업데이트 미적용 등)

- 세부 사례
① 업로드 확장자 검증 미흡
> 대부분 최신 버전 에디터는 기본적으로 JSP 등 악의적인 파일 업로드를 방지하기 위해 확장자 제한
> 일부 구버전 게시판 에디터의 경우 별도 검증 없이 파일 첨부 기능을 제공

② 관리자 페이지를 통한 파일 업로드
> 관리용 기능에서는 별도의 보안 검증을 수행하지 않는 경우가 많음
> 실질적으로 관리자 페이지 및 URL이 노출되지 않더라도 추측 및 무작위 대입을 통해 URL 식별 가능
> 원활한 관리를 위해 원격 접근을 허용하는 경우 또한 존재

 

2.3 써드아이(ThirdEye) 캠페인

- 3rd Party 솔루션 모의해킹 시나리오를 심층 분석해 가상의 해킹작전 (오퍼레이션)으로 재구성

> 이와 연관된 모든 활동을 써드아이(ThirdEye) 캠페인으로 명명

> 공격자 관점으로 시나리오별 세부적인 TTPs를 공유효율적으로 선제적 대응을 할 수 있도록 지원하는 것이 목표

[사진 1] 써드아이(ThirdEye) 캠페인

 

- 오퍼레이션별 TTPs 프로파일링

구분 설명
초기 침투 - 초기 침투시 공통적으로 파일 업로드 활용
- 각각 테스트 페이지, 에디터, 파일 전송 모듈을 찾아 악용
지속성 유지 - 재접속을 위해 웹쉘, SSH 많이 이용
- 비밀번호 변경 없이 SSH 키를 등록하거나, 관리자 계정을 생성하는 방법을 주로 사용
인증정보 - WAS 설정 파일을 복호화하여 DB 접속 정보, 관리자 계정 정보 등 탈취
접근 네트워크 확장 - 정상 프로토콜을 악용해 터널링 생성
- 주로 HTTP와 SSH 터널링을 활용
- 터널링을 맺게 되면 연결된 포트를 통해 패킷이 경유지를 거쳐 방화벽을 우회하여 직접 접근하지 못하던 네트워크에 접근이 가능 (=네트워크 피보팅)
측면 이동 - 더 많은 서버와 PC의 권한을 획득하는 것이 목적
- 정상 인증정보 확보 또는 솔루션 취약점 악용

 

2.3 대응방안

구분 설명
파일 업로드 취약점
원인 제거 및 관리
- 여러 곳에 구현된 업로드 기능을 우선적 파악
- 일반적인 기능 외에도 다양한 업로드 기능이 존재할수 있음
- 예시: 업로드 허용 확장자, 타입, 용량 제한 / 업로드 경로 실행권한 제거 / 업로드 경로 분리 등
서버 내 인증정보 관리 - 비밀번호 하드코딩 금지
- 필요시 암호화 적용 및 엄격한 파일 권한 설정
비밀번호 설정 및
점검 강화
- 유추하기 쉬운 키워드가 포함되지 않도록 설정
- 비밀번호 설정 정책, 가이드, 교육 외에도 실제 점검을 수반
솔루션 점검 및
계정 모니터
- 솔루션은 다수의 PC 및 서버와 연동되어 있으며, 높은 권한을 지님
- 솔루션 자체에 대해서도 계정, 포트, 정책 등 다양한 점검이 필요

 

[사진 2] 핵심 조치 필요 사항

3. 결론

- 솔루션 도입을 통해 효율적으로 관리를 시도하나, 관리 인원이 추가되지 않고 관리 요소만 증가하는 경향

- 공격자들은 이미 수년전부터 공급자인 제조사를 해킹해 소스코드 탈취해 취약점 확보 후 공격에 악용

- 패치 되지 않았거나, 계정 관리가 되지 않거나, 중앙 집중 관리 솔루션 등에 대해 접근통제 및 모니터링 필요

 

4. 참고

[1] https://www.fsec.or.kr/bbs/detail?menuNo=1011&bbsNo=11420
[2] https://www.boannews.com/media/view.asp?idx=127420&page=1&kind=1

1. 개요

- 23.06.07 지니언스社 Genian NAC 업데이트 서버에 침해사고 의심 정황 발견
> Genian NAC 솔루션 고객사는 금융권, 가상자산 거래소, 제약회사, 방송사, 언로사 등 약 2400 곳
> 23.06.07 경찰의 본사 시스템 조사 후 23.06.08 KISA 신고 
> 23.06.30 홈페이지에 관련 입장문 게시
※ 지니언스: NAC, EDR 솔루션 등을 제공하는 보안 기업
※ Genian NAC: 지니언스에서 개발 및 서비스하는 네트워크 접근 제어 솔루션
※ NAC: 네트워크에 접속하는 사용자나 기기를 식별, 인증, 통제

 

2. 주요내용

- 지니언스 업데이트 서버에서 고객사 NAC 정책서버임의의 파일이(확인되지 않은 파일) 전송된 것을 확인
> 업데이트 서버가 침해되었다고 판단 후 공격자 및 침투 경로 확인 중
※ 업데이트 서버는 클라우드에 위치해 고객사에 설치된 NAC 정책서버와 통신하여 GPDB(Genian Platform DB) 등 동작에 필요한 정보를 주기적으로 업데이트하는 기능을 수행

 

- 솔루션 자동 업데이트를 설정한 고객사를 중심으로 피해 사례가 확산
> 자동 업데이트를 설정한 고객사에 관련 정보 통보

 

- 업데이트 서버의 로그 파일 전수 조사를 통해 파일이 전송된 일부 고객사 확인 및 고지 조치
> 관계당국과 협조하여 고객사의 침해 여부 조사 및 장비 교체 완료

 

- 현재까지 확인된 사항
① 고객사 피해는 확인되지 않음
② 기존 업데이트 체계 전면 중단
③ 새로운 업데이트 체계 및 서버 준비 완료
④ Genian NAC 패치 준비 완료
⑤ 침해 여부 확인을 위한 점검 툴 개발 완료 및 배포

 

3. 기타

- EDR, GPI(내PC지키미) 및 Cloud NAC 제품은 영향 없음
- 고객의 NAC 정책 서버가 폐쇄망에 설치되어 있는 경우 영향 없음
- 추가 진행사항이 있는 경우 지속적 공지 약속

 

4. 참고

[1] https://www.genians.co.kr/notice/2023
[2] https://www.boannews.com/media/view.asp?idx=119744
[3] https://www.edaily.co.kr/news/read?newsId=02912646635646968&mediaCodeNo=257&OutLnkChk=Y

'취약점 > Supply-Chain Attack' 카테고리의 다른 글

Apple CocoaPods 공급망 공격  (0) 2024.07.03
XZ Utils 라이브러리 백도어 (CVE-2024-3094)  (0) 2024.04.01
리포재킹(Repojacking) 공격  (0) 2023.09.14
3CX 공급망 공격  (0) 2023.04.06
요약 - 깃허브(GitHub) 생태계에서 또 다시 멀웨어 유포 시도가 발견
- 유명 보안 전문가가 개발한 개념증명용 코드로 위장하여 멀웨어 유포
내용 - GitHub 및 Twitter를 대상으로 하는 공급망 공격이 발견
> 7개의 깃허브 계정과 4개의 트위터 계정 확인
※ 깃허브 계정: AKuzmanHSCS, RSahHSCS, BAdithyaHSCS, DLandonHSCS, MHadzicHSCS, GSandersonHSCS, SSankkarHSCS
※ 트위터 계정: AKuzmanHSCS, DLandonHSCS, GSandersonHSCS, MHadzicHSCS
> 멀웨어를 Google Chrome, Signal, Microsoft Exchange Server, Discord 등의 제로데이 PoC로 속여 배포
> 배포된 멀웨어는 Windows 및 Linux에서 모두 동작
> 멀웨어 배포에 성공했는지 여부는 확실하지 않음

- 정상적인 사용자로 보이도록 하기위해 허구 정보 추가
> 존재하지 않는 보안회사 "High Sierra Cyber ​​Security"의 직원인 것처럼 가장
> 보안 전문가의 프로필 사진 도용
> 사용자들의 관심을 끌기위한 여러 태그 사용

- "Discord 0-day RCE PoC" 저장소의 poc.py 파일은 사용자 호스트 OS에 따라 다른 페이로드를 사용
> Windows인 경우 "cveswindows.zip" 파일을 다운로드
> Linux인 경우 "cveslinux.zip" 파일을 다운로드
> 각각의 파일은 VT에서 매우 높은 탐지율을 보이며, 기존에 알려진 형태의 문자열이 포함

- 현재 관련된 깃허브 및 트위터 계정은 삭제 또는 일시정지된 상태 
기타 - 깃허브는 세계 최대의 오픈 소스 코드 저장소이며 트위터 또한 다수의 사용자들을 보유
> 전문가들은 매우 정교하고 심각한 결과를 초래할 수 있는 공급망 공격이 될 수 있다고 주장

 

보안뉴스

 

제로데이 개념증명용 코드인 줄 알았는데 사실은 멀웨어

보안 외신 핵리드에 의하면 깃허브(GitHub) 생태계에서 또 다시 멀웨어 유포 시도가 발견됐다고 한다. 이번에는 유명 보안 전문가가 개발한 개념증명용 코드로 둔갑해 있는데, 이를 다운로드 받으

www.boannews.com

 

Warning: Fake GitHub Repos Delivering Malware as PoCs

Follow us on Twitter @Hackread - Facebook @ /Hackread

www.hackread.com

 

Fake Security Researcher GitHub Repositories Deliver Malicious Implant - Blog - VulnCheck

VulnCheck discovers a network of fake security researcher accounts promoting hidden malware.

vulncheck.com

 

1. 3CX

- 영상 회의 솔루션인 PBX와 기업용 통신 앱(윈도용, 맥OS용, 리눅스용)인 3CX 데스크톱앱을 제공하는 벤더사

 

2. 취약점

- 3CX는 전 세계 60만 개 기업이 고객사로 알려져 있으며, 솔루션을 사용하는 사람은 매일 약 1200만 명으로 알려짐

- 다수의 보안 업체에서 3CX 데스크톱앱 바이너리의 정상 업데이트 파일에서 수상한 행동 패턴의 확인을 알렸고, 관련 조사를 통해 확인

- 국내 모 대학에서 공급망 공격이 알려지기 이전에 18.12.407 버전과 18.12.416 버전의 3CX Electron Windows App 설치 로그 확인

- 북한의 라자루스(Lazarus)로 추정되는 해킹 그룹이 CVE-2013-3900 및 고푸람 멀웨어를 이용, 윈도우와 맥 사용자들을 대상으로 3CX의 VoIP 데스크톱 애플리케이션을 침해

고푸람(Gopuram)
- 2020년 동남아시아 암호화폐 기업에서 최초 발견된 백도어
- 여러 기능을 가진 모듈을 포함: 데이터 탈취, 추가 멀웨어 설치, 임의 서비스 시작, 종료 및 삭제, 피해자 시스템의 직접 제어 권한 등
- 애플제우스(AppleJeus)라는 또 다른 백도어가 함께 설치
- 고푸람, 애플제우스 모두 라자루스와 연관

 

영향받는 제품 및 버전
① Electron Windows application shipped in Update 7
- 18.12.407
- 18.12.416

② Electron macOS application
- 18.11.1213
- 18.12.402
- 18.12.407
- 18.12.416

 

2.1 CVE-2013-3900

- 2013년에 발견되고 패치된 취약점

- 당시 MS의 설명에 따르면, 익스플로잇에 성공한 공격자들은 서명된 실행파일에 악성 코드를 삽입할 수 있게 된다고함

- MS는 윈도 오센티코드(Windows Authenticode)로 서명된 바이너리들의 인증 방식 자체를 변경

> 서명된 바이너리를 누군가 변경하면 해당 바이너리를 더 이상 서명된 바이너리로 윈도우가 인식하지 않도록 한 것

> ‘옵트인’ 방식으로 이루어졌으며, 사용자들이 패치를 적용할 것인지 말 것인지를 선택하도록 함

 

2.2 공격 방식

- 애플리케이션의 설치 패키지(MSI 파일) 내에 있는 두 개의 DLL이 공격자에 의해 감염

- 3CX의 인증서로 서명되어 있었으며, 자동 업데이트를 통해 DLL 파일을 유포

- 유포된 DLL은 추가 악성 파일을 설치 및 실행하여 정보 유출형 악성코드 인포스틸러 설치

 

- 공격 방식은 다음과 같음

① 침해된 파일 3CXDesktopApp.exe가 실행되면, DLL Side-Loading 기법으로 ffmpeg.dll이 로드

> ffmpeg.dll: d3dcompiler.dll에서 악성쉘 코드를 읽고 로드 및 실행하기 위해 사용되는 트로이목마 DLL

 

② ffmpeg.dll은 다시 d3dcompiler.dll을 DLL Side-Loading 기법으로 로드

> d3dcompiler.dll: 입력된 16진수 문자열 뒤에 암호화된 쉘코드가 추가된 DLL

[사진 1] d3dvompiler.dll 로드 과정

 

③ d3dcompiler.dll은 쉘코드를 복호화해 C2 접근을 위한 ICO 파일이 있는 GitHub 저장소 엑세스

> 3jB(2bsG#@c7 키와 함께 RC4를 사용하여 악성 쉘코드 복호화

> GitHub에 엑세스하지 못하면 프로세스 종료

> GitHub 저장소: raw[.]githubusercontent[.]com/IconStorages/images/main/icon[.]ico_현재는 삭제되어 접속 불가

[사진 2] 하드코딩된 GitHub 저장소

 

④ ICO 파일을 이용해 C2 엑세스 시도

- Window

> ICO 파일: Based64 인코딩 및 AES+GCM 암호화 사용

> ICO 파일의 뒷부분에는 실제 C&C 서버의 주소들이 인코딩되어 존재하며, 이를 복호화 할 경우 실제 C&C 서버 주소가 확인

[사진 3] 공격에 사용된 ICO 파일

 

> 다운로더는 ICO 파일의 뒷부분에서 “$” 시그니처를 검색한 후 인코딩된 문자열을 찾아 복호화

[사진 4] ICO 파일에 삽입된 인코딩 데이터

 

[사진 5] 복호화된 C2 주소

 

- MAC

> 공격자는 DMG 설치 파일에 악성코드를 삽입

[사진 6] MAC 공격에 사용된 파일

 

> 설치 파일 내부에 존재하는 공유 라이브러리 파일들 중 libffmpeg.dylib 파일에는 C&C 주소가 XOR 인코딩되어 저장되어 있음

[사진 7] XOR 인코딩된 C2 주소 목록

 

⑤ 인포스틸러 멀웨어로 정보 수집

> 지정된 애플리케이션이 아닌 임의 애플리케이션에 의해 로드되면 에러 발생

> 3CXDesktopApp 폴더에서 config.json 파일을 확인하여 호스트 이름, 도메인 이름, OS 버전 정보 수집

[사진 8] config.json 확인

> 미리 정의된 문자열 목록을 이용해 Chrome, Edge, Brave 브라우저의 History 및 FireFox의 places.sqlite 정보 수집

[사진 9] 미리 정의된 문자열 목록

 

[사진 10] 공격 방식 요약

2.2.1 DLL Side-Loding 기법

- 안티바이러스 S/W에 의해 탐지되는 것을 우회하여 악성코드를 전파하기 위해 사용하는 기법 중 하나

- 윈도우 OS의 DLL loading 메카니즘을 악용한 기법

 

- 윈도우 애플리케이션 실행 과정에서 필요한 시점에 동적으로 라이브러리를 호출하는데, 이를 DLL (Dynamic Linking Library)이라 함

- 이때, 필요한 DLL의 이름은 애플리케이션에 따라 내부에 명시되어 있거나, 없을 수도 있음

- 만약 DLL이 애플리케이션 내부에 명시되어 있지 않은 경우 OS에 미리 정의된 순서에 따라 DLL을 찾음

Window OS의 DLL 검색 순서
① Application이 load 된 Directory
② 현재 Directory
③ 시스템 Directory
④ 16비트 시스템 Directory
⑤ Windows Directory
⑥ PATH 환경 변수에 나열된 Directory

 

- DLL 검색 순서를 악용해, 특정 애플리케이션이 사용하는 DLL이 아닌 악성코드가 포함된 DLL을 OS가 먼저 검색하여 실행하도록하는 기법

- 단, 악성 DLL의 이름정상 DLL의 이름동일해야 함

 

3. 조사 보고서

- MANDIANT는 해당 사건에 대한 분석 보고서를 발표

- 해당 공격은 과거 발생한 1차 공급망 공격이 2차 공급망 공격으로 이어진 최초의 사례

[사진 11] 공격 과정 요약

 

3.1 내용 요약

① 최초 침입 벡터: 트레이딩 테크놀로지스(Trading Technologies) 소프트웨어 엑스트레이더(X_TRADER) 설치 패키지

- 엑스트레이더는 금융거래를 목적으로 사용하는 소프트웨어

- 공격자는 모종의 사유로 트레이딩 테크놀로지스를 침해해 엑스트레이더 설치 패키지를 감염

> 공격에 사용된 파일명: X_TRADER_r7.17.90p608.exe (MD5: ef4ab22e565684424b4142b1294f1f4d)

> 엑스트레이더는 2020년 서비스가 종료되었지만, 웹 사이트에서 2022년에도 다운로드가 가능했음

> 또한, 감염된 소프트웨어에를 서명하는데 사용된 인증서는 2022.10 만료되도록 설정

 

② 3CX 직원이 감염된 설치 패키지 다운 및 실행

- 감염된 소프트웨어 설치파일 setup.exe를 실행 및 악성 파일이 추출되어 백도어 설치

> SIGFLIP: RC4로 페이로드를 해독하고 바이트 시퀀스 FEEDFACE를 사용하여 쉘코드 검색

> DAVESHELL: 드로퍼 역할을 수행하는 쉘코드

> VEILEDSIGNAL (MD5: c6441c961dcad0fe127514a918eaabd4): C2 통신을 위한 백도어로, C2 주소 하드코딩

 

③ 공격자의 내부 이동 및 공격 지속성 유지

- 백도어와 오픈 소스 FRP를 이용해 3CX 내부를 이동하며 자격 증명을 수집

> FRP: NAT 또는 방화벽 뒤에 있는 로컬 서버를 인터넷에 노출할 수 있는 빠른 역방향 프록시

- 공격을 지속하기 위해 추가작업 수행

> Window: Taxhaul 멀웨어로 DLL 사이드로딩을 사용하여 지속성을 달성하고 탐지 가능성을 줄이며, Coldcat 다운로더를 배포

> Mac: POOLRAT 백도어로 지속성 달성

 

④ UNC4736 공격 그룹

> 3CX 공급망 공격과 트레이딩 테크놀로지스 공급망 공격의 배후를 모두 북한 해킹그룹으로 추정되는 UNC4736로 지목

 

⑤ 3CX는 공격을 탐지하는 데 사용할 수 있는 YARA 규칙 및 IoC 공유 

 

4. 대응방안

① 벤더사 관련 공지 참고

> 3CX에서는 현재 새로운 인증서 발급 준비 중이며, 인증서 발급 전까지 PWA 애플리케이션을 대신 사용할 것을 권장

> PWA 설치 가이드: https://www.3cx.com/blog/releases/web-client-pwa/

 

② 관련 프로그램 삭제

> 제어판 > 프로그램 및 기능 > 3CX Desktop App 제거

 

③ 공개된 IoC 정보 등을 보안 장비에 적용 및 모니터링

 

④ CVE-2013-3900 패치를 찾아 적용

> 윈도 11의 경우 해당 패치를 적용하였더라도, 재적용 필요_새 버전의 OS가 패치를 되돌리기도 하기 때문

 

⑤ 안티바이러스 S/W, OS 최신 버전 업데이트 등의 기본 보안수칙 준수

 

5. 참고

[1] https://www.trendmicro.com/en_us/research/23/c/information-on-attacks-involving-3cx-desktop-app.html
[2] https://www.sentinelone.com/blog/smoothoperator-ongoing-campaign-trojanizes-3cx-software-in-software-supply-chain-attack/
[3] https://www.kaspersky.com/blog/supply-chain-attack-on-3cx/47698/
[4] https://www.bleepingcomputer.com/news/security/cryptocurrency-companies-backdoored-in-3cx-supply-chain-attack/
[5] https://www.bleepingcomputer.com/news/security/hackers-compromise-3cx-desktop-app-in-a-supply-chain-attack/
[6] https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/3cx-supply-chain-attack
[7] https://asec.ahnlab.com/ko/50797/
[8] https://www.boannews.com/media/view.asp?idx=116815&page=1&kind=1
[9] https://www.boannews.com/media/view.asp?idx=116779&page=1&kind=1
[10] https://www.boannews.com/media/view.asp?idx=115665&kind=1&search=title&find=3cx 

[11] https://www.boannews.com/media/view.asp?idx=116997&kind=1&search=title&find=3cx

[12] https://asec.ahnlab.com/ko/50965/

[13] https://www.mandiant.com/resources/blog/3cx-software-supply-chain-compromise

[14] https://github.com/fatedier/frp

[15] https://www.boannews.com/media/view.asp?idx=117351&page=3&kind=1 

개요 - 정체를 알 수 없는 사이버 공격자가 파이토치(PyTorch)라는 머신러닝 프로젝트에 악성 바이너리를 몰래 삽입
- 악성 프로젝트를 PyPI에 등록 후 파이토치와 관련된 누군가가 12월 25 ~ 30일 사이에 이를 다운로드
내용 - 공격자들이 디펜던시 혼동 공격(dependency confusion attack)을 실시
디펜던시 혼동 공격
소프트웨어 개발 도구가 공개 및 비공개 저장소에서 서드파티 패키지를 끌어오는 기본 방식에서 새롭게 발견된 논리적 결함
> 비공개 저장소에 호스팅된 커스텀 패키지 대신에 커뮤니티 저장소에 게시된 악성 패키지를 끌어오도록 만드는 것

- 공격자들은 torchtriton이라는 이름의 악성 패키지를 만들어 PyPI에 등록
- torchtriton은 파이토치 프로젝트와 관련이 있는 코드 라이브러리
- 악성 패키지에는 torchtriton의 여러 기능이 똑같이 포함 + 훔친 데이터를 특정 도메인에 업로드하는 기능
- 피해자의 시스템 정보, 사용자 이름, 환경 변수, 피해자의 시스템과 연결된 모든 호스트, 비밀번호 해시 목록, 피해자의 홈 디렉토리에 저장된 파일 1천 개를 훔쳐가는 것으로 조사

- PyPI를 노리는 공격 시도는 크게 증가
> PyPI는 파이썬 생태계에서 중요한 위치에 있으며, 같은 이름의 패키지 등록이 가능함

- PyPI 리포지터리는 공공 리포지터리에 있는 패키지가 비공개 리포지터리에 있는 패키지보다 우선 검색 및 로딩
> torchtriton은 파이토치 프로젝트 개발자들이 프로젝트의 비공개 리포지터리에서부터 로딩
> 누군가 파이토치 내부 패키지 이름을 정확하게 알아냈다는 것을 의미
결론 - 파이토치 측은 문제를 발견하자마자 즉시 악성 패키지가 아니라 정상 패키지로 연결되도록 조치 및  torchtriton과 관련이 있는 모든 빌드들을 삭제

- 25일부터 30일 사이에 계속 파이토치로 작업을 했다면 침해의 증거가 직접적으로 존재하지 않더라도 새로운 SSH 키 값들을 생성해 활용하는 게 안전

- 12월 29일, 보안 전문가가 디펜던시 혼동 공격을 조사하며 실험하는 과정 중에 발생한 실수 게시글 업로드

 

- 보안뉴스

 

PyPI 통한 공급망 공격이 성공하여 파이토치에까지 멀웨어 심겨져

정체를 알 수 없는 사이버 공격자가 파이토치(PyTorch)라는 머신러닝 프로젝트에 악성 바이너리를 몰래 삽입하는 데 성공했다. 이들은 먼저 악성 프로젝트를 PyPI에 등록시켰는데 파이토치와 관련

www.boannews.com

+ Recent posts