Współpracujemy z różnymi osobami oraz firmami. Nadajemy im dostępy do systemów, na których muszą pracować, między innymi do Odoo. Współpraca układa się dobrze, freelancer rozwiązuje taski, tworzy konta nowym użytkownikom, wprowadza nowe funkcjonalności. Ale któregoś dnia, z jakiegoś powodu chcesz zmienić osobę, z którą współpracujesz. Jako że współpraca układała się dobrze, wymieniacie podziękowania. Archiwizujesz konto tego użytkownika, a po jakimś czasie w Twoim Odoo zaczynają się dziać dziwne rzeczy...

Uwaga na takie sytuacje, bo zdarzają się częściej niż się wydaje. A kiedy dojdzie do takiego ataku, którego źródłem jest osoba, z którą współpracowałeś, jest to podwójnie niebezpieczne i... cóż, odbiera dużą porcję zaufania do ludzi. Bo przecież dobrze się współpracowało, developer był zawsze miły, "dzień dobry mówił na spotkaniu".

Ale co dalej? W jaki sposób zareagować na taki incydent? Co sprawdzić w Odoo? Przecież Odoo to jest oprogramowanie, w którym możemy zdefiniować sobie funkcje automatyczne wraz z wywoływalnym kodem. Potencjalne pułapki, które zostawił po sobie nasz dawny kolega, mogą być wszędzie.

W moim przypadku, sytuacja działa się w Odoo, które hostowane było na odoo.sh — bardzo popularnym systemie PaaS. Sytuacja, z którą się spotkałem, nie miała związku z zaawansowanymi metodami ataku. To był po prostu zwykły developer, który (prawdopodobnie) poczuł się urażony tym, że ktoś zdecydował się nie kontynuować współpracy. I ukrył w systemie różne metody autoryzacji, za pomocą których sprawiał, że normalna praca w Odoo stała się niemożliwa.

Odkrycie takiego ataku to duże zaskoczenie. Liczy się czas. Pytanie więc jak skutecznie odebrać wszystkie uprawnienia? Na moje zaskoczenie, na stronie Odoo nie było jednej listy, która wskazywałaby co zrobić w tym przypadku. Wsparcie techniczne również okazało się dość "spokojne". Postanowiłem się więc podzielić tą listą tutaj, na blogu. Mam nadzieję, że nie czytasz tego po tym jak odkryłeś, że ktoś zaatakował Cię w ten sposób.

Odoo.sh

Usuń użytkowników GitHub, którzy nie powinni mieć dostępu

Usuń klucze SSH (skonfigurowane w projekcie)

Usuń Deploy Keys

Odoo

Parametry systemowe

Klucze API

Użytkownicy

Dostawcy Logowania

Zaplanowane akcje (Scheduled Actions)

Akcje automatyczne (Automated Actions)

Akcje serwerowe (Server Actions)

Widoki

Płatności

Metody wysyłki

Serwery e-mail

Ta lista może nie być kompletna!

Możesz mieć zainstalowane moduły zawierające złośliwy kod, mogło się coś zmienić od czasu napisania posta... lub po prostu coś pominąłem. Twoje logi z serwera najlepiej odpowiedzą na pytanie — w jaki sposób atakujący uzyskał dostęp.

Jeżeli potrzebujesz pomocy — skontaktuj się ze mną!