.dhpcd 프로세스로 인한 CPU 100% 문제

greenTea·2024년 9월 28일

가상 머신 CPU 100% 문제 해결

문제 상황

클라우드에서 가상머신을 사용하여 리눅스 명령어를 공부하는 중, MobaXterm을 통해 접속할 때마다 CPU 점유율이 100%를 사용하는 문제를 발견했습니다.

로그인을 하고 나서 프로세스 상태를 확인하던 중 CPU 점유율이 비정상적으로 높은 것을 확인하게 되었고 이를 top 명령어로 확인해보니 특정 프로세스가 CPU를 독점하고 있는 것을 발견했습니다.

top

sudo kill .dhpcd 명령을 통해 해당 프로세스를 종료했으나, 다음날 다시 로그인하니 동일한 프로세스가 다시 실행 중이었습니다.

문제의 원인

우선 .dhpcd 파일의 정체를 파악하기 위해 파일 정보를 확인해봤습니다.

[test@test ~]$ file .dhpcd
.dhpcd: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, corrupted section header size
[test@test ~]$ ls -l .dhpcd
-rwxr-xr-x. 1 test group1 2328936 Sep 24 14:18 .dhpcd

file 명령어의 결과를 gpt를 이용해 조사해본 결과 ELF 형식의 실행파일이며 LSB (Least Significant Byte first) 형식으로 저장이 되었다고 합니다. 또한 정적 링크 방식으로 컴파일 되어 실행 시 외부 라이브러리에 의존하지 않는다고 합니다.

이 파일이 주기적으로 실행된다는 점에서 크론 작업(cronjob)에 등록되었을 가능성이 있다고 판단했습니다.

crontab -l

크론탭을 확인한 결과, 매 시간 15분마다 실행되도록 설정된 작업이 있었습니다:

15 * * * * /home/test/.dhpcd >/dev/null 2>/dev/null

즉, 이 명령어가 매 시간 15분마다 실행되도록 설정되어 있었으며, CPU 사용량의 원인이었습니다.

해결 방법

크론 작업을 삭제하기 위해 다음과 같은 절차를 진행했습니다:

  1. 크론 작업 제거:

    crontab -e

    해당 명령어를 이용하여 .dhpcd 관련 작업을 삭제했습니다.

  2. 파일 삭제:

    rm .dhpcd

    또한 문제의 원인이 되는 파일을 삭제하였습니다.

정체 확인

파일 이름과 관련 자료를 찾아본 결과, .dhpcd가상화폐 채굴기로 추정되는 악성 프로그램이었습니다. 제가 간단한 비밀번호를 사용했던 탓에 시스템이 뚫렸고, 이를 통해 채굴기가 설치된 것으로 보입니다.

실제로 lastb 명령을 통해 수많은 로그인 시도가 있었음을 확인할 수 있었습니다.

lastb

교훈

이 사건을 통해, 보안의 중요성을 다시 한번 깨닫게 되었습니다. 특히 개인 서버라도 복잡한 비밀번호를 사용하는 것이 필수적임을 배웠습니다.


참고자료


profile
greenTea입니다.

0개의 댓글