Burp Suite - Perusteet

BurpSuite - Intruder

Helppo
30 min

Mikä on Intruder?

Intruder -työkalu mahdollistaa erilaisten toistuvien kyselyiden suorittamisen. Voit esimerkiksi syöttää työkalulle listan merkkijonoja, joita haluat käyttää kyselyissä. Intruder ottaa annetun sanalistan ja suorittaa HTTP-pyynnön jokaisella annetulla sanalla. Mutta ensin sinun tulee määrittää jokin HTTP-pyyntö, jota työkalussa tullaan käyttämään ja tämän voit tehdä usealla eri tavalla. Voit esimerkiksi avata HTTP-pyynnön HTTP historiassa, klikata pyyntöä oikealla hiiren painikkeella ja valita vaihtoehdon Send to intruder tai painaa Ctrl-I. Avaa Intruder -ikkuna.

Intruder hyökkäyksen käynnistäminen - Käytännön esimerkki

Suoritetaan yksinkertainen hyökkäys käyttämällä kyseistä HTTP-pyyntöä. Valitse HTTP-pyynnöstä polun alku aktiiviseksi ja paina oikeassa laidassa olevaa Add -nappia kaksi kertaa. Tämän pitäisi lisätä HTTP-pyyntöön kaksi merkkiä, jotka merkitsevät työkalulle paikan, johon haluamamme sanat kuuluisi laittaa. Voit myös korvata alueen näin, esimerkiksi salasanan, jos haluaisit suorittaa yksinkertaisen salasanan murtamishyökkäyksen.

Siirry nyt payloads - sivulle. Tällä sivulla voimme määrittää sanat, joita työkalu tulee käyttämään hyökkäyksessään.

Voit joko lisätä sanat manuaalisesti, kopioida sanat jostain tai ladata tekstitiedoston, jossa sanat sijaitsevat. Lisätään manuaalisesti muutama sana listaan.

Muita hyötykuormavaihtoehtoja (payload types)

Avaamalla listauksen Payload set näet muita Burpin sisältämiä vaihtoehtoja.

Yksinkertaisena esimerkkinä Numbers hyötykuormat, jonka avulla voit määrittää numerosarjan, jonka Burp käy läpi listan sijasta.

Valitaan kuitenkin Simple list ja jatketaan hyökkäksen määrittämistä.

Resurssien määrittäminen / Skannaus nopeuden määrittäminen

Katsotaan seuraavaksi resurssi-ikkunaa. Avaa Resource pool -ikkuna.

Tällä sivulla on mahdollista vaikuttaa kuinka usein ja kuinka tiuhaan nämä kyselyt suoritetaan. Verkkosivulla voi esimerkiksi olla jokin aikarajoite, mikä estää meitä suorittamasta kyselyitä onnistuneesti, jos kyselyt tapahtuvat liian tiuhaan tahtiin. Voisimme määrittää pienen viiveen kyselyiden väliin, joka voisi auttaa meitä suorittamaan jonkin hyökkäyksen onnistuneesti.

Alla oleva määritelmä sallisi ainoastaan 5 samanaikaisesti toistuvaa HTTP-pyyntöä ja asettaisi noin sekunnin viiveen jokaisen pyynnön väliin. Viive vaihtelisi, koska valitsimme With random variations tarkoittaen, että Burp muuttaisi viivettä asteen verran, jotta tämä näyttäisi mahdollisimman satunnaiselta.

Nyt meidän ei kuitenkaan tarvitse tätä lähteä muuttamaan. Valitaan Default resource pool.

Settings -sivulla löydät lisää tarkempia asetuksia, joita voit asettaa hyökkäykselle. Ei niistä tässä sen enempää, mutta kannattaa lukea ne kuitenkin läpi ja muistaa, että tämmöinen sivukin on olemassa.

Hyökkäyksen aloittaminen

