Tagg: Nätverk

Intrångsförsök / Penetrationstest på större företag

Dokumentet som jag skrivit till företaget är sekretessbelagt. Jag kommer därför inte att nämna företagsnamn eller dess uppgifter som kan avslöja vilket företag jag har testat. Jag kommer att kalla företaget nedan för ”Företaget AB”. IP-adresserna kallar jag för ”IP-adressen” nedan.

Den här inlägget är översikt från det verkliga dokumentet och innehåller inte samma struktur eller lika detaljerad information. Det här inlägget beskriver ett grundläggande sätt för att penetrationstesta ett nätverk utifrån.

1. Sammanfattning av resultatet

Efter analyser som genomförts och olika penetrationsmetoder lyckades jag exponera brandväggens sårbarheter. Brandväggen som företaget använder är en Cisco ASA 5510 brandvägg med en äldre version med buggar som blivit korrigerade i senaste versionen. Brandväggens VPN-portal var öppen för extern trafik. Via portalen var det möjligt med hjälp av GET skicka via URL’en parametrar för att t.ex ändra ett kontos lösenord.

Ett annat problem som jag upptäckte med webbverktygen så som webbutiken och andra administratörsverktyg var att dom inte skyddades med TLS-certifikat. Det finns alltså en stor risk för att med hjälp av avlyssning kan få fram konton med en högre behörighet.

 

2. Uppgift

Företaget AB har gett information om vilka IP-adresser jag får testa. Den enda jag får testa är IP-adresserna och ingenting annat. Är jag osäker på något som kan sabotera eller sprida känslig data så måste jag rapportera detta omgående till Företaget AB. Syftet med min arbetsuppgift är att hjälpa Företag AB att förbättra säkerheten samt att jag inte aldrig tidigare haft kontakt med Företaget AB och därmed inte alls vet hur nätverket är strukturerat.

3. Lösning

3.1 Fingerprint

För att ta reda på vad som finns bakom IP-adressen använder jag ett Fingerprint program, ”Nmap Security Scanner”. Med hjälp av det här programmet kan jag istället för en traditionell ”Ping”  få ett svar tillbaka från enheten/enheterna bakom IP-adressen om operativsystem, användare, portar som är öppna och andra programvaror som körs.

Efter att scannat IP-adressen får jag reda på att port 80 och 443 är öppna externt. 80 är en standard port för HTTP-trafik, alltså webbtrafik via TCP. Den andra porten, 443, är en standard port för att kryptera t.ex trafik mellan en hemsida och en besökare med TLS-certifikat.

Efter samlat ihop data jag fått av scanningen kan jag konstatera att enheten som har svarat tillbaka är en brandvägg. Brandväggen är en Cisco ASA 5510.

3.2 Penetrationstesta

3.2.1 brandvägg

Eftersom jag fått reda på att porten 80 och 443 är öppna provar jag att gå in i min webbläsare och slår in https://IP-adressen. Webbläsaren ansluter till en VPN-portal där ett användarnamn och ett lösenord krävs. Som en van Cisco användare provar jag att skriva en ett ”fabrikationskonto”. CISCO som användarnamn och CISCO som lösenord. Jag får ett meddelande som säger ”inloggningen har misslyckats”. Skillnaden från innan jag skrivit in kontouppgifterna är att adressfältet har ändrat sig och visar nu nya parametrar. https://IP-adressen/+CSCOE+/logon.html?A0=15&a1&a2&a3=1. Jag kollar upp parametern om det finns någon tidigare som har dokumenterat vad dom olika koderna betyder.

Efter lite forskning om brandväggen kunde jag ändra parametern ovan för att göra administratörs ändringar i brandväggen, bland annat ändra kontouppgifter. Ändrade jag parametern till ”?reason=3&a0=9&a1=&a2&a3=1”, fick jag tillgång till en ny sida i VPN-portalen där jag kunde ange ett nytt lösenord.

Genom att ändra ”?reasion=X”, där man ändra X till olika ”koder” kunde man få brandväggen att ge tillbaka olika svar.

3.2.2 Adaptive Security Device Manager (ASDM)

Jag provade att besöka https://IP-adressen/admin. Det gav mig access till ett verktyg som är till för att administrera brandväggen via ett GUI-program. För att ladda ner programmet krävdes ingen inloggning. Däremot för att ansluta till brandväggen krävdes kontouppgifter. Efter lite forskning kunde jag konstatera att det finns möjlighet för en användare med lägsta behörighet att ge sig själv högsta behörighet i den versionen som Företaget AB använde. Eftersom jag själv inte lyckades få tag i kontouppgifter kunde jag inte prova detta om det var sant, men dokumenterade ner det som en anmärkning att kolla upp för Företaget AB.

4. Rekommendation på åtgärder

Jag rekommenderade starkt för Företaget AB att uppdatera sin brandvägg för att åtgärda sårbarheter. Jag rekommenderade även att installera TLS-certifikat på alla webbverktyg där känslig information används mellan klient och server. Det minskar risken för att någon som avlyssnar trafiken ska lyckas få tag på känslig information.

5. Slutsats

Med informationen jag fått från Företaget AB lyckades jag hitta sårbarheter som kan i orätta händer ge större konsekvenser mot företaget. Brandväggen måste uppdateras för att åtgärda problemet och trafiken behöver krypteras med TLS. I övrig programvara som fanns öppet externt kunde jag inte hitta någon sårbarhet eller någon annat negativt mot Företaget AB.