소개글
RATP Introduction
안녕하세요. 랜섬웨어 분석 학습 플랫폼을 사용해주셔서 감사합니다.
우리는 학습자들이 통해서 랜섬웨어를 분석하는 과정 속에서 다양한 지식을 습득할 수 있는 서비스를 제공합니다.
Q. 어떤 사람이 공부하기에 적합한가요?
정보보안을 공부하는 사람 중 랜섬웨어, 악성코드를 처음 분석하는 사람에게 적합합니다. 그리고 랜섬웨어가 동작하는 흐름을 익히기에 적합한 난이도로 진행이 됩니다.
Q. 암호화된 파일은 복구가 안되나요?
모든 파일은 복구가 가능하도록 제작되어 있습니다. 하지만 그렇다고 해도 절대로 악용하시면 안되며 무단배포도 금지합니다.
Q. 요즘은 다 Windows10 쓰는데 왜 7을 쓰시나요?
10과 7은 많은 공통점이 존재하지만 큰 차이가 하나 있습니다. 그건 바로 윈도우디펜더의 기능향상과 비중향상입니다. 윈도우10 같은 경우에는 윈도우 디펜더가 실습을 까다롭게 만들기 때문에 윈도우7환경에서 분석할 수 있도록 제공하고 있습니다.
Q. 최신에 유행하는 랜섬웨어와 비슷한 샘플을 제공하나요?
저희는 초심자를 대상으로 진행하기 때문에 최신에 배포되는 악성코드보다는 유행이 좀 지난 예전 파일들의 메커니즘을 주로 사용하였습니다. 그 이유는 역시 초심자를 대상으로 진행하기 때문이며 추후에 최신동향을 포함하는 다양한 샘플도 제공할 계획입니다.
로드맵
Road map
로드맵
랜섬웨어 설명
실습 환경 설정
사용 도구
실습환경설정, 사용 도구, 랜섬웨어 개념, 우리 자료로 어떤부분을 배우는지에 대한 관점에
랜섬웨어(RansomWare)란?
값을 뜻하는ransom과software가 더해진 합성어로서 컴퓨터의 정보를 인질로 잡아 돈을 요구한다고 해서 붙여진 이름입니다. 랜섬웨어는 사용자의 컴퓨터 내부에서 특정 확장자를 가진 파일들을 암호화 시킵니다.
우리는 이러한 랜섬웨어의 흐름을 파악하고 스스로 분석할 수 있는 힘을 기를 수 있도록 도와드릴 것입니다.
Q. 랜섬웨어는 갠드크랩 사건 종료이후로 조용하지 않나요?
일반 사용자를 향한 공격은 많이 줄었을 수도 있습니다. 하지만 아직도 기업을 대상으로 한 피해는 상당히 많이 일어나고 있습니다.
보안 관련 뉴스들을 보더라도 다양한 사건들이 일어나고 있는 것을 알수 있습니다.
2020년의 가장 큰 사이버 위협은 압도적으로 랜섬웨어
현재는 기업을 대상으로 정보를 탈취하고 판매하겠다고 협박하는 유형이 증가하고 있는 추세입니다. 그래서 우리는 계속해서 발전 중인 랜섬웨어의 뿌리인 암호화의 흐름을 공부하면서 파일을 암호화 하기 위해서, 복호화를 방해하기 위해서 어떠한 동작들을 하는지 초심자의 눈으로 다가가서 볼 수 있도록 도와드릴 것입니다.
랜섬웨어의 동작 흐름
본격적인 학습에 앞서서 간단한 흐름을 파악하고 가겠습니다.
랜섬웨어는 이름에서 알수 있듯이 금전적인 목적으로 협박을 진행합니다. 그리고 이 부분이 타 악성코드에 비해 엄청난 손해를 일으키는 원인이기도 합니다. 그래서 다수의 일반 사용자들도 한동안 많은 피해를 받기도 했습니다.
그러면 어떻게 해서 피해자에게 금전적인 부분을 협박할 수 있는 근거를 얻었을까요?
- 다른 악성코드와 비슷한 방식으로 피해자들에게 파일이 유표됩니다.
- 피해자가 인지하지 못한채로 랜섬웨어가 실행이 됩니다.
- 주로 주요한 문서나 사진들을 사용못하게 데이터를 암호화 시킵니다.
- 랜섬웨어 배포자는 랜섬노트(랜섬웨어가 실행되고 생성되는 txt파일로 자신에게 돈을 전송하라는 내용이 적혀있다.)를 만들어서 일정 금액을 지불하면 파일을 복호화 할 수 있는 키를 주겠다고 피해자를 협박합니다.
Q. 그러면 진짜 돈을 지불해야만 파일을 복구할 수 있나요?
돈을 지불하지 않고서도 복구할 수 있도록, 복구가 안된다면 실행을 방지할 수 있도록 지금도 악성코드 분석가분들이 분주하게 일하며 해커들과 싸우고 계십니다. 그리고 현재 미국 재무부에서는 랜섬웨어 배포자에게 돈을 지불하는 것을 불법으로 제정하기도 했습니다.
랜섬웨어에 돈 내는 것이 불법으로 규정되자 보안 업계 의견 갈려
우리는 플랫폼에서 랜섬웨어의 동작을 분석하는것에서 멈추지 않고 어떻게 복호화 시킬 수 있을지도 생각할 수 있게 도와드리며 함께 복호화를 진행하는 실습도 컨텐츠에 포함시켰습니다.
실제 랜섬웨어 방어와 그에따른 변형이 이루어지는 사건들에 대해서 자세히 알고 싶다면 아래의 사이트를 참고하는 것도 좋은 방법입니다.
이제는 말할 수 있다! 안랩 vs 갠드크랩(GandCrab)
실습 환경 설명
학습에 사용될 파일은 ova 파일로 제공하고 있습니다. vmware나 virtualbox 등의 가상머신을 이용하여 파일을 열어서 사용해주시면 됩니다. 사이트에서 제공하는 학습가이드를 보면서 가상머신에서 실습을 할 수 있게 제공하고 있습니다.
ova 파일 안에는 다음과 같은 파일들이 존재합니다. ova에 들어있는 파일 : 랜섬웨어 샘플, 디버거(윈디버거? ollydbg? x86dbg?), 와이어 샤크, peview, procmon, … 등등
따로 준비해야 하는 파일 : 디컴파일러(ida 혹은 기드라) ida가 없는 분들은 NSA에서 무료로 제공하는 도구인 기드라를 사용하는 것을 권장합니다.
주의사항
절대로 HOST 환경에서 샘플을 실행하지 마시고 동적 분석시에는 꼭 VM 내부에서 진행하시기 바랍니다. HOST에서는 디컴파일러를 이용한 분석만을 이용하시는 것을 권장합니다.
자료실
RATP Drive
RATP Drive
- gmm.ova를 다운받은 후 가상머신에 임포트하여 사용합니다. attacker.egg를 다운받은 후 가상머신에 임포트하여 사용합니다.
-
무료 프로그램으로 virtualbox(버츄얼박스)가 있습니다.
- 디컴파일러는 개별 준비가 필요합니다.
무료 디컴파일 툴로는 기드라(Ghidra)가 있습니다.
GMM01
Sample01
시나리오
신일이는 최근 가장 잘나가는 게임인 gmm을 하고싶지만 구매하기에는 돈이 아까워했다. 그래서 인터넷에 gmm 무료 설치파일을 발견하고 다운로드 받았다. "설치방법.txt"에 나온대로 "GMM1.exe"를 관리자 권한으로 실행하였다. 하지만 그 파일은 사실 랜섬웨어였고 신일이의 PC는 랜섬웨어에 감염이 되고만다. 감염 후 자신의 행동을 반성하고자 gmm 사이트에 접속하여 랜섬웨어 분석 공부를 시작하게 되었는데...분석 순서
- vm에 ova(or ovf) 파일을 import한다.
- “basic-0” 스냅샷으로 이동한다.
- 전원을 키고 바탕화면에 있는 GMM1.exe를 관리자 권한으로 실행한다.
- 실행 후 변화를 인지하고 스냅샷 “basic-0”으로 돌아온다.
- 랜섬웨어인 GMM1.exe을 분석해본다.
- SearchProtocol과 SearchFilterHost를 보아 해당 샘플은 감염PC에서 무언가를 검색하여 찾아내며,
- conhost(콘솔창)를 사용하여 명령어를 사용하지만 콘솔창을 숨기고 알수없는 명령어를 실행한다는것
- dllhost.exe 같은 경우 window에서 기본적으로 사용하는 응용프로그램 관리 프로세스지만 PC자원을 많이 소비하는 등의 이상징후가 있는 경우 악성코드를 의심해봐야한다.
이후 프로세스의 흐름을 따라가보기 위해 GMM1.exe를 실행하기전의 스냅샷으로 돌아가procmon을 실행
EVP Symmetric Encryption and Decryption 링크 클릭
- 이 외 참조사이트
/docs/man1.0.2/man3/EVP_EncryptUpdate.html 링크 클릭
모든 Windows 10 장치에 있는 Api (모듈별 그룹화 됨) - Windows UWP applications 링크 클릭
GMM02
Sample02
GMM03
Sample3
vss
Volume Shadow Copy Services
VSS 가이드
1. 볼륨 섀도 복사본 서비스
- Volume Shadow Copy Service (VSS)
시스템을 이전에 설정된 복원 지점으로 되돌려 복원하는 기능
- 복원 지점이 자동으로 생성될 때
애플리케이션 설치 시 : 설치 이전 지점 생성
윈도우 업데이트, 자동 업데이트 설치 시 : 설치 이전 지점 생성
시스템 복원 시 : 복원 작업 전 생성
사용자가 수동 생성
- 복원 시 변경되는 것
윈도우 시스템 파일, 레지스트리, 프로그램, 스크립트, 배치 파일 및 기타 유형의 실행 파일
문서, 전자 메일, 사진, 음악 파일과 같은 개인 파일은 변경되지 않음
- HKLM\SYSTEM\ControlSet001\Control\BackupRestore\FilesNotToSnapshot
2. 시스템 복원
1) 복원 지점 확인
System > System protection > System Restore
< /pre>
프로그램이 설치되었을 때 자동으로 생성된 복원 지점 확인 가능
< /pre>
2) 새 복원 지점 추가
3) 생성한 복원 지점으로 시스템 복원
Yes를 누르면 복원이 시작되고 재부팅됨
< /pre>
4) 시스템 복원 완료
3. VssAdmin
- VssAdmin : Windows 운영 체제에서 VSS 작업을 위해 제공하는 도구
basic-1 으로 이동
GMM1.exe 실행
GMM1.exe가 감염시킨 파일 확인
관리자 권한으로 cmd 실행
vssadmin list shadows : 현재 가지고 있는 볼륨 섀도 복사본 목록 출력
해당 섀도 복사본이 생성된 시점과 파일에 접근할 때 필요한 “Shadow Copy Volume”확인
해당 섀도 복사본에 대한 심볼릭 링크를 생성할 것임
mklink 명령어를 통해 C:\vsc에 링크 걸기
C:\vsc에 링크 걸린 것 확인
C:\vsc 디렉터리로 이동하면 복사되어 있는 해당 시점의 C:\ 확인 가능
C:\vsc\Users\gmm\Desktop\test 경로로 가서 암호화 되지 않은 상태인 기존 파일 확인
배경화면으로 다시 복사해서 복원 완료
작업 종료 후 “rmdir c:\vsc” 입력하여 심볼릭 링크 제거
ntfs
New Technology File System
Comming Soon
mbr
Master Boot Record