Aloitetaan hyökkäys painamalla oranssia Start attack -nappia, sivun oikeassa yläkulmassa. Tästä pitäisi aueta uusi ikkuna ja kun Intruder -työkalu on valmis, niin sinun pitäisi nähdä lista kolmasta HTTP-pyynnöstä.

Tutki HTTP-pyyntöjä, niin näet, että ensimmäinen pyyntö suoritettiin siten, kuten se työkaluun oltiin annettu, eli pyyntöä ei muutettu millään tavalla. Toinen pyyntö sisältää antamamme ensimmäisen sanan ja kolmas toisen. Valitsemalla jonkin näistä pääset näkemään itse HTTP-pyynnön ja vastauksen ikkunan ala-osasta.

Voit myös tarkastella muita tietoja pyynnöistä, esimerkiksi Response received ja Response completed, eli kauan työkalulla kesti saada tieto vastauksesta ja kauan työkalulla kesti, että vastaus saapui kokonaisuudessaan. Löydät nämä yläpalkista Columns täpän alta.

Hyökkäystyypit (Attack types)

Intruder -työkalu tukee neljää eri hyökkäysmenetelmää:

  • Sniper-menetelmä on yksi yksinkertaisimmista. Se lähettää yhden erilaisen arvon kerrallaan määritellyssä kohdassa. Tämä menetelmä soveltuu tilanteisiin, joissa halutaan testata yksittäisiä parametreja erilaisilla arvoilla.
  • Batterin ram-menetelmässä intruder sijoittaa saman sanan kaikkiin määriteltyihin kohtiin samanaikaisesti. Se käyttää yhtä listaa. Tämä hyökkäys on hyödyllinen tilanteissa, joissa hyökkäyksessä tarvitaan saman syötteen lisäämistä useisiin paikkoihin pyynnössä.
  • Pitchfork-menetelmässä hyökkäys iteroi läpi eri listan jokaiselle määritellylle paikalle. Sanat asetetaan jokaiseen paikkaan samanaikaisesti. Pitchfork-hyökkäys on hyödyllinen tilanteissa, joissa hyökkäys vaatii erilaisia, mutta liittyviä syötteitä lisättäväksi useisiin paikkoihin pyynnössä. Esimerkiksi asettaaksesi käyttäjänimen yhteen parametriin ja tiedossa olevan tunniste numeron toiseen parametriin.
  • Cluster Bomb -menetelmässä hyökkäys iteroi läpi eri listat jokaiselle määritellylle paikalle. Sanat asetetaan kustakin listasta vuorotellen, joten testataan kaikki mahdolliset sanayhdistelmät.

Viimeisiä ajatuksia

Tässä olikin Intruder-työkalun ydintoiminnallisuus. Vinkkinä, joskus tämä voi olla esimerkiksi hyödyllinen, jos yrität etsiä jotain sanaa tai merkkijonoa HTTP-pyynnön parametrissä tai osassa, joka johtaisi esimerkiksi onnistuneeseen tapahtumaan verkkosovelluksessa. Silloin voit vertailla HTTP-vastauksia pituuksia listassa, jonka kautta löydät poikkeavuudet.

Käytännön esimerkkinä, voit käyttää tätä esimerkiksi Path Traversal -hyökkäyksissä, joissa yrität kaivaa järjestelmästä polkuja tai tiedostoja, jotka ovat olemassa. Jos järjestelmä palauttaa aina saman vastauksen, niin tämä viittaa siihen, ettei kyseistä tiedostoa ole löytynyt. Mutta, jos sovellus palauttaa erikoisen pitkän tai poikkeavan vastauksen, niin voi tämä viitata siihen, että olet löytänyt etsimäsi.

Testaa oppimaasi

Suorita alla oleva tehtävä käyttäen intruderia.

Ticking boxes

Tässä labrassa pääset ruksimaan ruutuja!

Tavoite

Ruksi sata ruutua saadaksesi lipun.

Tehtävät

Flag

Löydä lippu (flag) labraympäristöstä ja syötä se alle.

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.