Av Bhabesh Raj Rai, Associate Security Analytics Engineer

Den 26 januari 2021 avslöjade Qualys Research Labs en heap-baserad buffer overflow-sårbarhet (CVE-2021-3156) i sudo. Framgångsrik exploatering av detta låter lokala användare eskalera behörigheter till root-behörighet. Såväl användare med sudo-behörighet som användare utan sudo-behörighet kan utnyttja sårbarheten utan autentisering för att få root-behörighet.

Sårbarheten beror på felaktig tolkning av kommandoradsparametrar och en angripare kan utnyttja den via ”sudoedit -s” och ett kommandoradsargument som avslutas med ett enda backslashtecken. Felet introducerades i juli 2011 och påverkar alla legacy-versioner från 1.8.2 to 1.8.31p2 och alla stabila versioner från 1.9.0 till 1.9.5p1, i deras standardkonfigurationer.

Qualys Research-teamet kunde självständigt verifiera sårbarheten och utveckla flera olika exploit-varianter för Ubuntu 20.04 (Sudo 1.8.31), Debian 10 (Sudo 1.8.27) och Fedora 33 (Sudo 1.9.2). Men andra distributioner kan också vara sårbara eftersom Sudo finns tillgängligt i nästan alla större Unix/Linux OS-distributioner.

Även om sårbarheten åtgärdades efter bara 13 dagar har många upstream-builds ännu inte applicerat patchen, vilket lämnar ett stort antal system sårbara. Ännu värre är att det finns ett flertal PoC:er tillgängliga på Github, vilket öppnar upp för enkel exploatering från osofistikerade hotaktörer.

Eskaleringssårbarheten i Sudo påverkade även LogPoints produkter och den 29 januari 2021 släppte vi LogPoint v6.9.2 för att åtgärda sårbarheten. Vi rekommenderar att alla LogPoint-användare uppgraderar till den senaste produktversionen.

Identifiera intrångsförsök i LogPoint

Du kan enkelt upptäcka exploatering av Sudo-felet via auditd-loggarna. Precis som med Sysmon-fallet kräver auditd regler för att generera artefakter av intresse. Florian Roths auditd-konfiguration är lämplig för detta ändamål.

Eftersom brute-forcing krävs för att utlösa sårbarheten blir auditd-loggarna översvämmade med händelser relaterade till sudoedit.

Du kan skapa detekteringar med hjälp någon av de tre händelsetyperna som genereras av auditd – SYSCALL, EXECV och ANOM_ABEND.

CVE-2021-3156 Sudo Privilege Escalation

För detektering baserad på EXECVE behöver vi bara leta efter ett stort inflöde av EXECVE-loggar för sudoedit med kommandoradsparametrarna ”\” och ”-s”.

norm_id=Unix "process"=Audit event_type=EXECVE
argument_0="/usr/bin/sudoedit"
(argument_1="\" OR argument_2="\" OR argument_3="\" OR argument_4="\" OR argument_5="\")
(argument_1="-s" OR argument_2="-s" OR argument_3="-s" OR argument_4="-s" OR argument_5="-s")
| chart count() as cnt by host
| search cnt > 50

Detekteringen baserad på SYSCALL är också enkel eftersom vi bara behöver leta efter ett stort inflöde av SYSCALL-loggar för kommandot sudoedit.

norm_id=Unix "process"=Audit
event_type=SYSCALL command=sudoedit path="/usr/bin/sudo"
| chart count() as cnt by host
| search cnt > 50

Om exploateringen misslyckas kan detta ibland generera onormala process termination-loggar, vilket också kan indikera ett exploateringsförsök.

norm_id=Unix "process"=Audit
label=Abnormal label="Process" label=Terminate
command="sudoedit" path="/usr/bin/sudo"
| chart count() as cnt by host
| search cnt > 50

Slutligen kan vi söka efter alla anrop för sudoedit med en onormalt lång kommandorad, vilket kan tyda på försök att utlösa den heap-baserade buffer overflow-sårbarheten. Administratörer kan justera tröskeln för kommandradslängden för att minska antalet falska positiva resultat.

norm_id=Unix "process"=Audit event_type=EXECVE
argument_0="/usr/bin/sudoedit"
| process eval("a1_len=len(argument_1)")
| process eval("a2_len=len(argument_2)")
| process eval("a3_len=len(argument_3)")
| process eval("a4_len=len(argument_4)")
| chart count() by host, a1_len, a2_len, a3_len, a4_len
| search (a1_len>100 OR a2_len > 100 OR a3_len>100 OR a4_len>100)

Patcha dina system

Eftersom angripare kan utnyttja detta fel även i standardkonfigurationen rekommenderar vi att systemadministratörer patchar sina system snarast. Om patchning inte är möjligt eller om det inte finns en patch för den aktuella Linux/Unix-distributionen, rekommenderar vi att du använder detekteringar som övervakar eventuella exploateringsförsök.

Hotaktörer kan använda sudo-sårbarheten tillsammans med andra angreppsmetoder för att ta över hela systemet. Vi rekommenderar att organisationer initierar incidenthantering när ett intrångsförsök upptäcks.

Learn more about Logpoint

Book a demo
Customer cases
Customer reviews