1. AD (Active Directory)

- 계정 정보와 컴퓨터에 대한 정보, 회사에서 강제하고자 하는 정책들(비밀번호 정책, 화면 보호기 설정 등)에 대한 정보를 저장하고 있는 일종의 데이터베이스

- 중앙에서 서버, 사용자 등 시스템 전반에 접근이 가능하므로, 공격자들의 주요 공격 목표가 되며, AD 계정과 접근권한 탈취 시 전체 내부망이 장악당할 수 있음

 

2. 공격유형

2.1 DCSync [2][3]

- 일반적으로 AD 환경에는 여러 DC가 포함되며, 각각의 DC는 사용자 자격 증명 업데이트와 같은 변경 사항의 상호 업데이트를 통해 동기화 유지

- 도메인 복제 권한을 보유한 특정 계정의 액세스 권한을 획득한 공격자가 DC를 가장해 정상적인 DC와 동기화를 수행

- Mimikatz의 기능 중 하나

- 정상적인 AD 통신을 악용한 공격으로 탐지 및 조치가 쉽지 않으며, 엄격한 계정 관리가 필요

 

2.2 DCShadow [4][5]

- 공격자가 탈취한 계정을 이용해 AD에 악성 도메인 컨트롤러를 등록하는 공격

- Mimikatz의 기능 중 하나

- 정상적인 AD 통신을 악용한 공격으로 탐지 및 조치가 쉽지 않으며, 엄격한 계정 관리가 필요

 

2.3 Password spray [6][7]

- AD 내 계정을 대상으로 계정당 하나의 암호를 대입하는 공격

- 계정당 암호를 한 번만 대입하기에, 무차별 대입 공격과 차이를 가지며 계정 잠금을 유발하지 않음

- 계정 설정 시 강력한 암호 정책 적용 및 비밀번호 재사용 금지 등의 정책 적용

 

2.4 Pass-the-Hash [8][9]

- Hash 된 비밀번호를 이용하는 방법으로, 공격자는 비밀번호 자체를 몰라도 접속 인증을 통과할 수 있음

- 특정 계정의 비밀번호 Hash를 획득한 후 새로운 세션을 만들어 획득한 Hash를 이용해 접속

- 공격자 시스템의 메모리 영역(ex. LSASS_사용자 인증을 위해 사용하는 프로세스)에 Hash를 미리 로드한 후, 서버에 접속

- 관리자 권한의 사용자 수 제한, 권한 분리, 최소 권한 부여 등의 정책 적용

 

2.5 Pass-the-Ticket  [10]

- 최근 AD 환경은 티켓 기반 인증 프로토콜인 Kerberos 인증을 사용

- 공격자는 Mimikatz 등으로 탈취한 Kerberos Ticket을 사용해 AD인증 시도

- 관리자 및 서비스 계정에 강력한 암호 적용, 유출된 암호 제거 등 적용

 

2.6 Golden ticket [11]

- 공격자가 TGT(Ticket Granting Ticket)를 KDC를 통하지 않고 만들어내는 액티브 디렉토리 지속성 공격

- 도메인 어드민이나 KRBTGT(KDC 서비스 계정) 유저를 장악한 뒤 진행

- AD의 기본 인증 프로토콜인 커버로스 인증은 ‘KRBTGT 암호 해시로 암호화된 모든 TGT는 정상적인 TGT’라는 전제로 구축

- KRBTGT 비밀번호 주기적 변경 등 적용

 

2.7 Service Principal Name (SPN) [12]

- SPN(Service Principal Name)은 Active Directory의 서비스 인스턴스에 대한 특수 식별자

- 커버로스는 기본적으로 어떤 도메인 유저던 간에 SPN 특성이 존재하는 서비스 유저를 상대로 한 Service Ticket을 TGS(Ticket Granting Service)를 통해 요청하고 받음

- 해당 티켓은 서비스 유저의 NTLM 해시로 암호화되어 있음

- KRB_TGS_REPTGS를 받아 서비스 티켓을 추출한 뒤, 이를 메모리상에서 빼내서 오프라인 브루트 포스 공격을 감행해 TGS가 복호화가 된다면 서비스 유저의 비밀번호를 찾아내는 공격

- 불필요한 커버로스 티켓 요청 등 모니터링, 사용자 비밀번호 변경 등 적용

 

