¿Podemos descifrar el tráfico HTTPS / SSL capturado (Meterpreter) con las claves de la memoria?

6

Una máquina en nuestra red se vio comprometida con Meterpreter.

Tenemos capturas de tráfico de todo el período del compromiso y un volcado de memoria de la máquina infectada en el momento en que se estableció la conexión.

¿Podemos descifrar el tráfico HTTPS / SSL que hemos capturado?

Hasta ahora hemos utilizado el complemento de dumpcerts de Volatility para extraer algunos certificados públicos, pero no hay aparentes privados. Seguramente las claves privadas deben estar en la memoria en algún lugar ya que la conexión aún estaba establecida.

La versión TLS es TLSv1 1.0. El identificador de algoritmo es sha256WithRSAEncryption.

    
pregunta Yara 18.10.2016 - 16:38
fuente

2 respuestas

1

Sí, puede extraer las claves. La clave privada y la clave simétrica están presentes en la memoria de la biblioteca criptográfica (por ejemplo, OpenSSL). Debe extraer la clave simétrica para descifrar el tráfico TLS. OpenSSL mantiene esto en la estructura SSL->session->master_key . Si no sabe exactamente qué biblioteca se está utilizando, un método simple de fuerza bruta sería extraer todos los buffers del tamaño apropiado de la memoria e intentar descifrar la secuencia TLS con cada uno hasta que tenga éxito.

También puede usar GDB, como se describe en Extraer pre -las claves maestras de una aplicación OpenSSL , que pueden proporcionarle el secreto pre-maestro que puede conectar a Wireshark. Si bien esa respuesta se centra en los volcados de memoria en vivo, debería funcionar igual de bien si tiene un volcado de núcleo. Use Volatility para volcar la memoria de proceso que está vinculada a la biblioteca TLS, en la que puede usar GDB. Si OpenSSL no está compilado con símbolos de depuración, es posible que tenga que recurrir a un método de fuerza bruta.

    
respondido por el forest 29.11.2017 - 05:46
fuente
0

Depende en cierta medida del tipo de datos que aún tenga en su memoria y de las características TLS negociadas durante el protocolo de enlace. Wireshark puede ayudarlo a descifrar el tráfico si puede proporcionarlo, por ejemplo, el secreto maestro del canal TLS.

    
respondido por el ic0ns 31.08.2017 - 01:02
fuente

Lea otras preguntas en las etiquetas