WEBVTT

00:01.090 --> 00:02.670
안녕하세요, 환영합니다.

00:02.680 --> 00:09.550
이 동영상에서는 이모티콘의 포장을 풀고 분석해 보겠습니다.

00:09.880 --> 00:15.130
Emotet 트로이 목마를 다운로드하여 압축을 풀고 바탕 화면의 폴더에 넣을 수 있습니다.

00:15.160 --> 00:16.620
악성코드 핵심 샘플 폴더.

00:16.630 --> 00:26.410
그래서 가장 먼저 IDA로 데이터를 열어 정적으로 분석합니다. 새 프로젝트를 만듭니다.

00:28.440 --> 00:30.570
그리고 이모텟 트로이 목마를 엽니다.

00:32.190 --> 00:37.080
확인을 클릭하면 상당히 짧다는 것을 알 수 있습니다.

00:37.830 --> 00:42.880
기능이 매우 적고 주요 기능이 매우 짧습니다.

00:42.930 --> 00:46.170
따라서 이것은 아마도 포장되어 있음을 나타냅니다.

00:48.230 --> 00:51.440
쉽게 감지하여 열어 확인할 수도 있습니다.

00:52.520 --> 00:58.220
'쉽게 감지'를 열면 엔트로피가 높다는 것을 알 수 있습니다.

00:59.490 --> 01:05.460
여기에서 유틸리티 아래의 파일로 이동할 수 있습니다.

01:06.290 --> 01:08.630
Detect It Easy를 엽니다.

01:08.630 --> 01:09.200
간단합니다.

01:13.990 --> 01:21.490
그런 다음 데이터를 사용하여 데스크톱에서 Emotet 트로이 목마를 엽니다.

01:26.620 --> 01:32.220
여기에는 포장된 상태로 표시되지는 않지만요.

01:32.230 --> 01:34.210
하지만 엔트로피를 보면 알 수 있습니다.

01:34.970 --> 01:39.200
89%라는 매우 높은 수치를 확인할 수 있습니다.

01:39.560 --> 01:41.260
그리고 여기의 상태는 꽉 차 있습니다.

01:41.270 --> 01:44.690
따라서 이것은 포장되었음을 확인하는 것입니다.

01:46.970 --> 01:50.150
그래서 어떻게 포장을 풀고 있는지 살펴보려고 합니다.

01:50.780 --> 01:55.550
그래서 여기서는 포장 풀기 루틴을 호출합니다.

01:57.200 --> 02:02.210
이제 어떤 언패킹 루틴이 있는지 찾으려면 그 안에서 VirtualAlloc이라는

02:02.210 --> 02:03.830
호출을 찾아야 합니다.

02:04.310 --> 02:09.110
따라서 이들 각각을 살펴보면 그 안에서 VirtualAlloc을 호출하는 것이 바로 이것임을

02:09.110 --> 02:10.040
알 수 있습니다.

02:10.700 --> 02:11.690
보시다시피

02:12.410 --> 02:20.760
따라서 이 루틴에서는 VirtualAlloc API가 푸시되고, ESI로 이동되고, 나중에

02:20.930 --> 02:25.780
ESI가 이 DWORD로 이동되는 것을 볼 수 있습니다.

02:26.270 --> 02:29.240
그리고 나중에 이 DWORD는 다시 ESI로 이동됩니다.

02:30.200 --> 02:32.060
그런 다음 여기 스택으로 푸시됩니다.

02:32.060 --> 02:34.940
그래서 여기는 실제로 VirtualAlloc입니다.

02:36.110 --> 02:40.280
일반적으로 반환 전에 스택에 무언가를 밀어 넣지 않습니다.

02:41.150 --> 02:42.260
보통은 팝입니다.

02:42.470 --> 02:44.690
그래서 이것은 비정상적인 에필로그입니다.

02:47.010 --> 02:49.550
따라서 프롤로그가 힘을 발휘해야 합니다.

02:50.600 --> 02:54.320
하지만 에필로그는 톡톡 튀어야 합니다.

02:54.770 --> 02:58.970
하지만 대신 푸시가 표시된다면 비정상적인 현상이라는 뜻입니다.

02:59.360 --> 03:04.340
따라서 이것은 멀웨어 작성자가 분석가를 혼란스럽게 하기 위해 사용하는 수법입니다.

03:04.820 --> 03:14.240
즉, 여러분이 이것을 밀면 반환될 때 스택에서 이 명령어를 실행하는 것입니다.

