HAKATEMIA
02BurpSuite lisäosien rakentaminen vanhalla tavalla (Extender API)

Ensimmäinen BurpSuite lisäosa

Helppo15MIN

Jython-asennus

Tässä moduulissa käydään läpi kuinka luodaan ihka ensimmäinen, oma BurpSuite-lisäosa, eli tavallaan BurpSuite-lisäosien "hello world". Rakennamme lisäosan Python-ohjelmointikielellä. BurpSuite on rakennettu Javalla, joten joudumme käyttämään Jython-nimistä pakettia, joka kaikessa yksinkertaisuudessaan kääntää kirjoittamamme Python-koodin Java-muotoon.

Jython tukee tällä hetkellä ainoastaan Python2:sta, joten hyvä muistaa, ettemme voi käyttää Python3:n ominaisuuksia kirjoittaessamme lisäosia.

Aloitetaan lataamalla tarvittavat Jython-paketti täältä. Oikea tiedosto on nimeltään* jython-standalone-2.7.4.jar. *Kun olet ladannut kyseisen tiedoston, avaa BurpSuite-ohjelma ja sieltä *Extensions-*ikkuna.

Valitse *Extensions Settings *ja sieltä aseta äskettäin lataamasi Jython JAR -paketti *Python environment *-kohtaan.

Tämän jälkeen voit varmistaa, että tämä toimii kokeilemalla asentaa *Autorize *-lisäosan Burpin lisäosa-katalogista. Tämä vaatii Jythonin toimiakseen. Jos voit tämän asentaa, niin sitten kaikki toimii niin kuin pitääkin.

Oman lisäosan asentaminen BurpSuite-ympäristöön

Luodaan seuraavaksi oma BurpSuite-lisäosa ja asennetaan se Burppiin. Tee uusi tiedosto ja tallenna siihen seuraava Python-koodi.

PY
1from burp import IBurpExtender
2from burp import IHttpListener
3
4class BurpExtender(IBurpExtender, IHttpListener):
5  # Tätä funktiota kutsutaan asennuksen yhteydessä
6  def registerExtenderCallbacks(self, callbacks):
7    # luodaan referenssit tärkeisiin luokkiin, lisää myöhemmin
8    self.callbacks = callbacks 
9    self.helpers = callbacks.getHelpers()
10
11    # Määritetään lisäosalle nimi
12    callbacks.setExtensionName("Hello World - plugin")
13    # rekisteröidään HTTP kuuntelija toiminnallisuus
14    # tämä tärkeä myöhemmin
15    callbacks.registerHttpListener(self)
16    # Tulostetaan Burp Ympäristössä ja varmistetaan toimivuus 
17    print("Hello World")

Lisää seuraavaksi kyseinen tiedosto valitsemalla BurpSuitesta *Add, *valitse Python *Extension Type *-kenttään ja hae lisäosatiedosto.

Olet nyt asentanut ihka oman BurpSuite-lisäosan!

Koodin ymmärtäminen

Kurssissa oletetaan perustason ymmärrys Python-ohjelmointikielestä kuin myös BurpSuite:n toiminnasta, joten kaikkiin koodin aspekteihin ei paneuduta sen syvemmin. Koodista kuitenkin tärkeimmät asiat ymmärtää on:

  • *registerExtenderCallbacks - *Funktio, jota kutsutaan BurpSuite-ohjelman toimesta, kun lisäosaa asennetaan.
  • *setExtensionName - *Funktio, jolla asetetaan lisäosalle nimi, joka näkyy sitten Burpissa.
  • *registerHttpListener *- Funktio, jolla lisäosa kertoo Burpille, että halutaan kuunnella/manipuloida HTTP-liikennettä. Tärkeä myöhemmin kurssissa.

Kaikki tärkeimmät tiedot liittyen BurpSuite-lisäosien rakentamiseen käyttämällä näitä kyseisiä funktioita ja rajapintoja, löytyy täältä: https://portswigger.net/burp/extender/api/burp/package-summary.html

Tätä tullaan käyttämään ja tähän tullaan viittaamaan tällä kurssilla paljon. Kannattaa siis tutustua. :)

1 / 2
Hakatemia Pro

Hakkeroinnin oppiminen alkaa tästä

Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.