2.8 AdminCount [13]

- AdminCount는 Active Directory 속성 중 하나로 <NOT SET>을 기본값으로 가지나 Domain Admins와 같은 보호된 그룹에 사용자가 추가될 경우 값이 1로 업데이트

- 공격자는 해당 값을 모니터링하여 관리 권한이 있는 개체를 식별

- 강력한 암호 사용, AdminCount 1 설정된 계정 모니터링 등 적용

 

2.9 AdminSDHolder [14][15]

- AdminSDHolder 개체에는 고유의 ACL이 있으며, 이 ACL은 보호된 그룹의 권한을 제어하는데 사용

- SDProp(Security Descriptor Propagation) 프로세스를 악용

- SDProp이란 60분마다 실행되어 AdminSDHolder 개체의 ACL을 AdminCount 특성이 "1"로 설정된 모든 사용자 및 그룹에 복사

- 공격자는 취약한 관리자 계정을 탈취해 일반 계정의 AdminCount를 1로 설정한 후 SDProp를 사용해 ACL을 덮어씀

- 강력한 암호 사용, AdminCount 1 설정된 계정 모니터링 등 적용

 

3. 참고

[1] https://www.bleepingcomputer.com/news/security/the-attacks-that-can-target-your-windows-active-directory/
[2] https://www.xn--hy1b43d247a.com/credential-access/dcsync
[3] https://blog.netwrix.com/2021/11/30/what-is-dcsync-an-introduction/
[4] https://www.dcshadow.com/
[5] https://blog.netwrix.com/2022/09/28/dcshadow_attack/
[6] https://m.blog.naver.com/quest_kor/221653929403
[7] https://www.xn--hy1b43d247a.com/credential-access/password-spraying
[8] https://blog.naver.com/aepkoreanet/221443237165
[9] https://www.beyondtrust.com/resources/glossary/pass-the-hash-pth-attack
[10] https://www.netwrix.com/pass_the_ticket.html
[11] https://toad.co.kr/it/?idx=13330621&bmode=view
[12] https://www.xn--hy1b43d247a.com/credential-access/kerberos/kerberoasting
[13] https://blog.netwrix.com/2022/09/30/admincount_attribute/
[14] https://www.netwrix.com/adminsdholder_modification_ad_persistence.html
[15] https://www.itgeared.com/ad-permissions-resetting-review-of/

1. Message Queuing [1]

- 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지를 임시로 저장하는 일종의 버퍼로 볼 수 있음

메시지 지향 미들웨어(Message Oriented Middleware:MOM)를 구현한 시스템으로 프로그램(프로세스) 간의 데이터를 교환할 때 사용하는 기술

메시지 지향 미들웨어
- 메시지를 전달하는 과정에서 보관하거나 라우팅 및 변환할 수 있다는 장점을 가짐
① 보관: 메시지의 백업을 유지함으로써 지속성을 제공하여 송수신 측은 동시에 네트워크 연결을 유지할 필요 없음
② 라우팅 : 미들웨어 계층 자신이 직접 메시지 라우팅이 가능하기 때문에, 하나의 메시지를 여러 수신자에게 배포가 가능(멀티캐스트)
③ 변환 : 송수신 측의 요구에 따라 메시지를 변환할 수 있음

 

- 대용량 데이터를 처리하기 위한 배치 작업이나, 채팅 서비스, 비동기 데이터를 처리할 때 활용

 

1.1 장점

- 비동기(Asynchronous) : 데이터를 수신자에게 바로 보내지 않고 큐에 넣고 관리하기 때문에 나중에 처리 가능

- 비동조(Decoupling) : 애플리케이션과 분리할 수 있기 때문에 확장이 용이해짐

- 탄력성(Resilience) : 일부가 실패하더라도 전체에 영향을 주지 않음

- 과잉(Redundancy) : 실패할 경우 재실행 가능

- 보증(Guarantees) : 작업이 처리된 걸 확인할 수 있음

- 확장성(Scalable) : N:1:M 구조로 다수의 프로세스들이 큐에 메시지를 보낼 수 있음

 

2. 취약점

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

- Microsoft Message Queuing(이하 MSMQ)에서 발생하는 원격 코드 실행 취약점으로 CVSS 9.8 할당받음

