1
00:00:01,460 --> 00:00:03,530
Hola y bienvenidos a esta lección.

2
00:00:08,290 --> 00:00:09,640
Portable executar vol?

3
00:00:11,750 --> 00:00:12,350
Qué es?

4
00:00:13,310 --> 00:00:19,370
Es una estructura usada por el sistema operativo Windows para representar un ejecutable como un punto

5
00:00:19,370 --> 00:00:25,040
exe, un punto DLL, un punto XYZ entre los más conocidos.

6
00:00:26,240 --> 00:00:29,930
Por qué es importante para nuestro propósito?

7
00:00:29,960 --> 00:00:34,010
Es importante porque nos dará algunas claves necesarias para analizar el malware.

8
00:00:34,580 --> 00:00:38,810
En esta lección vamos a aprender la estructura portable execute de Windows.

9
00:00:39,320 --> 00:00:44,930
Como dije antes de esta estructura, este encargo de manejar los ejecutables de Windows y nos dará algunas

10
00:00:44,930 --> 00:00:47,840
pistas para hacer nuestro análisis de malware.

11
00:00:49,920 --> 00:00:54,990
Vamos a encontrar este cuadro o esta figura con algunas variaciones, pero no importa, voy a explicar

12
00:00:54,990 --> 00:00:59,520
las partes esenciales, las partes que necesitamos para analizar malware.

13
00:00:59,970 --> 00:01:05,270
Este es, en mi opinión, el más completo, la más completa representación de un Portabella execute

14
00:01:05,430 --> 00:01:06,630
que podemos encontrar.

15
00:01:06,960 --> 00:01:08,910
Podemos ver el autor aquí en la esquina.

16
00:01:20,950 --> 00:01:28,060
Lo que tenemos aquí es un ejecutable llamado simple punto exe, que simplemente se va a desplegar el

17
00:01:28,060 --> 00:01:29,380
típico jelou word.

18
00:01:33,000 --> 00:01:38,760
El ejecutable está dividido en dos partes cabeza y secciones, que a su vez están divididos en más partes.

19
00:01:41,800 --> 00:01:47,050
La cabecera 2 era usada para compatibilidad con el sistema operativo 2.

20
00:01:47,500 --> 00:01:51,190
No es importante ahora, ya que es un sistema operativo antiguo en desuso.

21
00:01:58,450 --> 00:02:04,780
Vamos a ver el hexadecimal domm o volcado hexadecimal, como probablemente sabes, tu computadora para

22
00:02:04,780 --> 00:02:07,570
entender instrucciones tiene que hacerlo en binario.

23
00:02:08,500 --> 00:02:16,000
Un hexadecimal dom o volcado hexadecimal es una representación de data stream o flujo de datos de tu

24
00:02:16,000 --> 00:02:22,030
binario, donde el contenido de ese stream es desplegado en valores de hexadecimales.

25
00:02:22,600 --> 00:02:25,180
En la sección de Haskell Dom la column.

26
00:02:25,210 --> 00:02:28,660
En esta columna tenemos la representación ASCII de los otros valores.

27
00:02:29,320 --> 00:02:33,730
Vamos a tomar por ejemplo este msj y vamos a ponerlo en un traductor.

28
00:02:34,480 --> 00:02:39,850
Como ves el el hexadecimal es 4 de 5 a este 4 de 5.

29
00:02:40,000 --> 00:02:44,410
Es una marca distintiva, un sello si quieres de los archivos de Windows.

30
00:02:47,510 --> 00:02:51,920
Como ves, de este 4 de 5a en aquí es MZ.

31
00:02:55,640 --> 00:02:57,770
Por lo tanto, este es un archivo de Windows.

32
00:02:59,930 --> 00:03:00,770
Por cierto, M.

33
00:03:00,900 --> 00:03:03,800
Z son las iniciales del desarrollador.

34
00:03:05,170 --> 00:03:06,400
Marc Sikorski.

35
00:03:16,770 --> 00:03:17,640
Pege Heder.

36
00:03:19,440 --> 00:03:26,310
Empieza con el campo signature, el valor P significa, por supuesto, Portobelo execute aquí en verde.

37
00:03:27,390 --> 00:03:28,740
Luego tenemos Machin.

38
00:03:29,340 --> 00:03:34,710
Este hexadecimal aquí es importante porque indica el tipo de procesador en el que este malware puede

39
00:03:34,710 --> 00:03:35,490
ejecutarse.

40
00:03:40,580 --> 00:03:42,150
Veremos esto con más detalle.

41
00:03:42,200 --> 00:03:44,990
Luego, en la sección Tipo de archivo o failed tayta.

42
00:03:49,030 --> 00:03:55,420
La siguiente parte, como su nombre dice, es opcional si el ejecutable la tiene en esta cabecera podemos

43
00:03:55,420 --> 00:04:00,490
encontrar el tipo de procesador aquí en el Magic bombero número mágico.

44
00:04:07,560 --> 00:04:10,050
En la siguiente sección tenemos el Data Directory.

45
00:04:10,650 --> 00:04:14,880
Estos mayormente son punteros a los de Export Import.

46
00:04:16,710 --> 00:04:23,150
En la sección Import encontrarás todas las funciones APIs que este ejecutable necesita consumir y Annex

47
00:04:23,160 --> 00:04:28,140
por las funciones o APIs que está dispuesto a compartir con otros programas.

48
00:04:29,340 --> 00:04:31,470
Veremos esto con una herramienta en un minuto.

49
00:04:37,440 --> 00:04:42,980
Esta sección tabla define como el archivo descargado en memoria contiene una lista de todas las secciones

50
00:04:43,000 --> 00:04:43,950
en el ejecutable.

51
00:04:44,760 --> 00:04:46,050
No es importante por ahora.

52
00:04:50,270 --> 00:04:57,260
Te recuerdo que estamos estamos chequeando el ejecutable nombre de nombre simple, simplemente desplegará

53
00:04:57,440 --> 00:04:59,030
el mensaje jelou wor.

54
00:05:01,250 --> 00:05:03,340
Aquí tenemos el código en ensamblador.

55
00:05:04,870 --> 00:05:09,640
Cabe recalcar que esto no es parte del Portabella Execute Evola Estructure es simplemente algo que el

56
00:05:09,640 --> 00:05:16,810
autor añadió para que podamos ver el código de este archivo en el lenguaje ensamblador y su código equivalente

57
00:05:16,810 --> 00:05:18,840
en el lenguaje C que está aquí junto.

58
00:05:19,950 --> 00:05:22,400
Repito, esto no son partes del portavocía executar.

59
00:05:22,950 --> 00:05:28,590
Podremos usar un debugger para ver el lenguaje ensamblador o un compilador para ver el lenguaje C.

60
00:05:36,630 --> 00:05:43,170
Ahora, en este import structures podemos ver las lapis que este ejecutable necesita para funcionar.

61
00:05:44,750 --> 00:05:48,320
Por supuesto, son más lapis involucradas, pero para el ejemplo estas están bien.

62
00:05:48,940 --> 00:05:51,200
Es éxit proces y Message Box A.

63
00:05:54,200 --> 00:05:58,620
Que pertenecen a quedar en el 32 punto de ll y Usser 32 punto de.

64
00:05:59,510 --> 00:06:03,020
Verás mucho de estas lapis cuando e inspeccione los archivos.

65
00:06:05,110 --> 00:06:10,630
Como otro, como cualquier otro programa, Windows necesita funciones para hacer de todo, estas funciones

66
00:06:10,630 --> 00:06:13,650
son las lapis que están contenidas dentro de DLL.

67
00:06:14,440 --> 00:06:19,720
Veamos en esta herramienta CFP Explorer de lo que estoy hablando, sólo te estoy dando un vistazo.

68
00:06:19,930 --> 00:06:21,810
Veremos un poco más de esto después.

69
00:06:23,390 --> 00:06:31,340
Aquí tenemos la importo y la ex por directory en la Import Directory vemos mucho de esto cuyo user 32

70
00:06:31,340 --> 00:06:35,690
dll anclarme el 32 dll con sus respectivas APIs.

71
00:06:37,020 --> 00:06:39,990
Estas API son muy importantes para que un ejecutable funcione.

72
00:06:43,360 --> 00:06:43,810
En la Éx.

73
00:06:43,900 --> 00:06:44,230
En Éx.

74
00:06:44,260 --> 00:06:49,150
Por Directory tenemos las funciones que este archivo está dispuesto a compartir.

75
00:06:49,210 --> 00:06:51,100
Es decir, a que otros programas lo usen.

76
00:06:55,320 --> 00:06:56,790
Volvamos a nuestro documento.

77
00:06:59,310 --> 00:07:04,830
Finalmente, tenemos del string que desplegará el Outworld Huala mundo en español, por supuesto.

78
00:07:07,020 --> 00:07:11,910
Si quieres chequear todas las lapis de Windows, te dejamos un enlace en tu documento Recursos web.

79
00:07:12,930 --> 00:07:13,980
Gracias por mirar.

80
00:07:15,080 --> 00:07:16,850
Espero verte en la próxima lección.
