Indholdsfortegnelse:
Video: The Cinematography of Chernobyl || Case Study 2025
I denne case-undersøgelse delte Chip Andrews, en ekspert i SQL Server-sikkerhed, denne erfaring med (etisk) hacking i en klient database for at afdække sikkerhedsfejl. Dette eksempel giver en advarselshistorie for at beskytte dine vigtige oplysninger ved at insistere på lyddatasikkerhed.
Situationen
Under en rutinemæssig indtrængningstest udførte Mr. Andrews de obligatoriske Google-søgninger, domænenavnet forskning, operativsystem fingeraftryk og port scans, men denne særlige hjemmeside blev låst fast. Ved at gå videre til den web-baserede applikation, der kører på systemet, blev han straks konfronteret med en login side ved hjælp af SSL-krypteret formularautentificering.
Ved at kontrollere kilden til websiden bemærkede han, at et skjult App_Name-felt blev sendt til applikationen, hver gang en bruger forsøgte at logge ind på webstedet. Kan det være, at udviklerne måske har undladt at udføre korrekt input validering på denne uskyldige udseende parameter? Jagen var på.
Resultatet
Først var det tid til at samle værktøjssætet. På tidspunktet for denne penetrationstest foretrak Mr. Andrews at bruge følgende: Paros Proxy, Absinthe, Cain & Abel, Data Thief og Microsoft SQL Server Management Studio / SQL Server (Express Edition), som alle er tilgængelige gratis.
Til at begynde med brugte han Paros Proxy til at give mulighed for mere kontrol og synlighed til web-anmodninger til webserveren.
Efter at have spideret webstedet til ledige sider og udført en hurtig sårbarhedskontrol for SQL-indsprøjtning, blev det bekræftet, at parameteren App_Name syntes at få applikationen til at kaste en fejl 500-undtagelse, hvilket angiver et programfejl. Penetrationstest er en af de sjældne tilfælde, hvor en applikationsfejl er et ønskeligt resultat.
Da applikationsfejlen viste, at Mr. Andrews kunne injicere utilsigtede tegn i SQL-koden, der blev sendt fra applikationen til databasen, kunne han se, om det var en udnyttelig tilstand.
En fælles test, der fungerer sammen med Microsoft SQL Server-databaser, er at indsprøjte en kommando, som f.eks. WAITFOR DELAY '00: 00: 10 ', hvilket får databaseserveren til at stå i 10 sekunder. I en applikation, som normalt returnerer en side på et sekund eller mindre, er en konsekvent 10 sekunders forsinkelse en god indikator for, at du kan indsprøjte kommandoer i SQL-strømmen.
Dernæst forsøgte Mr. Andrews at bruge Data Thief-værktøjet til at angribe login-siden.Dette værktøj forsøger at tvinge databasen til at bruge en OPENROWSET-kommando til at kopiere data fra måldatabasen til Mr. Andrews database placeret på internettet.
Dette er normalt en meget effektiv måde at udskyde store mængder data fra sårbare databaser, men i dette tilfælde blev hans angreb forfalsket! Databaseprofilen på målet havde deaktiveret OPENROWSET-funktionaliteten ved korrekt konfiguration af indstillingen Disable Adhoc Distributed Queries.
Med omhu som sit ordord fortsatte Mr. Andrews med det næste værktøj - Absinthe. Dette værktøj bruger en teknik kaldet blind SQL injection til at bestemme data ved hjælp af simple ja eller nej spørgsmål i databasen. For eksempel kan værktøjet måske spørge databasen, om den første bogstav i en tabel er mindre end "L. "
Hvis ja, kan programmet ikke gøre noget, men hvis nej, kan ansøgningen kaste en undtagelse. Ved hjælp af denne enkle binære logik er det muligt at bruge denne teknik til at afsløre hele databasestrukturen og endda de data, der er gemt inde - omend meget langsomt. Ved hjælp af værktøjet identificerede han en tabel med følsomme kundeoplysninger og hentede flere hundrede poster for at vise klienten.
Endelig var det tid til at forsøge en sidste handling af database dastardliness. For det første læste Mr. Andrews værktøjet kaldet Cain & Abel og indstillede det til at indtaste sniffing mode. Derefter brugte han ved hjælp af Paros Proxy og den allerede identificerede sårbare parameter, den udvidede lagrede procedure xp_dirtree, som er tilgængelig for SQL Server-databasebrugere, for at forsøge at vise en mappe på sin internetforbundne maskine ved hjælp af en Universal Naming Convention-sti.
Dette tvang måldatabasen til faktisk at forsøge at autentificere sig mod Mr. Andrews maskine. Fordi Cain & Abel lyttede på tråden, fik den hash af den udfordring, der bruges til at godkende den eksponerede filandel.
Ved at overføre denne hash til password cracker bygget til Cain & Abel, ville Mr. Andrews have brugernavn og adgangskode til den konto, hvorunder den sårbare SQL Server kørte på bare et tidspunkt.
Ville denne hackede konto bruge samme adgangskode som web-applikationens administrations konto? Ville denne adgangskode være den samme som den lokale administratorkonto på værten? Det var spørgsmål til en anden dag. Det var på tide at samle alle de indsamlede data, udarbejde en rapport til klienten og lægge værktøjerne væk i en anden dag.
Chip Andrews er medstifter af sikkerhedskonsulentfirmaet Special Ops Security, Inc. og ejer af SQLSecurity. com, som har flere ressourcer om Microsoft SQL Server-sikkerhed, herunder SQLPing3-værktøjet. En medforfatter til flere bøger om SQL Server-sikkerhed og en Black Hat-præsentator, Mr. Andrews har været fremme af SQL Server og applikationssikkerhed siden 1999.