QNAP NAS 렌섬웨어 파일 복구

 

QNAP NAS 렌섬웨어 파일 복구

얼마전 사용중인 qnap nas가 렌섬웨어에 걸렸다. 당황해서 이것저것 알아보다가 손을 놓고 있었는데, qnap 측에서 파일복구방법을 공지했다. Qlocker 공격에서 파일을 복구하는 방법 당황스러운 것은

jkoogi.tistory.com

QNAP 나스 사용중에 발생한 렌섬웨어 복구 과정에서

복구프로그램을 이용한 복구 이후 

감염파일과 복구파일 정리 과정을 java로 프로그램하여 처리해봤다. 

 

일단 QNAP NAS에 JAVA를 설치해야한다.

 

App Center에 등록된 JRE 8.151.2.1 을 설치했다.

java 설치확인 및 java 프로그램 실행을 위해 터미널 환경을 열어줘야 했다.

제어판 > 네트워크 및 파일 서비스 > Telnet / SSH

 

체크 : SSH 연결 허용(관리자만 원격으로 로그인할 수 있습니다.)

 

https://www.myqnapcloud.com/ 에 접속하여 디바이스메니저 목록으로 접속한 나스의

브라우저 주소창에 표시된 접속IP로 터미널 접속을 한다.

 - command 프로그램 이용 : MobaXterm 프로그램을 사용. (좋다고 하는데, 한글이 잘 표현되지 않는듯.)

 > IP, username, prot를 입력하고 접속 (비밀번호 입력)

왼쪽 소스트리 페널을 이용하여 root[/] 로 이동하면서 NAS의 파일시스템 구조를 확인할 수 있었다.

 - 시작시 Q > Y 를 입력하여 프롬프트로 이동

 

앞서 설치한 jre 확인

 - java -version

프로그램을 업로드하고 실행한다.

터미널에서 확인

 


프로그램 : ransonwareFix.jar

 - 복구대상 경로, 복구완료 경로를 지정하면

 - 복구대상 경로의 하위폴더를 순회하면서 감염된 파일이 폴더에 없으면 '!!!READ_ME.txt' 삭제

 - 감염된 파일이 존재할 경우 해당 경로를 복구완료 경로에서 복구완료파일을 확인하여 존재하면 복구대상 폴더로 복사

 - 복구대상 폴더로 복구파일을 복사한 경우, 해당 감염파일 삭제

 - 복구완료 폴더에 파일이 복구할 파일이 없을경우 폴더 삭제

 

* 기본설정 옵션

 - 복구대상 : /share/CACHEDEV1_DATA/

 - 복구완료 : /share/external/DEV3301_1/restore1/share/CACHEDEV1_DATA/

 > java -jar /share/CACHEDEV1_DATA/work/workspace/ransonwareFix.jar

* 두번째 복구 옵션

 - 복구대상 : /share/CACHEDEV4_DATA/

 - 복구완료 : /share/external/DEV3301_1/restore4/share/CACHEDEV4_DATA/

 > java -jar /share/CACHEDEV1_DATA/work/workspace/ransonwareFix.jar /share/CACHEDEV4_DATA/ /share/external/DEV3301_1/restore4/share/CACHEDEV4_DATA/

* 세번째 복구 옵션

 - 복구대상 : /share/CACHEDEV5_DATA/

 - 복구완료 : /share/external/DEV3301_1/restore5/share/CACHEDEV5_DATA/

 > java -jar /share/CACHEDEV1_DATA/work/workspace/ransonwareFix.jar /share/CACHEDEV5_DATA/ /share/external/DEV3301_1/restore5/share/CACHEDEV5_DATA/

'nas' 카테고리의 다른 글

QNAP NAS 렌섬웨어 파일 복구  (0) 2021.10.07
QNAP HDD 교체.  (0) 2021.02.21

 

얼마전 사용중인 qnap nas가 렌섬웨어에 걸렸다.

당황해서 이것저것 알아보다가 손을 놓고 있었는데,

qnap 측에서 파일복구방법을 공지했다.

 

Qlocker 공격에서 파일을 복구하는 방법

당황스러운 것은 동일한 크기의 복구디스크를 준비해서 외장하드로 연결해야 한다는 것이다.

 

그래서.

마늘을 설득해서 8T 하드를 하나 더 샀다 ㅠ.ㅠ

