ExtendedMacro-BurpSuite

ExtendedMacro – BurpSuite plugin

Úvod

BurpSuite Proxy patrí medzi štandardy používané pri penetračnom testovaní webových aplikácii. Aj keď je tento nástroj veľmi dobrý, stane sa, že nedisponuje funkcionalitou, ktorú momentálne potrebujete. Našťastie je ju možné rozširovať formou pluginov.

Už neraz sa nám stalo, že sme potrebovali špecifickú funkcionalitu, ktorú bolo veľmi nepraktické vykonávať manuálne - napr. podpisovanie požiadaviek. Ďalšia pomerne často žiadaná funkcionalita je vykonanie niekoľkých požiadaviek pred alebo po vykonaní špecifickej akcie používateľa. Typickým príkladom je prihlásenie používateľa a obnovenie session cookie, vyžiadanie si CSRF tokenu alebo vyplnenie viackrokových formulárov. Čiastočne túto funkcionalitu poskytuje Burp Macro, avšak v obmedzenej podobe (napríklad neumožňuje upravovať HTTP hlavičky). Preto sme sa rozhodli vytvoriť plugin, ktorý by túto rozšírenú funkcionalitu poskytoval.

Plugin je dostupný priamo Bapp Store vrátane zdrojových kódov na GitHube. Je vydaný pod MIT licenciou.

Popis funkcionality pluginu

Hlavná funkcionalita je nasledovná: Plugin umožňuje nadefinovať sériu požiadaviek, ktoré sa vykonajú pred každou požiadavkou/akciou používateľa z jednotlivých nástrojov Burpu ako sú Proxy, Repeater, Scanner, Intruder, Sequencer alebo Spider. Tieto požiadavky je možné vykonávať zakaždým alebo len v pravidelných časových intervaloch. Plugin umožňuje aj reťazenie požiadaviek a modifikáciu jednotlivých požiadaviek na základe predchádzajúcich (napr. vyžiadame si CSRF token, jeho hodnotu vezmeme z odpovede a nastavíme ju ako novú HTTP hlavičku pre nasledujúcu požiadavku).

Funkcionalita popísaná v bodoch:

  • Vytvorenie zoznamu požiadaviek, ktoré sa vykonajú pri každej akcii
  • Extrahovanie dát z odpovedí
  • Vloženie extrahovaných dát do nasledujúcich požiadaviek (nahradenie existujúcich dát, pridanie novej HTTP hlavičky, nahradenie HTTP hlavičky)
  • URL dekódovanie extrahovaných dát
  • Možnosť „cachovania“ extrahovaných dát (nastavenie časového intervalu, po ktorom sa majú znova odoslať vybrané požiadavky)

Výhody oproti Burp Macro:

  • Možnosť nahradiť ľubovoľné dáta v požiadavke
  • Možnosť pridať novú HTTP hlavičku
  • Jednoduchšia konfigurácia než pri Burp Macro
  • Možnosť „cachovania“ extrahovaných dát

Popis UI pluginu

Po nainštalovaní do Burpu sa pridá nová záložka s názvom Extended Macro a do kontextového menu sa pridá nová položka s názvom „Send to ExtendedMacro“. ExtendedMacro obsahuje tri hlavné komponenty s názvami:

  • „Main“ – hlavné okno
  • „Logger“ – história vykonaných požiadaviek
  • „Settings“ – nastavenia

Main

burpsuite V tejto záložke sa nachádza hlavná funkcionalita pluginu. Je tu viditeľný zoznam všetkých požiadaviek a operácií, ktoré sa majú vykonať (aké dáta extrahovať/nahradiť). Ľavá strana umožňuje konfiguráciu pre extrakciu dát – „Extraction message list“. Pravá strana umožňuje konfigurovať kam a ako sa extrahované dáta vložia – „Replace message list“.

Extraction message list

Sem sa pridávajú všetky požiadavky, ktoré si želáme vykonávať. Poradie vykonávania je dané poradím požiadaviek v zozname, vykonávajú sa zhora nadol. Po kliknutí pravým tlačidlom myši sa zobrazí kontextové menu, pomocou ktorého môžeme požiadavky mazať alebo meniť ich poradie.