- 해당 취약점은 QueueJumper라고도 불림

- MSMQ는 TCP, UDP 모두 1801 포트 사용

영향받는 버전
- Window 10
- Window 11
- Window Server 2008 ~ 2022

 

2.1 설명

- 공격자가 악성 MSMQ 패킷을 MSMQ 서버 1801 Port로 전송하면 서버측에서 인증 없이 원격 코드가 실행

> 구체적인 PoC 등은 확인되지 않는 것으로 판단됨.

 

- 보안업체 Check Point Research에서 해당 취약점과 관련된 조사를 수행 [3]

> 네트워크에 36만개 이상의 호스트가 1801/TCP를 개방하고 MSMQ 서비스를 제공

[사진 2] SHODAN "port:1801" 검색 결과

 

> MSMQ는 기본적으로 비활성화되어 있으나, 일부 MS 관련 프로그램 설치 시 앱이 백그라운드에서 MSMQ를 활성화

※ ex) Microsoft Exchange Server 설치 중 'Automatically install Windows Server roles and features that are required to install Exchange' 옵션을 체크하여 설치할 경우

 

- 보안업체 GreyNoise에서는 해당 취약점과 관련된 2개의 크롤러를 공개하였고, 수치를 그래프로 보여줌 [4]

> 크롤러 1: MSMQ가 활성화된 장치 검색

> 크롤러 2: MSMQ 패킷에 대한 응답이 존재하는 장치 검색

> MS가 정기 보안 업데이트를 권고한 23.04.11 이후 그래프가 급증하는 것을 확인할 수 있음

[사진 3] 크롤러 2 결과 그래프

3. 대응

① MS에서 제공하는 최신 보안패치 적용 [5]

 

② 1801/TCP 포트가 외부에 오픈되지 않도록 차단

 

③ 보안패치 적용이 어려울 경우 MSMQ 비활성화

- 제어판 > 프로그램 및 기능 > Windows 기능 켜기/끄기 > MSMQ 선택 여부 확인

- 윈도우 설치 시 기본으로 비활성화 적용됨

[사진 4] Windows 기능 켜기/끄기

 

④ 모니터링

> 1801/TCP에 대한 접근 로그 검토 등

 

4. 참고

[1] https://sorjfkrh5078.tistory.com/291
[2] https://nvd.nist.gov/vuln/detail/CVE-2023-21554
[3] https://research.checkpoint.com/2023/queuejumper-critical-unauthorized-rce-vulnerability-in-msmq-service/
[4] https://twitter.com/GreyNoiseIO/status/1646216316368433152
[5] https://msrc.microsoft.com/update-guide/vulnerability/CVE-2023-21554
[6] https://www.boannews.com/media/view.asp?idx=117060&page=5&kind=1
[7] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71070&menuNo=205020 

1. 개요 [1]

- 2023.01 중국 해킹 그룹 샤오치잉은 한국을 겨냥한 메시지와 함께 해킹 진행

- 샤오치잉은 Deface Attack 및 내부 자료를 탈취해 텔레그램에 공개

 

1.1 Deface Attack [2]

- 화면 변조 공격

- 웹 사이트의 첫 화면인 홈페이지를 공격자 임의로 변경하는 공격으로, 해킹 사실을 알리기 위한 목적을 지님

- 주로 정치적 목적이나 해킹 실력 과시용으로 활용되었으나, 공격자가 웹 사이트의 권한을 획득한 것이기 때문에 정보 유출 등의 추가 피해 발생 가능

 

2. 타임라인

[사진 1] 샤오치잉 해킹 그룹의 공격 타임라인

3. 공격 기법

- 1월에는 SQL Injection, 외부에 노출된 계정정보를 사용해 침투 후 내부 정보 유출

- 2월에는 WebLogic 취약점을 악용해 웹 페이지만 변조

[사진 2] 공격 과정 요약

3.1 취약점 스캔

- 샤오치잉은 웹 사이트를 대상으로 취약점 스캔(sqlmap, Nuclei)을 수행해 공격 대상 선정

① sqlmap [3]

> SQL Injection을 탐지하여 데이터베이스 서버 침투 프로세스를 자동화한 오픈 소스 침투 테스트 도구

> User-Agent 헤더에 sqlmap이 명시되나, 옵션을 통해 변경이 가능함

 

