image

OpenSSH-gebruikersnamen door kwetsbaarheid te achterhalen

woensdag 22 augustus 2018, 14:46 door Redactie, 9 reacties

Een beveiligingslek in OpenSSH maakt het mogelijk voor aanvallers om op afstand gebruikersnamen te achterhalen, waarmee mogelijk vervolgaanvallen zijn uit te voeren. "Dit beveiligingslek produceert geen lijst van geldige gebruikersnamen, maar maakt het mogelijk om gebruikersnamen te raden", zegt onderzoeker Didier Stevens van securitybedrijf Nviso.

Door een misvormd public key authenticatiebericht naar een OpenSSH-server te sturen kan het bestaan van een bepaalde gebruikersnaam worden vastgesteld. Als de gebruiker niet bestaat zal er een bericht naar de client worden gestuurd dat de authenticatie is mislukt. Wanneer de gebruiker wel bestaat, zal het niet kunnen parsen van het bericht ervoor zorgen dat de communicatie wordt afgebroken. De verbinding wordt dan zonder het terugsturen van een bericht gesloten.

Volgens Stevens doet de kwetsbaarheid zich voor omdat communicatie over het niet bestaan van een gebruikersnaam zich voordoet voordat het bericht volledig wordt verwerkt. De kwetsbaarheid werd via een commit op het ontwikkelaarsplatform GitHub openbaar gemaakt en proof-of-concept-exploits zijn beschikbaar. "Er zijn momenteel nog maar beperkt updates beschikbaar om deze kwetsbaarheid te verhelpen", aldus het Nationaal Cyber Security Centrum (NCSC). Voor Debian (Jessie) 8.0 is er een update beschikbaar gekomen. Stevens laat weten dat de kwetsbare authenticatiemechanismen van OpenSSH kunnen worden uitgeschakeld totdat er een patch beschikbaar en uitgerold is.

Reacties (9)
22-08-2018, 16:09 door Anoniem
Het mooie van deze bug is dat deze niet voorkomt in de server logs. Dus raden zonder jezelf te verraden.
22-08-2018, 17:11 door Anoniem
Niet goed maar ook geen ramp, ik weet tenslotte ook dat 'root' een geldige naam is maar daarmee heb ik nog geen toegang.
22-08-2018, 19:10 door Briolet
Door Anoniem: Niet goed maar ook geen ramp, ik weet tenslotte ook dat 'root' een geldige naam is maar daarmee heb ik nog geen toegang.

Bij een veilig systeem kun je daarom ook nooit met de gebruiker 'root' inloggen. Je moet met een administrator account inloggen en vandaar uit root worden via een 'sudo' commando.

Maar het klopt dat dit niet een erg gevaarlijk lek is. Tenslotte moet je ook nog het wachtwoord gebruiken.
23-08-2018, 06:30 door Anoniem
Door Briolet:
Door Anoniem: Niet goed maar ook geen ramp, ik weet tenslotte ook dat 'root' een geldige naam is maar daarmee heb ik nog geen toegang.

Bij een veilig systeem kun je daarom ook nooit met de gebruiker 'root' inloggen. Je moet met een administrator account inloggen en vandaar uit root worden via een 'sudo' commando.

Maar het klopt dat dit niet een erg gevaarlijk lek is. Tenslotte moet je ook nog het wachtwoord gebruiken.

Bij een veilig *nix systeem kan je niet remote met een password inloggen maar maak je gebruik van een ssh-key die voorzien is van een password .... ;)
23-08-2018, 09:40 door Anoniem
Als ik kan bruteforcen dat er een gebruiker 'jantjeadmin' bestaat op een public facing server, dan is de kans groot dat die gebruikersnaam nog wel ergens gebruikt wordt in die omgeving. En dat er een admin rond loopt die 'jan' of 'jantje' heet, ideaal om gerichte phishing te doen.

Vreemd dat dit nog kan. Op websites is het al lang gebruikelijk om geen concrete feedback terug te geven. Enkel iets van 'de combinatie user/pass is onjuist' en niet 'gebruiker bestaat niet'. En bij een pw reset ook enkel weergeven 'als uw emailadres bestaat, zal u een mail ontvangen met reset link', ipv 'de mail die u opgeeft bestaat niet'.

Dit lijkt mij hetzelfde.
23-08-2018, 11:06 door Anoniem
Kan deze aanval gemitigeerd worden met een programma als fail2ban?
23-08-2018, 13:41 door Anoniem
Door Anoniem: Kan deze aanval gemitigeerd worden met een programma als fail2ban?

Als de aanval niet terug te vinden is in de authentication logs dan kan fail2ban niks betekenen.
24-08-2018, 06:46 door Anoniem
Enfin, mijn systemen hebben een update ontvangen.
27-08-2018, 11:40 door Anoniem
Door Briolet: Bij een veilig systeem kun je daarom ook nooit met de gebruiker 'root' inloggen. Je moet met een administrator account inloggen en vandaar uit root worden via een 'sudo' commando.

De sudo mythe maakt in mijn optiek systemen alleen maar onveilig!

Het merendeel van sudo is unconfigured. Daardoor krijg je root rechten cadeau, zonder password (...). Bijvoorbeeld op OS-X.
Beter dus geen sudo OF een zeer strict geconfigureerde sudo (hetgeen heel mooi kan, restricten tot zelfs op command argumenten aan toe!).
Maar, het moge duidelijke zijn waarom de major BSD's by default zonder sudo komen.

De kern van je argument is wel juist (en ik lees dat jij naast root, nog aparte admin accounts daarvoor gebruikt):

Het is simpelweg beter als een user niet ongelimiteerd admin commands kan uitvoeren.
Maar door ongeconfigureerde sudo is het raden van een SSH username dus nu dus wel ineens een problematisch probleem.

En wat betreft OpenSSH; gebruik AllowUsers/AllowGroups/DenyUsers/DenyGroups, en specificeer welke user wel/niet van welk IP mag komen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.