1. Malvertising(멀버타이징)

- Malware(악성코드)Advertising(광고)합성어악성 광고를 의미

- 사용자를 속이기 위해 가짜 사이트로 리다이렉션하는 등 광고를 악용한 해킹 기법

- 상대적으로 보안이 취약한 광고 서버를 해킹하거나 악성 광고를 게시하여 공격에 활용

2. 상세내용 [1]

- 연구원들이 Googleslack 검색한 결과 광고가 가장 먼저 표시되었음

> 해당 광고가 누구에 의해 게시되었으며, 이전에 게시한 광고 내역을 확인할 수 있음

> 연구원들이 이를 확인한 결과 홍콩 소재 의심스러운 광고주에 의해 게시됨을 확인

[사진 1] 정상 광고 (위) 및 악성 광고 (아래) 비교

- 확인된 광고를 클릭하면 정상적인 Slack 공식 웹사이트의 가격 페이지로 리디렉션

> 공격자들은 도메인을 구매한 후 악용하기 위해 정상적인 도메인처럼 보이도록 하기위해 과정을 거침

[사진 2] 리다이렉션

- 며칠 후 연구원들이 해당 광고 페이지에 재접속한 결과 서로 다른 두 개의 페이지가 표시

> URL은 slack-windows-download[.]com로 동일하나 표시되는 페이지가 다름을 확인

> 악성 기능이 없는 정상 페이지 또는 다운로드 기능이 포함된 악성 페이지 표시

[사진 3] 정상 페이지 (좌) 및 악성 페이지 (우)

- 해당 페이지에 도달하는 네트워크 트래픽을 캡처

> 여러 사이트로 리다이렉션 시켜 인터넷 환경, 클릭율 등을 확인해 서로 다른 페이지로 접속시키는 것을 확인

① 클릭의 정당성을 판단하는 ClickGuard 링크를 광고로 등록 : 악성 사이트에 대한 탐지를 못하도록(또는 어렵게) 하기위한 목적

② 사용자가 클릭한 페이지 또는 위치 등을 분석하는 ClickTracker 연결 : 악성 사이트에 대한 탐지를 못하도록(또는 어렵게) 하기위한 목적

③ 사용자 클릭 환경 등을 확인해 정상 사이트 또는 악성 사이트로 연결

> 즉, 사용자가 광고를 클릭할 경우 여러 리다이렉션 및 확인을 거쳐 정상 또는 악성 사이트로 리다이렉션

[사진 4] 네트워크 트래픽 캡처
[사진 5] 과정 요약

- 광고 클릭 지양, 다운로드 시 도메인 및 파일 해시 확인, 백신 최신화, 로그인 폼 의심 등 기본 보안 수칙 준수 필요

3. 참고

[1] https://www.malwarebytes.com/blog/news/2024/08/fraudulent-slack-ad-shows-malvertisers-patience-and-skills

1. 개요

- 최근 복사-붙여 넣기 기법을 활용한 ‘ClickFix’라 불리는 새로운 공격 발견 [1]
- 가짜 팝업 메시지의 버튼을 클릭하면 악성코드 또는 악의적 프로그램이 다운로드 되는 형태

 

2. 주요내용

2.1 ClickFix

[사진 1] ClickFix 예시

- 유명 서비스를 위조해 문서나 페이지 내 긴급한 오류가 발생했다는 팝업 텍스트 상자를 표시
사용자를 속이기 위해 MS Office 문서나 Google Meet 등 유명 서비스를 위조해 페이지 내 팝업 표시
사용자가 직접 PowerShell(powershell.exe)이나 Windows 명령 프롬프트(cmd.exe)를 통해 실행하라는 메시지가 표시되며, "How to fix" 등의 버튼을 클릭하면 악의적 명령이 복사

 

2.2 악성 VBS 스크립트

- hxxps://googiedrivers[.]com/fix-error 파일에 VBScript가 포함되어 있으며 총 4개의 행위 수행

구분 설명
MSHTA 프로세스 체크 및 종료 WMIService를 사용하여 "mshta.exe" 프로세스가 실행 중인지 확인 하고 활성화되어 있으면 종료