(복구하고 되팔이로 금전적 손해를 없게 하겠다는 계획을 호소해야 했다. )

 

더보기

예전에 1T를 쓰던 외장하드가 있어서 하드만 사면 교체하고 사용할 수 있을 줄 알았는데

너무 오랜만에 꺼내서였는지... 전원을 연결하자마자 콘덴서가 터지면서 

외장하드 케이스가 망가지고 말았다.

 

그래서, 외장하드를 추가로 구매하였는데, 구매하면서 알게된 것이

8T 사용이 가능한 외장하드 케이스를 고려해서 구매했어야 한다는 거다. 

여러가지로.. 그냥되는게 없다.

 

8T HDD를 외장하드 케이스에 연결하고 안내에 따라 진행하는데, 

데모영상도 참고하면서 하니 큰 어려움이 없이 진행되었다.

 

그런데...


QRescue 설치.

NAS에서는 제공하는 공식 앱이 아닌 렌섬웨어 복구용 프로그램을 별도 배포했다. 

그래서 QRescue 라는 프로그램을 클라이언트 PC에 다운로드 받아서 

NAS의 AppCenter의 사용자 설치 기능으로 QRescue를 설치한다.

(외장하드가 연결되어야 앱이 설치된다.)

 

1. 외장하드설치, 앱설치, 복구 폴더 생성은 가이드 참고.

 

그런데, 렌섬웨어 파일 복구를 위해 별도 제공하는 QRescue 프로그램을 실행하니 

가이드와 다른 메뉴가 나왔다. 

  +-------------------------------------------------------------------------+
  |  Console Management - Main menu                                         |
  |                                                                         |
  |  1: Show network settings                                               |
  |  2: System event logs                                                   |
  |  3: Reset to factory default (password required)                        |
  |  4: Activate/ deactivate a license                                      |
  |  5: App management                                                      |
  |  6: Reboot in Rescue mode (w/o configured disk)                         |
  |  7: Reboot in Maintenance Mode                                          |
  |  Q: Quit (return to normal shell environment)                           |
  +-------------------------------------------------------------------------+
  >>

이것저것 찾아보다가 Q > Y 를 입력해 보니 가이드에 나오는 프롬프트가 나왔다. ㅡ.ㅡ

가이드에 나온 프롬프트 : [admin@서버 qrescue] #

 - 특이한 것은 다른 계정으로 로그인한 크롬 브라우저에서 QRescue를 조작하니 admin계정으로 로그인한 크롬 브라우저에 동일하게 적용이 되었다.

 - QRescue 프롬프트에서 exit를 실행하니, 서비스가 종료되어 버렸다. 결국 설치한 앱을 정지한 뒤 앱을 다시 시작하고, 실행하니 복구가 됐다.

 

2. photorec 명령으로 렌섬웨어 파일을 복구하자.

 - 상하 방향키로 복구할 디스크 논리디스크 선택, 좌우 방향키로 Proceed 선택하여 Enter.

복구 디스크 선택 후 Proccessd 가 선택되지 않으면(Enter로 진행되지 않을 경우)

photorec를 다시 실행하고 선택한다. (쓰레드가 끊기는 현상인듯)

[Whole] 선택

[..] 항목을 선택하여 share 폴더까지 상위로 폴더로 이동.

 - share 폴더에서 외장하드의 레이블로 설정한 rescue 항목으로 이동하여 복구 대상 폴더 선택

 > /dev/mapper/cachedev1 > /share/rescue/recup1

 (이리저리방황하다가 '/share/external/DEV3301_1/recup1/' 잘못된 경로를 지정하면 실패)

 - 복구파일을 위치할 대상 폴더까지 이동하여 'C' 입력

첫번째 디스크로 OS 디스크를 선택했는데, 체크하는데 17시간? 부터 줄어들더니

 - 8시간 40분 소요된다고 표시되었다.

자고일어나니 이렇게 정리되어 있었다.

복구대상 검사가 끝나고, 파일이 옮겨진 것 같다.

다음 스텝 준비


3. QRescue 를 이용하여 photorec 에서 검색한 파일을 복구한다.

 - qrescue.sh

 > recup1 폴더에 restore(번호) 폴더를 생성하여 파일을 복구함.

여러 디스크가 존재할 경우 디스크를 선택한다.

복구 로그가 표시된다.