② nuclei

> YAML 템플릿을 기반으로 공격 대상 스캔을 수행하는 취약점 점검 도구

> 공격시 sftp.json(서버 IP, 계정정보 등 SFTP 서버 설정 정보가 저장된 파일) 관련 YAML 탬플릿을 사용한 것으로 판단됨

YAML [5]
- 타 시스템 간에 데이터를 주고받을 때 약속된 포맷(규칙)이 정의되어있는 또 하나의 파일 형식
- 인간 중심으로 작성되어 가독성이 높음

 

3.2 내부 침투

- 스캔 결과 취약한 설정 및 WAS 취약점을 악용해 내부 침투

① SQL Injection

공격에 사용된 SQL Injection 설명
AND ORD(MID((SELECT IFNULL(CAST(table_name AS NCHAR),0x20) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=**** LIMIT 0,1),1,1))>64&idx=0 Table 이름 확인
AND ORD(MID((SELECT IFNULL(CAST(COUNT(column_name) AS NCHAR),0x20) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name=admin AND table_schema=****),1,1))>48&idx=0 Column 개수 확인
AND ORD(MID((SELECT IFNULL(CAST(admin_id AS NCHAR),0x20) FROM ****.admin ORDER BY admin_id LIMIT 0,1),1,1))>64&idx=0 admin Table에서 웹
관리자 계정 ID 검색
AND ORD(MID((SELECT IFNULL(CAST(admin_pwd AS NCHAR),0x20) FROM ****.admin ORDER BY admin_id LIMIT 0,1),1,1))>64&idx=0 admin Table에서 
웹 관리자 계정 패스워드 검색

 

② 계정 설정 파일 접근

> 관리자의 설정 실수로 계정정보나 민감정보가 외부에서 접근 가능하도록 설정된 경우가 더러 있음

> sftp.json은 개발환경과 웹 서버 동기화를 위한 SFTP 계정 정보를 저장한 파일로, 해당 파일이 웹 서버에 업로드된 서버를 악용

 

③ 취약한 버전의 WebLogic 악용

> Oracle에서 배포하는 WAS인 WebLogic의 오래된 버전의 취약점을 악용

> 샤오치잉이 텔레그램에 공개한 자료 중 WebLogic과 관련된 도구가 포함

구분 피해기업 1 피해기업 2 피해기업 3
운영체제 버전 Solaris 10 IBM AIX 7.1 Red Hat Enterprise Linux 5.5
WebLogic 버전 10.3.6 10.3.5 10.3.5
WebLogic
마지막 업데이트
2014 2016 2013
변조된 웹페이지
업로드 경로
[Domain Directory]/servers/*****/tmp/_WL_internal/wls-wsat/a16ls0/war/index.html [Domain Directory]/servers/*****/tmp/_WL_internal/wls-wsat/5y8uhv/war/index.html [Domain Directory]/servers/*****/tmp/_WL_internal/wls-wsat/5y8uhv/war/index.html

 

3.3 피해 발생

① 내부 정부 탈취

> "3.2 내부 침투"을 악용하면, 서버 내부 자료에 접근이 가능

> 내부 정보에 직접 접근하거나, 웹쉘 또는 백도어 등을 업로드해 내부 정보 탈취

 

② Deface Attack

> 해킹 사실을 알리기위해 웹페이지를 메인페이지와 교체하거나 추가 업로드

 

③ 자료 삭제

> 특정 기업의 경우 서버에 있는 DB를 탈취한 후 삭제 진행

 

3.4 자료 공개

- 해킹 사실 입증을 위해 탈취한 정보 공개 및 웹페이지 변조

 

4. 대응방안

① SQL Injection 공격 대응을 위해 다음 방안 준수

> 웹 서버 시큐어 코딩

> 웹 서버 공격을 방어하기 위한 WAF 도입

> 입력값 검증, 저장 프로시저 사용 등 공격자의 Query가 DB에 영향을 미치지 않도록 조치

> 최소 권한으로 DB 운영, 에러 메시지 노출 차단 등

 

② 계정 관리

> 서버 내 계정정보 업로드 여부 점검

 

③ OS, S/W 등 최신 버전 업그레이드

④ 중요 자료 백업

⑤ 모니터링 강화, 웹 로그 점검, WebLogic의 경우 로그 저장 기간 연장