03:14.600 --> 03:15.050
왜 그럴까요?

03:15.080 --> 03:18.980
반환하면 항상 스택 맨 위에 있는 항목으로 돌아가기 때문입니다.

03:19.010 --> 03:21.770
따라서 이것은 실제로 VirtualAlloc을 호출하는 것입니다.

03:22.310 --> 03:25.550
또 다른 이상 징후는 그 전에 또 다른 밀어내기입니다.

03:25.700 --> 03:33.110
따라서 VirtualAlloc이 반환되면 스택의 맨 위에 있는 두 번째 항목인 이 항목으로 돌아갑니다.

03:33.380 --> 03:35.090
그리고 나서 이 작업을 실행합니다.

03:35.750 --> 03:37.370
그리고 이것은 실제로 여기에 있습니다.

03:38.800 --> 03:42.070
VirtualAlloc이 반환된 후 이를 실행하려고 합니다.

03:42.760 --> 03:47.080
그리고 실행이 완료되면 이것이 실제 수익이 됩니다.

03:47.380 --> 03:49.150
다시 돌아올 것입니다.

03:49.300 --> 03:50.380
돌아옵니다.

03:50.890 --> 03:52.120
이제 Escape 키를 눌러 보겠습니다.

03:52.240 --> 03:54.940
여기에서 이 지침으로 돌아갑니다.

03:55.660 --> 04:00.100
스페이스바를 누르면 이 지침이 표시됩니다.

04:00.100 --> 04:05.980
41417EEF 스페이스바를 다시 누릅니다.

04:06.820 --> 04:10.660
자, 이제 우리가 살펴봐야 할 것은 이것들입니다.

04:11.110 --> 04:12.580
여기에 중단점을 넣어야 합니다.

04:12.910 --> 04:16.330
그리고 이것은 아마도 여기 안에 있는 언패킹 코드일 것입니다.

04:17.110 --> 04:20.470
코드의 압축이 풀리면 일반적으로 해당 코드로 이동합니다.

04:20.800 --> 04:22.930
이제 비정상적인 점프를 찾아보겠습니다.

04:24.450 --> 04:25.800
이것은 정상적인 점프입니다.

04:26.670 --> 04:28.140
아무데도 가지 않는 점프.

04:28.920 --> 04:33.000
갑자기 계산대로 이동하는 것은 매우 의심스러운 일입니다.

04:33.180 --> 04:37.020
이제 압축을 푼 코드로 넘어가 보겠습니다.

04:37.740 --> 04:39.600
그래서 여기에 중단점을 설정했습니다.

04:40.140 --> 04:42.780
디버그에서 열어 보겠습니다.

04:43.110 --> 04:45.420
이제 x64dbg를 열어보겠습니다.

04:46.050 --> 04:46.920
32비트.

04:49.020 --> 04:56.640
그런 다음 여기의 옵션, 환경설정으로 이동하여 시스템 중단점 및 TLS 콜백을 체크하고 항목 중단점만 체크한

04:56.640 --> 04:57.930
상태로 둡니다.

04:59.460 --> 05:01.560
그런 다음 이모티콘을 엽니다.

05:02.040 --> 05:05.610
데스크톱의 멀웨어 코어 샘플로 이동합니다.

05:06.720 --> 05:08.110
모든 파일을 선택합니다.

05:08.130 --> 05:09.240
이모티콘을 선택합니다.

05:09.480 --> 05:10.050
열다.

05:10.980 --> 05:12.540
이제 진입점에 도달했습니다.

05:13.020 --> 05:19.040
이제 점프에 중단점을 설정하겠습니다.

05:21.330 --> 05:21.960
여기.

05:23.220 --> 05:33.390
따라서 이것은 전체 코드가 실행되기 직전, 압축을 푼 코드가 실행되기 직전입니다.

05:33.390 --> 05:39.330
따라서 여기에 F2를 넣고 중단점을 설정한 다음 저기로 이동합니다.

05:40.920 --> 05:44.040
그러니 그 중단점으로 달려가세요.

05:44.220 --> 05:44.490
알겠습니다.

05:44.490 --> 05:50.340
이제 ESI로 넘어가야 하므로 그냥 넘어가세요.

05:51.720 --> 05:53.730
F8 키를 눌러 그 위로 이동할 수 있습니다.

05:54.120 --> 05:59.070
그래서 우리는 지금 ESI에서 교육을 받고 있습니다.
