Ho postato la seguente domanda link sullo stack overflow e è stato sottolineato che potrei eventualmente inoltrarlo allo scambio di sicurezza. Per comodità, la domanda viene ripetuta di seguito:
Ho iniziato a creare uno script per automatizzare i test di configurazione dell'host in Kali usando python. Mi piacerebbe sapere se ci sono altre "scansioni" che mi mancano o che potrebbero essere fatte per recuperare più informazioni su un host specifico?
Vorrei anche sapere se è possibile migliorare le scansioni correnti?
Il codice finora è mostrato di seguito:
#Automate test startup using IP Addresses
import os
def runTerminal(command,name):
os.system("gnome-terminal --tab -e 'bash -c \"" + command+" > "+name+"\"'")
testName = raw_input("Enter the name of the current test: ")
URL = raw_input("Enter the URL: ")
print "Current test: " + testName + " using host: "+ URL
initialURL = URL.split("://",1)[1]
if ':' in initialURL:
port = initialURL.split(":",1)[1]
else:
port = 0
shortURL=initialURL.split(":",1)[0]
print "URL : " + str(shortURL) + " Port: " + str(port)
#Scan web server for known vulnerabilities
print "Running Nikto..."
niktoCommand = "nikto -h "+ str(shortURL)
runTerminal(niktoCommand,testName+"Nikto.txt")
#transfer a URL or get basic headers
print "Running cURL..."
cURLCommand = "curl -kv "+ str(initialURL)
runTerminal(cURLCommand,testName+"Curl.txt")
#Network exploration tool and security / port scanner
print "Running Nmap..."
if port == 0:
NmapCommand = "nmap -sV -A "+str(shortURL)
else:
NmapCommand = "nmap -sV -A "+str(shortURL)+ " -p "+ port
runTerminal(NmapCommand,testName+"Nmap.txt")
#Web Content Scanner
print "Running Dirb..."
dirbCommand = " dirb "+str(URL)
runTerminal(dirbCommand,testName+"Dirb.txt")
#Fast SSL/TLS scanner
if port == 443:
print "Running SSLScan..."
sslCommand = " sslscan "+str(initialURL)
runTerminal(sslCommand,testName+"SSLScan.txt")
#Web Application Firewall Detection Tool
print "Running wafw00f..."
wafCommand = " wafw00f -av " +str(URL)
runTerminal(wafCommand,testName+"WafScan.txt")
#Scanner similar to dirb mixed with curl
print "Running UniScan..."
uniCommand = " uniscan -u " +str(URL)+" -qweds"
runTerminal(uniCommand,testName+"UniScan.txt")
Finora il codice accetta il nome di un progetto per salvare un file, contiene anche un URL che viene poi diviso come richiesto da scansioni specifiche. Da lì invia i comandi di scansione specifici a una funzione che esegue la scansione in una nuova finestra di terminale.