⑥ KISA 보안공지와 같은 OSINT 활용

 

5. 참고

[1] https://kisa-irteam.notion.site/09d3e4c83a784380acc3b36271a1f58a
[2] https://www.boannews.com/media/view.asp?idx=113709
[3] https://sqlmap.org/
[4] https://github.com/projectdiscovery/nuclei
[5] https://inpa.tistory.com/entry/YAML-%F0%9F%93%9A-yaml-%EA%B0%9C%EB%85%90-%EB%AC%B8%EB%B2%95-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%F0%9F%92%AF-%EC%B4%9D%EC%A0%95%EB%A6%AC
[6] https://ggonmerr.tistory.com/177

'취약점 > 기타' 카테고리의 다른 글

Netcat(nc) 명령어 -e 옵션  (0) 2023.05.06
AD(Active Directory) 공격  (0) 2023.04.20
IFS(Internal Field Separator) String  (0) 2023.02.01
DNS Zone Transfer  (0) 2022.12.07
Brute Force Attack  (0) 2022.11.16

1. WinVerifyTrust [2][3]

- Window에서 지정된 개체에 대한 신뢰 확인 작업을 수행하는 함수

 

2. 취약점

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

- 취약한 버전의 Window WinVerifyTrust 함수의 서명 유효성 검사 취약점으로인해 발생하는 임의 코드 실행 취약점

- 공격자는 해당 취약점을 악용해 기존 서명을 유지하고, 서명된 파일을 수정하여  파일에 악성 코드 추가 가능

영향받는 버전
① Microsoft Windows XP SP2 및 SP3
② Windows Server 2003 SP2
③ Windows Vista SP2
④ Windows Server 2008 SP2 및 R2 SP1
⑤ Windows 7 SP1
⑥ Windows 8
⑦ Windows 8.1
⑧ Windows Server 2012 Gold 및 R2
⑨ Windows RT Gold 및 8.1

 

3. 대응방안

① 벤더사 제공 업데이트 적용 [5]

- MS는 Windows Authenticode로 서명된 바이너리들의 인증 방식 자체를 변경
> 서명된 바이너리를 누군가 변경하면 해당 바이너리를 더 이상 서명된 바이너리로 윈도우가 인식하지 않도록 한 것
> ‘옵트인’ 방식으로 이루어졌으며, 사용자들이 패치를 적용할 것인지 말 것인지를 선택하도록 함

※ 옵트인: 당사자가 개인 데이터 수집을 허용하기 전까지 당사자의 데이터 수집을 금지하는 제도

 

- 그러나, 2014.07.29 Microsoft는 더 이상 지원되는 Microsoft Windows 릴리스의 기본 기능으로 더 엄격한 확인 동작을 시행할 계획이 없다고 발표

> 사실상 패치가 되지 않은 채(사용자 스스로 패치를 진행하지 않는 이상) 사용 중

 

- 레지스트리 편집을 통해 취약점 수정이 가능 [6][7]

> 해당 취약점에 관한 실질적인 조치 방안이 아닌것으로 확인됨

> 레지스트리를 수정하여도 Window 업데이트 시 해당 레지스트리가 삭제되기 때문

 

- 23.04 Microsoft는 해당 취약점을 포함한 총 97개의 보안 패치를 발표 [8][9]

> 또한 제로데이 취약점과, 초고위험도 취약점 및 랜섬웨어 유포에 악용된 취약점이 포함되어 있어 패치 적용 필수

 

4. 참고

[1] https://nvd.nist.gov/vuln/detail/CVE-2013-3900
[2] https://learn.microsoft.com/en-us/windows/win32/api/wintrust/nf-wintrust-winverifytrust
[3] https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms537361(v=vs.85)?redirectedfrom=MSDN
[4] https://github.com/advisories/GHSA-8cj2-jg77-qj2p
[5] https://learn.microsoft.com/en-us/security-updates/securitybulletins/2013/ms13-098
[6] https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900

[7] https://learn.microsoft.com/en-us/answers/questions/1182542/cve-2013-3900-winverifytrust-signature-validation

[8] https://msrc.microsoft.com/update-guide/releaseNote/2023-Apr

[9] https://www.boannews.com/media/view.asp?idx=117060&page=2&kind=1 

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] 공격에 사용된&nbsp;ICO 파일

 

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

