Windows 10 v1803 z natywną obsługą klienta OpenSSH. Możliwe jest „odszyfrowanie” kluczy RSA

21 maja, 2018

Najnowsza kompilacja 1803 w końcu wnosi natywną obsługę klienta aplikacji OpenSSH w Windows 10 do generowania i zarządzania kluczami SSH oraz logowania się do zdalnych hostów za pomocą polecenia „ssh login@IP -port”. To spore ułatwienie dla administratorów i bardziej wymagających użytkowników, którzy nie będą już musieli korzystać w większości zastosowań z niezbyt intuicyjnego Putty oraz PPK. Natywna obsługa aplikacji OpenSSH pozwala od teraz szybciej logować się za pomocą klucza (lub bez) do zdalnych hostów, w taki sam wygodny sposób, jak w systemie Linux. Niestety Ronnie Flather udowodnił, że Microsoft nieodpowiednio zabrał się za domyślne zabezpieczenie wygenerowanych kluczy, które są przekazywane do usługi „ssh-agent” podczas próby logowania się do serwera z użyciem klucza prywatnego.

Na szczęście nie każdy wierzy na słowo Microsoftowi. W serwisie MSDN w artykule opisującym nową funkcję czytamy coś takiego:

OpenSSH w Windows 10

Microsoft słusznie zwraca uwagę na problem z kluczami prywatnymi: „trzeba je przechowywać w bezpiecznym miejscu i nie przekazywać osobom postronnym”. O konsekwencjach nie ma co nawet wspominać.

Przechowywanie kluczy i szybkie logowanie się realizowane jest przez usługę ssh-agent. Wszystkie aplikacje, które są używane w ramach OpenSSH, znajdują się w lokalizacji „c:\windows\system32\openssh”:

OpenSSH w Windows 10 lokalizacja

Artykuł na blogu MSDN poucza, w jaki sposób wykorzystać zintegrowanego klienta OpenSSH z systemem Windows — używamy polecenia ssh-agent i ssh-add do przechowywania klucza prywatnego w uruchomionej sesji. Zabezpieczenie kluczy podczas przekazywania ich do klienta realizowane jest za pomocą DPAPI (Data Protection Application Programming Interface) w taki sposób, że klucze prywatne są zakodowane w Base64 i zapisywane w rejestrze: HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH\Agent\Keys.

Windows 10 zapisane klucze SSH

Teraz możliwe jest wyciągnięcie binarnych obiektów typu blob z rejestru i przekształcenie ich w oryginalne, niezaszyfrowane klucze prywatne RSA, które są domyślnie zapisywane w lokalizacji „%userprofile%”.

Dostęp do rejestru wymaga podwyższonych uprawnień, ale nie jest to zadanie skomplikowane. Taki atak jest możliwy do przeprowadzenia. Jeżeli cyberprzestępcy zaatakują wybraną organizację, to będą potrzebowali wirusa, który będzie sprawdzała czy ssh-agent jest uruchomiony, a jeżeli tak, to spróbuje uzyskać dostęp do rejestru, wykraść klucze prywatne RSA, które są zakodowane łatwym do przekształcenia do postaci oryginalnej szyfrem Base64 oraz odczytać adresy połączeń.

ssh-agent usługa w Windows 10

Autor udowodnił, że kopiując klucz na system operacyjny Linux, możliwe jest zalogowanie się do serwera bez podawania hasła zabezpieczającego (passphrase) dostępu do klucza.

Microsoft tym zagraniem ułatwił zadanie przestępcom, którzy po przechwyceniu klucza prywatnego nie będą musieli łamać hasła dostępu, co nie zawsze byłoby możliwe przy wysokiej entropii.

Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.
Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.

PODZIEL SIĘ:

Czy ten artykuł był pomocny?

Średnia ocena: 5 / 5. Liczba głosów: 1

guest
0 komentarzy
Inline Feedbacks
View all comments

Wyrażam zgodę na przesłanie oferty drogą telefoniczną przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

Wyrażam zgodę na przesłanie oferty drogą mailową przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

[ninja_tables id=”27481″]