13/12/2023
Rosjanie z grupy APT29 (czyli SVR, rosyjskiej Służby Wywiadu Zagranicznego) od końca września atakowali różne instytucje z wykorzystaniem podatności w JetBrains TeamCity (CVE-2023-42793). Operację Rosjan wykryli, przeanalizowali i unieszkodliwili wspólnie: Polacy z SKW i CERT Polska wraz z Amerykanami (z FBI i CISA oraz NSA) a także Brytyjczykami z NCSC oraz firmą Microsoft. Szczegółowy raport z pracy tego zacnego grona znajdziecie tutaj, a teraz skrótowe wyjaśnienie całej operacji:
Dlaczego ataki na JetBrains TeamCity są groźne?
JetBrains TeamCity to rozwiązanie z kategorii kluczowych. Firmy wykorzystują je do zarządzania kodem źródłowym, z którego tworzą swoje aplikacje. Jeśli ktoś uzyska dostęp do kodu, może nie tylko poznać szczegóły na temat pracy danej aplikacji (w tym kradzież autorskich algorytmów lub certyfikatów kryptograficznych) ale — co groźniejsze — modyfikować ten kod i wprowadzić do niego backdoora. To pozwala na wykonanie klasycznego ataku na łańcuch dostaw. Włamywacze uzyskują dostęp do każdej firmy, w której wykorzystuje się aplikacje zbudowane z zaatakowanego przez nich wcześniej repozytorium kodu.
Jak jednak informują w ten notce autorzy analizy:
Wspólne działania pozwoliły na identyfikację kampanii, ofiar i technik wykorzystywanych przez SVR w trakcie działań, na skuteczne zablokowanie infrastruktury wykorzystywanej do prowadzenia operacji oraz na unieszkodliwienie narzędzi wykorzystywanych przez SVR. Nie są to pierwsze ani ostatnie działania sojuszniczych służb, mające na celu ochronę bezpieczeństwa pańswta, publicznego oraz prywatnego przed nierozsądnymi, nieproporcjonalnymi działaniami Rosji.
Dzięki opublikowanemu raportowi możecie sami poznać szczegóły tych technik i narzędzi i poszukać śladów Rosjan w swojej sieci za pomocą wskazanych w raporcie IOC. Oto od czego zaczynają hackowanie:
ale potem jest już ciekawiej:
A to adresacja infrastruktury:
128.239.22.138:443
65.20.97.203:443
poetpages.com:8443
Mam JetBrains TeamCity, co robić, jak żyć?
Agencje sugerują, że jeśli ktoś nie wdrożył na czas aktualizacji w oprogramowaniu JetBrains TeamCity to powinien założyć, że SVR go zhackowała i rozpocząć analizę swojej infrastruktury zgodnie ze wskazówkami z raportu. Chociaż zidentyfikowano kilkadziesiąt ofiar i kilkaset zhackowanych hostów, to wedle badaczy w doborze ofiar nie było klucza — Rosjanie po prostu włamywali się na wszystko, co było dostępne z internetu i posiadało tą podatność. I to, wbrew pozorom, jest zła wiadomość, bo nawet jak nie jesteście “strategiczną instytucją”, to mogliście oberwać. Dlatego jeszcze raz odsyłamy do raportu i analizy swojej sieci pod kątem opublikowanych w nim IOC.
ciekawe ile jetsi musieli wylozyc hajsu na odszkodowania :D
Cytując klasyka:
Nie wiem, ale się domyślam.
Okrągłą sumkę, tj. zero. Nie jest winą JB, że klienci używają starych, podatnych wersji.
CERT pisze, że firmy, które używały podatnej wersji TeamCity muszą założyć, że zostały skompromitowane. Czy ja muszę też założyć, że soft od tych firm jest podatny? I co nie aktualizować? Aktualizować? Skąd wiem, czy software house używał TeamCIty? IMHO to wierzchołek góry lodowej, bo o ile sam JetBrains będzie już czysty to nie wiemy w sumie ile firm nadal wysyła ‘lewe’ update’y.
Aktualizować – zawsze aktualizować. Ja bym zaczął od analizowania firmy i podwykonawców pod kątem tego, czy TeamCity było wykorzystywane, a jeśli tak, to skrupulatnie przejrzał kody źródłowe, czy nie padły ofiarą zewnętrznej ingerencji.
Podatności mogą być wszędzie, ważne jest, żeby nie zwlekać z aktualizacjami i nie bagatelizować komunikatów takich jak ten.
@Patryk Myślisz, że każda firma będzie się chwalić czego używa?
ciekawe ile zajmie Florianowi zaktualizowanie regulki w https://github.com/Neo23x0/signature-base/blob/master/yara/apt_apt29_grizzly_steppe.yar
czekac czy samemu dopisac, oto jest pytanie…
“co groźniejsze — modyfikować ten kod i wprowadzić do niego backdoora”
Jak używałem TeamCity, to platforma ta służyła do zdalnego kompilowania kodu i odpalania testów integracyjnych, celem sprawdzenia poprawności zmian przed ich wysłaniem do repozytorium. Ale czy TeamCity ma możliwość samodzielnego commitowania do repozytorium – to musiałoby być jakoś specyficznie skonfigurowane.