랜섬웨어 활동이 급증함에 따라, 저희는 Ghost 랜섬웨어에 대한 심층 분석을 수행하기로 결정했습니다. 이 악성코드의 흥미로운 점은 사용자 파일을 암호화하기 위해 여러 구성 요소를 사용한다는 것입니다.
기술적 분석 :
주요 악성코드 실행 파일(Ghost.exe)은 DotNet Framework를 사용하여 컴파일됩니다. 이 랜섬웨어의 감염 경로는 아직 밝혀지지 않았지만, 스팸 이메일, 악성 광고, 다른 파일과 함께 배포되는 등의 경로를 통해 피해자의 컴퓨터에 침투할 수 있습니다. 스프레드시트 아이콘을 사용하여 사용자가 송장/견적서 등을 받은 것으로 오인하게 합니다.
처음에 Ghost.exe는 "www.12312312eewfef231.com"을 쿼리합니다. 이 도메인은 등록되어 있지 않지만, 등록되어 있다면 그림 1과 같이 예외를 catch하는 과정에서 악의적인 활동을 수행하여 킬 스위치 역할을 할 수 있습니다.

Ghost.exe는 피해자 컴퓨터의 "%appdata%\Ghost" 위치에 GhostService.exe 실행 파일을 생성합니다. 또한 Ghost 폴더에 bat 파일(Ghost.bat)을 생성하여 실행합니다. Ghost.bat은 그림 2와 같이 표시 이름("Ghost"), 실행 경로("%appdata%\Ghost\GhostService.exe"), 시작 모드("auto")를 가진 서비스를 생성합니다. 자동 모드이기 때문에 시스템이 시작될 때마다 맬웨어 서비스가 자동으로 시작됩니다.


서비스가 성공적으로 등록되면 Ghost.exe가 그림 4와 같이 "Ghost" 서비스를 시작합니다.

GhostService.exe는 "C" 드라이브 루트에 "Do_Not_Delete_codeId.txt"라는 이름의 .txt 파일을 생성하며, 이 파일의 내용은 코드 ID입니다. 이 코드 ID는 그림 5와 같이 무작위로 생성됩니다.

이제 "C" 드라이브의 루트에 구성 요소를 삭제하기 위해 "startProcess" 함수를 호출합니다.
그림 6에서 볼 수 있듯이 GhostService.exe는 다음 구성 요소를 포함합니다.
- GhostForm.exe – 랜섬 노트를 표시하고 파일을 암호화합니다.
- GhostFile.dll – 파일 목록을 생성하기 위한 함수를 내보냅니다.
- GhostHammer.dll – AES_Encrypt 함수를 내보냅니다.

그림 6: 구성 요소를 삭제하고 GhostForm.exe를 시작하는 기능
구성 요소를 삭제한 후 GhostForm.exe를 실행합니다. 그런 다음 "Database" 함수를 호출하여 MSSQLSERVER 서비스를 중지하고 "Microsoft SQL Server" 폴더의 파일을 암호화합니다.


그림 9에 표시된 것처럼 암호화할 파일 확장자 목록이 있습니다.

또한 "C" 드라이브의 루트에 있는 파일만 암호화하는 "datosC" 함수를 호출합니다.

GhostService.exe는 120초마다 이러한 작업을 반복하는 타이머를 유지 관리합니다.

GhostForm.exe는 랜섬 노트를 표시합니다. 또한 타이머를 유지하며, 120초마다 랜섬 노트를 닫습니다.

랜섬웨어 메모의 코드 ID는 C:\Do_Not_Delete_codeId.txt에 기록된 코드 ID와 동일합니다.
그림 12에서 볼 수 있듯이 맬웨어 제작자는 다음 주소로 500달러 상당의 비트코인을 지불할 것을 요구합니다: https://blockchain.info/payment_request?address=1N7AmqH12EN3yAkVMPB5rZoVX758jgLbzj&amount_local=500¤cy=USD&nosavecurrency=true&message=Pay%20me!

다음으로, "startEncrypt" 함수를 호출하여 다음 폴더에 있는 파일 목록을 만듭니다.
- 데스크탑
- 문서
- 그림
- 비디오
- 음악
위 목록에서 볼 수 있듯이, 악성코드는 특정 위치의 파일만 암호화합니다. 사용자가 대부분의 데이터를 보관하는 데스크톱 폴더를 표적으로 삼습니다. 또한, Windows OS는 문서, 사진, 비디오, 음악 폴더를 각 유형의 파일을 저장하기 위해 제공합니다.

위에 언급된 폴더에서 파일 목록을 가져오는 기능은 GhostFile.dll에 있습니다.





맬웨어는 그림 20과 같이 확장자 목록에 있는 확장자를 기반으로 파일 목록을 생성합니다. 파일 목록이 준비되면 GhostHammer.dll에서 암호화 루틴이 호출됩니다. 파일은 AES 알고리즘을 사용하여 암호화되고, 암호화된 파일에는 ".Ghost" 확장자가 추가됩니다.

두 확장자 목록의 차이점은 ".txt" 파일은 GhostService에서 암호화되지 않는 반면 GhostForm.exe에서는 암호화된다는 것입니다.
IOC :
3a2633cd5152a229d1f986073082ecd0
3d33f7f9f2e5fa3f4e7d2d6de5c9b7f1
464da6c4465816cba2d278634e2b9d3e
5db40b7c42376cc077383069a9c509eb
b93588bbb3f3f0addd5598586bbe2566
cd0f7f29e337f2ebe455ba4a85fb2b70
Quick Heal 제품은 아래 이름의 맬웨어를 감지합니다.
“몸값.유령.S*”
“몸값.박쥐.유령.*”
결론 :
최근 랜섬웨어 감염 건수가 크게 증가했습니다. 악성코드 개발자들은 사용자 파일을 암호화하기 위해 다양한 기법을 사용하기 시작했습니다.
랜섬웨어로부터 안전을 유지하기 위한 몇 가지 일반적인 권장 사항:
- 의심스러운 이메일은 열지 마세요. 특히 첨부 파일이 있는 경우 더욱 그렇습니다.
- 운영 체제(OS)를 업데이트하세요
- 소프트웨어를 업데이트하세요. 오래되고 오래된 버전의 소프트웨어에는 공격자가 시스템을 감염시키는 데 악용될 수 있는 취약점이 있습니다.
- 정기적으로 데이터 백업을 하고 안전한 곳에 보관하세요.
- 시스템에 다계층 바이러스 백신을 설치하여 실시간 위협으로부터 보호하세요. 그리고 바이러스 백신을 항상 최신 상태로 유지하세요.
주제 전문가:
라비 기드와니 | 퀵힐 시큐리티 랩스



