Jump to content
poto1831

php shell upload

Recommended Posts

Buna ziua.

As vrea daca este posibil sa imi explicati metodele prin care un user oarecare poate uploada fisiere php proprii pe un anume site.

Banuiala mea este ca are legatura cu folderele cu acces 777 unde se incarca de exemplu avataruri cu extensia jpg. Fiind verificata doar extensia si nu si continutul, oricine poate uploada un php cu extensia jpg insa este posibila rularea ulterioara a acelui script cu php chiar daca are extensia jpg?

Mentionez ca din cate stiu eu nu am nicaieri prin site-uri pagini de tip run.php?file=script.php care sa contina un include($_GET['file']);

Dupa cum probabil ati banuit deja, am cateva siteuri tinute pe un server prorpiu cu cpanel si recent m-am trezit cu fisiere php straine aparand prin sursa. Bineintele era vorba de niste shell-uri care desi nu functionau complet (nu puteau uploada fisiere sau rula comenzi de linux din cate am vazut) aveau acces la sursa altor pagini php de pe server (inclusiv cele cu parole) si deci linistit nu pot fi.

Daca nu ma insel, aceste fisiere au aparut numai pe sursa site-urilor care continuea undeva in interiorul lro un script php pt upload de poze dar care nu verifica si continutul acelei poze ci doar extensia.

ps: am dat deja search pe forum in speranta sa descopar asemenea metode si nu am avut succes. daca raspunsul exista deja in alta parte imi cer de pe acum scuze si astept din partea cuiva un link catre threadul respectiv. stiu ca topicul s-ar fi incadrat mai bine la sectiunea de help dar m-am gandit ca decat sa postez de 10 ori tot felul de aberatii doar ca sa imi cresc post countul mai bine incerc sa ma incadrez aici. multumesc anticipat pt ajutor.

Link to comment
Share on other sites

uita-te si in loguri, poate gasesti numele fisierului strain si cine stie, vreo vulnerabilitate de care a profitat cineva. Pentru orice eventualitate. Daca folosesti apache ai un fisier access.log. Daca e asa zi-mi si mie ce-ai gasit :)

Ai parola pe root? Stii ca e cam optionala in apache.

Am luat si eu candva ceva care imi baga cod java in toate php-urile de pe disc pt un redirect. Nu stiu de pe unde, cred ca totusi nu a fost un atac intentionat ci un worm luat ca prostul de pe undeva. Desi pagina era vulnerabila la multe (in stilul index.php?page=home).

Link to comment
Share on other sites

Daca nu e secret, posteaza adresa site-ului.

Ne uitam noi daca sunt ceva vulnerabilitati.

Dar in orice caz, cum a zis moubik, daca site-ul este safe, se mai poate intra si prin site-uri hostuite pe acelasi server.

La asta e cam greu sa te protejezi, in mare e vorba de permisiuni.

Uita-te dupa directoare care sunt writable de everyone.

O comanda de genul asta

find /var/ -perm /o+w -ls

Cauta in directorul /var/ toate fisierele care sunt writable de others.

Dar si daca ai permisiuniile bune, daca cineva sparge un site host-uit pe serverul tau si are un exploit local, devine root si e game over.

Sau chiar daca nu are root, poate accesa directorul temporar unde se stocheaza informatiile de sesiune php si poate sa-ti fure cookie-urile.

Nashpa de protejat.

Poti sa vezi ce vecini ai cu un site gen myipneighbors.

Sau cauti adresa de ip pe live (fostul msn)

Cauti dupa ip:72.167.1.223

Daca ti-ai dat seama cum a intrat, publica pe aici sa stim si noi.

Link to comment
Share on other sites

Faza nashpa cu phpBB.

Incercam sa postez chestia asta

find /var/wwv/ -perm /o+w -ls

Si tot imi zicea ca trebuie sa am trei posturi ca sa postez link.

Ce link ? :X

Pana la urma mi-am dat seama ca se uita dupa trei de w si daca aveai asa ceva te bloca. Cam lame.

Link to comment
Share on other sites

Revin cu cateva detalii:

