Kiosk breakouts basics

Welkom allemaal, na een aantal weken niks te hebben geplaatst heb ik vandaag wel weer een leuk artikel bedacht. Soms is het lastig om wekelijks of maandelijks iets te bedenken wat interessant is en wat ook voor mezelf beetje bekend is, natuurlijk maak ik deze blogs zodat ik zelf kan kijken of ik het volledig begrijp en natuurlijk leer je ook wat ervan.

Vandaag wil ik het hebben over kiosk systemen, maar wat zijn dat nou eigenlijk precies voor systemen?

Een kiosk systeem ben je ongetwijfeld wel eens mee in aanraking geweest, heb je wel eens eten besteld bij de MC Donald bijvoorbeeld. Als het goed is heb je dan eten besteld via een touchscreen waar je kan kiezen wat je wilt, dit is een voorbeeld van een kiosk systeem. Op vliegvelden en in hotels vind je ze ook vaak terug.

What is a Kiosk? - Definition, Examples, and More
Kiosk systeem

Hoe pentest je nou zo soort systeem? Ik zal een manier beschrijven hoe dit kan, zijn natuurlijk nog vele andere manieren maar deze vond ik interessant en leuk om te delen.

Basis

In de basis begin je met het testen van zo kiosk systeem met de volgende handelingen:

  • Kan je met je rechtermuisknop ergens op klikken waarna er iets tevoorschijn komt
  • Klik op alle links die je ziet.
  • Klik op alle icoontjes die je ziet.
  • Probeer in de URL bar meerdere dingen. Bijvoorbeeld: about:preference of about:config (dit is voor FireFox)
  • Probeer naar een website te gaan bijvoorbeeld google.com en zie wat er gebeurd.
  • Probeer in de URL bar verschillende protocollen (ftp://, irc://, smb://, ssh://, mailto://)

command execution

De volgende methode werkt niet altijd, het is een techniek om te proberen, indien rpc:// werkt of een van de andere protocollen en er komt opeens een scherm tevoorschijn waarin je een applicatie moet selecteren zoals te zien is op de afbeelding hieronder.

Application selection window

op dit moment kan je als pentester door het systeem heen bladeren om te kijken hoe het eruit ziet en wat er zoal op staat, ook kan je een idee krijgen met wat voor OS je waarschijnlijk te maken hebt. De volgende stap is om in de URL bar het volgende te typen:

irc://dummy -P "attacker"

Na het invoeren van bovenstaande tekst in de URL bar kan je wederom kiezen voor een applicatie waarmee je dit wilt uitvoeren, kies nu voor firefox (vaak te vinden op de volgende locatie: /usr/bin/firefox). Nadat je firefox hebt geselecteerd komt het volgende scherm tevoorschijn

Create new profile

wat je hierboven ziet is de keuze om een andere gebruikers profiel in te laden, nu moet je op ‘create profile’ klikken en vervolgens een nieuwe gebruiker aanmaken. Nadat je een nieuwe gebruiker hebt aangemaakt en je even paar seconden wacht komt er een nieuwe firefox browser tevoorschijn. Deze keer bevat de nieuwe browser meer mogelijkheden dan de vorige, nu kunnen wij bijvoorbeeld naar ‘Web developer’ opties en vanaf daar meerdere mogelijkheden.

Web developer options

Nu zou je bijvoorbeeld kunnen kiezen voor ‘scratchpad’ waarmee je code kunt schrijven en vervolgens kan uitvoeren door het bestand op te slaan en vervolgens te openen met gtkdialog door opnieuw irc://dummy in te voeren en naar /usr/bin/gtkdialog te gaan.

Een voorbeeld code voor in scratchpad zou kunnen zijn:

<window>
    <vbox>
        <frame Description>
        <text>
          <label> Test window.</label>
            </text>
          </frame>
             <button ok>
             <action> echo "this is a text file" > /tmp/test.txt</action>
             </button>
             <button cancel></button>
           </hbox>
        </vbox>
</window>

Bovenstaande script indien uitgevoerd maakt een test.txt bestand in de tmp folder met de tekst ‘this is a text file’.

Bedankt voor het lezen en hopelijk tot de volgende keer !

Please share and spread
NederlandsEnglish