ID.nl logo
Huis

Linux hacken: zo eenvoudig is het

Afgelopen jaar kwamen talloze bedrijven in de problemen vanwege ransomware. De besmette servers draaiden voornamelijk Windows; Linux-servers kwamen er zonder al te veel kleerscheuren van af. Naar aanleiding van dit incident vragen veel beheerders zich af hoe veilig Linux eigenlijk is.

Door de manier waarop Linux ontworpen is, is het systeem van nature behoorlijk veilig. Dit is voor een groot deel te herleiden tot het gebruik van de execute-permissie. Zonder de execute-permissie kan geen enkel programma automatisch worden uitgevoerd. De beheerder van de betreffende computer zal eerst als bewuste actie de execute-permissie op een script of programmabestand moeten toepassen voordat een programma wordt uitgevoerd.

Bij het aanmaken van een bestand op een systeem zal dat bestand nooit automatisch uitvoerbaar worden gemaakt. Vanwege de manier waarop Linux omgaat met de execute-permissie, krijgen ook virussen op Linux weinig kans. Er zijn dan ook eigenlijk geen bekende virussen, noch zijn er virusscanners die veel meer scannen dan in- en uitgaande mail wanneer Linux gebruikt wordt als mailserver.

Een tweede kernelement is het gebruik van het root-gebruikersaccount. De gebruiker root is de almachtige systeembeheerder voor wie geen enkele beperking geldt. Alle andere gebruikers kunnen alleen bestanden aanmaken in hun eigen home directory of in /tmp. Dat betekent dat de schade, die een gebruiker bewust of onbewust kan uitvoeren, meestal slechts impact heeft op een beperkte omgeving.

Mandatory Access Control

Een ander belangrijk onderdeel van Linux’ beveiliging is Mandatory Access Control (MAC). Er zijn twee belangrijke systemen voor MAC: SELinux en AppArmor. Beide systemen hebben als doel om ervoor te zorgen dat alleen acties die specifiek zijn toegestaan mogen worden uitgevoerd. Hiervoor wordt gewerkt met profielen, die aan toepassingen worden gekoppeld. In deze profielen wordt op system call-niveau bepaald wat is toegestaan. Alles wat niet in zo’n profiel is gedefinieerd, wordt geblokkeerd.

Tot zover lijkt het alsof Linux zijn zaakjes goed voor elkaar heeft en het nagenoeg onmogelijk is om in te breken. Maar schijn bedriegt! Er zijn namelijk enkele precaire zaken die ervoor kunnen zorgen dat een verkeerd beheerde Linux-machine de deur wagenwijd openzet voor ongeoorloofde activiteit. In het vervolg van dit artikel gaan we verder in op aanvallen op het root-wachtwoord, de installatie van onbetrouwbare software, het uitvoeren van instabiele of onbetrouwbare scripts, brute-force attacks op ssh en zero-day-exploits.

Gevaar van root-gebruiker

De grootste zwakke plek in Linux is de root-gebruiker. Bij het ontwerp van het besturingssysteem werd onderscheid gemaakt tussen geprivilegieerde gebruikers en niet-geprivilegieerde gebruikers. Een niet-geprivilegieerde gebruiker is een gebruiker die slechts toegang heeft tot beperkte onderdelen van het besturingssysteem. De root-gebruiker is de geprivilegieerde gebruiker voor wie geen enkele beperking geldt. Je zou kunnen stellen dat de root-gebruiker onbeperkt toegang heeft tot de Linux-kernel. Zodra een aanvaller een root-shell kan openen, is hij dus binnen.

Het spreekt voor zich dat je de root-gebruiker voorziet van een zeer sterk en ingewikkeld wachtwoord. Daarnaast zorg je er als Linux-gebruiker voor om nooit in te loggen als root, want dan wordt elk proces dat je start met root-privileges opgestart. Het zwakke punt blijft echter dat de root-gebruiker überhaupt bestaat en dat het onder bepaalde omstandigheden mogelijk is om in te loggen als root. De enige beperkende factor is dat je hiervoor bij het opstarten wel consoletoegang moet hebben tot het Linux-systeem

Op een modern Linux-systeem geeft de volgende procedure vrijwel altijd toegang tot een root-shell zonder dat een wachtwoord hoeft te worden ingevoerd.

Zorg ervoor dat de doelwitmachine opnieuw wordt opgestart. Zodra je de Grub2 boot-prompt ziet, druk je op e om de editor te openen:

©PXimport

Eenmaal in de editor zoek je de regel op die begint met linux16. Voeg aan het eind van deze regel de tekst

rd.break

in. Gebruik nu de toetscombinatie Ctrl+X. Het Linux-systeem zal nu opstarten, waarbij alleen een kernel en het initramfs geladen worden. Initramfs is een minimaal besturingssysteem van waaruit je toegang hebt tot je volledige harde schijf, zonder dat je een root-wachtwoord hoeft in te voeren.

Na het opstarten wordt nu een root-shell weergegeven, maar dan ben je er nog niet. Als je het wachtwoord wilt resetten, dien je eerst de volledige toegang tot het root-filesystem op de schijf te herstellen. Hiervoor zijn nog een paar commando’s nodig. Tik eerst

mount

om uit te vinden op welke directory je root-filesystem is gemount. In het onderstaande voorbeeld gaan we uit van CentOS, waar het root-bestandssysteem op /sysroot wordt gemount. Typ nu:

mount -o bind /dev /sysroot/dev

