Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Pokazał jak krok po kroku generować fałszywy certyfikat SSL (CVE-2020-0601). Można potestować na żywo na przykładzie GitHub.com
O załatanym parę dni temu problemie pisaliśmy tutaj. Dla uniknięcia wątpliwości – podatność dotyczy tylko Windowsów 10 (oraz 2016/2019 server). Wcześniejsze wersje (np. Windows 7) nie są podatne, bo nie posiadają obsługi pewnych parametrów, które okazały się problematyczne w przypadku obsługi ECDSA.
Bardziej techniczne wyjaśnienie całego problemu możecie znaleźć tutaj czy tutaj. W praktyce można wytworzyć sobie klucz prywatny do certyfikatu zaufanego CA, a następnie podpisać nim swój certyfikat. Czy dla każdego CA można tak zrobić? Nie, tylko dla takiego, który w specyficzny sposób używa ECC.
Tutaj demo: http://testcve.kudelskisecurity.com/ (trzeba użyć Windowsa nie posiadającej poprawki z 14.01.2020; w takim przypadku przeglądarka powinna zaakceptować certyfikat, a jednocześnie w szczegółach zobaczymy że jest on wystawiony na github.com):
–ms
Potwierdzam, na windows 7 i 8 problem nie występuje. Natomiast na windows 10 bez tej poprawki, po kliknięciu strona nie jest wyświetlana – błąd połączenia.
No to jak masz błąd połączenia to co Ty potwierdzasz??
Potwierdzam, że na systemie < 10 błędy nie ma. Natomiast nie mam możliwości potwierdzenia jego występowania na w10, który nie posiada fix, ze względu na błąd połączenia.
Jak masz błąd certyfikatu to znaczy że nie jesteś podatny. Podatny system nie wyświetli błędów i pokaże stronę jako bezpieczną a certyfikat za podpisany.
Podatność zależy też od przeglądarki. Uzywam Windows 10 bez poprawki jednak na najnowszym Firefox 73.0b8 (ver beta) wyświetlany jest komunikat o błędzie certyfikatu. Na tym samym komputerze Chrom wyświetla stronę poprawnie (Chrom nie jest w najnowszej ver).
Firefox o ile się nie mylę (nadal) używa swoich własnych certyfikatów, dlatego ten atak nie działa. Chrome etc. używają Windowsowego API do certów. Jak widać wszystko ma swoje plusy i minusy…
„Microsoft IE and Google Chrome browsers use MS CNG API to use the client certificate in windows store. However, Firefox has a certificate store of its own, and does not recognize the client certificate(s) in windows store.”
https://bugzilla.mozilla.org/show_bug.cgi?id=1120350