escalation666 Posted December 1, 2006 Report Posted December 1, 2006 Permisiuni in IIS si diferite metode prin care un hacker le poate exploata sau le poate descoperi.In IIS exista urmatoarele permisiuni:Read: utilizatorii pot citi numaiWrite: utilizatorii pot creea sau sterge fisiereExecute: utilizatorii pot executa programe sau fisiere librarii (fisiere exe sau dll)Script: utilizatorii pot executa scripturile din aplicatiile web (de ex cele realizate in ASP)Directory Browsing: utilizatorii pot naviga si lista directoare si fisiere de pe acel web serverIn cele ce vor urma, voi arata cateva metode prin care ne putem da seama daca administratorul a setat permisiunile asa cu trebuie, sau nu, caz in care se va confrunta cu grave probleme de securitate.Execute: Solicitati un url aleator cum ar fi http://domeniu.ro/dir/aaaa.dll, daca serverul raspunde cu un mesaj de "500 Internal Server error", inseamna ca aceasta permisiune este enabled.Daca serverul returneaza un mesaj de "404 File not found" inseamna ca aceasta permisiune este dezactivata.Write:Cu aceasta permisiune puteti scrie si modifica fisiere de pe un anumit server. Pentru a vedea daca aceasta permisiune este activa deschidem telnetul si facem urmatorul request (pe portul 80 de obicei):PUT /dir/fisierul_meu.txt HTTP/1.1Host: domeniu.roContent-Length: 10 <enter><enter>Serverul va raspunde cu un mesaj de "100 Continue":HTTP/1.1 100 ContinueServer: Microsoft-IIS/5.0Date: Thu, 28 Feb 2006 15:56:00 GMT Daca reusim sa scriem pe acel server vom primi urmatorul raspuns:HTTP/1.1 201 CreatedServer: Microsoft-IIS/5.0Date: Thu, 28 Feb 2006 15:56:08 GMTLocation: Content-Length:'>http://domeniu.ro/dir/fisierul_meu.txtContent-Length: 0Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND,PROPPATCH, SEARCH, LOCK, UNLOCK Daca serverul raspunde cu un mesaj de "201 Created" inseamna ca permisiunea de a scrie este enabled.Daca primesti un mesaj "401 Access Denied" inseamna ca trebuie sa te autentifici, dar permisiunea de a scrie este enabled pe server, numai ca tu nu ai suficiente drepturi pe acel server.Daca apare un mesaj "403 Forbidden" inseamna ca permisiunea este disabled.In cel mai rau caz, un server poate avea un director cu permisiuni de scriere si executie, permisiuni care nu necesita autentificare, si care pot permite unui atacator sa uploadeze un script si sa-l execute.Script:Pentru a vedea daca aceasta permisiune exista sau nu, incercam Daca'>http://domeniu.ro/dir/bbbbb.aspDaca serverul raspunde cu un mesaj de "404 File not found" permisiunea exista, iar daca serverul raspunde cu un mesaj de "404 File not found", permisiunea este dezactivata.Directory Browsing:Solicitati un url http://domeniu.ro/dir/ si daca primiti un mesaj de "200 ok" este clar ca puteti naviga prin acel director.WebDAV (Web-based distributed authoring and versioning) reprezinta un set de extensii al protocolului HTTP, prin care userii pot edita si administra fisiere pe webservere. De obicei, atunci cand un server are metoda PROPFIND, este probabil sa existe si WebDAV pe acel server.PROPFIND permite utilizatorilor sa caute anumite proprietati ale resurselor unui server, cum ar numele fisierelor, data la care au fost create, data la care au fost modificate etc.Deschidem telnetul si facem urmatorul requestPROPFIND /dir/ HTTP/1.1Host: domeniu.roContent-Length: 0Un mesaj "207 Multi Status" inseamna ca permisiunea de a naviga prin directoare exista. Trebuie precizat faptul ca pe langa acest mesaj, serverul va afisa si o lista de resurse si proprietatile lor.Daca directory browsing nu este enabled, vom primi tot acelasi mesaj "207 Multi Status" si tot aceeasi lista de resurse, dar cu mult mai putine informatii despre ele. Read:Faceti un request pentru un fisier inexistent: Daca'>http://domeniu.ro/dir/cccccc.txtDaca serverul raspunde cu "404 File Not Found" atunci aceasta permisiune este enabled.Acuma veti spune, da, dar cat de mult poate periclita aceasta permisiune securitatea unui server? Directoarele in care se gasesc aplicatii ASP au nevoie DOAR de permisiunea script, prin permisiunea read, un hacker poate citi codul sursa al aplicatiilor, afland informatii la care nu ar trebui sa aiba acces, informatii care il vor ajuta la compromiterea serverului.De exemplu, directorul in care se gasesc imaginile ar trebui sa aiba aceasta permisiune.Daca serverul raspunde cu un mesaj "403 Forbidden" inseamna ca permisiunea de a citi este dezactivata. Quote