PBNJ Port Scanner Yazilimi Kullanimi¶
Port scanner yazılımı aşağıdaki komut ile kurulur.
apt-get install pbnj
SQLite modülü ile anlatılacağı diğer veritabanı sürücü yazılımları kurulmamıştır. Diğer veritabanı yazılımları için aşağıdaki paketler tercih edilebilir. Mysql:
apt install libdbd-mysql-perl
Postgresql:apt install libdbd-pg-perl
Not: Mysql aşağıdaki şekilde kullanıcı ve database oluşturulur. Postgresql için benzer bir şekilde internetten bakılabilarak veritabanı ve kullanıcı oluşturulabilir.
CREATE USER pbnj@'%' IDENTIFIED BY 'ahtapot';
CREATE DATABASE pbnj;
GRANT ALL PRIVILEGES ON pbnj.* TO pbnj@'%';
Ayarlar¶
Not: Eğer sql,csv gibi bir alanda tarama sonuçları saklanmayacak ise bu ayarlara gerek olmadan da pbnj kullanılabilir.
Kullanıcıya özel ayar dizini oluşturulur.
mkdir -p ~/.pbnj-2.0/
SQLite hazır yapılandırma dosyası kopyalanır.
cp /usr/share/doc/pbnj/examples/sqlite3.yaml ~/.pbnj-2.0/config.yaml
Port Tarama¶
pbnj ile aşağıdaki örnekteki gibi port tarama yapılabilir.
scanpbnj -m 80 -a '-sS' 10.34.12.254
Parametrelerin anlamları:
-m: standart portlar dışında port belirtmek için kullanılır. Örn: 8080 veya 3306,5900
Port aralığı vermek için –range parametresi kullanılır. Örn: –range 80-100 Default: 1-1025
-a: Bu parametreye ‘-sS’ olarak verilen diğer parametreler nmap tarama aracına gönderilir. Bu sayede taramanız nmap aracına göre daha kapsamplı yapılabilir.
Nmap parametreleri için nmap –help komutundan yardım alınabilir.
IP: 10.34.12.254 hedef adresi olarak belirlendi.
Hedef adres tanımları: microsoft.com, 192.168.0.1, 192.168.1.1/24, 10.0.0.1-254
–iplist parametresi ile ip listesi dosyası verilebilir.
Tarama Sonuçları¶
Yapılan taramaları; tarama yapılan dizinde data.dbl sqlite dosyasına kayıt eder.
Son taramalara ilişkin sonuçları görmek için aşağıdaki komut çalıştırılabilir.
Sorgu
outputpbnj -q latestinfo
-q: ile hazır sql sorguları çalıştırılır.
outputpbnj’nin diğer hazır sorgularını görmek için aşağıdaki dosyaya bakılabilir. Istenirse bu dosyaya yeni sorgular eklenebilir. Hazır SQL Sorguları:
.pbnj-2.0/query.yaml
Sonuçlar
Tue Dec 4 18:01:27 2018 _gateway domain up unknown version tcp
Tue Dec 4 18:01:27 2018 _gateway http up unknown version tcp
Tue Dec 4 18:01:27 2018 _gateway https up unknown version tcp
SQLite kullanarak verilere aşağıdaki gibi bakılabilir.
Makinalar
Sorgu
sqlite3 data.dbl 'select * from machines'
Sonuç
1|10.34.12.254|_gateway|0|unknown os|1543935687|Tue Dec 4 18:01:27 2018
Servisler
Sorgu
sqlite3 data.dbl 'select * from services'
Sonuç
1|domain|up|53|tcp|unknown version|unknown product|1543935687|Tue Dec 4 18:01:27 2018
1|http|up|80|tcp|unknown version|unknown product|1543935687|Tue Dec 4 18:01:27 2018
1|https|up|443|tcp|unknown version|unknown product|1543935687|Tue Dec 4 18:01:27 2018
Basic syntax scanpbnj
$ scanpbnj [Options] {target specification}
Target Specification
Can pass hostnames, IP addresses, networks, etc.
Ex: microsoft.com, 192.168.0.1, 192.168.1.1/24, 10.0.0.1-254
-i --iplist <iplist>
Scan using a list of IPs from a file
-x --xml <xml-file>
Parse scan/info from Nmap XML file
Scan Options
-a --args <args>
Execute Nmap with args (needs quotes)
-e --extraargs <args>
Add args to the default args (needs quotes)
--inter <interface>
Perform Nmap Scan using non default interface
-m --moreports <ports>
Add ports to scan ex: 8080 or 3306,5900
-n --nmap <path>
Path to Nmap executable
-p --pingscan
Ping Target then scan the host(s) that are alive
--udp
Add UDP to the scan arguments
--rpc
Add RPC to the scan arguments
-r --range <ports>
Ports for scan [def 1-1025]
--diffbanner
Parse changes of the banner
Config Options
-d --dbconfig <config>
Config for results database [def config.yaml]
--configdir <dir>
Directory for the database config file
--data <file>
SQLite Database override [def data.dbl]
--dir <dir>
Directory for SQLite or CSV file [def . ]
General Options
--nocolors
Don't Print Colors
--test <level>
Testing information
--debug <level>
Debug information
-v --version
Display version
-h --help
Display this information
Basic syntax outputpbnj
$ outputpbnj [Query Options] [Config Options] [General Options]
Query Options
-q --query <name>
Perform sql query
-t --type <type>
Output Type [csv,tab,html]
-f --file <filename>
Store the result in file otherwise stdout
--both
Print results and store them in a file
--dir <dir>
Store the result in this directory [def .]
-l --lookup <name>
Lookup descrition based on name
--list
List of names and descriptions
-n --name
Lookup all the names
-d --desc
Lookup all the descriptions
-s --sql
Lookup all the sql queries
Config Options
--qconfig <file>
Config of sql queries [def query.yaml]
--dbconfig <file>
Config for accessing database [def config.yaml]
--configdir <dir>
Directory for the database config file
--data <file>
SQLite Database override [def data.dbl]
General Options
--test <level>
Testing information
--debug <level>
Debug information
-v --version
Display version
-h --help
Display this information
Basic syntax genlist
$ genlist -s <target> [options]
Options
-s, --scan <target>
Ping Target Range ex: 10.0.0.\*
-n, --nmap <path>
Path to Nmap executable
--inter <interface>
Perform Nmap Scan using non default interface
-v, --version
Display version
-h, --help
Display this information
Ahtapot Projesi
Fatih USTA
fatihusta@labrisnetworks.com