Articles

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:

  1. Lukk nettleseren helt (sjekk oppgavebehandling bare for å være sikker).
  2. Angi miljøvariabelen SSLKEYLOGFILE til den absolutte banen til en skrivbar fil.

  3. Start nettleseren.
  4. Kontroller at plasseringen fra trinn 2 er opprettet.
  5. I Wireshark, gå Til Innstillinger – > Protokoller – > tls, og endre (Pre)-Master-Secret loggfilnavn preferanse til banen fra trinn 2.

  6. Start Wireshark-opptaket.
  7. Åpne et nettsted, For eksempel https://www.wireshark.org/

  8. 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

  • Legg igjen en kommentar

    Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *