Şu an ağınızdaki her cihazı gerçekten biliyor musunuz? Üstlendiğim çoğu ortamda dürüst cevap hayır. İzinsiz cihazlar unutulmuş switch'ler, shadow IT veya birinin duvar portuna kişisel laptopunu takmasıyla sızar. İşte gerçek bir soruna dönüşmeden önce hızlı bir ağ envanteri oluşturmak ve rogue cihazları tespit etmek için kullandığım 10 dakikalık yöntem.
Amaç tam bir CMDB rollout'u yapmak değil. Sadece subnetinizde neyin hayatta olduğunu, hangi IP'lere sahip olduklarını ve her MAC adresini açıklayıp açıklayamayacağınızın bir snapshot'ına ihtiyacınız var. Bir cihazı bilinen bir hostname, asset tag veya kullanıcıyla eşleştiremiyorsanız — işte bu sizin araştırma sıranız.
Başlamadan Önce Nelere İhtiyacınız Var
Hedef subnette nmap ve arp-scan kurulu bir makineye ihtiyacınız var. Debian/Ubuntu'da:
sudo apt install nmap arp-scan
Ben ayrıca admin iş istasyonumda known-macs.txt adında bir text dosyası tutuyorum. Bir server, switch veya AP deploy ettiğimde MAC adresini ve kısa bir not eklerim. Bu dosya sizin baseline'ınız. Onsuz sadece hex string listesine bakıp neyin ne olduğunu tahmin edersiniz.
Core switch'inize veya firewall'unuza erişiminiz varsa, DHCP lease tablosunu da alın. nmap sonuçlarını DHCP loglarıyla çapraz kontrol etmek, gerçek bir denetimi tahminden ayıran şeydir.
arp-scan ile Hızlı Tarama (Önce Layer 2)
arp-scan ile başlayın çünkü hızlıdır ve doğrudan Layer 2'ye ulaşır. Host firewall'larının ICMP'yi engellemesini umursamaz — NIC hayatta ve VLAN'daysa ARP'ye cevap verir.
sudo arp-scan --interface=eth0 --localnet
Çıktı şöyle görünür:
192.168.10.15 00:1a:2b:3c:4d:5e Cisco Systems, Inc
192.168.10.22 00:11:22:33:44:55 Dell Inc.
192.168.10.45 ac:de:48:00:11:22 Unknown vendor
O "Unknown vendor" satırı — veya envanterinizle eşleştiremediğiniz herhangi bir MAC — kazmanız gereken yer. Anomalileri daha hızlı tespit etmek için çıktıyı vendor'a göre sıralarım:
sudo arp-scan --interface=eth0 --localnet | sort -k3
nmap ile Daha Derin Keşif
arp-scan size kimin hayatta olduğunu söyler. nmap ne çalıştırdıklarını söyler. Beklenmedik servisler çalışıyor olabilecek cihazları yakalamak için tüm subnete karşı hızlı bir servis taraması çalıştırırım:
sudo nmap -sn 192.168.10.0/24
sudo nmap -sV --top-ports 20 192.168.10.0/24
-sn flag'i bir ping scan'dir — port taraması yok, sadece host discovery. İkinci komut en yaygın 20 portu yakalar ve servis versiyonlarını tanımlamaya çalışır. Bu, birinin bir desktop'ta çalıştırdığı rogue bir web server gibi şeyleri yakalar.
Tek bir şüpheli host üzerinde daha kapsamlı bir geçiş için:
sudo nmap -A -T4 192.168.10.45
-A OS detection, version detection, script scanning ve traceroute'u etkinleştirir. Gürültülüdür, bu yüzden birine ipucu vermekten endişeleniyorsanız hassat bir zaman diliminde çalıştırmayın.
DHCP ve Switch Tablolarıyla Çapraz Kontrol
10 dakikalık denetimin burada gerçekten işe yarar hale geldiği yer burası. DHCP lease'lerinizi çekin:
cat /var/lib/dhcp/dhcpd.leases | grep "lease" -A 5
Veya bir Windows DHCP server'da, PowerShell'den export edin:
Get-DhcpServerv4Scope | Get-DhcpServerv4Lease | Export-Csv leases.csv
Şimdi nmap/arp-scan çıktınızı lease tablosuna karşı eşleştirin. Taramanızda görünen ama DHCP lease'i olmayan her IP? Bu statik olarak yapılandırılmış bir cihazdır — bir server, bir printer veya DHCP'de görünmesini istemeyen birinin bir şeyi olabilir.
Sıra switch MAC address tablolarınızı kontrol etmekte. Bir Cisco switch'te:
show mac address-table | include 001a.2b3c
Bu size o MAC'in hangi fiziksel portun arkasında olduğunu söyler. Bir rogue cihazı Gi1/0/24 portuna kadar izlerseniz ve o port bir konferans odasına gidiyorsa — sorununuzu buldunuz.
Tekrar Edilebilir Bir Süreç Kurun
Kritik subnetlerde bu denetimi aylık çalıştırırım. İzlediğim workflow şu:
- Her VLAN'da
arp-scançalıştırın ve raw çıktıyı kaydedin nmap -snçalıştırın ve ARP sonuçlarıyla birleştirin- Geçen ayın
known-macs.txtile diff alın - Her yeni veya eşleşmeyen MAC'i araştırın
- Onaylandıktan sonra baseline dosyasını güncelleyin
- Şüpheli bir şeyler için switch port mapping'lerini kontrol edin
Otomatize etmek isterseniz, arp-scan çıktısını tarihli bir dosyaya döken ve diff'i size email'leyen basit bir bash script gayet iyi çalışır. Ağınız birkaç yüz host'un altındaysa fancy bir araca gerek yok.
Daha önce Linux sunucunuza sızdıktan sonra hacker'ların ilk hamlesi ne adlı yazımda belirttiğim gibi (https://furkanikkan.com/urun/linux-sunucunuza-sizdiktan-sonra-hacker-larin-ilk-hamlesi-ne-26), kalıcılık genellikle fark etmediğiniz bir foothold cihazla başlar. LAN'ınızdaki bir rogue box tam olarak o türden bir foothold'dur.
Karşılaşacağınız Yaygın Şeyler
Deneyimlerime göre, bu denetimi ilk kez çalıştırdığınızda sık görülen şüpheliler şunlar:
- Unutulmuş test VM'leri — birinin altı ay önce çalıştırdığı ve hiç decommission etmediği
- Kişisel telefonlar — birisi PSK paylaştığı için corporate Wi-Fi'ye bağlanan
- Shadow switch'ler — birinin masasının altına zincirlediği ucuz bir unmanaged switch
- Eski printer veya IP kameralar — hala default credential'larla aktif olan
- Rogue access point'ler — ağınızın gitmemesi gereken yerlere uzatan
Bunların hiçbiri tek başına felaket değil. Ama her biri unmanaged bir saldırı yüzeyi. 80 portunda web admin paneli ve default admin şifresi olan bir printer bir foothold'dur. Corporate VLAN'da kişisel bir telefon, o telefon compromise edilirse bir pivot noktasıdır.
Temelleri Atlamayın
Başlamak için pahalı bir NAC veya 802.1X'e ihtiyacınız yok. Bunlar iyi uzun vadeli hedefler, ama arp-scan ve nmap ile 10 dakikalık manuel bir denetim tipik bir small-to-medium ağdaki sorunların %90'ını yakalar. Zor olan kısım tooling değil — MAC baseline'ınızı güncel tutmak ve bilinmeyenleri gerçekten araştırmak.
Warning: Gerçekten tanımlayamadığınız ve beklenmedik portlarda servisler çalıştıran bir cihaz bulursanız, portu kapatıp geçmeyin. Önce birkaç dakika tcpdump ile trafiğini yakalayın. Kesmeden önce ne yaptığını anlamak istersiniz — yoksa daha büyük bir şeyin kanıtını yok edebilirsiniz.
Bu denetimi bugün çalıştırın. 10 dakika sürer ve sonuçlar genellikle insanları şaşırtır.
Kapak görseli: Unknown · CC0 (Openverse / kamu malı) · https://www.rawpixel.com/image/6038427/photo-image-public-domain-technology-line
