19 marca 2024
Wszystko o podatności JetBrains TeamCity
CVE-2024-27198 / CVE-2024-27199
Zastąpienie uwierzytelniania w JetBrains TeamCity
TL ; DR
Zdalny ✅
Uwierzytelniony ❌
Domyślna konfiguracja ✅
Źródło 🌍/ 🔬
Wersje, których dotyczy problem
TeamCity On-Prem do wersji 2023.11.3 włącznie
SZCZEGÓŁY
4 marca 2024 r. firma JetBrains wydała nową wersję swojego narzędzia TeamCity, platformy do wdrażania i ciągłej integracji. Chociaż wpis na blogu firmy nie zawiera informacji na ten temat, tego samego dnia pojawiły się dwie inne powiązane publikacje: jedna przez samego dostawcę, a druga przez zespoły badawcze firmy Rapid7, szczegółowo opisujące luki w zabezpieczeniach.
W tych artykułach opisano dwie zidentyfikowane podatności:
- CVE-2024-27198: Obejście uwierzytelniania umożliwiające działania z uprawnieniami administratora (CVSSv3.1: 9.8 [Krytyczny])
- CVE-2024-27199: Obejście uwierzytelniania umożliwiające ograniczone działania jako administrator (CVSSv3.1: 7.3 [Wysoki])
Druga luka, o niższym stopniu krytyczności, wynika ze słabości w weryfikacji uwierzytelniania, umożliwiając atak typu path traversal. Atak ten polega na obejściu ograniczenia poprzez użycie ścieżek względnych zamiast bezwzględnych w celu uzyskania dostępu do zasobu. Lista dostępnych ścieżek, choć potencjalnie nie jest wyczerpująca, ogranicza możliwe działania atakującego do pobierania informacji, odmowy usługi lub w określonych warunkach, monitorowania komunikacji.
Pierwsza luka ma znacznie większy wpływ. Pozwala ona atakującemu na wykonanie dowolnych działań, potencjalnie prowadzących do zdalnego wykonania kodu (RCE), ze względu na słabość mechanizmu kontroli dostępu.
WYKRYWANIE
Dostępne są reguły wykrywania prób wykorzystania tych luk:
2051505 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE- 2024-27198) - sprawdzenie luki w zabezpieczeniach |
2051506 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27198) - Próba utworzenia użytkownika administratora |
2051507 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27198) - Próba utworzenia tokenu uwierzytelniającego |
2051508 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) - Sprawdzanie podatności |
2051509 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M1 |
2051510 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M2 |
2051511 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M3 |
2051512 | ET WEB_SPECIFIC_APPS JetBrains TeamCity Authentication Bypass Attempt (CVE-2024-27199) M4 |
Purple Team od Gatewatcher sugeruje również następujące, bardziej ogólne zasady wykrywania prób wykorzystania tych luk.
# CVE-2024-27198 alert http $EXTERNAL_NET any -> $HOME_NET any (msg: “GW LAB Possible CVE-2024-27198 exploitation attempt”; flow: to_server,established; http.method; content: “POST”; http.uri; content:”?”; content: “jsp=/”; distance:0; content: “|3B|”; distance: 0; content:”.jsp”; distance: 0; isdataat:!1,relative; flowbits:set,TeamCity.CVE-2024-27198; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Major, risk 80, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100001; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: “GW LAB Possible CVE-2024-27198 successful exploitation (adduser)”; flow: to_client,established; flowbits:isset,TeamCity.CVE-2024-27198; http.stat_code; content:”200″;http.response_body; content: “|3C|user username=|22|”; content:”SYSTEM_ADMIN”; distance:0; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Major, risk 95, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100002; ) alert http $EXTERNAL_NET any -> $HOME_NET any (msg: “GW LAB Possible CVE-2024-27198 successful exploitation (token)”; flow: to_client,established; flowbits:isset,TeamCity.CVE-2024-27198; http.stat_code; content:”200″;http.response_body; content: “|3C|token name=|22|”; content:”value=|22|”; distance:0; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Major, risk 95, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100003; )
# CVE-2024-27199 alert http $EXTERNAL_NET any -> $HOME_NET any (msg: “GW LAB Possible CVE-2024-27199 exploitation attempt M1″; flow: to_server,established; http.uri.raw; content:”/res/”; content: “../”; distance:0; pcre:”/\/(app|admin)\//”; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Minor, risk 70, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100004; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: “GW LAB Possible CVE-2024-27199 exploitation attempt M2″; flow: to_server,established; http.uri.raw; content:”/update/”; content: “../”; distance:0; pcre:”/\/(app|admin)\//”; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Minor, risk 70, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100005; )
alert http $EXTERNAL_NET any -> $HOME_NET any (msg: “GW LAB Possible CVE-2024-27199 exploitation attempt M3″; flow: to_server,established; http.uri.raw; content:”/.well-known/acme-challenge/”; content: “../”; distance:0; pcre:”/\/(app|admin)\//”; classtype:web-application-attack; metadata: provider Gatewatcher, performance_impact Medium, signature_severity Minor, risk 70, mitre_tactic_id T0001, mitre_tactic_name Initial_Access, mitre_technique_id T1190, mitre_technique_name Exploit_Public-Facing_Application; sid:100006; )
Uwaga: Ponieważ każdy system informatyczny jest unikalny, konieczne jest przetestowanie efektów wszelkich nowych reguł w środowisku testowym, aby zapobiec pogorszeniu wydajności lub fałszywym alarmom.
KOREKTA
Jak wspomniano we wstępie, wydawca wydał już nową wersję (2023.11.4), która usuwa te luki. Udostępniono również łatkę dla użytkowników, którzy nie są w stanie przeprowadzić pełnej aktualizacji w rozsądnym czasie.
Dla przypomnienia, pod koniec 2023 r. w tym samym narzędziu zidentyfikowano lukę typu RCE. Kilka dni później luka ta została już wykorzystana w atakach różnych grup ransomware. Zdecydowanie zaleca się jak najszybszą aktualizację instancji TeamCity, zwłaszcza jeśli są one ujawnione w Internecie.
Autor: Purple Team Gatewatcher
Mateusz Nowak
product manager Gatewatcher / Sekoia
Masz pytania?
Skontaktuj się ze mną:
nowak.m@dagma.pl
32 793 11 19
Polecane wydarzenia: