Lassen Sie uns das gesamte Netzwerk scannen ... oder wie ich im Netzwerk des Unternehmens nach alten Betriebssystemen gesucht habe

Bei der Durchführung eines Penetrationstests im internen Netzwerk eines Unternehmens besteht einer der ersten Angriffsmethoden in Windows-Netzwerken darin, nicht unterstützte Betriebssysteme mit bekannten und öffentlichen Exploits zu finden und zu gefährden. Am häufigsten wird der SMB-Dienst verwendet. Ein weiteres Problem für Systemadministratoren ist das Fehlen einer Netzwerkdokumentation. Ein Pentester- und / oder Netzwerkinformationssicherheitsanalyst kann in einer geschäftigen Situation oder bei völliger Fahrlässigkeit des für den Betrieb verantwortlichen Personals mit Black-Box-Netzwerkinformationen konfrontiert sein. Insbesondere Administratoren (die These wird durch die Forschung von Kollegen von Positive Technologies bestätigt ).







Wir werden den Fall formulieren und leicht erweitern







Es ist ausreichend Zeit erforderlich, um alle nicht unterstützten Windows-Betriebssysteme im lokalen Netzwerk eines Unternehmens mit mehr als 10.000 Hosts zu finden, vermutlich mit öffentlichen SMB-Exploits.

Eine Einschränkung der Methode kann die Netzwerksegmentierung sein, wenn einige Subnetze vom Host des Forschers geschlossen werden.







Wen kümmert es, willkommen unter der Katze ...







BEACHTUNG! Die in diesem Artikel verwendete Masscan- Anwendung kann das gesamte Netzwerk zerstören. Sie ist ein sehr leistungsfähiges Tool. Testen Sie Ihr Netzwerk mit verschiedenen Ratenparametern vor.







  1. Die Liste aller möglichen privaten IP-Adressen kann mit drei Masken 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 aufgezeichnet werden


Wir geben sie in eine Datei ein.







root@debSec:~/search_old_os# vim subnet.lst
      
      











Um alle verwendeten Subnetze schnell zu bestimmen, verwenden wir Masscan im Ping-Scan-Modus.







root@debSec:~/search_old_os# masscan --ping --rate 10000 -iL subnet.lst -oX fast_ping_scan.xml
      
      





30 . .













: , . , .







root@debSec:~/search_old_os# masscan --ping --rate 1000 -iL subnet.lst -oX fast_ping_scan.xml
      
      





.







root@debSec:~/search_old_os# cat fast_ping_scan.xml|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'
      
      











, masscan rate 10000 . rate , 24.







root@debSec:~/search_old_os# cat fast_ping_scan.xml|grep -Eo '([0-9]{1,3}\.){3}'|sort|uniq|sed -e 's/$/0\/24/'>target_subnet.lst
      
      





499 .













masscan c rate, , 1000 .







root@debSec:~/search_old_os# masscan --ping --rate 1000 -iL target_subnet.lst -oX target_ping_scan.xml
      
      





2 , 28 . , rate 100. 20 .







, 10296 .













, , 99.91% . , .







.







root@debSec:~/search_old_os# cat target_ping_scan.xml|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|sort|uniq >target_ping_scan.lst
      
      





, , .







SMB. , 139,445.







msscan , .







root@debSec:~/search_old_os# masscan --port 139,445 --rate 100 -iL target_ping_scan.lst -oX ip_smb.xml 
      
      





SMB, , IP.







root@debSec:~/search_old_os# cat ip_smb.xml|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|sort|uniq >ip_smb.lst
      
      





?







. : nse nmap.







root@debSec:~/search_old_os# nmap -Pn --script smb-vuln* -p139,445 -iL ip_smb.lst -oA nmap_smb_vuln
      
      





nmap 71 ~10 .





























11 .







nmap, OS SMB.







root@debSec:~/search_old_os# nmap --script smb-os-discovery.nse -p 445,139 -iL total_smb.lst -oA all_os
      
      





( , , nmap )







, .







, .







OS. , :







root@debSec:~/search_old_os# cat all_os.nmap |grep -B 10 -E 'Windows v1|Windows Server v2|Windows v3|Windows v4|Windows v5|Windows v6' >FINAL_TOTAL_OLD_WINDOWS_FULL.lst
      
      





IP.







root@debSec:~/search_old_os# cat FINAL_TOTAL_OLD_WINDOWS_FULL.lst|grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}'|sort|uniq >FINAL_TOTAL_OLD_WINDOWS_FULL.lst
      
      





65 .







metasploit . . .







, .

:







  1. .
  2. - .
  3. "", RedTeam.
  4. ( ).


:







  1. . — , .
  2. ActiveDirectory.
  3. . , , Nessus. , ( ).


Die Methode ist nicht die einzige und nicht die beste, aber unter meinen Bedingungen war sie die einzig akzeptable. Ich hoffe, jemand wird sich als nützlich erweisen ...








All Articles