복구대상 취합 폴더  : recup1

복구된 파일 확인 : restore1

파일들이 복구됐다. qrescue 를 실행하니 폴더구조까지 유지되며 복구가 되었다. 

 - 복구파일과 원본파일.. 이중으로 용량을 차지하는건가?

* 복구파일 위치
rescue > recup1 > recup_dir.1 > 복구파일 위치 (일괄파일명?)

* 원본 스토리지 구조
rescue > restore1 > share > CACHEDEV1_DATA > 이하 원본 스토리지 구조(원본파일명)

하지만, 일부 파일이 누락된 것을 확인했다.

 

불안한데.. (일단 다 확인할 수는 없고)

 

복구된 파일을 원래 폴더에 이동하고

렌섬웨어에 걸린 파일을 삭제한 뒤

[!!!READ_ME.txt] 파일을 삭제하는 작업을 진행해야 한다.

 

... 귀찮다. 

파일병합 프로그램을 만들어보자.

 

만들었다.

restore1 폴더에 복구된 파일을

 - 원래 폴더로 이동하고,

 - 감염파일을 삭제한 뒤 

 - 복구폴더가 빈상태가 되면 폴더를 지웠다.

(프로그램을 돌리니 일부 빈폴더가 남아서 수동으로 지워줬다.)

 

한 싸이클을 돌고나니, 복구되지 않은 파일들을 대상으로

한번 더 돌리면 복구될지.. 궁금해졌다.

 

돌려보자.

 - 자고일어나니 60만건이나 또 취합되었다. 

 > 반복하면 다 복구할 듯 한데.. 한번에 8시간씩 걸리니 언제 끝나려나 ㅍ

(그래도 걸렸을때의 막막함 보다는 희망적이다. 파일배치 프로그램도 만들어보고. ㅋ)

1번 스토리지 2차 복구결과

679058 files saved in /share/rescue/recup1/recup_dir directory.
Recovery completed.

 > 541450건(1차) + 679058건(2차) = 총 1,220,508 건

오류가났다.

파일이 없다고 오류가 났다.

 - '/share/rescue/recup1/recup_dir.1059/f3783530944.jpg'

 > 해당경로에 파일이 없었다. 프로그램 파일만 있는듯 한데... 뭘 잘못했지?

... 설치한 앱을 정지하고 실행한뒤 photorec를 실행해봤다.


여기까지 하고, QNAP에 서비스지원 티켓을 요청했다.

답변이 오면 다시 시도해보자.

왔다.

- 실망이 크다. 복구시 암호를 추출하지 않았던거구나...

 

 

 


같은 디스크 재실행은 포기하고,

두번째 디스크를 실행했다.

 

67시간이 걸린다고?

220시간이 걸린다고? ㅡ.ㅡ

시간이 널을 뛰는구나...

 

두번째 디스크의 복구는 71038 파일이 복구되었단다.

 

복구대상으로 생성된 'recup_dir.1' 패턴의 폴더들이 

/share/rescue/recup3 에 생성이 되었어야 하는데

/share/rescue 폴더에 잘못생겼다.

 - 생성된 143개의 폴더를 recup3폴더로 이동하니 qrescue.sh가 실행되었다.

 

아마 C 를 눌러서 실행하는 화면에서 

/. 항목이 선택된 상태로 C를 눌러 상위 폴더에 생성된 것인가 싶어

다시 /.. 항목이 선택된 상태로 시도를 해보았다.

 

.. 이래저래 다 실패.

 


QRescue 서비스를 정지했다가 다시 실행해서

첫번째 디스크부터 다시 실행해본다.

 

여기서 오래걸리는걸 보니..될라나?

... 는 개뿔... 실패

 

 

 


두번째 스토리지 (sub)를 복구하며

qrescue.sh 실행시 3번을 선택하니 복구가 시작되었다.

... 그런데, 하나걸러 하나 skip 하는듯...

 

 


세번째 디스크

 

아.. 오래걸린다.

 - 복구가 된다니 좋은건가. 그래도 28시간은.. 좀..

 

 

복구를 해보자

... 뭐꼬? 왜 안되나?

 

'nas' 카테고리의 다른 글

QNAP 렌섬웨어 복구후 파일정리  (4) 2021.10.30
QNAP HDD 교체.  (0) 2021.02.21

012