Po kliknutí na požiadavku sa načíta jej obsah do záložiek „Request“ a „Response“. Následne vieme označiť dáta, ktoré chceme extrahovať z odpovedi a kliknutím na tlačidlo „From selection“ v „Extraction configuraion“ sa automaticky vytvorí pravidlo pre extrakciu. Nakoniec nastavíme iba názov a klikneme na „Add“. V zozname sa zobrazí nové pravidlo.

Replace message list

Táto záložka zobrazuje požiadavky a pravidlá definujúce kde a čo sa má nahradiť alebo pridať z extrahovaných dát. Najskôr je potrebné mať vytvorené pravidlo pre extrakciu, ktoré môžeme následne použiť. Dáta je možné vložiť buď pre aktuálne označenú požiadavku alebo na poslednú (vykonanú používateľom).

Logger

burpsuite

Záložka Logger zaznamenáva všetky požiadavky, ktoré boli spracované pluginom. Slúži to najmä pre účely ladenia.

Settings

burpsuite

Umožňuje nastavenie pluginu. Môžeme zvoliť, ktoré nástroje budú spracované pluginom (Repeater, Scanner, Spider, Intruder, Sequencer alebo Proxy). Ďalej umožňuje konfiguráciu intervalu „cachovania“ extrahovaných dát.

Príklad použitia – získanie CSRF tokenu a vloženie ho do požiadavky spracovanej Burpom

  • V proxy zvolíme požiadavku, pomocou ktorej si vyžiadame platný CSRF token a klikneme pravým tlačidlom myši a zvolíme „Send to ExtendedMacro“
  • otvoríme ExtendedMacro a vyberieme konkrétnu požiadavku v zozname "Extraction message list" (ľavý zoznam)
  • označíme dáta v „response“ editore – v našom prípade CSRF token, ktorý chceme použiť
  • klikneme na tlačidlo "From selection" – vytvorí to pravidlá pre extrakciu, môžeme ich napísať aj ručne (začiatočný a ukončovací reťazec)
  • nastavíme názov a klikneme na tlačidlo "Add" – v „Extraction configuration“ sa vytvorí nové pravidlo (riadok) s názvom a ID správy
  • v pravo „Replace configuration“ zvolíme typ „Replace header on Burp request“ – toto zmení hodnotu HTTP hlavičky, ak sa tam nachádza, alebo pridá hlavičku
  • do poľa „Replace/Header name“ zadáme názov hlavičky napr. „Anti-CSRF-Token: “
  • vľavo v „Extraction configruration“ zvolíme pravidlo, ktoré extrahuje CSRF token
  • v pravo „Replace configuration“ nastavíme názov a klikneme na „Add“ – vytvorí sa nové pravidlo, ktoré automaticky upraví HTTP hlavičku pre každú požiadavku z Burpu
  • Teraz môžeme vyvolať požiadavku napr. z repeatera a v logoch pozrieme ako sa upravili HTTP hlavičky

About the author

Citadelo
Citadelo je dom plný etických hackerov na vašej strane. Pomáhame otestovať ich informačnú bezpečnosť. Podrobte svoje IT prostredie výzve a odhaľte, do akej miery sú vaše citlivé dáta chránené.
Zobraziť viac od autora

Related posts

Citadelo Security Evening - jeseň 2017

Blog | | Citadelo
Hackerské tipy, odhalenie zraniteľnosti s medzinárodným dopadom a ako ukradnúť milióny. Nie, to nie sú názvy filmov, ale témy prednášok, ktoré odzneli na Citadelo Security Evening (CSE)
Zobraziť

WPA2 prelomená. Viete ako ochrániť svoje dáta?

Blog | | Citadelo
Bezpečnostný analytik Mathy Vanhoef zverejnil širokej verejnosti vážnu bezpečnostnú chybu vo WPA2 protokole. WPA2 protokol sa bežne používa na šifrovanie komunikácie pri použití Wi-Fi, jeho predchodcovia sú WPA a WEP.
Zobraziť

Odhalili sme zraniteľnosť CMS Made Simple

Blog | | Citadelo
CMS Made Simple je voľne dostupný, open source CMS. Pozreli sme sa bližšie na zraniteľnosť CMS Made Simple a o výsledok sme sa s vami podelili.
Zobraziť

Úspešne sme absolvovali certifikáciu OSCP

Blog | | Citadelo
OSCP je skúška, ktorá preverí teoretické aj praktické znalosti. Narozdiel od iných skúšok, OSCP a jej úspešné absolvovanie hovorí o určitej znalosti držitela certifikátu.
Zobraziť