+ |
+
+
+"""
+
+def validip(ip):
+ regex = "^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9]?[0-9])$"
+ if(re.search(regex, ip)):
+ return True
+sayac=0
+
+myFile.write(html_baslangic)
+for line in lines:
+
+ ip_true=0
+ hash_true=0
+ Domain_true=0
+
+
+
+ if validip(line):
+ #print(line + " -> IP Adresi")
+ ip_check= virustotal.get_ip_report(str(line).replace("\n",""))
+ json_data = json.loads(json.dumps(ip_check))
+ data=str(line).replace("\n","")
+ type_url=data
+ ip_true=1
+ time.sleep(15)
+
+ valid_Domain= re.finditer(r'(((http|https)\:\/\/)?[a-zA-Z0-9\.\/\?\:@\-_=#]+\.([a-zA-Z]){2,6}([a-zA-Z0-9\.\&\/\?\:@\-_=#])*)', line)
+ valid_Domain_check = [match.group(1) for match in valid_Domain]
+
+ if valid_Domain_check:
+ Domain_check= virustotal.get_url_report(str(line).replace("\n",""))
+ json_data = json.loads(json.dumps(Domain_check))
+ data=str(line).replace("\n","")
+ type_url=data
+ Domain_true=1
+ time.sleep(15)
+
+ validHash_MD5 = re.finditer(r'(?=(\b[A-Fa-f0-9]{32}\b))', line)
+ MD5_check = [match.group(1) for match in validHash_MD5]
+ if MD5_check:
+ hash_type_report="MD5"
+
+ validHash_SHA1 = re.finditer(r'(?=(\b[0-9a-f]{40}\b))', line)
+ SHA1_check = [match.group(1) for match in validHash_SHA1]
+ if SHA1_check:
+ hash_type_report="SHA1"
+
+ validHash_SHA256 = re.finditer(r'(?=(\b[A-Fa-f0-9]{64}\b))', line)
+ SHA256_check = [match.group(1) for match in validHash_SHA256]
+ if SHA256_check:
+ hash_type_report="SHA256"
+
+ if MD5_check or SHA1_check or SHA256_check:
+ hash_check = virustotal.get_file_report(line)
+ json_data = json.loads(json.dumps(hash_check))
+ data=str(line).replace("\n","")
+ type_url=data
+ hash_true=1
+ time.sleep(15)
+
+
+
+ sayac+=1
+
+
+
+ if str(json_data['response_code'])=='204':
+ print(" \n There was a problem connecting to Virustotal. Please restart scanning.")
+ break
+ else:
+ try:
+ if hash_true==1:
+ if json_data['results']['response_code'] == 1 and json_data['results']['positives']>0:
+
+ myFile.write(hash_type_report+' | ')
+ myFile.write(data)
+ myFile.write(' | ')
+ if 'Kaspersky' in json_data['results']['scans']:
+ myFile.write(str(json_data['results']['scans']['Kaspersky']['result']))
+ else:
+ myFile.write("Hash Not Found!")
+
+ myFile.write(' | ')
+ if 'Symantec' in json_data['results']['scans']:
+ myFile.write(str(json_data['results']['scans']['Symantec']['result']))
+ else:
+ myFile.write("Hash Not Found!")
+ myFile.write(' | ')
+ myFile.write(str(json_data['results']['positives']))
+ print("[", sayac, "]", data, " Detected. Skor: [ ",str(json_data['results']['positives'])," ]")
+ myFile.write(' | ')
+ myFile.write(json_data['results']['scan_date'])
+ myFile.write(' | ')
+ myFile.write(' ' % type_url)
+ myFile.write(' |
| ')
+
+ elif json_data['results']['response_code'] == 1 and json_data['results']['positives'] == 0:
+
+ try:
+ myFile.write(hash_type_report+' | ')
+ myFile.write(data)
+ myFile.write(' | N/A | N/A | 0 | '+json_data['results']['scan_date']+' | ')
+ myFile.write(' ' % type_url)
+ myFile.write(' |
| ')
+ except:
+ pass
+ else:
+ try:
+ myFile.write(hash_type_report+' | ')
+ myFile.write(data)
+ myFile.write(' | Hash Not Found! | Hash Not Found! | N/A | N/A | N/A |
| ')
+ except:
+ pass
+
+
+ elif ip_true==1:
+
+ if str(json_data['results']['detected_urls']) =="[]":
+
+ myFile.write("IPv4 | ")
+ myFile.write(data)
+ myFile.write(' | -- | -- | 0 | -- | ')
+ myFile.write(' ' % type_url)
+ myFile.write(' |
| ')
+ pass
+
+ elif json_data['results']['response_code'] == 1 and json_data['results']['detected_urls'][0]['positives']>0:
+
+ myFile.write("IPv4 | ")
+ myFile.write(data)
+ myFile.write(' | -- | -- | '+str(json_data['results']['detected_urls'][0]['positives'])+" | "+json_data['results']['detected_urls'][0]['scan_date']+" | ")
+ print("[", sayac, "]", data, " Detected. Skor: [ ",str(json_data['results']['detected_urls'][0]['positives'])," ]")
+ myFile.write(' ' % type_url)
+ myFile.write(' |
| ')
+
+ elif Domain_true==1:
+
+
+ if json_data['results']['response_code'] ==0:
+ myFile.write("URL | ")
+ myFile.write(data)
+ myFile.write(' | -- | -- | Domain Not Found! | -- | ')
+ myFile.write('N/A')
+ myFile.write(' |
| ')
+ pass
+
+ elif json_data['results']['response_code'] == 1 and json_data['results']['positives'] == 0:
+
+ myFile.write("URL | ")
+ myFile.write(data)
+ myFile.write(' | -- | -- | 0 | '+json_data['results']['scan_date']+' | ')
+ myFile.write(' ' % json_data['results']['permalink'])
+ myFile.write(' |
| ')
+
+ elif json_data['results']['response_code'] == 1 and json_data['results']['positives']>0:
+
+ myFile.write("URL | ")
+ myFile.write(data)
+ myFile.write(' | -- | -- | '+str(json_data['results']['positives'])+" | "+json_data['results']['scan_date']+" | ")
+ print("[", sayac, "]", data, " Detected. Skor: [ ",str(json_data['results']['positives'])," ]")
+ myFile.write(' ' % json_data['results']['permalink'])
+ myFile.write(' |
| ')
+
+
+
+ hash_type_report=""
+
+
+ except:
+ pass
+
+blglu.close()
+if str(json_data['response_code'])!='204':
+ print("\n Reported Success. \n Report File Path: ", rapor_adi," ")
+html_bitir = """
+ | | | | | | |
+
+