안녕하세요, 환영합니다.
이 동영상에서는 이모티콘의 포장을 풀고 분석해 보겠습니다.
Emotet 트로이 목마를 다운로드하여 압축을 풀고 바탕 화면의 폴더에 넣을 수 있습니다.
악성코드 핵심 샘플 폴더.
그래서 가장 먼저 IDA로 데이터를 열어 정적으로 분석합니다. 새 프로젝트를 만듭니다.
그리고 이모텟 트로이 목마를 엽니다.
확인을 클릭하면 상당히 짧다는 것을 알 수 있습니다.
기능이 매우 적고 주요 기능이 매우 짧습니다.
따라서 이것은 아마도 포장되어 있음을 나타냅니다.
쉽게 감지하여 열어 확인할 수도 있습니다.
'쉽게 감지'를 열면 엔트로피가 높다는 것을 알 수 있습니다.
여기에서 유틸리티 아래의 파일로 이동할 수 있습니다.
Detect It Easy를 엽니다.
간단합니다.
그런 다음 데이터를 사용하여 데스크톱에서 Emotet 트로이 목마를 엽니다.
여기에는 포장된 상태로 표시되지는 않지만요.
하지만 엔트로피를 보면 알 수 있습니다.
89%라는 매우 높은 수치를 확인할 수 있습니다.
그리고 여기의 상태는 꽉 차 있습니다.
따라서 이것은 포장되었음을 확인하는 것입니다.
그래서 어떻게 포장을 풀고 있는지 살펴보려고 합니다.
그래서 여기서는 포장 풀기 루틴을 호출합니다.
이제 어떤 언패킹 루틴이 있는지 찾으려면 그 안에서 VirtualAlloc이라는
호출을 찾아야 합니다.
따라서 이들 각각을 살펴보면 그 안에서 VirtualAlloc을 호출하는 것이 바로 이것임을
알 수 있습니다.
보시다시피
따라서 이 루틴에서는 VirtualAlloc API가 푸시되고, ESI로 이동되고, 나중에
ESI가 이 DWORD로 이동되는 것을 볼 수 있습니다.
그리고 나중에 이 DWORD는 다시 ESI로 이동됩니다.
그런 다음 여기 스택으로 푸시됩니다.
그래서 여기는 실제로 VirtualAlloc입니다.
일반적으로 반환 전에 스택에 무언가를 밀어 넣지 않습니다.
보통은 팝입니다.
그래서 이것은 비정상적인 에필로그입니다.
따라서 프롤로그가 힘을 발휘해야 합니다.
하지만 에필로그는 톡톡 튀어야 합니다.
하지만 대신 푸시가 표시된다면 비정상적인 현상이라는 뜻입니다.
따라서 이것은 멀웨어 작성자가 분석가를 혼란스럽게 하기 위해 사용하는 수법입니다.
즉, 여러분이 이것을 밀면 반환될 때 스택에서 이 명령어를 실행하는 것입니다.
왜 그럴까요?
반환하면 항상 스택 맨 위에 있는 항목으로 돌아가기 때문입니다.
따라서 이것은 실제로 VirtualAlloc을 호출하는 것입니다.
또 다른 이상 징후는 그 전에 또 다른 밀어내기입니다.
따라서 VirtualAlloc이 반환되면 스택의 맨 위에 있는 두 번째 항목인 이 항목으로 돌아갑니다.
그리고 나서 이 작업을 실행합니다.
그리고 이것은 실제로 여기에 있습니다.
VirtualAlloc이 반환된 후 이를 실행하려고 합니다.
그리고 실행이 완료되면 이것이 실제 수익이 됩니다.
다시 돌아올 것입니다.
돌아옵니다.
이제 Escape 키를 눌러 보겠습니다.
여기에서 이 지침으로 돌아갑니다.
스페이스바를 누르면 이 지침이 표시됩니다.
41417EEF 스페이스바를 다시 누릅니다.
자, 이제 우리가 살펴봐야 할 것은 이것들입니다.
여기에 중단점을 넣어야 합니다.
그리고 이것은 아마도 여기 안에 있는 언패킹 코드일 것입니다.
코드의 압축이 풀리면 일반적으로 해당 코드로 이동합니다.
이제 비정상적인 점프를 찾아보겠습니다.
이것은 정상적인 점프입니다.
아무데도 가지 않는 점프.
갑자기 계산대로 이동하는 것은 매우 의심스러운 일입니다.
이제 압축을 푼 코드로 넘어가 보겠습니다.
그래서 여기에 중단점을 설정했습니다.
디버그에서 열어 보겠습니다.
이제 x64dbg를 열어보겠습니다.
32비트.
그런 다음 여기의 옵션, 환경설정으로 이동하여 시스템 중단점 및 TLS 콜백을 체크하고 항목 중단점만 체크한
상태로 둡니다.
그런 다음 이모티콘을 엽니다.
데스크톱의 멀웨어 코어 샘플로 이동합니다.
모든 파일을 선택합니다.
이모티콘을 선택합니다.
열다.
이제 진입점에 도달했습니다.
이제 점프에 중단점을 설정하겠습니다.
여기.
따라서 이것은 전체 코드가 실행되기 직전, 압축을 푼 코드가 실행되기 직전입니다.
따라서 여기에 F2를 넣고 중단점을 설정한 다음 저기로 이동합니다.
그러니 그 중단점으로 달려가세요.
알겠습니다.
이제 ESI로 넘어가야 하므로 그냥 넘어가세요.
F8 키를 눌러 그 위로 이동할 수 있습니다.
그래서 우리는 지금 ESI에서 교육을 받고 있습니다.