
captura electrónica es una herramienta para capturar contenido de texto SSL/TLS sin certificado CA Usando eBPF.
Cómo funciona eCapture

- Captura de contexto de texto SSL/TLS, admite bibliotecas openssl\libressl\boringssl\gnutls\nspr(nss).
- bash audit, capture el comando bash para la auditoría de seguridad del host.
- mysql query SQL audit, compatible con mysqld 5.6\5.7\8.0 y mariadDB.

usar archivo binario ELF
Descargue la versión del archivo zip ELF, descomprímalo y utilícelo por comando ./ecapture --help.
- Versión del kernel de Linux >= 4.18
- Habilitar formato de tipo BTF BPF (BTF) (opcional, 2022-04-17)
verifique la configuración BTF de su servidor
cfc4n@vm-servidor:~$# uname -r
4.18.0-305.3.1.el8.x86_64
cfc4n@vm-servidor:~$# cat /boot/config-uname -r | grep CONFIG_DEBUG_INFO_BTF
CONFIG_DEBUG_INFO_BTF=y
comando tls
capturar el contexto de texto de tls. Paso 1:
./ecapture tls –hexadecimal
Paso 2:
rizo https://github.com
libressl&aburridossl
para libressl instalado, libssl.so.52 es el lib ssl dinámico
vm@vm-servidor:~$ ldd /usr/local/bin/openssl
linux-vdso.so.1 (0x00007ffc82985000)
libssl.so.52 => /usr/local/lib/libssl.so.52 (0x00007f1730f9f000)
libcrypto.so.49 => /usr/local/lib/libcrypto.so.49 (0x00007f1730d8a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1730b62000)
/lib64/ld-linux-x86-64.so.2 (0x00007f17310b2000)
use libssl para configurar la ruta libssl.so
vm@servidor-vm:~$ sudo ./ecapture tls –libssl=”/usr/local/lib/libssl.so.52″ –hex
en otra terminal, use el comando, luego escriba una cadena, observe la salida de ecapture
vm@vm-servidor:~$ /usr/local/bin/openssl s_client -conectar github.com:443
para boressl instalados, el uso es el mismo
/ruta/a/bin/bssl s_client -connect github.com:443
comando bash
capturar comando bash.
ps-ef | grep foo
GANCHO
gancho openssl\libressl\boringssl
Gancho de captura electrónicaSSL_write \ SSL_read función de la biblioteca compartida /lib/x86_64-linux-gnu/libssl.so.1.1. obtener contexto de texto y enviar mensajes al espacio del usuario mediante mapas eBPF.
Sondas: []manager.Probe{ { Sección: “upprobe/SSL_write”, EbpfFuncName: “probe_entry_SSL_write”, AttachToFuncName: “SSL_write”, //UprobeOffset: 0x386B0, BinaryPath: “/lib/x86_64-linux-gnu/libssl.so.1.1”, }, { Sección: “uretprobe/SSL_write”, EbpfFuncName: “probe_ret_SSL_write”, AttachToFuncName: “SSL_write”, //UprobeOffset: 0x386B0, BinaryPath: “/lib/x86_64-linux-gnu/libssl.so.1.1”, }, { Sección: «upprobe/SSL_read», EbpfFuncName: «probe_entry_SSL_read», AttachToFuncName: «SSL_read», //UprobeOffset: 0x38380, BinaryPath: «/lib/x86_64-linux-gnu/libssl.so.1.1», }, { Sección : “uretprobe/SSL_read”, EbpfFuncName: “probe_ret_SSL_read”, AttachToFuncName: “SSL_read”, //UprobeOffset: 0x38380, BinaryPath: “/lib/x86_64-linux-gnu/libssl.so.1.1”, }, /*/
},
bash readline.so gancho
gancho /bin/bash nombre del símbolo readline.
Núcleo de Linux: >= 4.18.
Instrumentos
- vamos 1.16
- sonido metálico 9.0.0
- cmake 3.18.4
- backend clang: llvm 9.0.0
- configuración del núcleo: CONFIG_DEBUG_INFO_BTF=y (Opcional, 2022-04-17)
dominio
git clone git@github.com:ehids/ecapture.git
captura de cd
hacer
bin/ecapture-ayuda
compilar sin BTF
eCapture admite NO BTF con comando make nocore para compilar el 17/04/2022.
hacer nocore
bin/ecapture-ayuda









