Ensimmäinen BurpSuite lisäosa
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.
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. :)
Hakkeroinnin oppiminen alkaa tästä
Sadat interaktiiviset kurssit, virtuaalilabrat ja CTF-haasteet selaimessasi. Aloita ilmainen kokeilu ilman korttitietoja.