※ WMI (Windows Management Instrumentation) : Windows에서 시스템 및 네트워크 관리 작업을 수행하는 데 사용되는 기술로 다양한 하드웨어 및 소프트웨어 구성 요소를 관리하고 모니터링할 수 있는 인터페이스 제공
파일 다운로드 및 실행 stealc.exe, ram.exe를 임시 경로에(각각 tempPath, secondTempPath에 다운로드) 다운로드 및 실행
> 파일을 실행하여 Build #1 및 Build #2의 성공 여부를 확인한 후 상태를 서버로 전송

- stealc.exe
> 정보 탈취 악성코드(Stealc)의 일종
> 사용자 시스템, 웹 브라우저, 암호화폐 지갑 등 민감정보를 수집 및 C2 서버 전송

- ram.exe
> 정보 탈취 멀웨어(Rhadamanthys, Danabot) 추가 다운 및 실행

※ 파일 다운로드 경로
> hxxps://us1web-com[.]us/stealc.exe
> hxxps://us1web-com[.]us/ram.exe
서버 통신 - NotifyServer(status)를 사용해 특정 서버에 실행 상태를 보고하는 HTTP 요청을 전송
> 서버 URL: hxxp[://]webpalmland[.]com/api/cmd/runed
공격자의 서버에 IP 주소와 상태 전송 - GetExternalIPAddress() 함수를 호출하여 IP 확인 사이트에서 IP 주소를 검색하여 저장 및 공격자 서버로 전송
> 서버 URL: hxxp[://]webpalmland[.]com/api/cmd/runed

 

2.3 결론

- 과거와 달리 웹 브라우저 보안이 강화되면서 웹 브라우저 취약점을 이용한 악성코드 배포가 어려워짐
> 사용자가 직접 다운로드 및 실행할 수 있는 형태로 점차 진화
> 사용자는 PowerShell(powershell.exe) 또는 명령 프롬프트(cmd.exe)에서 명령을 실행하도록 요청하는 팝업 주의할 필요

 

- 또한, 여러 정보 탈취 멀웨어를 다운로드 및 실행하는 형태
> 하나의 멀웨어가 탐지 및 제거되어도 다른 멀웨어를 사용해 지속 정보 수집
> 수집된 정보가 2차 피해로 이어질 수 있음

3. 참고

[1] https://blog.criminalip.io/2024/10/07/clickfix-fake-error-messages/
[2] https://www.boannews.com/media/view.asp?idx=133771&page=1&kind=1

1. 개요

- 한국과 중국 사용자를 대상으로 정상 애플리케이션으로 위장한 UULoader 유포 정황 확인 [1]
> DLL 파일 내 내장된 프로그램 데이터베이스(PDB) 파일에 중국어 문자열이 있다는 점에서 UULoader로 명명 
- UULoader는 Gh0stRAT이나 Mimikatz와 같은 멀웨어를 유포하는데 사용되는 로더

 

2. 주요내용

UULoader는 File Header Stripping을 통해 정적 탐지 회피
> File Header Stripping: 파일의 헤더 정보를 제거하는 작업
> 해당 작업을 통해 탐지를 회피하거나 분석을 어렵게 만듦

[사진 1] File Header Stripping

- UULoader의 핵심 파일은 cab 파일 안에 압축되어 있음
> cab 파일은 헤더가 제거되어 있음 (File Header Stripping)
exe 파일, dll 파일, 난독화된 최종 페이로드, 미끼 파일, M 파일, Z파일이 포함

구분 설명
exe파일 - 헤더가 제거된 Realtek 실행 파일
- dll 파일을 로딩하는데 사용
dll 파일 - exe 파일에 의해 로드되는 dll 파일
- 최종 단계를 로드하는 파일
M, Z 파일 - UULoader가 실행될 때 제거된 파일 헤더를 수정하는 데 사용
미끼 파일 - 사용자를 속이기 위해 실행되는 합법적인 파일
최종 페이로드 - 최종적으로 실행되는 페이로드로 Gh0stRAT이나 Mimikatz일 경우가 많음

 

- UULoader가 실행되면 .msi CustomAction를 사용해 폴더를 생성
> 폴더 경로: C:\Program Files(x86)\Microsoft Thunder
> 해당 폴더에 위 악성 파일이 포함되어 있음

※ .msi CustomAction: Windows Installer 패키지(.msi 파일)에서 사용되는 사용자 정의 동작을 의미

 

- msi 파일에 의해 vbs 스크립트 실행
Microsoft Thunder 폴더를 Windows Defender 예외 등록
> Microsoft Thunder 폴더 내 파일을 실행하여 최종 페이로드 로드 및 미끼 파일 실행
> vbs 스크립트는 악의적인 기능을 감추기 위해 합법적으로 보이는 여러 액션이 존재

 

- 최종적으로 Gh0stRAT 또는 Mimikatz 등 다양한 해킹 도구를 유포하는 것으로 보임
> Gh0stRAT: 공격자가 원격으로 대상 컴퓨터에 접근하여 정보를 탈취할 수 있도록 설계된 악성 프로그램
> Mimikatz: Windows 시스템의 메모리에서 해시된 비밀번호를 추출하고, Kerberos 티켓, NTLM 해시 등을 덤프하는데 사용

[사진 2] UULoader 실행 체인

3. 참고

[1] https://cyberint.com/blog/research/meet-uuloader-an-emerging-and-evasive-malicious-installer/
[2] https://thehackernews.com/2024/08/new-uuloader-malware-distributes-gh0st.html?m=1
[3] https://boannews.com/media/view.asp?idx=132149&page=1&kind=1

1. 개요

- 동아시아와 한국을 대상으로 악성코드가 유포되는 정황이 확인
- SW 취약점 또는 악성코드가 포함된 크랙 버전을 통해 유포
- C2 서버와 통신하며 추가 명령을 수행하거나 사용자 정보를 탈취

 

2. 주요내용

2.1 Velvet Ant [1]

- 중국 해킹 그룹 China-Nexus와 연류된 공격자가 약 3년 동안 동아시아에 위치한 익명의 조직을 대상으로 장기간 공격

- 공격자는 EDR이 설치되지 않고 로깅이 제한된 시스템을 표적으로 삼는 등 레거시 운영 체제를 노림

> 또한, 피해자 환경에 이미 배포된 원격 접속 트로이목마 PlugX를 활용

> PlugX는 2008년부터 중국 국가 후원 공격 그룹에서 사용되었으며, 감염된 시스템에 대한 원격 액세스를 제공하도록 설계

> 공격에는 인터넷에 직접 액세스할 수 있는 엔드포인트에 설치되어 민감 정보를 유출하는 버전과 C2 구성 없이 레거시 서버에만 배포되는 두 가지 버전이 사용

PlugX 실행 체인 설명
iviewers.exe Windows SDK의 일부인 'OLE/COM 개체 뷰어'라는 합법적인 응용 프로그램
iviewers.dll DLL 검색 순서 하이재킹을 통해 'iviewers.exe'에 의해 로드되는 악성 PlugX DLL 로더
iviewers.dll.ui 'iviewers.dll'이 실제 악성 페이로드가 포함되어 있으며, 이 페이로드는 'iviewers.dll'에 의해 로드

 

- C2 구성 없이 레거시 서버에 배포된 PlugX의 경우 F5 BIG-IP 장치를 이용해 역방향 SSH 터널 생성

> SSH 터널을 이용해 C2 서버와 통신하여 원격 명령을 수신하고 지속성을 확보

> 공격에 활용된 F5 BIG-IP 제품들은 지원이 종료된 제품

F5 어플라이언스 추가 악성코드  설명
VELVETSTING - 한 시간에 한 번씩 C&C에 연결하여 실행할 명령을 검색하는 도구
- IP 주소 202.61.136[.]158:8443을 C&C로 사용
- 명령은 '1qaz@WSXedc'라는 암호로 인코딩
- 명령을 받으면 'csh'(Unix C 셸)를 통해 실행
ELVETTAP - 네트워크 패킷을 캡처하는 기능을 갖춘 도구
- 바이너리는 F5 장치의 내부 NIC 이름인 'mgmt' 인수를 사용하여 F5 장치에서 실행
SAMRID - GitHub에서 사용할 수 있는 오픈 소스 SOCKS 프록시 터널러인 'EarthWorm'으로 식별
- 이 도구는 과거 Volt Typhoon, APT27, Gelsemium 등 다양한 중국 국가 후원 그룹에서 활용
ESRDE - VELVETSTING'과 유사한 기능을 갖춘 도구이나, bash를 사용하는 등 사소한 차이점 존재

 

- 공격 과정은 다음과 같음

① 악성코드는 1시간에 한 번씩 C2 서버를 폴링

② 공격자는 C2 서버와 연결

③ 역방향 SSH 터널 생성 및 원격 명령 전달

④ PlugX에 감염된 내부 파일 서버(내부 C2 서버로 사용)와 연결

⑤ PlugX 추가 배포

[사진 1] 공격 흐름 요약

 

대응 설명
아웃바운드 트래픽 제한 C2 서버와 통신하지 못하도록 아웃바운드 연결 차단(IP 차단)
네트워크 측면 이동 제한 SMB(445), RPC(135), WinRM(5985. 5986), RDP(3389), SSH(22) 등 측면 이동이 가능한 기술에 대한 엄격한 제어
레거시 서버 보안 강화 - 레거시 시스템 폐기 및 교체 우선적으로 처리
- 이전 시스템을 지원하는 엔드포인트 보호 도구 설치
- 트래픽 모니터링
자격 증명 수집 완화 EDR 무력화/우회 시도 방지를 위한 변조 방지 기능 구성
공용 장치 보호 자산 관리, 패치 관리, 침입 탐지 및 예방 등
침해지표 적용 공개된 침해지표 적용 [1]

 

2.2 미상의 중국 국가 후원 해킹 그룹 [4]

- 미상의 중국 해킹 그룹이 2020년부터 아시아 국가의 통신 사업자를 공격

> 대상 기업의 네트워크에 백도어를 설치하고 자격 증명을 도용하려고 시도

공격에 사용된 도구 설명
Coolclient - Fireant 그룹(Mustang Panda, Earth Preta라고도 함)과 관련된 백도어
> 키 입력 로깅, 파일 읽기 및 삭제, 명령 및 제어(C&C) 서버와의 통신 기능 등
> Google 파일(googleupdate.exe)로 가장하는 합법적인 VLC 미디어 플레이어 버전이 Coolclient 로더(파일 이름: libvlc.dll)를 사이드로드하는 데 사용
> 로더는 loader.ja라는 파일에서 암호화된 페이로드를 읽으며, 이 페이로드는 goopdate.ja라는 파일에서 두 번째 암호화된 페이로드를 읽고 이를 winver.exe 프로세스에 삽입
Quickheal - Neeedleminer 그룹(일명 RedFoxtrot, Nomad Panda)과 오랫동안 연관되어 온 백도어
> 캠페인에 사용된 변형은 GetOfficeDatatal이라는 내보내기가 있는 RasTls.dll이라는 32비트 DLL
> 컴파일된 코드의 새로운 구성 세부 사항과 VMProtect 난독화 등의 차이
> TCP 포트 443을 사용하여 Swiftandfast[.]net이라는 하드코딩된 C&C 서버와 통신
Rainyday - Firefly 그룹(일명 Naikon)과 관련된 백도어
> 캠페인에 사용된 대부분의 변종은 fspmapi.dll이라는 로더를 사용하여 실행
> 로더는 fsstm.exe라는 합법적인 F-Secure 실행 파일을 사용하여 사이드로드
> 로드되면 프로세스를 시작한 실행 파일의 디스크 폴더를 가져와 현재 디렉터리로 설정
> 그런 다음 실행 파일의 메모리 위치를 얻고 해당 메모리 이미지를 패치
> 하이재킹이 성공하면 로더는 dataresz라는 파일을 읽고 단일 바이트 XOR 키(0x2D)로 페이로드를 해독한 후 쉘코드로 실행

 

2.3 NiceRAT 악성코드를 설치하는 봇넷 [6]

- Windows나 MS Office 라이선스 확인 도구, 게임용 무료 서버로 위장한 악성코드 NiceRAT를 국내 사용자를 대상으로 지속적 유포

> NiceRAT는 Python으로 작성된 오픈 소스 프로그램

> 지속성 유지를 위해 디버깅 방지 감지, 가상 머신 감지, 시작 프로그램 등록 등의 작업

> api.ipify[.]org에 접속하여 시스템의 IP 정보를 수집 및 이를 이용하여 위치 정보 수집

> 시스템 정보, 브라우저 정보, 암호화폐 정보 등을 수집하여 Discord를 C2로 활용해 유출

 

3. 참고

[1] https://www.sygnia.co/blog/china-nexus-threat-group-velvet-ant/
[2] https://thehackernews.com/2024/06/china-linked-hackers-infiltrate-east.html
[3] https://www.boannews.com/media/view.asp?idx=130670&page=6&kind=1
[4] https://symantec-enterprise-blogs.security.com/threat-intelligence/telecoms-espionage-asia
[5] https://thehackernews.com/2024/06/chinese-cyber-espionage-targets-telecom.html
[6] https://asec.ahnlab.com/en/66790/
[7] https://thehackernews.com/2024/06/nicerat-malware-targets-south-korean.html

1. 개요

- 보안 업체 Kaspersky, 새로운 보안 도구 KVRT (Kaspersky Virus Removal Tool) 무료 공개
- 리눅스 플랫폼에서 바이러스를 찾아 삭제하는 기능 제공

 

2. 주요내용

- 최근 XZ Utils라는 백도어가 리눅스 생태계를 크게 위협
> Linux 시스템이 본질적으로 위협으로부터 안전하다는 일반적인 오해를 증명 

 

- Kaspersky, 새로운 보안 도구 KVRT 무료 공개
> 실시간으로 멀웨어를 막아내는 도구는 아님
> 64비트 시스템만 지원하며 작동하려면 인터넷 연결이 필요
> 실행을 위해 루트 권한 필요하며, GUI, CLI 지원
스캔을 통해 이미 세상에 알려진 멀웨어나 익스플로잇을 탐지 및 치료
사용자는 매번 바이러스 백신 데이터베이스를 다운로드해야 함
삭제 또는 치료된 악성 파일의 복사본은  '/var/opt/KVRT2024_Data/Quarantine'(루트 사용자용)에 저장
> Linux 배포판, Red Hat Enterprise Linux, CentOS, Linux Mint, Ubuntu, SUSE, openSUSE, Debian 등에서 작동 확인

 

3. 참고

[1] https://www.boannews.com/media/view.asp?idx=130306&page=1&kind=1
[2] https://www.bleepingcomputer.com/news/software/kaspersky-releases-free-tool-that-scans-linux-for-known-threats/
[3] https://www.kaspersky.com/blog/kvrt-for-linux/51375/
[4] https://www.kaspersky.com/downloads/free-virus-removal-tool

1. 개요

- 최근 국내 WebLogic 서버를 공격 및 장악해 z0Miner 악성코드를 유포하는 정황이 포착

- 정보 탈취 또는 랜섬웨어를 설치할 수 있어 웹로직 서비스 점검 필요

 

2. 주요 내용 [1]

2.1 z0Miner [2]

- 2020년 Tecnet 보안팀에 의해 처음으로 소개된 마이너 악성코드 (암호 화폐 채굴 봇넷)

- 국내외 보안이 취약한 서버인 Atlassian Confluence, Apache ActiveMQ, Log4J 등을 대상으로 마이너 악성코드를 유포

- CVE-2020-14882, CVE-2020-14883을 악용해 WebLogic 서버 공격

구분 설명
CVE-2020-14882 [3] - 특수하게 조작된 GET 요청을 통해 인증을 우회하여 관리자 콘솔 접근할 수 있는 취약점 [4][5]
Exploit: hxxp://IP:7001/console/css/%252e%252e%252fconsole.portal
- 영향받는 버전: WebLogic 서버 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0 버전
- CVSS: 9.8
CVE-2020-14883 [6] - 인증 우회(CVE-2020-14882)에 성공한 후 MVEL 표현식을 이용해 원격 명령을 실행할 수 있는 취약점 [7][8]
- Exploit: com[.]tangosol[.]coherence[.]mvel2[.]sh[.]ShellSession 클래스 악용
- 영향받는 버전: WebLogic 서버 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0 버전
- CVSS: 7.2

 

2.2 악성코드 배포

- 취약한 WebLogic 서버를 장악한 뒤 악성코드를 배포하는 다운로드 서버로 악용

> Miner 및 네트워크 도구, 공격에 필요한 스크립트 등

> 악용된 서버는 모두 서버 정보와 Tomcat의 구체적인 버전을 노출

[사진 1] 서버 정보 노출

 

악성코드 설명
WebShell - CVE-2020-14882를 악용해 JSP 웹쉘을 업로드하여 지속성 유지 및 시스템 제어
- 백신 탐지를 피하기위해 여러 종류의 웹쉘을 업로드

① JSP File Browser
> 커스터마이징된 JSP File Browser v1.2 웹쉘
> Password는 “zubin@666″ 하드코딩

② Shack2
> OS 정보 등 컴퓨터 정보 출력, 파일 매니저, 명령어 수행 기능을 제공 [9]

③ Behinder
> 과거부터 사용되어 많이 알려진 웹쉘 [10]
FRP(Fast Reverse Proxy) - RDP(Remote Desktop Protocol) 통신하기 위해 사용한 Proxy 도구
- 기본적인 형태의 FRPC와 커스터마이징한 FRPC를 사용
> 기존 FRPC: *.INI 형태의 설정 파일을 불러 읽어와 접속을 시도
> 커스텀 FRPC: 프로그램 내부에 설정 데이터를 가지고 있어 별도의 파일 없이 실행
※ 직접 통신할 수 없는 인트라넷 PC에 외부에서 접근 가능하도록 중계기를 둬 구성하는 오픈소스 도구 [11]
Netcat - 파일명 "userinit.exe"로 Netcat을 다운로드 받아 실행
- 하드코딩된 IP:Port에 연결을 시도하며, 연결 시 cmd를 실행하는 명령으로 구성
AnyDesk - 공식 홈페이지를 접속하여 AnyDesk를 다운로드하여 탐지 회피
- 시스템 장악 후 원격에서 화면 제어 목적
Miner(XMRig) - Windows XMRig는 6.18.0 버전, Linux의 경우 XMRig는 6.18.1 버전 유포
- 지속성 유지를 위해 스케줄러를 등록해 특정 주소로부터 파워쉘 스크립트를 읽어 실행
- ‘javae.exe’ 이라는 이름으로 채굴을 수행

 

3. 대응방안

① 웹로직 서버 최신 버전 유지

② 관리되지 않는 포트 및 서버 점검

③ 백신 등 안티바이러스 S/W 최신 버전 유지

④ 침해지표 등록 및 모니터링

 

4. 참고

[1] https://asec.ahnlab.com/ko/62166/
[2] https://s.tencent.com/research/report/1170.html
[3] https://nvd.nist.gov/vuln/detail/CVE-2020-14882
[4] https://testbnull.medium.com/weblogic-rce-by-only-one-get-request-cve-2020-14882-analysis-6e4b09981dbf
[5] https://attackerkb.com/topics/sb4F8UT5zu/cve-2020-14882-unauthenticated-rce-in-console-component-of-oracle-weblogic-server/rapid7-analysis
[6] https://nvd.nist.gov/vuln/detail/CVE-2020-14883
[7] https://pentest-tools.com/vulnerabilities-exploits/oracle-weblogic-remote-command-execution_123
[8] https://pentest-tools.com/blog/detect-exploit-oracle-weblogic-rce-2020
[9] https://github.com/theralfbrown/WebShell-2/blob/master/jsp/SJavaWebManageV1.4.jsp
[10] https://github.com/NS-Sp4ce/CVE-2021-21972/blob/main/payload/Linux/shell.jsp

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

[12] https://www.boannews.com/media/view.asp?idx=127363&page=4&kind=1

1. 개요

- 북한 배후 해킹그룹 김수키(Kimsuky)에서 국내 보안 프로그램으로 위장한 악성코드 유표 정황 포착

- Go 언어 기반 인포스틸러로, 국내 보안기업의 보안 프로그램 설치파일로 위장

- 시스템 정보, 브라우저 정보, AV 설치 목록 등을 탈취하며, GPKI 정보 또한 탈취를 시도

- 악성코드에 파일에 포함된 문자열을 따 '트롤스틸러(Troll Stealer)'로 명명

 

2. 주요내용 [1]

- 악성코드는 국내 특정 웹 사이트 접속시 연결되는 보안 프로그램 다운로드 페이지로부터 유포

> SGA Solutions의 보안 프로그램 설치 파일(TrustPKI, NX_PRNMAN)로 위장

> 악성코드는 정상 인스트롤러와 악성코드를 드랍 및 실행하는 Dropper

> 악성파일은 모두 원래 인증서인 “SGA Solutions”가 아닌, 유효한 “D2innovation Co.,LTD” 인증서로 서명

[사진 1] 악성 파일 서명 정보

2.1 실행 흐름

[사진 2] 실행 흐름 요약

① Mutex  생성 및 자가 삭제

- 중복 실행 방지를 위한 Mutex 생성

- %Temp% 하위 경로에 자가 삭제를 위한 BAT 스크립트 파일 생성 및 실행

 

② 파일 Dropper

- 정상으로 위장하기 위해 SGA Solutions 정상 설치파일을 Desktop 경로에 설치 및 실행

- Troll Stealer와 감염 이력을 확인하기 위한 파일을 드랍

 

③ Troll Stealer 설치

- rundll32.exe 프로세스를 통해 실행하며, 감염 이력 확인을 위한 파일명이 Export 함수로 호출

> 감염 이력 확인을 위한 파일이 존재하는 경우에만 악성 행위 수행

> 자체적으로 중복실행 방지를 위한 Mutex 생성 (Dropper Mutex와 다른 값)

> 분석 방해를 위해 VMProtect 패킹

 

④ 구성 데이터 설정

- 감염된 시스템의 MAC주소, 디렉터리 경로 수집 후 악성행위 수행을 위해 Config 임시 파일 생성

> Config 내에는 C2 서버 주소 등의 정보가 포함

> Config 파일 암호화 후 C2 서버 전송 및 파일 삭제

 

⑤ 정보 수집

- 감염된 시스템 내 정보를 탈취 및 암호화 후 C2 서버로 전송

- 특히, C드라이브 내 GPKI(Government Public Key Infrastructure) 폴더 탈취 시도가 확인

> 행정전자서명인증서인 GPKI는 국내 행정 및 공공기관 등의 정부에서 사용하는 전자적 정보 [2]

> 행정전자서명의 진위를 검증할 때 사용되는 공인인증서

> 일반 PC에서는 사용되지 않고, 공무를 위해 사용되는 PC에 설치되는 것이 일반적

> 공공에 설치된 PC 등을 타겟으로 한 캠페인으로 평가됨

[사진 3] 악성코드 탈취 정보 목록

 

⑥ 파일 암호화

- C2 서버로 데이터 전송 전, 데이터를 암호화

> RC4와 RSA-4096 알고리즘을 조합하여 데이터를 암호화

> 하드코딩된 PKCS#1의 DER로부터 RSA 공개키 파싱을 수행

> 랜덤 RC4 키 값을 생성하여 탈취 데이터 암호화

> RSA 공개키를 이용해 RC4 암호화 키 암호화

 

⑦ C2 통신

- C2 통신을 위해 12개의 필드로 구성된 60바이트 크기의 구조를 사용

> 통신 목적과 전송하는 데이터 유형에 따라 각 필드 값을 다르게 설정

> 데이터를 구조에 맞게 구성한 후 바이너리 내 하드코딩된 4바이트 Key를 사용해 XOR 및 Base64 인코딩

> 인코딩 결과는 "a=[Encoded_Data]" 형식으로 C2 서버에 전송

※ 데이터 탈취 => 파일 암호화(RC4+RSA) => 통신 구조체 인코딩(XOR+Base64) => a 파라미터로 전달

[사진 4] 통신 구조 및 필드 값

⑧ 자가 삭제

- 악성행위 수행 후 자가삭제를 위해 .tmp 디렉토리에 PS1 파일 생성

> PS1 파일은 악성 DLL 및 스스로를 삭제

 

※ 분석 보고서에서 침해지표 제공 [1]

 

3. 참고

[1] https://medium.com/s2wblog/kimsuky-disguised-as-a-korean-company-signed-with-a-valid-certificate-to-distribute-troll-stealer-35b3cd961f91
[2] https://www.gpki.go.kr/jsp/certInfo/certIntro/eSignature/searchEsignature.jsp
[3] https://www.boannews.com/media/view.asp?idx=126703&page=1&kind=1

1. 개요

- FBI, CISA는 Androxgh0st 악성코드와 관련된 보안권고 발표 [1]

알려진 여러 취약점을 악용해 봇넷을 구성하여 Androxgh0st 유포

.env 파일에서 민감 정보를 추출해 유명 애플리케이션의 자격 증명 탈취 목적을 지닌 파이선 스크립트 멀웨어

> AWS, Microsoft Office 365, SendGrid, and Twilio
> .env: 환경 변수가 저장된 파일로, API key, port, DB 등 민감한 정보를 환경변수에 담아 관리 [2][3]

 

2. 주요 내용

2.1 Androxgh0st [4]

- 22.12 보안 업체 Lacework 최초 발견한 파이썬을 기반 멀웨어

Laravel 애플리케이션의 .env 파일에서 크리데셜이나 API 키 등 민감 데이터를 찾아내 추출하는 기능을 지님

- CreateUser(사용자 생성), CreateLoginProfile(로그인 프로필 생성), AttachUserPolicy(권한 부여), DeleteAccessKey(키 삭제) 등의 기능

※ Laravel: 오픈 소스 PHP 웹 프레임워크 중 하나

 

2.2 악용 취약점

2.2.1 PHPUnit 취약점 (CVE-2017-9841)

- eval-stdin.php 페이지 내 제대로 된 인증이 존재하지 않아 임의의 PHP 코드를 실행할 수 있는 취약점 [5][6]

- 취약점을 악용해 POST 요청으로 Androxgh0st를 다운로드하며, 추가 악성파일 다운 및 DB 접근

 

2.2.2 Laravel 프레임워크 취약점 (CVE-2018-15133)

신뢰할 수 없는 X-XSRF-TOKEN 값을 역직렬화하여 원격 코드 실행이 가능한 취약점 [7][8]

- 취약점을 악용해 .env 파일이 외부에 노출된 서비스에 GET 요청을 통해 애플리케이션 키 획득

Androxgh0st를 애플리케이션 키로 암호화하여 웹 사이트에 업로드

 

2.2.3 Apache 웹 서버 취약점 (CVE-2021-41773)

경로 순회 문자(../)의 미흡한 필터링으로인해 발생하는 경로 탐색 및 원격 코드 실행 취약점 [9][10]

- 취약점을 악용해 Apache 웹 서버의 자격증명을 획득하여 민감 데이터 접근 또는 추가 악성 행위 수행

 

3. 대응방안

- 관련 취약점이 해결된 버전으로 업데이트 수행
- 불필요한 서비스의 노출 유무 확인
- 불분명한 파일 및 자격 증명 파일 존재 여부 검토
- 취약점 스캔시 androxgh0st 등 시그니처가 존재하므로 관련 시그니처 탐지 정책 적용

FBI, CISA 권장사항 ① 시스템 최신 상태 유지
② 운영 체제, 소프트웨어, 펌웨어 정기적 업데이트
> 아파치 서버가 2.4.49 또는 2.4.50 버전을 실행하고 있지 않은지 확인
③ 모든 URI에 대한 기본 구성이 모든 요청을 거부하도록 되어 있는지 확인
> 명시적으로 필요한 경우 제외
④ 라이브 Laravel 애플리케이션이 '디버그' 또는 테스트 모드에 있지 않은지 확인
⑤ .env 파일에서 클라우드 자격 증명 제거 및 해지
⑥ 저장된 클라우드 자격 증명을 정기적으로 검토
> 무단 액세스 또는 사용이 있는지 확인
⑦ 서버의 파일 시스템, 특히 중요한 디렉터리에서 불분명한 PHP 파일이 있는지 확인
⑧ GitHub나 pastebin 등의 파일 호스팅 사이트에 대한 cURL 명령으로 GET 요청 확인
> 특히 .php 파일에 대한 접근을 확인

 

4. 참고

[1] https://www.cisa.gov/news-events/cybersecurity-advisories/aa24-016a

[2] https://velog.io/@hoho_0815/env-%ED%8C%8C%EC%9D%BC%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC
[3] https://tooo1.tistory.com/582
[4] https://www.lacework.com/blog/androxghost-the-python-malware-exploiting-your-aws-keys/
[5] https://nvd.nist.gov/vuln/detail/CVE-2017-9841
[6] https://github.com/vulhub/vulhub/tree/master/phpunit/CVE-2017-9841
[7] https://nvd.nist.gov/vuln/detail/cve-2018-15133
[8] https://github.com/kozmic/laravel-poc-CVE-2018-15133
[9] https://nvd.nist.gov/vuln/detail/CVE-2021-41773
[10] https://github.com/lorddemon/CVE-2021-41773-PoC
[11] https://www.boannews.com/media/view.asp?idx=125876&page=2&kind=1
[12] https://www.dailysecu.com/news/articleView.html?idxno=152936
[13] https://www.techtube.co.kr/news/articleView.html?idxno=4216

+ Recent posts