Skip to content

This script is a port scanner called "Dyos" which is written in python. It uses the argparse library to accept command line arguments and perform various scans on the target IP and/or ports. It also uses libraries such as nmap, sqlite3 and requests to perform OS detection, CVE lookup and web scraping for vulnerability information.

License

furkannibis/DYOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DYOS-1 PORT SCANNER

PROJE AMACI

Sistemde çalışan uygulamaların potansiyel güvenlik zafiyetlerini tespit etmek ve kullanıcıya bu zafiyetlerin adlarını ve ilişkili kaynaklardaki daha fazla bilgiye erişebilecekleri linkleri sunmaktır.

PROJE ÖZELLİKLERİ

Sistemdeki portları tarama: Proje, belirli bir IP adresinde veya IP aralığında çalışan uygulamaları ve portlarını tarayarak tespit edecektir.

Uygulama ve zafiyet araştırması: Taranan uygulamalar ile ilgili veritabanındaki ve internet kaynaklarındaki bilgiler kullanılarak potansiyel güvenlik zafiyetleri tespit edilecektir.

Kullanıcıya bilgi sunma: Tespit edilen zafiyetlerin adları ve ilişkili kaynaklardaki daha fazla bilgiye erişebilecekleri linkler kullanıcıya sunulacaktır.

PROJENİN KULLANIMI

  • "--ip" argümanı: Tarama yapmak istediğiniz hedefin IP bilgisini girin.
  • "--port" argümanı: Tarama yapmak istediğiniz hedefin port bilgisini girin.
  • "--file" argümanı: Hedef veya hedeflerle ilgili IP ve port bilgilerini içeren bir txt dosyası vermenizi sağlar. Bu argümanı kullandığınızda "--ip" ve "--port" argümanlarını kullanmanıza gerek kalmaz.
  • "--ping" argümanı: Ping taraması, hedefinizin aktif durumda olup olmadığını tespit eder ve size sunar.
  • "--tcpsyn" argümanı: TCP SYN taraması, ağda mevcut olan açık TCP portlarını taramak için kullanılan bir tarama türüdür.
  • "--os" argümanı: Hedef sistemin işletim sistemini tespit etmek için kullanılır.
  • "--showcve" argümanı: DYOS, portlar üzerinde tespit ettiği sürüm veya uygulama bilgisine göre web'den çeşitli kaynaklardan bilgi toplayabilir. Bu bilgi ilgili CVE'leri içerir.
  • "--askdb" argümanı: DYOS, çeşitli kaynaklardan elde ettiği CVE'leri saklar. Bu parametreyi kullanarak web araması yapmadan basit bir sonuç alabilirsiniz.

GEREKLILIKLER

Python3.10 programlama dili kullanılarak kodlanmıştır. Bu nedenle projemizi çalıştırmak için Python3.10 veya üstü sürümlerinin yüklü olması gerekir. Ayrıca projemizde ipaddress, argparse, python-nmap, requests, beautifulSoup4 ve lxml kütüphanelerini kullanmaktayız. Bu kütüphanelerin yüklü olması, projemizin doğru bir şekilde çalışması için gereklidir. Eğer bu kütüphaneler yüklü değilse projemizi çalıştırmak için öncelikle bu kütüphaneleri yüklemeniz gerekmektedir. Örnek olarak "pip install -r requipments.txt" gibi komutları kullanabilirsiniz. Projemiz arkada oluşturduğu paketler ve işlemlerden dolayı çalıştığı sistemde super user (su) yetkisine ihtiyaç duymaktadır.

