>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML Beveiliging
Go

Scan4all — de Zwitserse zakmes voor pentesting die een dozijn tools vervangt

6.133 sterren

Stel je dit voor: je moet snel de perimeter scannen, honderden webservices controleren op kwetsbaarheden, een brute-force aanval uitvoeren op standaard wachtwoorden, en niet verdwalen in tientallen verschillende CLI-hulpprogramma's. Meestal resulteert dit in terminal-koorddansen, waarbij nmap in het ene venster draait, nuclei in het andere, en in het derde venster je wanhopig probeert de syntaxis van subfinder te onthouden. De ontwikkelaars van GhostTroops hebben besloten dat het tijd is om een einde te maken aan deze chaos en hebben scan4all gebouwd.

Dit is niet zomaar een andere scanner. Het is een op Go gebaseerde krachtpatser die toptools zoals nuclei, vscan, ksubdomain en subfinder onder de motorkap combineert. Het mooiste is dat de auteurs niet simpelweg binaries aan elkaar hebben "gelijmd"—ze hebben delen van de modules herschreven en parameters op codeniveau geoptimaliseerd zodat alles snel draait zonder het netwerk te overbelasten.

Wat het eigenlijk kan doen

Kort gezegd—bijna alles wat je nodig hebt voor initiële verkenning en het vinden van aanvalsvectoren. Het project dekt meerdere fasen van een security audit tegelijk.

Het hulpprogramma wordt geleverd met een database van 15.000+ PoC's. Dit omvat nuclei templates en vscan-bijdragen (inclusief xray 2.0). Het controleert alles van basis XSS en LFI tot recente CVE's in WordPress en bedrijfssoftware. Interessant detail: de auteurs hebben slimme SSL-logica toegevoegd: de scanner haalt domeinen uit certificaten en voegt ze automatisch toe aan de scanwachtrij.

Brute-forcing uit de doos

Scan4all ondersteunt wachtwoord-brute-forcing via 23 protocollen. De lijst bevat klassiekers zoals SSH, RDP, MySQL, Redis en zelfs RouterOS of WinRM. Een interessant detail: HTTP brute-forcing wordt automatisch geactiveerd zodra de scanner een authenticatiepagina tegenkomt. Je hoeft niet handmatig op te geven "dit heeft een wachtwoordpoging nodig".

Poortscannen en fingerprinting

In plaats van het wiel opnieuw uit te vinden, maakt het project gebruik van nmap- en naabu-mogelijkheden. Het herkent 146 protocollen en kent ongeveer 90.000 poortscanregels. Daarnaast is er honeypot-bescherming ingebouwd—als het hulpprogramma detecteert dat het tegenover een honeypot staat, slaat het die host simpelweg over.

Hoe het onder de motorkap werkt

Het project is geschreven in Go, waardoor het cross-platform en licht is wat betreft resourceverbruik. De architectuur volgt een watervalbenadering: eerst komt datacollectie en doelidentificatie, gevolgd door diepgaand scannen en PoC-toepassing.

Een van de coolste functies moet wel de Elasticsearch-integratie zijn. Als je met grote datavolumes werkt, worden standaard tekstlogboeken een nachtmerrie. Scan4all kan resultaten opslaan in Elasticsearch, waardoor je handige dashboards kunt bouwen of simpelweg snel de informatie kunt doorzoeken via Kibana.

Praktische gebruiksscenario's

Hoe gebruik je dit in het echte leven? Hier zijn een paar voorbeelden:

  1. Snelle infrastructuuraudit. Je hebt een lijst van de IP's of domeinen van je bedrijf. Met één commando start je subdomein-enumeratie, poortscannen, web fingerprinting en kritieke kwetsbaarheidscontroles.
  2. Bug Bounty. Dankzij integratie met subfinder en ksubdomain is het hulpprogramma geweldig voor het vinden van vergeten "staartjes" in grote organisaties.
  3. Controle op zwakke wachtwoorden. Als je netwerk veel Redis-, MongoDB- of FTP-instanties heeft zonder goede configuratie, zal scan4all ze sneller markeren dan je ze handmatig kunt controleren.

Voorbeeld van uitvoering tegen een doellijst:

# Точное сканирование списка URL
UrlPrecise=true ./scan4all -l targets.txt

Als nmap niet op je systeem is geïnstalleerd of je het niet wilt gebruiken, kun je overschakelen naar de ingebouwde naabu:

priorityNmap=false ./scan4all -tp http -list targets.txt -v

Nuances en beperkingen

Ondanks zijn geweldigheid heeft het project zijn eigenaardigheden. De README kan er soms chaotisch uitzien, en de Engelse documentatie wordt soms vermengd met Chinees. Houd er ook rekening mee dat nmap-scannen root-privileges vereist, dus je zult het wachtwoord moeten doorgeven via de PPSSWWDD omgevingsvariabele.

Nog een punt: het hulpprogramma is erg luidruchtig. Als je van plan bent het te gebruiken voor verborgen auditing, is dit een slecht idee. Het genereert een enorme hoeveelheid verkeer en verzoeken, waardoor je onmiddellijk wordt gemarkeerd in elk monitorsysteem (IDS/IPS).

Is het de moeite waard om te proberen

Als je pentesting doet, deelneemt aan Red Teaming, of simpelweg security bij je bedrijf afhandelt—absoluut ja. Scan4all bespaart een hoop tijd op routinematig werk. In plaats van ketens van vijf verschillende hulpprogramma's te configureren, krijg je een kant-en-klare pipeline.

Natuurlijk zal het je brein en handmatige analyse niet vervangen, maar als hulpprogramma om snel de perimeter te "roasten" is het verdomd goed. Het project wordt actief bijgewerkt: er werd bijvoorbeeld onlangs ondersteuning voor de nieuwste nuclei-versies toegevoegd en algoritmes voor IP-duplicaatdetectie werden verbeterd om te voorkomen dat dezelfde dingen meerdere keren worden gescand.

Je kunt aan de slag door simpelweg de binary te downloaden van de releases op GitHub, aangezien de afhankelijkheden minimaal zijn. Vergeet alleen niet eerst Elasticsearch te deployen als je diep in de resultaten wilt graven.

Gerelateerde projecten