Dit zorgt ervoor dat alle device files beschikbaar zijn. Gebruik nu deze opdracht, zodat ook de belangrijke kernel interface /proc beschikbaar is op het tijdelijke root-mountpunt:

mount -t proc proc /sysroot/proc

Als deze essentiële bestandssystemen zijn gemount, typ je

chroot /sysroot

sysroot om het tijdelijke mountpunt van het root-filesystem om te zetten naar de / directory. Wanneer je tools gebruikt die toegang vereisen tot de / directory op de schijf, zullen die het nu allemaal doen. Je kunt nu

passwd

gebruiken om het root-wachtwoord in te stellen. Tot slot: als je op een distributie werkt waar SELinux is ingeschakeld, moet je ervoor zorgen dat het hele bestandssysteem opnieuw wordt voorzien van SELinux contextlabels. Dat doe je met de opdracht

touch /.autorelabel

Typ nu reboot om opnieuw op te starten en in te loggen met je eigen rootwachtwoord. Veel plezier met de onbeperkte toegang tot het betreffende systeem!

Bescherming

Wellicht vraag je je af of het nu echt zo simpel is. Als je geen tegenmaatregelen getroffen hebt: ja, helaas wel. Gelukkig zijn er maatregelen die je als eigenaar van een Linux-systeem kunt treffen om deze zwakke plek te beschermen. Daarover meer in een later artikel.

Tekst: Sander van Vugt

▼ Volgende artikel
Tomodachi Life: Waar Dromen Uitkomen arriveert op 16 april
Huis

Tomodachi Life: Waar Dromen Uitkomen arriveert op 16 april

Tomodachi Life: Waar Dromen Uitkomen komt op 16 april uit voor Nintendo Switch.

Dat heeft Nintendo vanmiddag aangekondigd in een speciale Direct-uitzending die om de game draait. Ondanks dat de game voor de eerste Switch verschijnt, zal hij via backwards compatibility ook speelbaar zijn op Nintendo Switch 2.

In de Tomodachi Life-games van Nintendo kunnen spelers zelf Mii-personages creëren en bijvoorbeeld baseren op het uiterlijk van henzelf, vrienden en familie of beroemdheden. Deze Mii's leiden vervolgens hun eigen leven op een eiland, wat allerlei gekke en hilarische situaties oplevert. Spelers kunnen zelf ook invloed uitoefenen op deze verschillende situaties.

Watch on YouTube

Over Tomodachi Life: Waar Dromen Uitkomen

In de Direct-uitzending werd meer informatie gegeven over het aankomende Tomodachi Life: Waar Dromen Uitkomen. Zo is duidelijk dat spelers hun Mii-personages unieke persoonlijkheden, gewoontes en woningen kunnen geven. Spelers kunnen tijdens de game zien waar de personages aan denken, en ze helpen bij problemen. De tijd in de game verstrijkt daarbij net zo snel als in de echte wereld, wat het de moeite waard maakt om het spel op verschillende momenten op te starten.

Het is daarbij mogelijk om de verschillende Mii-personages kennis met elkaar te laten maken, om te zien wat er vervolgens gebeurd. Personages kunnen bijvoorbeeld praten over hun favoriete eten en filmgenres. Het is daarnaast mogelijk om acht Mii-personages bij elkaar in een huis te laten wonen, wat weer unieke reacties van de personages veroorzaakt.

Op het eiland waar de game zich afspeelt kunnen spelers de personages winkels te laten bezoeken. Bijvoorbeeld een supermarkt waar allerlei etenswaren worden verkocht, of de mogelijkheid om kleding en kostuums te kopen. In een speciale marktkraam worden redelijk geprijsde artikelen meerdere malen per dag ververst.

Ook is er een ontwerpatelier, waar spelers verschillende voorwerpen kunnen maken, waaronder kledingstukken, versiering voor huizen en zelfs huisdieren. Het eiland kan sowieso naar eigen smaak worden ingedeeld, met bankjes, bomen, planten en meer.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Resident Evil Requiem is gruwelijk! - Power-Up Podcast #2
Huis

Resident Evil Requiem is gruwelijk! - Power-Up Podcast #2

Wat is dit nou? Een PUPcast die voor 80% uit videogames bestaat? De wonderen zijn de wereld nog niet uit! Simon mag eindelijk los over zijn hands-on sessie met misschien wel dé GOTY van dit jaar: Resident Evil Requiem. Martin is ondertussen in Highguard gedoken om te checken of de negatieve recensies terecht zijn, en natuurlijk zijn de jongens ook samen op de vuist gegaan in 2XKO. En oh ja — ook kleinere onderwerpen zoals GTA 6 en zelfs de PlayStation 6 passeren nog even de revue… Dus check snel de aflevering voordat het weer over boomerprogramma’s en palmgras gaat, baklap!

Watch on YouTube

00:00 Intro
01:05 Waar is Simon expert in?
03:15 Iets aan de muur?
07:10 Yo-Post-oproep
11:15 Resident Evil Requiem-preview
29:05 Aansmeer Simon (brief 1)
34:05 Highguard-impressies
46:55 Origineel PUP-zijspoor
49:45 Goeie Johans (brief 2)
52:20 Darten voor beginners
57:20 Toch een andere magazinenaam?
01:00:10 2XKO-impressies
01:07:55 Martin “WWE” Verschoor
01:11:50 GTA 6 alleen digitaal?
01:15:20 PlayStation 6-vertraging?
01:19:35 Outro

Je kan ook de podcast beluisteren hieronder of via deze link!