Kopalnia grubych podatności w oprogramowaniu od Cisco (Data Center Network Manager)

15 stycznia 2020, 18:05 | W biegu | komentarzy 5
: zin o bezpieczeństwie - pobierz w pdf/epub/mobi.

Dość szczegółowy opis dostępny jest tutaj. Różne podatności występują w obu „wirtualnych” urządzeniach udostępnianych przez producenta (zarówno dla Windows jak i w przypadku Linuksa). Cisco w opisie łaty (jest ich kilka) pisze np. tak:

Multiple vulnerabilities in the authentication mechanisms of Cisco Data Center Network Manager (DCNM) could allow an unauthenticated, remote attacker to bypass authentication and execute arbitrary actions with administrative privileges on an affected device.

Zobaczmy zatem szczegóły. Jak można dostać dostęp ‚global admin’ na omawianym wirtualnym urządzeniu? Wystarczy tylko wygenerować sobie odpowiedni „token”. Jakaś zaawansowana kryptografia? Niekoniecznie; wystarczy taki prosty kod:

Co to za dziwny ciąg: „POsVwv6VBInSOtYQd9r2pFRsSe1cEeVFQuTvDfN7nJ55Qw8fMm5ZGvjmIr87GEF” ? Został on po prostu zahardkodowany w źródłach produktu.

Dalej mamy podatność SQL injection. Jaka jest zazwyczaj polecana metoda ochrony przed tą luką? Zapytania parametryzowane. W omawianym oprogramowaniu są i zapytania parametryzowane, tylko użyte w sposób nie chroniący przed SQLi:

W linijce 1079 widać, że zapytanie konstruowane jest w sposób dynamiczny (do zapytania zostaje dodana kontrolowana przez użytkownika wartość zmiennej sortSqlSuffix !).  Sam PoC podatności jest dość prosty:

Następnie można go przekuć na wykonanie kodu w OS, finalnie otrzymując uprawnienia admina:

To tylko jeden przykład podatności klasy SQL injection, albowiem autor znaleziska relacjonuje:

Further searches of this pattern resulted in over 100 separate sql injection vulnerabilities alone.

Inna wersja tego oprogramowania umożliwia dostęp bez uwierzytelnienia (a dokładniej domyślne credentiale do tego „panelu debug” zaszyte są głęboko w dokumentacji) do następującego miejsca:

Czym jest password? Hasłem na roota (ustawianym początkowo przez administratora), które jest zaszyfrowane Blowfishem. Ale uwaga, zaszyfrowane zahardkodowanym hasłem: „jaas is the way”:

Można więc spokojnie odszyfrować hasło na roota (pasuje również do panelu webowego):

Chcecie więcej? Kolejnych kilka błędów – prowadzących np. do roota bez uwierzytelnienia dostępnych jest w oryginalnym opisie.

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Nism0

    @Michał – kiedy MSHP? Macie już datę?

    Odpowiedz
    • 16.03.2020. Zapisy miały być dzisiaj, ale jest mały delay i będę pewnie jutro (piątek)

      Odpowiedz
  2. rolnik

    „Zahardkodowany”
    litości…

    Odpowiedz

Odpowiedz