[사진 4]&nbsp;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 

1. 개요

- 23.03.16 대상 기관이 데이터 유출 및 랜섬웨어 피해를 당했다고 사칭하는 피싱메일이 미국에서 발견

- 공격자는 자신들의 안내를 따르지 않을 시 DDoS 공격을 감행하겠다고 협박

- 국내에서도 랜섬웨어 및 DDoS 등 관련 피해가 급증하는 것으로 확인되어 주의 필요

 

[사진 1] KISA 보호나라 2023_사이버 보안 위협 전망 보고서.pdf 中 랜섬웨어(좌) 및 DDoS(우) 증가 추이

 

2. 내용

- 공격자는 피싱메일에서 자신이 "Midnight"이라 소개

- 또 다른 메일에서 Midnight 그룹이 "Surtr 랜섬웨어"와 "Silent 랜섬웨어"를 사칭하는 것으로 확인됨

Surtr 랜섬웨어
- 2021년 말 처음 등장한 RaaS
- 파일 암호화 후 ".Surtr" 확장자 추가
- Revil 랜섬웨어 그룹과 협력했을 가능성이 존재

Silent 랜섬웨어
- 비싱(Vishing, VoIP + Phishing)으로 랜섬웨어 유포하며, 콜백 피싱으로도 불리는 기법을 이용
- 피해자에게 자동 결제 연장 등의 피싱메일 발송
- 피해자가 메일 내 제공된 전화번호로 연락
- 공격자는 피해자에게 정보를 요구하거나 문제 해결을 위해 RDP 등의 원격 접속 도구 등 설치 유도
- 설치된 원격 접속 도구를 이용해 네트워크 접속 및 랜섬웨어 유포

 

- 피해 대상을 어떤 기준으로 선정되었는지 불분명하나 DDW, SNS, 뉴스 등에서 정보를 얻었을 것으로 판단

- 그러나 일부 랜섬웨어 피해자가 포함되어 있어, 다른 랜섬웨어 조직과의 협력의 가능성도 대두

 

- 공격자는 메일을 통해 서버에서 900GB의 "필수 데이터"를 탈취 하였다고 주장

- 공격자는 대상의 고유 데이터를 사용하여 신뢰성을 부여하고, 실제 공격보다 훨씬 적은 비용을 요구

[사진 2] 랜섬웨어 피해 사칭 메일

 

- 관련된 또 다른 메일에서는 피해자가 금전을 지불하도록 압력을 목적으로 DDoS 공격 협박

- "Phantom Squad"라는 이름을 가진 DDoS 협박 그룹의 방식과 유사

- 실제로 금전을 지불하지 않은 피해자에게 DDoS 공격을 진행하였으나, 낮은 수준의 공격크기 였음

Phantom Squad (팬텀 스쿼드)
- 금전을 지불하지 않으면 DDoS 공격을 하겠다고 협박한 스팸성 피싱메일로 다수 판단
- 그러나 실제로, Xbox Live, Sony PlayStation, Steam 등에 DDoS 공격을 감행한 이력이 있음
- 0.2 비트코인(~$720)을 요구

 

3. 참고

[1] https://www.bleepingcomputer.com/news/security/fake-ransomware-gang-targets-us-orgs-with-empty-data-leak-threats/
[2] https://www.boho.or.kr/kr/bbs/view.do?searchCnd=&bbsId=B0000127&searchWrd=&menuNo=205021&pageIndex=1&categoryCode=&nttId=67084
[3] https://www.bleepingcomputer.com/news/security/ransomware-gangs-move-to-callback-social-engineering-attacks/
[4] https://www.bleepingcomputer.com/news/security/ddos-extortion-group-sends-ransom-demand-to-thousands-of-companies/

1. INISAFE CrossWeb EX V3

- 이니텍에서 제작하였으며, 공동인증서를 사용해 로그인하거나 전자서명할 때 쓰이는 S/W

- 국내 금융기관 및 쇼핑몰 등 다수 홈페이지에서 사용자 인증서 처리를 위해 주로 사용

- 사용자가 홈페이지에 접속하면 자동 설치됨

 

2. 취약점

- 작년말 북한이 해당 S/W의 취약점을 악용해 PC 해킹 및 악성코드 유포 등 해킹한 사실이 국정원·경찰청·KISA 등 유관기관에 의해 적발

