Generativ dataintelligens

Hur man hittar nya attackprimitiver i Microsoft Azure

Datum:

Microsofts intäkter från molntjänster växte 46% under första kvartalet 2022, och dess molnmarknadsandel har ökade med nästan 9% sedan 2017. Med Azure äntligen används på allvar av mainstream, nu är den idealiska tiden att engagera sig i Azure-missbruksforskning. Det finns många oupptäckta missbruksprimitiver där ute, många felkonfigurationsskulder byggs upp och ett växande antal motståndare som börjar rikta in sig på Azure på allvar.

Varför lägga tid på att leta efter missbruksprimitiver snarare än buggar eller mjukvaruexploater? Missbruk har mycket längre hållbarhet än buggar och noll dagar, och de är billigare att underhålla. Ännu viktigare för angripare, de finns i nästan alla implementeringar av programvaran i fråga och är mycket svårare för försvarare att upptäcka och blockera. Det är därför det är viktigt för forskare att upptäcka nya övergreppsalternativ så att de kan åtgärdas eller mildras.

Här är min femstegsprocess för att undersöka ett specifikt system inom Azure och försöka hitta nya attackprimitiver. Att följa detta tillvägagångssätt hjälper dig att spara tid, hålla dig på rätt spår och ge bättre resultat.

Steg ett: Börja med slutet i åtanke

Först måste du få en förståelse för hur ditt valfria system fungerar, hur det interagerar med andra system i Azure och hur det kan missbrukas. Utöver det, tänk på vad din slutprodukt kommer att bli - ett blogginlägg? En konferenssession? Riktlinjer för defensiv sanering eller uppdateringar av ett verktyg med öppen källkod? Bestäm vad som behövs för att skapa dessa tillgångar. Överväg att producera revisionskod också, så att försvarare kan kontrollera dessa farliga konfigurationer, och missbrukskod också, så att andra enkelt kan verifiera hur dessa konfigurationer kan missbrukas. Dessa är "framgångskriterierna" för din forskning som hjälper dig att behålla fokus, undvika onödiga kaninhål och säkerställa ett värdefullt slutresultat.

Steg två: Studera avsikten och utformningen av systemet

När du vet exakt vad du behöver upptäcka, börja efterforskningar precis som alla andra skulle göra – gör Google-sökningar och läser officiell dokumentation. Leta efter allt som verkar missbrukbart (som möjligheten att återställa lösenord och nödvändiga behörigheter), gräv vidare i dem och gör anteckningar när du går.

Använd LinkedIn för att identifiera eventuella produktarkitekter eller annan Microsoft-personal som är involverad i att skapa ämnet för din studie. Granska deras LinkedIn- och Twitter-flöden och leta efter resurserna de har skrivit eller publicerat igen (blogginlägg, konferenspresentationer, etc.). Fördjupa dig i gemenskapsresurser som forum eller GitHub-förråd associerade med den här tjänsten, eftersom dessa användargrupper i allmänhet är mycket mer öppna i sin diskurs kring problem och svagheter än Microsoft-folket. Fortsätt att göra anteckningar om systemet. När du väl kan tala intelligent om systemets arkitektur och avsikt och skriva en mycket exakt, icke-teknisk information om det, är du redo att gå vidare.

Steg tre: Utforska systemet

Dokumentation kan bara ta dig så långt — den hänger inte med i ändringar i Azure och det finns nästan alltid dolda anslutningar som blir odokumenterade. Det är frestande att hoppa rakt in i det här steget, men utan sammanhanget på systemet som du byggt upp genom forskning kommer du förmodligen att slösa bort mycket tid.

Börja utforska systemet med det enklaste gränssnittet — ofta är detta Azure Portal GUI. Om du tar fram utvecklarverktygen i webbläsaren Chrome kan du se alla API-förfrågningar som webbläsaren gör. Kopiera dem till PowerShell så får du en bra start på att bygga din egen klient. Använd de officiella CLI-verktygen i Azure (az binär, Az PowerShell-modulen och Azure AD PowerShell-modulen).

När du har utforskat tillräckligt för att du kan bygga din egen grundläggande klient för att interagera med systemet, är det dags att fortsätta. Detta ger en grund för en mer mogen klient och för att automatisera processen för att testa missbrukskapacitet.

Steg fyra: Katalog övergreppskapacitet

Nu kan du använda din klient för att räkna upp alla behörigheter som det systemet kan tilldela, och testa missbruksprimitiven du redan känner till mot var och en av dessa behörigheter (kan du t.ex. marknadsföra dig själv till global administratör eller ändra en global administratörs lösenord?). Håll utkik efter andra övergreppsprimitiver som kan dyka upp under din forskning - och testa dem också för att avslöja eventuella avvikelser mellan vad den officiella dokumentationen säger och hur saker fungerar i verkligheten.

Realistiskt sett måste du automatisera den här processen. När jag gick igenom denna forskningsmetod och undersökte Azure Graph API, hade jag en lista med cirka 175 behörigheter och ett dussin missbruksprimitiver att testa mot var och en av dem ... du gör matten.

Steg fem: Dela resultat

Det sista steget är att hjälpa andra att lära av ditt arbete. Skriv ett blogginlägg, prata och/eller dela din kod. Poängen är att hjälpa andra att spara tid och utöka eller lägga till ditt arbete. Se det som att skriva blogginlägget du behövde i början av din forskning.

Om du vill veta mer, titta ett föredrag jag höll om detta ämne (och komma åt det medföljande däcket). Inspirerad till att börja undersöka Azure-missbruk? Här är några användbara webbplatser för att hitta tekniskt innehåll kring Azure-säkerhet: Den lata administratören, Bra lösning!, AZAdvertizer, Thomas Van Laereoch Microsoft Portals.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?