phoneinfoga
phoneinfoga copied to clipboard
Implement reportgen scanner
Create a new scanner that generate a set URLs for various web services.
Services
- 411
- truepeoplesearch
- scamallfighters
Example
Generated search URL for 411.com : https://www.411.com/phone/1-555-444-5555
Generated search URL for truepeoplesearch : https://www.truepeoplesearch.com/results?phoneno=1-555-444-5555
Generated search URL for scamcallfighters : http://www.scamcallfighters.com/search-phone-1-555-444-5555.html
#!/usr/bin/env python3
-- kodlama:utf-8 --
@name : PhoneInfoga - Telefon numaraları OSINT aracı
@url : https://github.com/sundowndev
@yazar : Raphael Cerveaux (sundowndev)
dan urllib . içe aktarma urlencode'unu ayrıştır
dan lib . çıktı içe aktarma *
dan lib . biçim içe aktarma *
dan lib . içe aktarma isteği gönder
dan lib . googlesearch içe aktarma araması
sayıObj = {} sayı = "" localNumber = "" uluslararasıNumara = "" sayıÜlkeKodu = "" customFormatting = ""
def osintIndividualScan (): küresel sayıObj küresel sayı küresel uluslararasıNumara küresel numaraÜlkeKodu küresel özelBiçimlendirme
info ( "---- Telefon rehberi ayak izleri ----" )
eğer numberCountryCode == "+1" :
info ( "Gerçek İnsanlarda URL Oluşturuluyor..." )
artı (
"https://www.truepeoplesearch.com/results?phoneno={}" . biçim (
uluslararasıNumara . değiştir ( " " , " " )
)
)
dorklar = json . yükle ( açık ( "osint/individuals.json" ))
için salak içinde aptallar :
eğer salak [ "dialCode" ] olduğu Hiçbiri ya salak [ "dialCode" ] == numberCountryCode :
eğer customFormatting :
dorkRequest = replaceVariables (
dork [ "istek" ], sayıObj
) + 'VEYA "{}"' . biçim ( özelBiçimlendirme )
başka :
dorkRequest = replaceVariables ( dork [ "request" ], numberObj )
bilgileri ( "...} {üzerine ayak izleri aranıyor" . formatını ( salak [ "site" ]))
için sonuç olarak arama ( dorkRequest , durdurma = dork [ "dur" ]):
artı ( "URL:" + sonuç )
başka :
dönüş - 1
def osintReputationScan (): küresel sayıObj küresel sayı küresel uluslararasıNumara küresel özelBiçimlendirme
info ( "---- İtibar ayak izleri ----" )
dorklar = json . yükle ( açık ( "osint/reputation.json" ))
için salak içinde aptallar :
eğer customFormatting :
dorkRequest = replaceVariables (
dork [ "istek" ], sayıObj
) + 'VEYA "{}"' . biçim ( özelBiçimlendirme )
başka :
dorkRequest = replaceVariables ( dork [ "request" ], numberObj )
bilgileri ( "...} {aranıyor" . formatını ( salak [ "title" ]))
için sonuç olarak arama ( dorkRequest , durdurma = dork [ "dur" ]):
artı ( "URL:" + sonuç )
def osintSocialMediaScan (): küresel sayıObj küresel sayı küresel uluslararasıNumara küresel özelBiçimlendirme
info ( "---- Sosyal medya ayak izleri ----" )
dorklar = json . yükle ( aç ( "osint/social_medias.json" ))
için salak içinde aptallar :
eğer customFormatting :
dorkRequest = replaceVariables (
dork [ "istek" ], sayıObj
) + 'VEYA "{}"' . biçim ( özelBiçimlendirme )
başka :
dorkRequest = replaceVariables ( dork [ "request" ], numberObj )
bilgileri ( "...} {üzerine ayak izleri aranıyor" . formatını ( salak [ "site" ]))
için sonuç olarak arama ( dorkRequest , durdurma = dork [ "dur" ]):
artı ( "URL:" + sonuç )
def osintDisposableNumScan (): küresel sayıObj küresel sayı
info ( "---- Geçici numara sağlayıcıların ayak izleri ----" )
dene :
info ( "tempophone.com'da telefon numarası aranıyor..." )
yanıt = gönder ( "GET" , "https://tempophone.com/api/v1/phones" )
veri = json . yükler ( yanıt . içerik . kod çözme ( "utf-8" ) )
için voip_number içinde verilerin [ "nesneleri" ]:
if voip_number [ "telefon" ] == formatNumber ( sayı ):
plus ( "Geçici bir numara sağlayıcı bulundu: tempophone.com" )
askForExit ()
e olarak İstisna hariç :
error ( "tempophone.com API'sine ulaşılamıyor. Atlanıyor." )
dorklar = json . yükle ( açık ( "osint/disposable_num_providers.json" ))
için salak içinde aptallar :
dorkRequest = replaceVariables ( dork [ "request" ], numberObj )
bilgileri ( "...} {üzerine ayak izleri aranıyor" . formatını ( salak [ "site" ]))
için sonuç olarak arama ( dorkRequest , durdurma = dork [ "dur" ]):
artı ( "Sonuç Bulunan: {}" . biçimini ( aptal [ "site" ]))
artı ( "URL:" + sonuç )
askForExit ()
def osintScan ( numberObject , rerun = False ):
eğer değil args . tarayıcı == "ayak izleri" ve args değil . tarayıcı == "tümü" :
dönüş - 1
küresel sayıObj
küresel sayı
küresel yerelNumara
küresel uluslararasıNumara
küresel numaraÜlkeKodu
küresel özelBiçimlendirme
sayıObj = sayıNesne
sayı = sayıObj [ "varsayılan" ]
localNumber = sayıObj [ "yerel" ]
uluslararasıNumber = sayıObj [ "uluslararası" ]
sayıÜlkeKodu = sayıObj [ "ülkeKodu" ]
test ( "OSINT ayak izi keşfi çalıştırılıyor..." )
eğer değil yeniden :
# Beyaz sayfalar
info ( "411.com'da tarama URL'si oluşturuluyor..." )
artı (
"URL'yi tara: https://www.411.com/phone/{}" . biçim (
uluslararasıNumara . değiştirin ( "+" , "" ). değiştir ( " " , "-" )
)
)
soranCustomPayload = sor (
"Bu numara için ek bir biçim kullanmak ister misiniz? (e/H)"
)
eğer yeniden çalıştırın veya askingCustomPayload == "y" veya askingCustomPayload == "evet" :
bilgi (
"Tavsiye ederiz: {} veya {}" . biçim (
uluslararasıNumara ,
uluslararasıNumara . değiştir ( numberCountryCode + " " , "" ),
)
)
customFormatting = sor ( "Özel biçim: " )
info ( "---- Web sayfaları ayak izleri ----" )
info ( "Web sayfalarında ayak izleri aranıyor... (limit=10)" )
eğer customFormatting :
req = '{} VEYA "{}" VEYA "{}" VEYA "{}"' . biçim (
sayı , sayı , uluslararasıNumber , özelBiçimlendirme
)
başka :
req = '{} VEYA "{}" VEYA "{}"' . biçim ( sayı , sayı , uluslararasıSayı )
için sonuç olarak arama ( req , durdurma = 10 ):
artı ( "Sonuç bulundu: " + sonuç )
# Belgeler
info ( "Belgeler aranıyor... (limit=10)" )
eğer customFormatting :
req = '(ext:doc VEYA ext:docx VEYA ext:odt VEYA ext:pdf VEYA ext:rtf VEYA ext:sxw VEYA ext:psw VEYA ext:ppt VEYA ext:pptx VEYA ext:pps VEYA ext:csv VEYA ext: txt VEYA ext:xls) VE ("{}")' . biçim (
özelBiçimlendirme
)
başka :
req = '(ext:doc VEYA ext:docx VEYA ext:odt VEYA ext:pdf VEYA ext:rtf VEYA ext:sxw VEYA ext:psw VEYA ext:ppt VEYA ext:pptx VEYA ext:pps VEYA ext:csv VEYA ext: txt VEYA ext:xls) VE ("{}" VEYA "{}")' . biçim (
uluslararasıNumara , yerelNumara
)
için sonuç olarak arama ( req , durdurma = 10 ):
artı ( "Sonuç bulundu: " + sonuç )
osintReputationScan ()
info ( "scamcallfighters.com'da URL oluşturuluyor..." )
artı ( "http://www.scamcallfighters.com/search-phone-{}.html" . biçim ( sayı ))
tmpNumAsk = sor (
"Geçici numara sağlayıcıların ayak izlerini aramak ister misiniz? (E/H)"
)
eğer tmpNumAsk . alt () != "n" ve tmpNumAsk . alt () != "hayır" :
osintDisposableNumScan ()
osintSocialMediaScan ()
osintIndividualScan ()
retry_input = sor (
"OSINT taramasını yeniden çalıştırmak ister misiniz? (örneğin farklı bir format kullanmak için) (e/H) "
)
eğer retry_input . alt () == "y" veya retry_input . alt () == "evet" :
osintScan ( numberObj , True )
başka :
dönüş - 1