---
title: Genian EDR을 활용한 리눅스 위협 분석 Part 1(Persistence#1)
description: 리눅스 환경에서 공격자들이 어떠한 기술을 통해 지속성을 확보했는지 악성코드 사례를 통해 분석합니다. Genian EDR은 MITRE ATT&CK을 기반으로 지속성을 유지하는 행위를 탐지하여 위협으로 부터 시스템을 보호할 수 있도록 도움을 드립니다.
---

[지니언스 기술 블로그 ](https://www.genians.co.kr/blog)

# [Genian EDR을 활용한 리눅스 위협 분석 Part 1(Persistence#1)](https://www.genians.co.kr/blog/linux-edr)

 작성자: [Genians](https://www.genians.co.kr/blog/author/genians) | Aug 7, 2024 3:45:00 AM

## 1. Persistence

- 공격자는 피해자의 시스템에 침투한 이후, [지속성(Persistence)](https://attack.mitre.org/tactics/TA0003/)을 확보하기 위한 과정을 거치게 됩니다. 지속성을 유지하지 못한다면, 침투에 성공해도 시스템 재시작, 계정 변경 등의 이유로 액세스를 유지하지 못해 정보 유출, 파일 암호화 등의 최종적인 목표를 이룰 수 없기 때문입니다.
- 따라서 공격자들은 지속성을 유지하는 기술을 연구하며, 발전시키고 있습니다. [MITRE ATT&CK](https://attack.mitre.org/)에서도 이를 하나의 공격 전술(Tactic)로 분류해 지속성에 사용되는 기술(Technique)을 업데이트 하고 있습니다.

[그림 1] MITRE ATT&CK Linux Matrix

- 이번 보고서는 이슈가 됐던 악성코드 사례를 통해 공격자들이 리눅스 환경에서 어떠한 기술을 통해 지속성을 확보하는지 분석하고, [Genian EDR](https://www.genians.co.kr/products/genian-edr/)을 활용해 탐지하는 내용을 다루고 있습니다.

## 2. Persistence Techniques

### 2.1. T1053.003 - Scheduled Task/Job: Cron

- Cron은 유닉스 계열 컴퓨터 운영체제의 시간 기반의 작업 스케줄러로 설정된 시간, 날짜, 간격에  따라 주기적으로 작업을 실행하도록 설정하는 도구입니다.
- 이처럼 Cron은 자동화된 예약 작업을 사용하는데 사용되지만 공격자들은 지속성을 유지하기 Cron을 지속적으로 악용하고 있습니다. Cron을 악용한 지속성 기법을 탐지하기 위해 확인해야 할 주요 경로는 아래와 같습니다.

| **경로** | **설명** |
| --- | --- |
| /etc/crontab | 예약된 작업 목록이 저장됩니다. |
| /etc/cron.d/ | 시스템의 예약 작업이 저장됩니다. |
| /etc/cron.[hourly, daily, weekly, monthly]/ | 매 시간, 매일, 매주, 매달 주기의 예약 작업이 저장됩니다. |
| /var/spool/cron/crontab/[사용자 이름] | 각 사용자의 예약 작업 정보가 저장됩니다. |

[표 1] Cron 주요 경로

### 2.1.1. Gomir #1

- Gomir는 올해 상반기 Symantec에 의해 발견된 리눅스 악성코드로 Kimsuky가 유포한 것으로 알려진 Go 언어 기반 리눅스 백도어입니다.
- Gomir 악성코드에 매개변수로 “install”문자열을 넣어 실행할 경우, 지속성을 유지하기 위한 과정을 수행합니다. 먼저, GID(Group Identifer)를 확인하고 0(Super User)이 아니라면 Crontab을 사용해 지속성을 유지합니다.
- 지속성을 확보하기 위해 예약 작업 정보가 저장된 cron.txt 파일을 자신의 경로에 드롭하고 Crontab을 사용해 예약 작업을 등록합니다. 작업이 완료되면 cron.txt 파일을 삭제합니다.

[그림 2] Gomir 악성코드의 Crontab 명령 실행

- cron.txt 파일의 내용은 아래와 같으며, 이를 통해 Gomir 악성코드는 재부팅할 때마다 실행되게 됩니다

| @reboot [자기 자신 경로] |
| --- |

[표 2] cron.txt 파일 내용

[그림 3] Gomir 악성코드에 의해 crontab에 생성된 예약 작업

- 이후, Gomir 악성코드는 공격자의 C2서버에서 명령을 받아 네트워크 및 시스템 정보를 수집하고 Shell 명령 실행 등의 악성 행위를 수행합니다.
- Genian EDR에서는 어떤 프로세스가 Crontab을 사용해 의심스러운 예약 작업을 등록했는지 확인할 수 있으며, 해당 행위와 관련된 MITRE ATT&CK Technique 정보를 제공하고 있습니다.

[그림 4] Gomir 악성코드 MITRE ATT&CK 탐지 화면 1

### 2.1.2. Chaos

- Chaos 악성코드는 Go 언어로 개발된 악성코드로 Cron, Systemd, init.d 등을 악용해 지속성을 유지합니다. 그 중 Cron을 사용해 지속성을 확보하는 방법은 다음과 같습니다.
- 먼저, Chaos 악성코드 자기 자신을 /usr/lib/libdlrpcld.so 로 자가 복제합니다. 이후, 복제된 파일을 실행하는 스크립트 파일인  .img 파일을 Crontab에 등록합니다.

[그림 5] Chaos 악성코드에 의해 Crontab에 생성된 예약 작업

- 위 과정을 거쳐서 Crontab에 등록된 Chaos 악성코드는 1분마다 실행되며, 지속성을 확보하게 됩니다.
- Genian EDR을 통해 해당 행위를 수행한 프로세스를 확인할 수 있으며, 전후 행위를 파악해 악성 여부를 판단할 수 있도록 도와줍니다.

[그림 6] Chaos 악성코드 MITRE ATT&CK 탐지 화면

### 2.2. T1543.002 - Create or Modify System Process: Systemd Service

- Systemd는 Linux 운영체제용 시스템 및 서비스 관리자입니다. Linux 시스템에서 실행되는 모든 서비스와 데몬을 관리하고 시스템 이벤트에 대한 로그 관리, 전원 관리, 네트워크 관리 등 시스템의 전반적인 운영을 담당합니다.
- Systemd는 서비스를 관리하기 위해 서비스 파일(.service)을 사용하는데, 이 파일은 Systemd가 서비스의 실행과 중지 및 재시작 등을 제어할 수 있도록 서비스에 대한 정보를 가지고 있는 설정 파일입니다.
- 공격자들은 이 서비스 파일을 통해 재부팅 후에도 악성코드가 실행되도록 악용할 수 있으며, 다양한 Linux 악성코드에서 해당 기법을 이용한 사례가 지속적으로 발견되고 있습니다. 이러한 공격 기법을 탐지하기 위해 확인해야 할 주요 경로는 아래와 같습니다.

| **경로** |
| --- |
| /etc/systemd/system |
| /lib/systemd/system |
| /usr/local/lib/systemd/system |

[표 3] Systemd 주요 경로

### 2.2.1. Gomir #2

- Gomir악성코드가 Super User 권한으로 실행될 경우, 먼저 /var/log/경로에 syslogd이름으로  자신을 복제해 정상 파일로 위장합니다.
- 이후, 자가 복제한 syslogd(Gomir) 를 실행하는 syslogd.service 파일을 /etc/systemd/system 경로에 생성합니다.

[그림 7] Gomir 악성코드에 의해 생성된 systemd.service 파일

- 다음으로, 생성한 syslogd.service 를 활성화 하고 실행하기 위해 Systemctl 명령을 실행합니다.

[그림 8] Gomir 악성코드에 의해 실행된 Systemctl 명령어

- 위 과정을 통해 Gomir 악성코드는 시스템이 부팅될 때마다 실행되며, 지속성을 유지하게 됩니다.

[그림 9] 활성화된 Syslogd(Gomir) 서비스

- Genian EDR에서 해당 행위를 MITRE ATT&CK으로 탐지하고 있으며, 지속성 유지에 사용된 명령어와 Tactic 및 Technique을 확인할 수 있습니다.

[그림 10] Gomir 악성코드 MITRE ATT&CK 탐지 화면 2

### 2.2.2. DinodasRAT

- DinodasRAT 악성코드는 2024년 초에 발견된 리눅스 악성코드입니다. 리눅스 환경에 따라 지속성을 유지하는 방법이 각각 다르며, Ubuntu 환경에서는 .service 파일을 통해 지속성을 유지합니다.
- DinodasRAT 악성코드가 실행될 경우, /lib/systemd/system/rc.local.service 파일의 존재를 확인하고 /etc/rc.local 를 실행하는 내용이 포함된 문자열을 rc.local.service 에 작성합니다.

[그림 11] DinodasRAT 악성코드에 의해 생성된 rc.local.service 파일

- 이후, 아래 명령어를 사용해 생성한 .service 파일과 연결되는 심볼릭 링크를 /etc/systemd/system/ 에 생성합니다.

[그림 12] DinodasRAT 악성코드에 의해 생성된 심볼릭 링크

- 최종적으로 시스템이 부팅 될 때마다 /etc/systemd/system/rc.local.service 파일을 통해 DinodasRAT가 실행됩니다.
- Genian EDR에서 해당 행위를 Create or Modify System Process: Systemd Service으로 탐지하고 있으며, 지속성 확보를 위해 ln 명령어로 /etc/systemd/system 경로에 심볼릭 링크를 생성한 행위를 확인할 수 있습니다.

[그림 13] DinodasRAT 악성코드 MITRE ATT&CK 탐지 화면

## 3. Conclusion

- Genian EDR은 MITRE ATT&CK을 기반으로 다양한 사이버 공격 전술 및 기술을 탐지하고 차단할 수 있습니다.  리눅스 환경에서 공격자들이 Cron 또는 Systemd Service를 악용해 지속성을 유지하는 행위를 탐지할 수 있으며, 이를 통해 보안 담당자는 위협을 파악하고 신속히 대응할 수 있도록 도와줍니다.

[그림 14] Genian EDR 이벤트 조사 화면

[그림 15] Genian EDR 위협 관리 화면

- Genian EDR은 의심스러운 활동을 실시간으로 탐지하고 분석할 수 있습니다. 이를 통해 악성 행위를 신속하게 파악하고 효과적으로 차단할 수 있으며, 기업의 보안을 강화하고 지속적인 위협으로부터 시스템을 보호할 수 있습니다.
- 또한, Genian EDR의 대시보드 기능을 사용해 보안 담당자는 원하는 데이터를 다양한 그래프로 커스텀 하고 중요한 로그에 대한 가시성을 확보할 수 있습니다. 따라서 모든 로그를 확인할 필요 없이 실시간으로 전체적인 현황을 빠르게 파악하고 위협에 대응할 수 있습니다.

[그림 16] Genian EDR MITRE ATTACK 대시보드 1

[그림 17] Genian EDR MITRE ATTACK 대시보드 2

## 4. Reference

- [Matrix - Enterprise | MITRE ATT&CK](https://attack.mitre.org/matrices/enterprise/linux/)
- [Springtail: New Linux Backdoor Added to Toolkit](https://symantec-enterprise-blogs.security.com/threat-intelligence/springtail-kimsuky-backdoor-espionage)
- [Chaos Malware Quietly Evolves Persistence and Evasion Techniques](https://sysdig.com/blog/chaos-malware-persistence-evasion-techniques/)
- [Malware Spotlight: Linodas aka DinodasRAT for Linux](https://research.checkpoint.com/2024/29676/)

 

 

### 글쓴이. 송관용

지니언스 GSC(Genians Security Center)에서 위협 분석을 담당하고 있습니다.

 

<https://www.genians.co.kr/hs/cta/wi/redirect?encryptedPayload=AVxigLJ8WbiDA1ZX3S59afVrwrcN46HNSJJ7HPrTF12t%2BuOd1SBh6spkh%2FsDkF%2BQvCPaMuOWMVExOvo7cp2Kr6r%2FGbLQ%2F%2FAtTroo8TkRnsHsslAbKOag8BNWW09toEFRPmHB1ST%2Fv9wkHemEQQccfumZbgPpX%2FIb%2BeFYgKOU4Z%2FWiOZ5IRCfxfCvwz0VT%2Foo6IxWdJA8dI0awy7fTA%3D%3D&webInteractiveContentId=126863697765&portalId=22120960>

[전체 게시물 보기](https://www.genians.co.kr/blog/linux-edr)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Genians"
  },
  "dateModified" : "2025-08-19T00:10:12.706Z",
  "datePublished" : "2024-08-07T03:45:00Z",
  "headline" : "Genian EDR을 활용한 리눅스 위협 분석 Part 1(Persistence#1)",
  "image" : {
    "@type" : "ImageObject",
    "height" : 300,
    "url" : "https://22120960.fs1.hubspotusercontent-na2.net/hubfs/22120960/%ED%8A%B9%EC%84%B1%ED%99%94%EC%8D%B8%EB%84%A4%EC%9D%BC_24.08.07-1.png",
    "width" : 480
  },
  "mainEntityOfPage" : "https://www.genians.co.kr/blog/linux-edr",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60,
      "url" : "/hs/hsstatic/content_shared_assets/static-1.4092/img/default-amp-logo.png",
      "width" : 60
    },
    "name" : "지니언스 기술 블로그"
  }
}
```