De cybersecurity specialisten van Brussec Security hebben de afgelopen weken een security scan gedaan van het volledige Belgische internetlandschap. Hierbij gingen we op zoek naar het meest kwetsbare IP-adres van België. Of we die gevonden hebben? Wel, laat ons zeggen dat het een moeilijke keuze was…
Om een scan te maken van een geografische locatie moeten we natuurlijk alle IP-adressen uitsluiten die zich niet op Belgisch grondgebied bevinden. Hiervoor maken we gebruik van netblokken. Dit zijn grote blokken aan IP-adressen die internetproviders gereserveerd houden voor hun klanten. Bijvoorbeeld:
194.78.0.0 - 194.78.255.255 37.62.0.0 - 37.62.255.255 217.136.0.0 - 217.136.255.255 ...
81.82.0.0 - 81.83.255.255 213.118.0.0 - 213.119.255.255 ...
De volledige lijst is te vinden op de website van Nirsoft. We stoppen al deze ranges in een bestand genaamd targets.txt
Nu we onze targets bepaald hebben, scannen we op poort 3389. Waarom 3389? Omdat deze poort in principe nooit voor de buitenwereld te zien zou mogen zijn. Poort 3389 is de standaardpoort voor Microsoft Terminal Services (Remote Desktop), een protocol om computer van op aftand te besturen. Het is echter aangeraden deze poort te sluiten van buitenaf en ze te benaderen via een VPN tunnel.
We gaan er dus van uit dat wanneer poort 3389 open staat, we ook heel wat andere slechte configuraties zullen zien.
Om de bovenvermelde lijst te scannen gebruiken we een tool genaamd masscan. Masscan is een beetje de vlammenwerper van alle scanners. Hij kan heel veel targets in korte tijd ‘raken’ maar geeft niet altijd de meest accurate resultaten terug. Maar omdat we ook niet alle tijd van de wereld hebben, is dit een goede eerste keuze. De volledige scan duurde een 2-tal uur.
cat targets.txt | xargs -l -I % masscan % -p3389 >> masscan_results.txt
Daarna gaan we de uitvoer die in masscan_results.txt staat even wat verschonen voor de volgende stap.
sed -i -e 's/\bDiscovered open port 3389\/tcp on \b//g' masscan_results.txt
Nu we een mooie lijst hebben van IP-adressen waar poort 3389 open staat kunnen we onze resultaten gaan verfijnen. Hiervoor gebruiken we de scanner nmap. Nmap is veel precieser dan masscan maar neemt dan ook veel meer tijd in beslag. Daarom kunnen we nu op onze uitgedunde lijst wel een volledige nmap scan laten doen.
cat masscan_results.txt | xargs -l -P 100 -I % nmap -sV -p- --script=banner % >> nmap_results.txt
Hier gaan we 100 threads van nmap maken om het process wat te versnellen. Al bij al duurde de volledige scan 4-5 uur.
Om zeker geen mooie informatie mis te lopen runden we nog even een dubbele check door Shodan, de zoekmachine voor het internet van dingen.
cat masscan_results.txt | xargs -l -I % shodan host % >> shodan_results.txt
We namen de data onder de loep en vonden enkele leuke zaken:
Dit is enkel een selectie van hosts waar poort 3389 open stond, de werkelijke cijfers voor het hele Belgische internet zijn waarschijnlijk vele malen groter.
We hebben ook enkele screenshots genomen van Remote Desktop sessies die onbeveiligd waren.
Olivier en Bruno werken rustig op hun server, maar zijn ze zich bewust van het feit dat al hun bestanden open en bloot liggen voor het internet?
Misschien is het een goed idee voor NetworkAdmin om zijn servers up to date te houden. Zo kan hij, ondanks zijn slecht geconfigureerde firewall, toch nog ietwat beveiligd blijven.
Ook de VDAB heeft niet al hun servers beveiligd staan, misschien wel een goed idee om dit even aan te pakken.
Er is nog heel wat werk aan de winkel wanneer het aan komt op cybersecurity in België. Het is daarom ook aangeraden om tijdig uw infrastructuur te laten controleren door experts. Daarvoor werd Brussec Security het leven in geroepen. Contacteer ons voor een security audit die bij uw bedrijf past! Zo blijven we #SaferTogether
PS: De bovenstaande partijen werden ingelicht over hun security fouten.