ÖRNEK KULLANIM

  • "--ip": Projemiz, kullanıcının belirli bir hedef IP veya IP bloğunu taramak için kullanabileceği "--ip" argümanını sunmaktadır. Örneğin, kullanıcı "python3 dyos.py --ip 192.168.1.1" şeklinde komutu kullanarak 192.168.1.1 IP adresini tarayabilir veya "python3 dyos.py --ip 192.168.1.0/24" şeklinde kullanarak 192.168.1.0/24 IP bloğunu tarayabilir. Bu argümanın kullanımı ile hedef IP veya IP bloğu belirtilir ve proje tarama işlemlerini bu IP veya IP bloğu üzerinde gerçekleştirir.

  • python3 dyos.py --ip 192.168.1.1
  • python3 dyos.py --ip 192.168.1.0/24

  • "--port" argümanı ile, hedef sistemdeki taranacak portları belirleyebilirsiniz. Kullanıcı, tek bir port numarası olarak (örneğin "80") ya da birden fazla port numarası olarak (örneğin "80,443,22") ya da bir port aralığı olarak (örneğin "1-100") belirtebilir. Örnek kullanım: "--port 80" veya "--port 1-100" veya "--port 80,443,22" gibi. Bu şekilde belirlenen portlar aracılığıyla, hedef sistemdeki açık portlar tespit edilerek tarama yapılır.

  • python3 dyos.py --port 23
  • python3 dyos.py --port 23,24,25
  • python3 dyos.py --port 1-100

  • "--file" argümanı, kullanıcının hedefleri bir txt dosyası olarak tanımlama seçeneğidir. Bu argümanı kullanarak kullanıcı "--ip" veya "--port" argümanlarını kullanmak yerine, tarama işlemini gerçekleştirmek istediği hedefleri içeren bir txt dosyasını verir. Bu dosya, her satırda sadece bir hedef içermelidir ve bu hedef IP adresi veya IP adresi ve port numarası şeklinde yazılmalıdır. Örneğin, "192.168.1.1:80" veya "192.168.1.1" şeklinde. Bu argümanın kullanımı, tarama işlemlerini önceden tanımlanmış hedefler üzerinde gerçekleştirmek için kullanıcıya pratik bir seçenek sunar.

  • python3 dyos.py --file list.txt
  • list.txt:
    image

  • --ping taraması, kullanıcının belirlediği hedef sistemin aktif olup olmadığını tespit etmek için kullanabileceği bir tarama türüdür. Bu parametre kullanıldığında --port parametresine ihtiyaç duyulmaz ve boolean bir parametredir. Yani kullanıcı --ping parametresini kullanmak istiyorsa sadece "--ping" olarak komut satırına yazması yeterlidir. Bu argüman kullanılması halinde sadece sistemin aktif olup olmadığını tespit etmek için kullanılır.

  • python3 dyos.py --ip 192.168.72.129 --ping
  • image

  • "--tcpsyn" parametresi, hedef sistemin belirtilen portlarını taramak için kullanılabilir. Bu parametre boolean bir parametredir ve kullanıldığında, hedef sistemin belirtilen portlarındaki uygulamaların varlığını ve çalışma durumlarını tespit etmeye çalışır. Bu tarama yöntemi, TCP SYN tarama yöntemi olarak bilinir ve sistemlerdeki açık TCP portlarını tespit etmek için kullanılır. Örnek olarak, "--tcpsyn" parametresi kullanılarak belirtilen portlar arasındaki açık portları tespit etmek mümkündür.

  • python3 dyos.py --ip 192.168.72.129 --port 1-100 --tcpsyn
  • image

  • "--os" parametresi, kullanıcının hedef sistemin işletim sistemini tespit etmesini sağlar. Bu parametre, --tcpsyn parametresi ile birlikte kullanılması gerekir çünkü --tcpsyn parametresi hedef sistemde çalışan uygulamaları tespit etmek için kullanılırken --os parametresi bu uygulamaların işletim sistemi ile ilişkilendirmek için kullanılır. Bu parametre, tarama işlemi sırasında hedef sistemin işletim sistemi hakkında bilgi verir ve kullanıcının sistemi daha iyi anlamasını ve açıkları tespit etmesini sağlar.
  • python3 dyos.py --ip 192.168.72.129 --port 1-100 --tcpsyn --os
  • image

  • "--showcve" parametresi kullanıldığında internet üzerinden taranan portlarda çalışan uygulamalar hakkında bir CVE'nin bulunup bulunmadığına bakar. Bu parametre ile birlikte araştırma derinliği adında bir parametre de alınabilir. Bu derinlik arttıkça tarama sonucunda bulunan potansiyel CVE sayısı artabilir. Bu sayede kullanıcının güvenlik açıkları hakkında daha detaylı bilgiye sahip olması sağlanır.

  • python3 dyos.py --ip 192.168.72.129 --port 21 --tcpsyn --showcve 1
  • image

  • "--askdb" parametresi, DYOS tarafından toplanan ve saklanan çeşitli kaynaklardan elde edilen CVE (Common Vulnerabilities and Exposures) bilgilerini içeren veritabanından arama yapmanıza olanak tanır. Bu parametre ile internet üzerinden arama yapmak yerine, veritabanındaki 47 bin veri arasından arama yapabilirsiniz. Bu sayede arama işlemi daha hızlı gerçekleşir ve daha doğru sonuçlar elde edersiniz. Ayrıca --askdb boolean bir parametredir ve kullanımı oldukça basittir. Sadece "--askdb" yazmanız yeterlidir ve DYOS otomatik olarak veritabanındaki bilgileri tarar ve sonuçları size sunar.

  • python3 dyos.py --ip 192.168.72.129 --port 21 --tcpsyn --askdb
  • image

  • Önemli not: Yukarıda yer alan tüm görseller, Metasploitable 2'ye gönderilen ilgili sorguların sonuçlarıdır.



SONUÇ

  • DYOS (Defend Your Own System) projesi, ilk aşaması tamamlanarak hedeflenen tüm maddelerin gerçekleştirilmeye uygun hale getirildi. Proje, geliştirilebilirlik açısından sınırsız olarak değerlendirilmektedir ve bu nedenle çalışmaların devam etmesi planlanmaktadır.

dyos

About

This script is a port scanner called "Dyos" which is written in python. It uses the argparse library to accept command line arguments and perform various scans on the target IP and/or ports. It also uses libraries such as nmap, sqlite3 and requests to perform OS detection, CVE lookup and web scraping for vulnerability information.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages