De afgelopen weken voerde ik een security scan uit op het volledige Belgische internetlandschap. Hierbij gingen ik op zoek naar het meest kwetsbare IP-adres van België. Of ik die gevonden heb? Wel, laat ons zeggen dat het een moeilijke keuze was…

Het landschap bepalen

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:

Proximus:

194.78.0.0 - 194.78.255.255
37.62.0.0 - 37.62.255.255
217.136.0.0 - 217.136.255.255
...

Telenet:

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

Een vlammenwerper

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

Een bos pincetten

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.

Double-check

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

Analyseren

We namen de data onder de loep en vonden enkele leuke zaken:

  • 6762 IP-adressen hadden poort 3389 open staan
  • 30 IP-adressen draaien Microsoft IIS 6.0
  • 12 hiervan zijn kwetsbaar voor CVE-2017-7269 (een zeer ernstige kwetsbaarheid)
  • 59 IP-adressen zijn kwetsbaar voor MS15-034 (nog zo’n ernstige kwetbaarheid)

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.

Enkele screenshots

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.

Conclusie

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.

Sharing is caring!