GitHub · DBeuken

Geschreven tools

Naast mijn studie ontwikkel ik zo nu en dan security-tools. Sommige tools publiceer ik vervolgens op mijn github. Hieronder licht ik per repository toe wat de tool doet en met welke gedachte deze is geschreven.

[ 01 ]

HabitScout

Behavioral Privilege Escalation Analyzer

Bash
  • Post-exploitation
  • Linux
  • Privilege escalation

Een tool die een systeem doorzoekt op zwakke plekken die niet voortkomen uit klassieke kwetsbaarheden, maar uit de gewoonten van de beheerder. Waar de meeste tools zoeken naar bekende fouten, kijkt HabitScout naar de manier waarop een systeem in de praktijk wordt onderhouden.

Geplande taken

Cron jobs en systemd timers worden onderzocht op schrijfrechten, zowel op het uitvoerbare bestand zelf als op de map waarin het staat.

Beheerderspatronen

Configuratiebestanden zoals /etc/profile en .bashrc worden doorzocht op ongebruikelijke keywords, eigen functies en mogelijke executables.

Draaiende processen

Processen met verhoogde rechten worden geïnspecteerd op redirects naar configuratiebestanden waar wel op geschreven mag worden.

Shell-geschiedenis

De shell-geschiedenis wordt bekeken om de mappen te achterhalen waarin de beheerder regelmatig handmatig werkt.

[ 02 ]

gitexhume

Commit-geschiedenis doorzoeken op gevoelige gegevens

Go
  • Reconnaissance
  • OSINT
  • Git

Een tool die git-repositories doorzoekt op gevoelige trefwoorden, waarbij niet alleen de huidige staat van de code wordt bekeken, maar de volledige commit-geschiedenis. Gegevens die ooit zijn weggehaald, staan immers nog altijd in de geschiedenis.

Twee werkwijzen

De tool kan repositories rechtstreeks via de GitHub API benaderen, of een reeds lokaal gekloonde repository doorzoeken.

Gericht of breed

Met -u worden alle publieke repositories van een gebruiker (user) doorzocht; met -u en -r kan een specifieke repository worden opgegeven.

Eigen woordenlijst

De trefwoorden komen uit een woordenlijst waarnaar in config.go wordt verwezen, zodat de tool op de eigen situatie kan worden afgestemd.

[ 03 ]

IrrPoly

Irreducibele en primitieve polynomen genereren

Python
  • Cryptografie
  • Eindige lichamen
  • Wiskunde

Een tool die alle irreducibele polynomen van een opgegeven graad over het eindige veld F(2) opsomt en van elk daarvan vaststelt of het primitief is. Deze tool is gemaakt gedurende mijn bachelorscriptie.

Alle polynomen van een graad

De graad wordt als argument meegegeven, waarna elk irreducibel polynoom van die graad wordt opgesomd.

Primitief of niet

Primitieve polynomen worden achterhaald door te kijken naar de multiplicatieve groep. Juist die primitieve polynomen zijn in de praktijk bruikbaar.

Opsomming

Onder de opsomming volgt het totale aantal gevonden polynomen en het aantal daarvan dat primitief is.

[ 04 ]

precon

Passieve verkenning van een website

Bash
  • Reconnaissance
  • OSINT
  • Webbeveiliging

Een tool die in kaart brengt wat er over een domein te achterhalen valt zonder het doelwit zelf te scannen door gebruik van reconaissance-websites. Hiermee blijft de verkenning binnen wat een willekeurige bezoeker ook zou doen.

Wat wordt getoond

DNS-records, HTTP- en beveiligingsheaders en uitpluizen van de Content-Security-Policy.

Firewalls en CDN's

Het herkennen van een WAF of CDN en het achterhalen van de technieken waarmee de website is opgebouwd.

Subdomeinen uit certificaten

Certificate Transparency-logs worden gezocht om subdomeinen te vinden die uit het domein zelf niet blijken.

Open poorten en kwetsbaarheden

Via Shodan worden open poorten en bekende CVE-nummers bij het doelwit opgehaald.