- 국가·공공기관 및 방산·바이오업체 등 국내외 주요기관 60여곳의 PC 210여대를 해킹한 사실을 확인

- 해킹에 악용된 S/W는 국내외 1,000만대 이상의 기관·업체·개인 PC에 설치되어 있는 것으로 추정

- 대규모 피해 확산 방지를 위해 관계기관과 합동으로 관련 사실을 공지

영향받는 버전
- INISAFE CrossWeb EX V3 3.3.2.40 이하 버전

 

2.1 취약점 상세

- 해당 취약점은 INITECH사 프로세스(inisafecrosswebexsvc.exe)에 의해 악성 행위가 발생되는 것으로 확인됨

피해 시스템의
inisafecrosswebexsvc.exe
특징
- INITECH사의 보안 프로그램인 INISAFE CrossWeb EX V3의 실행 파일
- 정상 파일과 같은 해시값을 가짐 (MD5:4541efd1c54b53a3d11532cb885b2202)
- INITECH사에 의해 정상 서명된 파일
- INISAFE Web EX Client로 침해 시점 이전부터 시스템에 설치되어 있었으며, 변조의 흔적 또한 발견되지 않음
- 시스템 부팅 시 iniclientsvc_x64.exe에 의해 실행되는데, 침해 당일에도 같은 방식으로 실행

 

- 악성코드인 SCSKAppLink.dll이 inisafecrosswebexsvc.exe 프로세스에 인젝션되어 동작

※ DLL 인젝션: 다른 프로세스의 주소 공간 내에서 DLL을 강제로 로드시킴으로써 코드를 실행시키는 기술

- SCSKAppLink.dll에는 호스트 프로세스에 따라 분기하는 코드가 포함

 

[사진 1] 분기 코드

 

- 분기 코드는 inisafecrosswebexsvc.exe 프로세스에 인젝션되어 동작하는 경우 특정 C2에 접속하여 추가 악성코드를 다운 및 실행

※ svchost.exe, rundll32.exe, notepad.exe에 인젝션 여부를 판단하도록 돼있으나, 해당 분기문에는 실행 코드가 포함되지 않음

 

[사진 2] 호스트가 inisafecrosswebexsvc.exe인 경우 접속하는 C2 주소

 

- C2에 접속하여 임시폴더에 악성코드 main_top[1].htm 다운로드 후 특정 경로에 복사

> 다운로드 경로 : c:\users\<사용자>\appdata\local\microsoft\windows\inetcache\ie\zlvrxmk3\main_top[1].htm

> 복사된 경로 : C:\Users\Public\SCSKAppLink.dll

 

[사진 3] 동작 과정

 

3. 대응방안

① 서비스 운영자: 이니텍를 통해 최신버전 교체_INISAFE CrossWeb EX V3 3.3.2.41

 

② 제품 사용자: 취약한 버전이 설치되어 있는 경우 제거 후 최신버전 업데이트를 진행

> [제어판]-[프로그램]-[프로그램 및 기능]에서 INISAFE CrossWeb EX V3 버전 확인 후 제거 클릭

> 아래 링크를 참고하여, 운영체제에 맞는 최신 버전의 INISAFE CrossWeb EX V3를 설치

※ Windows 클라이언트(v3.3.2.41_32bit) : http://demo.initech.com/initech/crosswebex_pack/3.3.2.41/INIS_EX_SHA2_3.3.2.41.exe

 

③ 침해지표 IoC 보안 장비 적용 [3]

 

3.1 기타사항

① 국정원 조치

> 올해 1월 긴급 대응에 착수, 해당 악성코드의 작동 원리 등에 대한 상세 분석을 완료

> 해당 분석 자료를 근거로 A사와 협조해 실제 공격-방어 시현을 진행하는 등 보안 패치 개발을 완료

> 현재 해당 프로그램을 사용 중인 공공·금융기관을 대상으로 관계기관들과 함께 보안 패치를 진행 중

> 국민 대상 보안 프로그램을 최신 버전으로 신속하게 업데이트 강조

> 23.04.05일 판교 사이버안보협력센터에서 ‘금융보안 SW 침해사고 방지 를 위한 유관기관 간담회’를 개최

