Tls
Transport Layer Security (Tls) gir sikkerhet i kommunikasjonen mellom to verter. Det gir integritet, autentisering og konfidensialitet. Den brukes oftest i nettlesere, men kan brukes med en hvilken som helst protokoll som bruker TCP som transportlag. Secure Sockets Layer (SSL) er forgjengeren til TLS-protokollen. Disse navnene brukes ofte om hverandre, noe som kan føre til forvirring:
-
EN konfigurasjon som bruker SSL-protokollen (SSLV2 / SSLv3) er usikker. TLS-protokollen skal brukes i stedet.
-
X. 509 sertifikater for autentisering kalles NOEN GANGER OGSÅ SSL-Sertifikater.
-
noen programmer (for eksempel e-post) bruker en enkelt port for både ukrypterte og krypterte økter. For å endre fra ukryptert til kryptert, brukes (START) TLS. NÅR en enkelt port direkte bruker tls-protokollen, blir DEN ofte referert TIL SOM SSL. av historiske årsaker refererer programvare (Inkludert Wireshark) TIL SSL eller SSL/TLS, mens DET faktisk betyr TLS-protokollen, siden det er i dag hva alle bruker.
Protokollavhengigheter
-
TCP: TLS bruker VANLIGVIS TCP som transportprotokoll.
tls disseksjon I Wireshark
TLS dissektor er fullt funksjonell og selv støtter avanserte funksjoner som dekryptering AV TLS hvis aktuelle hemmeligheter er gitt (#TLS_Decryption).
Siden Wireshark 3.0 har TLS-dissektoren blitt omdøpt FRA SSL til TLS. Bruk av ssl-skjermfilteret vil avgi en advarsel.
Tls Dekryptering
Wireshark støtter tls dekryptering når passende hemmeligheter er gitt. De to tilgjengelige metodene er:
-
Nøkkel loggfil ved hjelp av hemmeligheter per økt (#Using_the_.28Pre.29-Master-Hemmelig).
- Dekryptering ved hjelp av en rsa privat nøkkel.
en nøkkelloggfil er en universell mekanisme som alltid muliggjør dekryptering, selv om En Diffie-Hellman (DH) nøkkelutveksling er i bruk. RSA private key fungerer bare i et begrenset antall tilfeller.
nøkkelen loggfilen er en tekstfil generert av programmer som Firefox, Chrome og curl når sslkeylogfile miljøvariabelen er satt. For å være presis, skriver deres underliggende bibliotek (Nss, OpenSSL eller boringssl) de nødvendige hemmelighetene per økt til en fil. Denne filen kan senere konfigureres I Wireshark (#Using_the_.28Pre.29-Master-Hemmelig).
rsa private key-filen kan bare brukes under følgende omstendigheter:
- chiffer suite valgt av serveren bruker ikke (EC)DHE.
-
protokollversjonen er SSLv3, (D)TLS 1.0-1.2. Det fungerer ikke MED TLS 1.3.
-
den private nøkkelen samsvarer med serversertifikatet. Det fungerer ikke med klientsertifikatet eller Certificate Authority (CA) sertifikatet.
-
økten har ikke blitt gjenopptatt. Håndtrykket må inneholde ClientKeyExchange håndtrykk meldingen.
nøkkelen loggfilen er generelt anbefalt siden det fungerer i alle tilfeller, men krever kontinuerlig evne til å eksportere hemmeligheter fra enten klient-eller serverprogrammet. DEN eneste fordelen MED rsa private key er at DEN bare må konfigureres en gang i Wireshark for å aktivere dekryptering, underlagt begrensningene ovenfor.
Innstillinger
Gå Til Rediger- > Innstillinger. Åpne Protokoller-treet og velg TLS. Alternativt kan du velge EN TLS-pakke i pakkelisten, høyreklikke PÅ tls-laget i pakkedetaljer-visningen og åpne Protokollinnstillinger-menyen.
de bemerkelsesverdige tls-protokollinnstillingene er:
- (Pre)-Master-Hemmelig loggfilnavn (tls.keylog_file): sti for å lese tls-tasteloggfilen for dekryptering.
-
RSA nøkler liste: åpner en dialogboks for å konfigurere rsa private nøkler for dekryptering. Utdatert til Fordel for Preferansene – > dialogboksen Rsa-Nøkler.
- Pre-Shared-Key: Brukes til å konfigurere dekrypteringsnøkkelen for psk-krypteringssuiter. Ikke generelt brukt.
- tls-feilsøkingsfil (tls.debug_logfile): sti for å skrive interne detaljer om dekrypteringsprosessen. Vil inneholde resultatene av dekryptering og nøklene som ble brukt i denne prosessen. Dette kan brukes til å diagnostisere hvorfor dekryptering mislykkes.
følgende TCP-protokollinnstillinger kreves også for å aktivere tls-dekryptering:
- Tillat subdissector å sette SAMMEN tcp-strømmer igjen. Aktivert som standard.
- Reassemble out-of-order segmenter (siden Wireshark 3.0, deaktivert som standard).
Starter med Wireshark 3.0, en ny RSA Nøkler dialog kan bli funnet På Edit – > Innstillinger – > Rsa Nøkler. I denne dialogboksen bruker Du Legg til ny nøkkelfil… knappen for å velge en fil. Du vil bli bedt om et passord om nødvendig. Legg til nytt token… knappen kan brukes til å legge til nøkler FRA EN HSM som kan kreve Å Bruke Legg til ny leverandør… for å velge velg EN DLL/. so fil, og ekstra leverandørspesifikk konfigurasjon.
RSA-nøkkelfilen kan enten være en PRIVAT nøkkel i pem-format eller en pkcs#12 keystore (vanligvis en fil med en PRIVAT nøkkel).pfx eller .p12 forlengelse). Pkcs # 12-tasten er en binær fil, MEN pem-formatet er en tekstfil som ser slik ut:
-
-----BEGIN PRIVATE KEY-----MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDReQzlKVeAK8b5TRcRBhSi9IYwHX8Nqc8K4HeDRvN7HiBQQP3bhUkVekdoXpRLYVuc7A8h1BLr93Qw...KOi8FZl+jhG+p8vtpK5ZAIyp-----END PRIVATE KEY-----
dialogboksen for utdaterte rsa-nøkler kan fjernes på et tidspunkt. Hvis du vil konfigurere taster, bruker du DIALOGBOKSEN rsa-taster i stedet. Hvis du vil endre protokollen for dekrypterte nettverksdata, høyreklikker du PÅ EN tls-pakke og Bruker Decode As til å endre gjeldende protokoll for tls-porten. Feltene Ip-adresse og Port er ubrukte.
eksempel fange fil
Se Også SampleCaptures#SSL_with_decryption_keys.
-
dump.pcapng TLSv1.2 capture med 73 chiffer suiter, trenger du denne premaster.txt-fil for dekryptering av trafikken. (koblet frahttps://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9144)
- tls12-dsb.pcapng-TLS 1.2 spor med dekrypteringsnøkler innebygd.
-
https://github.com/wireshark/wireshark/blob/master/test/captures – testpakken inneholder ulike tls-spor.
Vis Filter
du finner en fullstendig liste OVER TLS-visningsfilterfelt i visningsfilterreferansen
Vis bare tls-basert trafikk:
-
tls
Fangstfilter
DU kan ikke filtrere tls-protokoller direkte mens du fanger. Men hvis DU kjenner TCP-porten som brukes (se ovenfor), kan du filtrere på den, for eksempel ved hjelp av tcp-port 443.
ved hjelp Av (Pre)-Master-Secret
master secret muliggjør tls dekryptering I Wireshark og kan leveres via Nøkkelen Loggfilen. Pre-master secret er resultatet av nøkkelutvekslingen og kan konverteres til en master secret av Wireshark. Denne pre-master hemmeligheten kan oppnås når EN rsa privat nøkkel er gitt og EN RSA nøkkel utveksling er i bruk. Trinnvise instruksjoner for å dekryptere tls-trafikk Fra Chrome eller Firefox i Wireshark:
- Lukk nettleseren helt (sjekk oppgavebehandling bare for å være sikker).
-
Angi miljøvariabelen SSLKEYLOGFILE til den absolutte banen til en skrivbar fil.
- Start nettleseren.
- Kontroller at plasseringen fra trinn 2 er opprettet.
-
I Wireshark, gå Til Innstillinger – > Protokoller – > tls, og endre (Pre)-Master-Secret loggfilnavn preferanse til banen fra trinn 2.
- Start Wireshark-opptaket.
-
Åpne et nettsted, For eksempel https://www.wireshark.org/
-
Kontroller at dekrypterte data er synlige. For eksempel bruker tls og (http eller http2) filter.
For Windows kan en miljøvariabel settes globalt som beskrevet i denne gjennomgangen, men dette anbefales ikke siden det er lett å glemme og kan være et sikkerhetsproblem siden det tillater dekryptering av ALL TLS-trafikk. En bedre måte å sette miljøvariabelen på er via en batchfil. Opprett en fil start-fx.cmd med:
-
@echo offset SSLKEYLOGFILE=%USERPROFILE%\Desktop\keylogfile.txtopen firefox
Endre sslkeylogfile-banen etter behov, og erstatt firefox med chrome For Google Chrome. Denne mekanismen for øyeblikket (2019) fungerer ikke For Safari, Microsoft Edge og andre siden DERES TLS-biblioteker (Microsoft SChannel/Apple SecureTransport) ikke støtter denne mekanismen. Denne mekanismen fungerer også for andre programmer enn nettlesere, men det avhenger AV tls-biblioteket som brukes av programmet.
Eksempler på andre programmer:
-
Programmer som bruker OpenSSL kan bruke EN GDB eller EN LD_PRELOAD triks for å trekke ut hemmeligheter. Dette inkluderer Python.
-
For en gjennomgang For Apache HTTP-Server ved hjelp av dette libsslkeylog.so bibliotek, se denne artikkelen.
-
- for Java-programmer, kan hemmeligheter hentes fra tls debug log preferanse, eller utgang direkte i Formatet Wireshark krever via En Java agent. To lignende prosjekter:
-
jSSLKeyLog:http://jsslkeylog.sourceforge.net/
-
-
utdrag-tls-hemmeligheter: https://github.com/neykov/extract-tls-secrets
Python-skript kan redigeres for å dumpe nøkler også.
for en undersøkelse av støttede tls-applikasjoner og biblioteker, se også Side 19 Av Peter Wus SSL / TLS Decryption SharkFest ‘ 18 EU-presentasjon.
Embedding dekrypteringshemmeligheter i en pcapng-fil
Siden Wireshark 3.0 kan du legge inn TLS-nøkkelloggfilen i en pcapng-fil. Dette gjør det mye enklere å distribuere capture-filer med dekrypteringshemmeligheter, og gjør det enklere å bytte mellom capture-filer siden TLS-protokollpreferansen ikke må oppdateres. For å legge til innholdet i tasteloggfiltaster.txt å fange filen i.pcap og skriv resultatet til out-dsb.pcapng:
-
editcap –inject-hemmeligheter tls,nøkler.txt inn.pcap ut-dsb.pcapng
dsb-suffikset står For Decryption Secrets Block (DSB) og er en del av pcapng-spesifikasjonen.
en tasteloggfil kan inneholde nøkler som ikke er relatert til en fangstfil. For å sikre at unødvendige nøkler ikke lekker, kan du bruke inject-tls-secrets.py script fra https://gist.github.com/Lekensteyn/f64ba6d6d2c6229d6ec444647979ea24 for å filtrere nøkkelloggfilen og legge til de nødvendige hemmelighetene i en fangstfil. Shell-skriptet er testet Med Linux og macOS, men En Python 3-versjon er også tilgjengelig for Alle plattformer, inkludert Windows. Eksempel:
-
git clone https://gist.github.com/Lekensteyn/f64ba6d6d2c6229d6ec444647979ea24 ~/its~/its/inject-tls-secrets.py keys.txt some.pcap
Se Også
Noen andre protokoller er avledet fra TLS. DETTE inkluderer:
-
DTLS er basert PÅ TLS-standarden og kjører på TOPPEN AV UDP som en transportprotokoll.
-
QUIC ER en utviklingsprotokoll som bruker TLS for kryptering, Wiresharks status kan spores på https://github.com/quicwg/base-drafts/wiki/Tools#wireshark.
- https://en.wikipedia.org/wiki/Transport_Layer_SecurityWikipedia-artikkel for TLS
- https://sharkfesteurope.wireshark.org/assets/presentations16eu/07.pdfSharkFest’16 EU-presentasjon AV Sake Blok om FEILSØKING AV SSL MED Wireshark/Tshark (eller se videoen av presentasjonen påhttps://youtu.be/oDaDY9QCnXk)
- https://lekensteyn.nl/files/wireshark-ssl-tls-decryption-secrets-sharkfest18eu.pdfsharkfest’18 eu presentasjon av peter wu på tls dekryptering (video for en tidligere tale i asia påhttps://youtu.be/bwJEBwgoeBg)
-
https://lekensteyn.nl/files/wireshark-tls-debugging-sharkfest19us.pdf sharkfest’19 us presentasjon av peter wu beskriver tls dekryptering og bruk av innebygd dekryptering hemmeligheter (https://youtu.be/Ha4SLHceF6w).
-
HVORDAN FUNGERER SSL / TLS? Nitty Gritty Tekniske Detaljer med en god introduksjon I Tls PolarProxy Fra Netresec Er en gjennomsiktig SSL / TLS proxy opprettet for hendelsen respondere og malware forskere som er primært utviklet for å fange opp OG dekryptere TLS kryptert trafikk fra malware. PolarProxy dekrypterer OG krypterer TLS-trafikk på nytt, samtidig som den dekrypteres i EN PCAP-fil som kan lastes inn I Wireshark eller et id-system (intrusion detection system).
Kategorihowto