2019-2020-2 20175324 Wang Chenqiao Yu "Tecnología de contramedidas de red" Exp4 Análisis de código malicioso

2019-2020-2 20175324 Wang Chenqiao Yu "Tecnología de contramedidas de red" Exp4 Análisis de código malicioso

 

1. Objetivos experimentales y contenido

1. Practicar objetivos

Supervise el estado de ejecución de su propio sistema para ver si se están ejecutando programas sospechosos.
Para analizar un malware, analice el software de puerta trasera generado en Exp2 o Exp3; la herramienta de análisis intenta usar instrucciones nativas o sysinternals, la suite systracer
asume que cree que hay un problema con su host en el trabajo futuro, puede usar esta idea en el experimento, todo el sistema Monitoree para ver si se puede encontrar el objeto sospechoso y luego analice más a fondo el objeto sospechoso para confirmar su comportamiento y naturaleza específicos.

2. Practica el contenido

2.1 Monitoreo de operación del sistema

(1) Use, como tareas programadas, para registrar cada minuto qué programas hay en su computadora y dónde está la IP externa conectada. Ejecute durante un período de tiempo y analice el archivo para resumir los resultados del análisis.
(2) Instale y configure la herramienta sysmon en sysinternals, configure archivos de configuración razonables y monitoree el comportamiento sospechoso de su host.

2.2 Analice el software cuando (1) comience de nuevo a conectarse, (2) instale en la máquina de destino (3) y cualquier otra operación (como la migración del proceso o la captura de pantalla, lo importante es que esté interesado).

El software de puerta trasera
lee, agrega y elimina qué entradas de registro,
lee, agrega y elimina qué archivos están
conectados, qué IP externas y qué datos se transfieren

Segundo, pasos prácticos

1. Use la instrucción schtasks para monitorear el sistema

1.1. Utilice el comando schtasks / create / TN netstat5324 / sc MINUTE / MO 1 / TR "cmd / c netstat -bn> c: \ netstatlog.txt" para crear una tarea programada nestat5324

TN es la abreviatura de TaskName, el nombre de la tarea programada que creamos es netstat5324;
sc significa el método de temporización, completamos MINUTO en minutos;
TR es Task Run, el comando que se ejecutará es netstat
bn, b significa mostrar el nombre del archivo ejecutable, n significa Mostrar digitalmente IP y puerto;

Representa la redirección de salida, almacena la salida en el archivo c: \ netstatlog.txt

 

1.2 Cree un archivo de script llamado netstat5324.bat en la unidad C y escriba el siguiente contenido:

fecha / t >> c: \ netstat5324.txt
hora / t >> c: \ netstat5324.txt
netstat -bn >> c: \ netstat5324.txt

1.3. Abra el programador de tareas, puede ver esta tarea recién creada:

1.4 Haga doble clic en esta tarea, haga clic en Acción-> Editar y cambie el programa o script al archivo netstat5324.bat que creamos.

1.5. Verifique la columna General para ejecutar independientemente de si el usuario inició sesión o si se ejecuta con la máxima autoridad

1.6 A continuación, espere a que el script se ejecute durante un período de tiempo (el estado de la conexión de red debe mantenerse durante este período de tiempo), puede ver el registro de la red durante este período en el archivo netstat5324.txt

1.7. Importar los datos almacenados en una hoja de Excel para la clasificación

1.8 El cuadro de datos recopilados es el siguiente:

En la tabla estadística, podemos ver que los programas más conectados son el navegador Google, el disco de red Baidu, wps, etc.

2. Use la herramienta sysmon para monitorear el sistema #

2.1 Descargue la suite Sysinternals Sysmon es una herramienta en la suite que puede monitorear casi todas las operaciones importantes.

2.2 Determine el objetivo a ser monitoreado. Configure una lista blanca para programas confiables.

Los filtros de eventos seleccionables son la creación del proceso ProcessCreate, el tiempo de creación del proceso FileCreateTime, el enlace de red NetworkConnect, el final del proceso ProcessTermina, la carga del controlador DriverLoad, la carga de la imagen ImageLoad, la creación remota de hilos CreateRemoteTh, la lectura del controlador RawAccessRead, la lectura del proceso ProcessAccess, la creación de archivos FileCreate, Evento RegistryEvent Registry, creación de flujo de archivos FileCreateStre, etc.

El sysmon20175324.xmlcontenido del archivo de configuración editado por los compañeros de clase es el siguiente

<Sysmon schemaversion = " 4.12 " > 
  <! - Capture todos los hashes -> 
  <HashAlgorithms> * </HashAlgorithms> 
  <EventFiltering> 
    <! - Registre todos los controladores excepto si la firma -> 
    <! - contiene Microsoft o Windows -> 
    <ProcessCreate onmatch = " exclude " >      
      <Image condition = " end with " > chrome.exe </Image> 
      <Image condition = " end with " > firefox.exe </Image> 
    </ProcessCreate> 

    <ProcessCreate onmatch = " include " >
      <ParentImage condition = " end with " > cmd.exe </ParentImage> 
    </ProcessCreate> 

    <FileCreateTime onmatch = " exclude " > 
      <Image condition = " end with " > chrome.exe </Image> 
      <Image condition = " end con " > firefox.exe </Image> 
    </FileCreateTime> 
    
    <NetworkConnect onmatch = " exclude " > 
      <Image condition = " end with " > chrome.exe </Image>
      <Image condition = " terminar con "> firefox.exe </Image> 
      <SourcePort condition = " is " > 137 </SourcePort> 
      <SourceIp condition = " is " > 127.0 . 0.1 </SourceIp> 
    </NetworkConnect> 

    <NetworkConnect onmatch = " include " >      
      <DestinationPort condition = " is " > 80 </DestinationPort>       
      <DestinationPort condition = " is " > 443 <    

    <CreateRemoteThread onmatch = " include " > 
      <TargetImage condition = " end with " > explorer.exe </TargetImage> 
      <TargetImage condition = " end with " > svchost.exe </TargetImage> 
      <TargetImage condition = " end with " > firefox .exe </TargetImage> 
      <TargetImage condition = " termina con " > winlogon.exe </TargetImage> 
      <SourceImage condition = " termina con " > powershell.exe </SourceImage>
    </CreateRemoteThread>  
  </EventFiltering>
</Sysmon>

10.42 significa que la versión actual de Sysmon es la versión 10.42.
Excluir es equivalente a una lista blanca, no es necesario grabar. incluir es equivalente a una lista negra. onmatch significa partido.
ProcessCreate significa que ProcessCreate
NetworkConnect es una conexión de red. La conexión de red filtra la conexión de red del navegador, la conexión de red con la IP de origen de 127.0.0.1 y el servicio de conexión con el puerto de destino de 137, y comprueba que el puerto de destino es 80 (http) y 443 ( https) conexión a internet.
CreateRemote es creación remota de hilos. Use "incluir" aquí para seleccionar los hilos remotos cuyos objetivos de grabación son explorer.exe, svchost.exe, firefox.exe, winlogon.exe y powershell.exe.

FileCrete Time es el tiempo de creación del proceso

2.3. Instalar sysmon

Comando de ejecuciónsysmon.exe -i C:\sysmon20175324.xml

 

2.4 Abra la administración de la computadora, vea el visor de eventos, en el registro de aplicaciones y servicios / Microsoft / Windows / Sysmon / Operational, puede ver los nuevos eventos registrados de acuerdo con los requisitos del archivo de configuración, así como el ID del evento, la categoría de la tarea y la información detallada.

2.6. El primer registro es encontrar el archivo de configuración sysmon20175324.xml que creamos

 

 

3. Análisis de malware

3.1 Análisis de malware utilizando el sitio web virustotal

3.2. Herramienta Explorador de procesos

