Merhabalar, iyi forumlar herkese.
CTF'lerde gördüğüm ve hoşuma giden bir nmap kullanım yöntemini sizler ile paylaşmak istiyorum. Kullanım isteğe bağlı tabi ama benim hoşuma gitti açıkçası.
Şimdi bir adet nmap tarama sonucumuz var bu sonucu text olarak kayıt ettik. grep komutu ile metin içerisinde arama yapabiliyorduk. nmap sonuçlarında hangi portun açık olduğu hangi servisin çalıştığı değişir ama açık olan her portun yanında "open" ibaresi bulunmaktadır. Bunları şu şekilde alabiliriz,
Kabaca şu şekilde tarama bilgilerine eriştiğimizi varsayalım. Herhangi bir flag vermeden sadece açık portlarının bilgisini -p- ile almış olalım. "open" ibaresi içerenleri alıcaz.
Kod:
cat initial.nmap | grep open
Peşinden awk ile ilk kelimeyi yazdırıcaz ama ilk kelimeyi direk yazarsak /tcp ibareside bununla birlikte gelecektir.
Kod:
Command:
cat initial.nmap | grep open | awk '{ print $1 }'
Output:
22/tcp
80/tcp
9929/tcp
31337/tcp
Bunun için awk programının -F özelliğini kulllanacağız. /'dan öncesini alacağız.
Kod:
Command:
cat initial.nmap | grep open | awk -F/ '{ print $1 }'
Output:
22
80
9929
31337
Şimdi bunları nmap'e sadece bu portları tara şeklinde verebilmemiz için aralarında virgül olmalı, bunun için ORS parametresini vermeliyiz. Eğer bu parametre belirtilmemiş olursa \n olarak çalışır bu demek oluyorki alt alta yazılmasının sebebi bu. Şimdi her satır sonunda \n değil virgül olmasına ihtiyacımız var. O halde belirtelim.
Kod:
Command:
cat initial.nmap | grep open | awk -F/ '{ print $1 }' ORS=','
Output:
22,80,9929,31337,
Sonundaki virgülü sildikten sonra nmap'e parametre olarak verilebilir. Yapılması tabi ki mecburi değil ama bence güzel bir olay üstelik böyle şeyler ortamlarda hava katar.
Okuduğunuz için teşekkür eder iyi forumlar dilerim.