※ 과학기술정보통신부·경찰청·KISA·금융감독원·금융보안원 등 정부기관 및 12개 금융보안 SW 제조사가 참여

※ 최신 해킹사례를 공유하고, 유사 사례 재발을 막기 위한 대책을 논의할 계획

>  관계기관과의 적극적인 사이버위협 정보 공유 및 협력을 통해 북한의 해킹위협에 선제적으로 대응할 것

 

② 이니텍 조치

> 지난 1월 독일 보안 전문가 블라디미르 팔란트의 게시글 이미지에 자사 제품이 있어 취약점 점검 및 취약점 확인

> 취약점 발견 후 이를 보완하는 와중에 국정원에서 연락이 옴

> 2월20일 문제가 된 취약점을 완화하는 보안패치 개발을 완료해 배포 중_현재 40%가량의 기업들이 패치를 완료한 상태

 

4. 참고

[1] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71030&menuNo=205020
[2] https://www.ncsc.go.kr:4018/main/cop/bbs/selectBoardArticle.do?bbsId=SecurityAdvice_main&nttId=32172&pageIndex=1#LINK
[3] https://asec.ahnlab.com/ko/33706/
[4] https://asec.ahnlab.com/ko/50727/
[5] https://www.boannews.com/media/view.asp?idx=115670
[6] https://www.boannews.com/media/view.asp?idx=115658
[7] https://www.ddaily.co.kr/news/article/?no=260579
[8] https://www.news1.kr/articles/5000945

1. MagicLine4NX

- 드림시큐리티에서 제작한 Non-PlugIn 기반의 인증서 인증, 전자서명, 웹구간 암복호화 솔루션

 

2. 취약점

- MagicLine4NX에서 입력값 검증 미흡으로 인해 발생하는 버퍼오버플로우 취약점

- 이를 악용해 공격자는 악성코드 유포, 원격 명령 실행 등의 악성 행위를 할 수 있음

- 라자루스 해킹조직이 악성코드 유포에 MagicLine4NX 취약점을 악용한 사례가 확인됨

영향받는 버전
- MagicLine 4.0 1.0.0.1 ~ 1.0.0.26 버전

 

2.1 취약점 상세

- MagicLine4NX는 시작 프로그램에 등록됨

- 프로세스가 종료되더라도 특정 서비스 (MagicLine4NXServices.exe)에 의하여 재실행되며, 한번 설치되면 프로세스에 항상 상주

 

- 라자루스 해커그룹의 공격 방식은 다음과 같음

① MagicLine4NX 취약점을 통해 svchost.exe 프로세스에 인젝션

악성 프로그램 다운로드 및 실행

[사진 1] 공격 방식

3. 대응방안

① 최신버전 업데이트 적용

- MagicLine 4.0 1.0.0.27 버전

※ MaginLineNX가 설치되어 있는 경우 삭제 후 재설치

 

② 취약한 버전의 MagicLineNX가 설치된 경우 삭제조치

- 버전 확인 방법

> [내 컴퓨터] – [로컬 디스크(C:\)] – [Program Files(x86)] – [DreamSecurity] – [MagicLine4NX] 경로로 이동
> MagicLine4NX에 마우스 오른쪽 버튼 클릭 – 속성 – 자세히 탭 클릭 – 파일 버전 확인

 

- 프로그램 삭제 방법

> [시작] - [시스템] - [제어판] - [프로그램 및 기능] - MagicLineNX 선택 - [제거] 클릭

> [내 컴퓨터] - [로컬 디스크(C:\)] - [Program Files(x86)] - [DreamSecurity] - [MagicLin4NX] 경로로 이동 - MagicLine4NX_Uninstall.exe 프로그램 실행

 

4. 참고

[1] https://asec.ahnlab.com/ko/50134/
[2] https://www.ncsc.go.kr:4018/main/cop/bbs/selectBoardArticle.do?bbsId=SecurityAdvice_main&nttId=27568&pageIndex=1#LINK
[3] https://www.boho.or.kr/kr/bbs/view.do?searchCnd=&bbsId=B0000133&searchWrd=&menuNo=205020&pageIndex=1&categoryCode=&nttId=71023
[4] https://www.boannews.com/media/view.asp?idx=115500&kind=1&search=title&find=%BA%CF%C7%D1 \

+ Recent posts