Su función es mostrar la actividad del sistema de archivos, registro, proceso / hilo en tiempo real.
Paso 1: encuentra el proceso

Paso 2: ver la información específica del proceso

Esta es la CPU utilizada por el proceso, espacio de memoria virtual, espacio de memoria física, E / S

3.3 Análisis del paquete de parches Wrieshark

(1) Use el programa de puerta trasera generado en el Experimento 2 para conectarse de nuevo a la máquina virtual kali


(2) Análisis de paquetes de Wrieshark, puede encontrar que se establece un apretón de manos completo de tres vías durante el proceso de conexión de puerta trasera. Después de configurar el filtro ip correspondiente, puede observar específicamente los paquetes recién agregados después de la ejecución de cada comando

Los datos transmitidos incluyen el paquete de solicitud de sincronización TCP SYN enviado por Windows a Kali, y el paquete de solicitud de sincronización SYN y el paquete de confirmación ACK enviado por Kali a Windows.

3.4 Análisis con Systracer

Primero descargue e instale Systracer, luego haga clic en tomar instantánea a la derecha para almacenar la instantánea. Para facilitar el procesamiento de datos aquí, solo seleccioné la unidad C.

Compare las instantáneas antes y después de que Kail se conecte de nuevo al host.

 

El análisis de la instantánea es el siguiente

Puede ver la IP de destino y el número de puerto, la IP de origen y el número de puerto, y el protocolo de conexión en detalle

Al observar las "manijas abiertas" del software de puerta trasera para comparar, se encontraron algunos cambios

El programa de puerta trasera modifica el registro y los archivos de la siguiente manera

3.5. Use Process Explorer para analizar malware

Cuando la máquina de destino ejecuta el programa de puerta trasera para conectarse, podemos ver su registro en la herramienta Process Explorer

Aquí podemos ver que el programa se ejecuta desde la línea de comando

También puede ver en detalle la CPU, el espacio de memoria virtual, el espacio de memoria física, E / S, etc. utilizados por el proceso

3. Responde preguntas después del experimento

1. Si sospecha que hay código malicioso en un host en el trabajo, pero solo adivine, entonces desea monitorear lo que hace el sistema todos los días.

Diseñe qué operaciones desea monitorear y qué método usar para monitorear.

Podemos usar el plan de tareas de Windows netstat para ver la conexión de red.

Use el Explorador de procesos para monitorear el proceso, use wireshark para capturar paquetes y use la herramienta sysmon para analizar los paquetes.

Configure el puerto, la información de registro, la conexión de red y otra información que desea monitorear, y analice el sistema para detectar fenómenos anormales a través del archivo de registro.

2. Si ha determinado que hay un problema con un programa o proceso, ¿qué herramientas tiene para obtener más información al respecto?

Primero, podemos usar el sitio web virustotal para analizar el malware. Si no se llega a una conclusión, podemos usar la herramienta Process Explorer para monitorear las actividades de procesos e hilos relacionados.

También podemos usar Wireshark para realizar análisis de captura de paquetes y monitorear su comunicación con el host.

Al mismo tiempo, podemos realizar análisis relacionados a través de la herramienta systracer para ver si ha modificado el registro y los archivos.

4. Resumen experimental

En comparación con los experimentos anteriores, este experimento lleva más tiempo. La razón principal es que este experimento necesita usar el conocimiento de los experimentos anteriores, y también introdujo una gran cantidad de software nuevo, y este nuevo software

No tenemos experiencia previa en el análisis de la gran cantidad de datos capturados. Los primeros experimentos fueron tareas preparadas, esta vez el experimento está más inclinado al combate real, en la vida real, analizamos

En el caso de código malicioso, también encontrará muchas dificultades. En este experimento, aprendí a monitorear el estado de ejecución de mi sistema y también a analizar el malware.

Después de ganar mucho, siento que tengo una comprensión más clara de la seguridad de la red.

Supongo que te gusta

Origin www.cnblogs.com/wcqy/p/12722429.html
Recomendado
Clasificación