QNAP NAS HDD 교체.

 

TS-251A 2T 2G를 사서 사용하다가

www.qnap.com/ko-kr/product/ts-251a/specs/hardware

2G 메모리 업그래이드 해서 4G로

2T 디스크 업그래이드 해서 4T로 사용하던 중에 

 

큐텐에서 8T를 구매하여 장착하게 됐다.

(이거사느라 한달은 눈팅한듯..)

https://globalshop.qoo10.com/su/423374398/Q167909666

 

이것저것 시행착오를 하다가 다음에 헷갈리지 않기 위해 

정리해본다.

 

1. 나스 전원을 끈다.

2. 하드를 교체한다. (나스청소는 덤) 

 - 나중에 알았지만, 전원을 끄지 않고 교체가 가능하다. (더 깔끔하다.)

3. 나스 전원을 켠다.

4. 교체한 하드를 점검한다.

5. 나스가 부팅되면 교체된 하드로 생성된 볼륨을 삭제한다.

6. 스토리지풀을 생성한다.

7. 8T를 2T씩 쪼개서 3개의 씩볼륨을 생성한다.

8. FileStation 에서 공유폴더를 만든다.

 

* 처음 보는 볼륨 개념이 이해되지 않아서 씩볼륨으로 진행했다.

 - 정적볼륨 : 물리하드 통째로 쓴다.(통하드 개념)

 - 씩 볼륨 : 영역을 정해놓고 쓴다.(파티션분할 개념)

 - 씬 볼류 : 영역을 가변으로 구분하고 쓴다.(폴더? ㅋㅋ)

 

* 처음에는 하드를 교체할때 전원을 끄고 하드교체 후 전원을 키는 작업으로 번거롭게 하다보니

 교체한 하드의 스토리지, 볼륨이 깨지는 문제가 반복됐다.

 나중에 알게되고 나서는 전원이 켜진 상태에서 하드교체를 하는 방법으로 진행하게 되었다. 

 

* 백업할때 Qsync 영역을 빼먹는줄 알고 식겁했다. 다행히 날리기 전에 폴더에 옮겨서 백업했다.

  (동생 자료를 날려먹을뻔.)

 

* 백업하고 빈하드에 QTS라는 나스OS(?)를 새로 설치했다. (일종에 윈도우 밀기?)

  신기한것은 2번 하드에 최신OS를 설치하고 백업한 3번하드를 장착하니 기존 OS가 떴다.

  OS를 설치하면 윈도우처럼 마스터 디스크에 설치되는것이 아닌것 같다.

 

* HDD구성

 - 1번하드 : (시게이트 2T) 나스 구매시 장착된 초기 OS 설치하드

 - 2번하드 : (WD 2T) 중고로 구매한 추가하드

 - 3번하드 : (시게이트 8T) 구가 구매한 최신하드

 

1. 초기단계 : HDD1(초기OS,자료), HDD2(자료)

2. HDD1 백업준비 : 하드교체(HDD2 > HDD3)

 - 디스크검사 (8T 15시간 걸렸다)

3. HDD1 백업 : HDD1(초기OS,자료), HDD3(새하드)

 - HDD1 자료 HDD3로 이동 (이동자료 삭제하여 공간확보)

4. HDD2 백업 준비 : 하드교체(HDD3 > HDD2)

 - HDD2자료 HDD1로 이동 (꽉차서 2번 작업) : HDD2 자료를 HDD3으로 모두 이동하여 공간확보

5. QNAP OS 재설치 준비 : HDD1, HDD3번 탈착, HDD2번만 장착

 - 재설치 시 HDD까지 포멧된다. (재설치 후 HDD3을 장착하니 기존 OS로 부팅된다. @,@)

 > HDD2에 OS 설치작업을 다시 진행한 뒤 전원 상태에서 하드를 추가한것으로 기억

 

* 하드 슬롯이 2개인 모델이라 HDD2, HDD3만 장착하고 사용한다.

 - HDD2(WD)에 OS를 설치하고 디스크를 검사하니 베드섹터가 하나 나왔다. 중고라 그런가.. 싶지만, 왠지 찜찜

'nas' 카테고리의 다른 글

QNAP 렌섬웨어 복구후 파일정리  (4) 2021.10.30
QNAP NAS 렌섬웨어 파일 복구  (0) 2021.10.07

+ Recent posts