Penting
Mendukung versi kernel Linux/Android x86_64 4.18 ke atas, aarch64 5.5 ke atas. Perlu izin ROOT. Tidak mendukung sistem Windows dan macOS.
Perkenalan
Memulai
Modul OpenSSL
Modul GoTLS
Modul Lainnya
File biner ELF
gambar buruh pelabuhan
Unduh
Tangkap konten teks terbuka.
Modul
Video
Berkontribusi
Kompilasi
Pengambilan teks biasa SSL/TLS, mendukung perpustakaan openssllibresslboringsslgnutlsnspr(nss).
Teks biasa GoTLS mendukung perpustakaan go tls, yang mengacu pada komunikasi terenkripsi dalam program https/tls yang ditulis dalam bahasa golang.
audit bash, ambil perintah bash untuk Audit Keamanan Host.
audit SQL kueri mysql, mendukung mysqld 5.65.78.0, dan mariadDB.
Tip
mendukung Linux/Android x86_64/aarch64.
Unduh rilis file zip ELF, unzip dan gunakan dengan perintah sudo ecapture --help
.
Tip
Hanya Linux.
# tarik docker imagedocker tarik gojue/ecapture:latest# rundocker run --rm --privileged=true --net=Host -v ${HOST_PATH}:${CONTAINER_PATH} gojue/ecapture ARGS
lihat Docker Hub untuk informasi lebih lanjut.
sudo ecapture tls 15-09-2024T11:51:31Z INF AppName="eCapture(旁观者)"2024-09-15T11:51:31Z INF HomePage=https://ecapture.cc 15-09-2024T11:51:31Z Repositori INF=https://github.com/gojue/ecapture 15-09-2024T11:51:31Z INF Author="CFC4N <[email protected]>"2024-09-15T11:51:31Z INF Description="Menangkap teks biasa SSL/TLS tanpa sertifikat CA menggunakan eBPF. Didukung di Linux /Kernel Android untuk amd64/arm64."2024-09-15T11:51:31Z Versi INF=linux_arm64:0.8.6-20240915-d87ae48:5.15.0-113-generik 15-09-2024T11:51:31Z INF Dengarkan=localhost:28256 15-09-2024T11:51:31Z INF eCapture menjalankan log logger= 15-09-2024T11:51:31Z INF pengendali file yang menerima peristiwa yang diambil eventCollector= 15-09-2024T11:51:31Z INF mendengarkan=localhost:28256 15-09-2024T11:51:31Z Server INF https dimulai...Anda dapat memperbarui file konfigurasi melalui antarmuka HTTP. 15-09-2024T11:51:31Z WRN ========== modul dimulai. ========== 15-09-2024T11:51:31Z Info Kernel INF=5.15.152 Pid=233698 15-09-2024T11:51:31Z Mode bytecode INF BTF: CORE. btfMode=0 15-09-2024T11:51:31Z Keylogger kunci master INF telah disetel. eBPFProgramType=Teks keylogger= 15-09-2024T11:51:31Z inisialisasi modul INF. isReload=false moduleName=EBPFProbeOPENSSL 15-09-2024T11:51:31Z Modul INF.Jalankan() 15-09-2024T11:51:31Z Versi WRN OpenSSL/BoringSSL tidak ditemukan dari file perpustakaan bersama, menggunakan versi default OpenSSL Version=linux_default_3_0 15-09-2024T11:51:31Z Fungsi masterKey Kait INF ElfType=2 Fungsi=["SSL_get_wbio","SSL_in_before","SSL_do_handshake"] binrayPath=/usr/lib/aarch64-linux-gnu/libssl.so.3 15-09-2024T11:51:31Z INF menargetkan semua proses. 15-09-2024T11:51:31Z INF menargetkan semua pengguna. 15-09-2024T11:51:31Z INF setupManagers eBPFProgramType=Teks 15-09-2024T11:51:31Z File bytecode INF BPF cocok. bpfFileName=pengguna/bytecode/openssl_3_0_0_kern_core.o 15-09-2024T11:51:32Z INF perfEventReader membuat mapSize(MB)=4 15-09-2024T11:51:32Z INF perfEventReader membuat mapSize(MB)=4 15-09-2024T11:51:32Z Modul INF dimulai dengan sukses. isReload=false moduleName=EBPFProbeOPENSSL 15-09-2024T11:51:53Z ??? UUID:233851_233851_curl_5_1_172.16.71.1:51837, Nama:HTTP2Permintaan, Tipe:2, Panjang:304 Jenis Bingkai => PENGATURAN Jenis Bingkai => WINDOW_UPDATE Tipe Bingkai => KEPALA kolom header ":method" = "GET"header field ":path" = "/"header field ":scheme" = "https"header field ":authority" = "google.com"header field "user-agent" = "curl/7.81.0"bidang header "accept" = "*/*"Jenis Bingkai => PENGATURAN 15-09-2024T11:51:53Z ??? UUID:233851_233851_curl_5_0_172.16.71.1:51837, Nama:HTTP2Response, Tipe:4, Panjang:1160 Jenis Bingkai => PENGATURAN Jenis Bingkai => WINDOW_UPDATE Jenis Bingkai => PENGATURAN Tipe Bingkai => KEPALA bidang tajuk ":status" = "301"bidang tajuk "lokasi" = "https://www.google.com/"bidang tajuk "tipe konten" = "teks/html; charset=UTF-8"bidang tajuk " content-security-policy-report-only" = "object-src 'none';base-uri 'self';script-src 'nonce-qvZZ0XreBfeqRnUEV1WoYw' 'strict-dynamic' 'report-sample' 'unsafe-eval' 'unsafe-inline' https: http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp"header field "tanggal " = "Minggu, 15 Sep 2024 11:51:52 GMT"kolom header "kedaluwarsa" = "Sel, 15 Okt 2024 11:51:52 GMT"bidang tajuk "kontrol cache" = "publik, usia maks=2592000"bidang tajuk "server" = "gws"bidang tajuk "panjang konten" = "220"bidang tajuk "x-xss -protection" = "0"bidang tajuk "x-frame-options" = "SAMEORIGIN"bidang tajuk "alt-svc" = "h3=":443"; ma=2592000,h3-29=":443"; ma=2592000"Jenis Bingkai => PING Tipe Bingkai => DATA<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"><TITLE>301 Dipindahkan</TITLE></HEAD>< BODY><H1>301 Dipindahkan</H1>Dokumen telah dipindahkan<A HREF="https://www.google.com/">di sini</A>.</BODY></HTML>
Alat eCapture terdiri dari 8 modul yang masing-masing mendukung pengambilan teks biasa untuk pustaka enkripsi TLS/SSL seperti OpenSSL, GnuTLS, NSPR, BoringSSL, dan GoTLS. Selain itu, ini memfasilitasi audit perangkat lunak untuk aplikasi Bash, MySQL, dan PostgreSQL.
bash menangkap perintah bash
gnutls menangkap konten teks gnutls tanpa sertifikat CA untuk perpustakaan gnutls.
gotls Menangkap komunikasi teks biasa dari program Golang yang dienkripsi dengan TLS/HTTPS.
mysqld menangkap kueri sql dari mysqld 5.6/5.7/8.0 .
nss menangkap konten teks terenkripsi nss/nspr tanpa sertifikat CA untuk perpustakaan nss/nspr.
postgres menangkap kueri sql dari postgres 10+.
tls digunakan untuk menangkap konten teks tls/ssl tanpa sertifikat CA. (Dukungan openssl 1.0.x/1.1.x/3.0.x atau lebih baru). Anda dapat menggunakan ecapture -h
untuk melihat daftar subperintah.
eCapture mencari file /etc/ld.so.conf
default, untuk mencari direktori pemuatan file SO
, dan mencari lokasi perpustakaan openssl
shard. atau Anda dapat menggunakan tanda --libssl
untuk menyetel jalur perpustakaan shard.
Jika program target dikompilasi secara statis, Anda dapat mengatur jalur program sebagai nilai flag --libssl
secara langsung。
Modul OpenSSL mendukung tiga mode pengambilan:
Mode pcap
/ pcapng
menyimpan data teks biasa yang diambil dalam format pcap-NG
.
keylog
/ mode key
menyimpan kunci jabat tangan TLS ke file.
mode text
secara langsung menangkap data teks biasa, baik dikeluarkan ke file tertentu atau dicetak ke baris perintah.
Mendukung http 1.0/1.1/2.0
terenkripsi TLS melalui TCP, dan protokol http3 QUIC
melalui UDP. Anda dapat menentukan -m pcap
atau -m pcapng
dan menggunakannya bersama dengan parameter --pcapfile
dan -i
. Nilai default untuk --pcapfile
adalah ecapture_openssl.pcapng
.
sudo ecapture tls -m pcap -i eth0 --pcapfile=ecapture.pcapng port tcp 443
Perintah ini menyimpan paket data teks biasa yang diambil sebagai file pcapng, yang dapat dilihat menggunakan Wireshark
.
sudo ecapture tls -m pcap -w ecap.pcapng -i ens160 15-09-2024T06:54:12Z INF AppName="eCapture(旁观者)"2024-09-15T06:54:12Z INF HomePage=https://ecapture.cc 15-09-2024T06:54:12Z Repositori INF=https://github.com/gojue/ecapture 15-09-2024T06:54:12Z INF Author="CFC4N <[email protected]>"2024-09-15T06:54:12Z INF Description="Menangkap teks biasa SSL/TLS tanpa sertifikat CA menggunakan eBPF. Didukung di Linux /Kernel Android untuk amd64/arm64."2024-09-15T06:54:12Z Versi INF=linux_arm64:0.8.6-20240915-d87ae48:5.15.0-113-generik 15-09-2024T06:54:12Z INF Dengarkan=localhost:28256 15-09-2024T06:54:12Z INF eCapture menjalankan log logger= 15-09-2024T06:54:12Z INF pengendali file yang menerima peristiwa yang diambil eventCollector= 15-09-2024T06:54:12Z WRN ========== modul dimulai. ========== 15-09-2024T06:54:12Z Info Kernel INF=5.15.152 Pid=230440 15-09-2024T06:54:12Z Mode bytecode INF BTF: CORE. btfMode=0 15-09-2024T06:54:12Z INF mendengarkan=localhost:28256 15-09-2024T06:54:12Z inisialisasi modul INF. isReload=false moduleName=EBPFProbeOPENSSL 15-09-2024T06:54:12Z Modul INF.Jalankan() 15-09-2024T06:54:12Z Server INF https dimulai...Anda dapat memperbarui file konfigurasi melalui antarmuka HTTP. 15-09-2024T06:54:12Z Versi WRN OpenSSL/BoringSSL tidak ditemukan dari file perpustakaan bersama, menggunakan versi default OpenSSL Version=linux_default_3_0 15-09-2024T06:54:12Z Jenis INF HOOK:Openssl elf ElfType=2 IFindex=2 IFname=ens160 PcapFilter= binrayPath=/usr/lib/aarch64-linux-gnu/libssl.so.3 15-09-2024T06:54:12Z Fungsi masterKey Kait INF Fungsi=["SSL_get_wbio","SSL_in_before","SSL_do_handshake"]15-09-2024T06:54:12Z INF menargetkan semua proses. 15-09-2024T06:54:12Z INF menargetkan semua pengguna. 15-09-2024T06:54:12Z INF setupManagers eBPFProgramType=PcapNG 15-09-2024T06:54:12Z File bytecode INF BPF cocok. bpfFileName=pengguna/bytecode/openssl_3_0_0_kern_core.o 15-09-2024T06:54:12Z Paket INF disimpan ke dalam file pcapng. jalur pcapng=/home/ecapture/ecap.pcapng 15-09-2024T06:54:12Z INF perfEventReader membuat mapSize(MB)=4 15-09-2024T06:54:12Z INF perfEventReader membuat mapSize(MB)=4 15-09-2024T06:54:12Z Modul INF dimulai dengan sukses. isReload=false moduleName=EBPFProbeOPENSSL 15-09-2024T06:54:14Z Paket INF disimpan ke dalam file pcapng. hitungan=4 15-09-2024T06:54:16Z INF non-TLSv1.3 cipher suite ditemukan CLIentRandom=f08e8d784962d1693c042f9fe266345507ccfaba58b823904a357f30dbfa1e71 CipherId=0 15-09-2024T06:54:16Z INF non-TLSv1.3 cipher suite ditemukan CLIentRandom=f08e8d784962d1693c042f9fe266345507ccfaba58b823904a357f30dbfa1e71 CipherId=0 15-09-2024T06:54:16Z Paket INF disimpan ke dalam file pcapng. hitungan=183 15-09-2024T06:54:16Z INF CLIENT_RANDOM keberhasilan penyimpanan CLIentRandom=f08e8d784962d1693c042f9fe266345507ccfaba58b823904a357f30dbfa1e71 TlsVersion=TLS1_2_VERSION bytes=176 15-09-2024T06:54:18Z Paket INF disimpan ke dalam file pcapng. hitungan=65 ^C2024-09-15T06:54:18Z Modul INF ditutup. 15-09-2024T06:54:18Z Paket INF disimpan ke dalam file pcapng. hitungan=3 15-09-2024T06:54:18Z Paket INF disimpan ke dalam file pcapng. hitungan=255 15-09-2024T06:54:18Z Modul INF ditutup, pesan diterima dari Konteks 15-09-2024T06:54:18Z Modul INF iModule ditutup 15-09-2024T06:54:18Z INF sampai jumpa.
Wireshark
digunakan untuk membuka file ecap.pcapng
untuk melihat paket data teks biasa.
Anda dapat menentukan -m keylog
atau -m key
dan menggunakannya bersama dengan parameter --keylogfile
, yang defaultnya adalah ecapture_masterkey.log
.
Informasi Master Secret
OpenSSL TLS yang diambil disimpan ke --keylogfile
. Anda juga dapat mengaktifkan pengambilan paket tcpdump
lalu menggunakan Wireshark
untuk membuka file dan mengatur jalur Master Secret
untuk melihat paket data teks biasa.
sudo ecapture tls -m keylog -keylogfile=openssl_keylog.log
Anda juga dapat langsung menggunakan perangkat lunak tshark
untuk dekripsi dan tampilan waktu nyata:
tshark -o tls.keylog_file:ecapture_masterkey.log -Y http -T bidang -e http.file_data -f "port 443" -i eth0
sudo ecapture tls -m text
akan menampilkan semua paket data teks biasa. (Mulai dari v0.7.0, ia tidak lagi menangkap informasi SSLKEYLOG.)
Mirip dengan modul OpenSSL.
menangkap konteks teks tls.
Langkah 1:
sudo ecapture gotls --elfpath=/home/cfc4n/go_https_client --hex
Langkah 2:
/home/cfc4n/go_https_client
sudo ecapture gotls -h
seperti modul bashmysqldpostgres
, Anda dapat menggunakan ecapture -h
untuk melihat daftar subperintah.
Video Youtube: Cara menggunakan eCapture v0.1.0
eCapture: mendukung pengambilan teks biasa lalu lintas Golang TLS/HTTPS
Lihat BERKONTRIBUSI untuk rincian tentang pengiriman patch dan alur kerja kontribusi.
Lihat KOMPILASI untuk rincian tentang kompilasi kode sumber eCapture.