Network - Privesc, Port Scanner and NTLM chanllenge response disclosure
Vind meer inligting oor hierdie aanvalle in die oorspronklike dokument.
Aangesien PostgreSQL 9.1, is die installasie van bykomende modules eenvoudig. Geregistreerde uitbreidings soos dblink
kan geïnstalleer word met CREATE EXTENSION
:
Sodra jy dblink gelaai het, kan jy 'n paar interessante truuks uitvoer:
Bevoorregte Eskalasie
Die lêer pg_hba.conf
kan sleg geconfigureer wees en verbindings toelaat vanaf localhost as enige gebruiker sonder om die wagwoord te weet. Hierdie lêer word tipies gevind in /etc/postgresql/12/main/pg_hba.conf
en 'n slegte konfigurasie lyk soos:
Merk op dat hierdie konfigurasie algemeen gebruik word om die wagwoord van 'n db-gebruiker te wysig wanneer die admin dit vergeet, so soms kan jy dit vind. Merk ook op dat die lêer pg_hba.conf slegs deur die postgres-gebruiker en -groep leesbaar is en slegs deur die postgres-gebruiker geskryf kan word.
Hierdie geval is nuttig as jy reeds 'n shell binne die slagoffer het, omdat dit jou sal toelaat om aan te sluit by die postgresql-databasis.
'n Ander moontlike verkeerde konfigurasie bestaan uit iets soos dit:
Aangesien dit almal vanaf die localhost sal toelaat om na die databasis te verbind as enige gebruiker.
In hierdie geval en as die dblink
-funksie werk, kan jy voorregte verhoog deur na die databasis te verbind deur middel van 'n reeds gevestigde verbinding en toegang te verkry tot data waarvoor jy nie toegang behoort te hê nie:
Poortskandering
Deur dblink_connect
te misbruik, kan jy ook soek na oop poorte. As daardie **funksie nie werk nie, moet jy probeer om dblink_connect_u()
te gebruik, aangesien die dokumentasie sê dat dblink_connect_u()
identies is aan dblink_connect()
, behalwe dat dit nie-supergebruikers sal toelaat om te verbind met enige verifikasiemetode nie_.
Let daarop dat voor jy dblink_connect
of dblink_connect_u
kan gebruik, moet jy moontlik die volgende uitvoer:
UNC-paad - NTLM-hash openbaarmaking
Wanneer een gebruiker zich aanmeldt bij een Windows-systeem dat is geconfigureerd voor NTLM-verificatie, wordt er een NTLM-hash gegenereerd op basis van het wachtwoord van de gebruiker. Deze hash kan worden gebruikt om de identiteit van de gebruiker te verifiëren bij andere systemen die NTLM-verificatie ondersteunen.
In sommige gevallen kan een UNC-pad (Universal Naming Convention) worden gebruikt om toegang te krijgen tot gedeelde bronnen op een netwerk. Wanneer een gebruiker een UNC-pad opent, kan de NTLM-hash van de gebruiker worden blootgesteld aan het netwerk.
Een aanvaller kan deze NTLM-hash onderscheppen en proberen deze te kraken om het oorspronkelijke wachtwoord van de gebruiker te achterhalen. Met het oorspronkelijke wachtwoord kan de aanvaller zich voordoen als de gebruiker en mogelijk toegang krijgen tot andere systemen en bronnen.
Om deze kwetsbaarheid te voorkomen, moeten organisaties ervoor zorgen dat NTLM-verificatie veilig wordt geïmplementeerd en dat er geen onnodige blootstelling van NTLM-hashes plaatsvindt via UNC-paden.
Last updated