랜섬웨어는 항상 보안 업계의 화두였습니다. 최근 보안 담당자가 Rapid라는 랜섬웨어를 발견했습니다. 이 랜섬웨어는 RSA 및 AES를 사용하여 컴퓨터에 있는 기존 파일을 감염시킬 뿐만 아니라 새로 생성된 파일도 감염시킵니다. 암호화되었습니다. 이 기사에서는 Rapid Virus에 대한 자세한 분석을 수행하고 암호화 메커니즘을 분석하며 암호화된 파일을 구문 분석합니다.
Rapid Virus가 실행되면 여러 스레드를 생성하여 파일 시스템을 지속적으로 검사하고 파일을 암호화합니다. 컴퓨터에 있는 기존 파일뿐만 아니라 새로 생성된 파일도 감염시킵니다. 암호화된 파일에는 파일 이름에 ".rapid" 확장자가 추가되고 파일 크기는 0x4D0바이트만큼 늘어납니다.
rapid virus는 암호화된 폴더에 "How Recovery Files.txt"라는 랜섬 노트 파일을 생성합니다. 이 파일에는 피해자에게 결제 완료 방법을 묻는 이메일이 포함되어 있습니다. 사용자가 컴퓨터를 다시 시작하면 "recovery.txt"라는 랜섬웨어 프롬프트 파일이 자동으로 팝업됩니다. 해당 내용은 "How Recovery Files.txt" 파일의 내용과 동일합니다.
LanyEye의 차세대 위협 인식 시스템을 사용하여 신속한 프로그램을 탐지합니다. 란의 눈에는 래피드 프로그램이 위험도가 높은 것으로 표시되었습니다.
다음으로 래피드 프로그램에 대한 역분석이 수행되었습니다.
먼저 프로그램은 ShellExecuteA를 호출하여 그림에 표시된 대로 명령을 실행합니다.
주요 기능에는 Windows 볼륨 섀도 복사본을 지우고 피해자가 섀도 복사본을 사용하여 파일을 복구하는 것을 방지하는 것이 포함됩니다. 시스템 복구 및 자동 수정 기능을 비활성화합니다. 랜섬웨어는 드라이버 파일을 암호화하여 시스템 충돌을 자주 발생시킬 수 있습니다. 복구 기능을 비활성화하고 오류를 무시하여 시스템 충돌 가능성을 줄입니다. oracle.exe, sqlite.exe 및 sql.exe 프로세스를 종료하면 한편으로는 메모리가 해제되고 다른 한편으로는 이러한 데이터베이스 프로세스에 의한 특정 파일 점유가 완화됩니다.
그런 다음 프로그램은 시작 항목을 추가하고 레지스트리 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun 아래에 새 Encrypter 및 userinfo 항목을 생성합니다. Encrypter 항목 값은 "%AppDataRomainginfo.exe"이고 userinfo 항목 값은 "%AppDataRomaingrecovery.txt"입니다. 'info.exe' 파일은 랜섬웨어 프로그램 자체의 복사본이고, 'recovery.txt' 파일은 위에서 언급한 'How Recovery Files.txt' 파일과 내용이 동일하다. .
시스템의 정상적인 작동을 보장하기 위해 프로그램은 "Windows", "intel", "nvidia", "ProgramData" 및 "temp" 폴더 이름 아래의 파일을 선택하지 않습니다. :
이 랜섬웨어는 파일을 접미사 이름으로 필터링하지 않고, 선택한 파일이 "How Recovery Files.txt", "info.exe", "recovery.txt" 중 3개인지 판단합니다. 그런 다음 건너뛰면 나머지는 완전히 암호화됩니다.
프로그램은 먼저 PROV_RSA_FULL 유형의 CSP 컨테이너를 생성한 다음 Base64를 통해 프로그램에 하드코딩된 RSA 공개 키(RSA1이라는 이름)를 가져옵니다.
그러면 프로그램은 레지스트리 키 "local_public_key"가 존재하는지 확인합니다. 그렇지 않은 경우 레지스트리 키 "local_public_key"가 생성됩니다.
프로그램은 PROV_RSA_FULL 유형의 CSP 컨테이너를 생성하고 CryptGenKey()를 호출하여 RSA2라는 임의의 RSA 키 쌍을 생성합니다.
그런 다음 CryptExportKey()를 호출하여 방금 생성된 RSA2 개인 키 데이터를 내보내고 RSA1 공개 키를 호출하여 RSA2 개인 키를 암호화합니다. 암호화가 완료된 후 레지스트리 키 HKEY_CURRENT_USERSoftwareEncryptKeyslocal_enc_private_key에 RSA 개인키 데이터를 쓰고, 레지스트리 키 HKEY_CURRENT_USERSoftwareEncryptKeyslocal_enc_private_key_len
CryptExportKey()를 다시 호출하여 방금 생성된 임의의 RSA2 공개키 데이터를 내보내고, 이번에는 필요하지 않습니다. 암호화하려면 레지스트리 HKEY_CURRENT_USERSoftwareEncryptKeyslocal_public_key 및 HKEY_CURRENT_USERSoftwareEncryptKeyslocal_public_key_len에 직접 쓰십시오.
그런 다음 파일 암호화를 시작하고 선택한 파일의 크기를 가져옵니다. 파일 크기가 0x4D0바이트보다 작으면 암호화 프로세스를 직접 입력하고, 그렇지 않으면 파일 끝의 0x20바이트 데이터를 읽고 데이터의 이 부분이 암호화 플래그인지 확인합니다. "F5 D5 CD CD CD 7D CD CD 95 91 C1 C1 CD AD CD CD 41 CD 41 CD C1 99 FD 1D 59 95 81 FD 99 79 25 A5"입니다. 암호화 프로세스를 입력하고 그렇지 않으면 다음 파일을 선택하십시오. 암호화된 파일은 0x4D0보다 크고 0x20바이트의 암호화 플래그가 파일 끝에 추가되기 때문에
프로그램이 암호화 프로세스에 들어간 후 먼저 CryptGenKey()를 호출하여 임의의 AES를 생성합니다. 열쇠.
및 CryptExportKey()를 호출하여 AES 키 데이터를 내보냅니다. BLOBTYPE=PLAINTEXTKEYBLOB:
그림에 표시된 대로 데이터 길이는 0x2C, 0x3A42A8-0x3A42AF가 반환됩니다. DER, 0x 3A42B0- 0x3A42B3은 키 크기, 0x3A42B4- 0x3A42D3은 AES 키, 0x3A42D4-0x3A4327은 0xCD로 채워진 데이터입니다.
RSA2 공개 키를 사용하여 AES 키를 암호화합니다. 암호화는 "BLOB 형식 데이터 + AES 키입니다. + 위에서 언급한 "패딩 데이터"는 전체 0x80바이트의 데이터입니다.
파일 데이터를 읽고 AES 키를 사용하여 읽은 파일 데이터를 암호화합니다.
AES 암호화는 128비트로 그룹화됩니다. 원본 파일의 바이트 수가 128비트의 정수배가 아닌 경우 암호화된 암호문 데이터는 일반 텍스트 데이터보다 커지므로 프로그램은 0x00(AES 패킷의 바이트 수)의 0x10바이트를 채웁니다. 암호화 전 일반 텍스트의 끝.
암호화된 데이터를 파일에 덮어쓰고, 먼저 원래 파일 크기의 암호문 데이터만 쓴 다음, 증가된 0x10바이트의 데이터를 씁니다.
계속해서 파일에 데이터를 쓰고, 0x4D0바이트의 데이터를 씁니다. 이 0x4D0 바이트 데이터는 다섯 부분으로 구성됩니다. 첫 번째 부분은 변수 데이터인 0x10바이트이고, 두 번째 부분은 소스 파일 크기 문자열과 0xCD 패딩 데이터를 포함하는 0x80바이트 섹션입니다. 암호화된 AES 키 데이터인 0x400바이트는 암호화된 RSA2 개인 키 데이터입니다. 다섯 번째 부분인 0x20바이트는 파일 암호화 플래그 데이터입니다.
파일 이름 뒤에 ".rapid" 확장자를 추가하세요:
몸값 정보 표시
이제까지 Rapid Ransomware의 파일 암호화 과정을 분석했으니, 다음은 암호화된 분석을 해보겠습니다. 파일.
rapid 프로그램으로 0x9000바이트 크기의 파일을 암호화했다고 가정해 보겠습니다. 암호화된 파일 구조는 다음과 같습니다.
rapid 랜섬웨어는 디지털 서명(RSA_AES- 256) 파일이 암호화되어 있으며 파일의 암호를 해독하려면 디지털 서명의 개인 키가 필요합니다. 그러나 배열 서명의 개인 키는 RSA로 암호화되어 있으므로 RSA 개인 키가 없으면 디지털 서명의 개인 키를 얻기 어렵고 파일 복구도 매우 어렵습니다.
2017년은 랜섬웨어 바이러스 발생률이 높은 해였습니다. 이러한 상황은 2018년에도 계속될 것으로 예상됩니다. 우리 각자는 더욱 경계해야 하며, 의심스러운 메일함의 첨부 파일을 절대로 열지 말고, 타사 소프트웨어 리소스를 사용하지 말고, 안티 바이러스를 설치해야 합니다. 보안 위험을 줄이기 위한 바이러스 소프트웨어.
위 내용은 Rapid 랜섬웨어 바이러스를 분석하고 탐지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!