phoneinfoga icon indicating copy to clipboard operation
phoneinfoga copied to clipboard

Implement reportgen scanner

Open sundowndev opened this issue 3 years ago • 1 comments

Create a new scanner that generate a set URLs for various web services.

Services

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

sundowndev avatar Apr 19 '21 12:04 sundowndev

#!/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

ikincihallac-volkan avatar Nov 08 '21 22:11 ikincihallac-volkan