In primul rand serverul nu este unul public deci toate site-urile gazduite acolo sunt ale mele plus inca cateva ale unui amic. Personal mi-e frica k la ale mele e buba pt k am tot gasit acele fisiere. De asemenea ma intriga faptul ca am gasit fisierele direct in folderul sursei (public_html cum e la cpanel) care are drepturile de acces default si anume 750.

Am verificat logul de apache si am obtinut un ip romanesc care a accesat pagini aleatorii de pe fiecare din site-urile strapunse iar apoi a sarit direct pe php-urile straine. Fiind singurul care le-a accesat si asta la o ora care coincide cu data creeri se poate spune fara mari dubii ca mi-am gasit ip-ul atacatorului. Nu stiu insa ce pot face cu acest ip in afara de a-l adauga in lista celor interzise de cpanel si a mai castiga ceva timp pana se va gandi sa foloseasca un proxy (daca nu cumva era deja un proxy). Totusi nu am gasit niciun indificiu referitor la metoda prin care acele scripturi au ajuns pe server.

Daca este adevarat ca prezenta unui folder cu acces 777 in sursa invita atacatorii atunci cum ar trebui facut un site care sa prezinte printre altele optiunea de upload de fisiere (de obicei poze) vizitatorilor sai? Daca pe de alta parte cineva poate rula un script php cu extensia jpg uploadat k o poza normala chiar de catre scriptul meu atunci problema ar fi mult mai usor de solutionat.

Hari, iti voi da un mesaj privat cu adresele site-urilor. Oricine e interesat e liber sa le ceara dar as prefera sa nu le fac publice aici pentru a nu atrage atentia si mai mult asupra lor.

Link to comment
Share on other sites

Guest Kenpachi

daca folosesti scripturi publice gen phpbb .. cpanel ... squirell mail si asa mai departe vezi versiunile lor si cauta pe milw0rm la web applications vulnerabilitati in aceste scripturi. Ce a spus loki este corect ... iata in detaliu ce trebuie sa faci :

1. deschizi access logul siteului unde se afla shellul.

2. cauti prima accesare a acestui shell.(orice hacker dupa ce uploadeaza acest shell intra pe el sa vada la ce a capatat access)

3. te uiti la fishierele accesate imediat inainte de prima accesare a shellului.

acolo vei gasi vulnerabilitatea daca aceasta a fost exploatata manual de un hacker. daca in schimb ai fost lovit de un vierme ... naspa ... iti recomand sa nu mai folosesti serverul ca statie de lucru.

sunT sanse foarte mari sa fi intrat prin vecini la tine.

.

wrong ... a zis ca e server propriu si personal.

si da, pot fi uploadate fisierele numai unde au acces

wrong again. daca a luat uid owner nu are nevoie de chmod pentru a uploada . also poti uploada si fara sa ai access de read ... doar iti tre write :)

daca ai foldere 777 sigur pot fi uploadate acolo

shobolanul gri e gri ... doooo

un ultim sfat daca ai unix verifica daca nu cumva distributia ta sufera de vreun local root vulnerability ... s'ar putea sa fii mai bolnav decat crezi.

Link to comment
Share on other sites

Kenpachi, lucrurile sunt mult mai complicate.

El are foarte multe site-uri pe serverul ala, deci sunt foarte multe puncte de intrare posibile.

Pe langa asta serverul are o multime de porturi deschise, porturi care fiecare in parte trebuie auditat.

Nu pot sa stii sigur ca a intrat prin web, poate ca a intrat printr-o parola slaba la ssh sau printr-o alta exploatare si si-a uploadat un shell ca sa poata sa lucreze mai usor (gen dump-uit baze de date, faze ...).

Si are foarte multa logica sa te uiti dupa fisierele accesate imediat inainte de shell dar ce faci daca vulnerabilitatea este pe POST. Apache nu logheaza POST-urile. Imi aduc aminte ca a ramas odata o vulnerabilitate importanta necorectata pentru vreo luna, ca nimeni nu-si dadea seama cum se intra pe servere pentru ca era pe POST.

Chiar voi logati POST-urile? Daca da, cum? Stiu de mod_security. In afara de asta daca folositi ceva.

Link to comment
Share on other sites

Din cate am analizat eu, nu cred k a putut uploada acele scripturi din web. In primul rand ca le-a uploadat direct in folderul sursa a site-urilor unde nu ar trebui sa aiba acces de scriere prin scripturi php si in al doilea rand ca paginile vizitate inainte de rularea shellului sunt aleatorii fara sa fi insistat mai mult pe o aceeasi pagina si fara sa fi trecut prin vreuna kre sa-i dea drept de upload de poze sau altceva. Chiar pe unul din site-uri a intrat o singura data pe index iar apoi direct intr-un shell.

De asemenea, respectivul a testat mai multe shelluri pe mai multe site-uri pana sa se multumeasca (justificat as zice) cu acel c99 care am vazut ca e foarte la moda. Mai pot de asemenea sa afirm ca desi individul a intrat pe mai multe site-uri de-ale mele, el s-a oprit asupra unuia singur care era de altfel tinta initiala. Din nou prefer sa nu dau nume in mod public. Sper sa n-o luati in nume de rau dar acest forum prin domeniul de activitate atrage atat persoane bine intentionate cat din celelalte :P

As mai vrea sa mentionez ca in urma cu aproximativ o luna eram tot cu acest server ruland vhcp (un inlocuitor gratuit pt cpanel despre care fusesem avertizat ca are probleme de securitate) si am inceput tot asa sa ma trezesc cu cateva fisiere straine pe care (in mod iresponsabil) m-am multumit doar sa le sterg. Toata asta pana intr-o dimineata cand m-am trezit cu tot hardul gol - de la site-uri la linux.

Acum la a doua "incercare" am bagat putin mana in buzunar pt cpanel dar tot in mod iresponsabil as zice, nu prea am schimbat nicio parola de la site-uri si asa mai departe. Ma gandesc ca prin aceste neglijnente s-ar putea sa-i fi facilitat o a doua patrundere in sistem. Altfel zis tot ce pot momentan sa fac cu priceperea mea e sa ma apuc sa modific toate parolele de prin server de la prima la ultima.

De altfel am analizat activitatea hackerului pe site-ul tinta si am vazut ca oricum pe acolo mi-a compromis securitatea in sensul ca s-a uitat prin toate fisierele inclusiv cel care continea parola de sql si pt interfata de admin, s-a logat atat in admin cat si in contul unui user si altfel zis a vazut tot ce putea vedea doar ca nu a modificat nimic. Mi se pare dubios ca desi s-a uitat prin 2 dintre tabele nu s-a gandit sa faca si un dumb de sql.

Inca nu sunt 100% sigur daca am de-a face cu un hacker care se pricepe foarte bine sau cu unul in devenire care a stat si a citit foarte multe tutoriale online.

Inca ceva: Daca beneficiez de ip-ul respectivului si de o banuiala in proportie de 90% a persoanei care se afla in spatele acestei activitati asta poate duce la o rezolvare pe cale legala sau ceva asemanator ? Din cate stiu eu, ideea autoritatilor romane care sa solutioneze asemenea dispute este la ora actuala una fictiva dar poate ma insel.

Link to comment
Share on other sites

in cel mai bun caz vei putea sa il faci sa faca un drum pana la sectie.

daca omu stie sigur despre cine e vorba... e si asta o idee, odata trecut pe acolo se lasa de spargareala. Am trecut si eu pe acolo ca cica aveam plete si am dat foc la o usha, deh, ma banuia propretaru, m-a luat militianu. Si m-a trimis acasa:D oricum, cred ca cel mai greu e sa te bage politia in seama, mai usor e apoi sa il cheme pe ala la declarat.

Haha apropo, ca traim in Ro, ce ar fi sa ma duc la comunitarul de sector si sa-i zic "Domnu', mi-a spart situl, ce fac? Am loguri" :D:D

Link to comment
Share on other sites

Merci pt sfaturi, hari.

Referitor la treaba cu politia, un simplu drum pana la sectie presupunand k apuca sa-l faca si pe ala ar fi total insuficient. Aici nu e vorba de un pusti care se distreaza cu mine ci de un caz de "concurenta lipsita de fairplay" din partea cuiva care ar avea numai de castigat din eliminarea site-urilor mele.

Nici macar treaba cu isp-ul nu ar fi o piedica extraordinara insa e posibil sa se merite incercata.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...