Information gathering & OSINT reconnaissance tool for phone numbers.
One of the most advanced tools to scan phone numbers using only free resources. The goal is to first gather basic information such as country, area, carrier and line type on any international phone numbers with a very good accuracy. Then try to determine the VoIP provider or search for footprints on search engines to try identify the owner.
This tool requires python 2.x
- Check if phone number exists and is possible
- Gather standard informations such as country, line type and carrier
- Check several numbers at once
- OSINT reconnaissance using external APIs, Google Hacking, phone books & search engines
- Use custom formatting for more effective OSINT reconnaissance
The tool only accepts E164 and International formats as input.
- E164: +3396360XXXX
- International: +33 9 63 60 XX XX
- National: 09 63 60 XX XX
- RFC3966: tel:+33-9-63-60-XX-XX
- Out-of-country format from US: 011 33 9 63 60 XX XX
Use any
to disable this feature. Default value: all
- numverify
- ovh
git clone https://github.com/sundowndev/PhoneInfoga
cd ./PhoneInfoga
pip install -r requirements.txt
usage: phoneinfoga.py -n <number> [options]
Advanced information gathering tool for phone numbers
(https://github.com/sundowndev/PhoneInfoga)
optional arguments:
-h, --help show this help message and exit
-n number, --number number
The phone number to scan (E164 or International
format)
-i input_file, --input input_file
Phone number list to scan (one per line)
-o output_file, --output output_file
Output to save scan results
-s scanner, --scanner scanner (any to skip, default: all)
The scanner to use
--osint Use OSINT reconnaissance
-u, --update Update the tool & databases
Example (quotes are optional, use it when typing special formats) :
python phoneinfoga.py -n "(+42)837544833"
Check for a number range on OVH :
python phoneinfoga.py -n +42837544833 -s ovh
Check several numbers at once :
python ./phoneinfoga.py -i numbers.txt -o results.txt
Note: --osint
is not compatible with --output
option.
Use all scanners and run OSINT reconnaissance :
python phoneinfoga.py -n +42837544833 -s all --osint
E.164 formatting for phone numbers entails the following:
- A + (plus) sign
- International Country Calling code
- Local Area code
- Local Phone number
For example, here’s a US-based number in standard local formatting: (415) 555-2671
Here’s the same phone number in E.164 formatting: +14155552671
In the UK, and many other countries internationally, local dialing may require the addition of a '0' in front of the subscriber number. With E.164 formatting, this '0' must usually be removed.
For example, here’s a UK-based number in standard local formatting: 020 7183 8750
Here’s the same phone number in E.164 formatting: +442071838750
PhoneInfo use a workaround to handle Google bot detection. When running OSINT scan, you will usually be blacklisted very easily by Google, which will ask the tool to complete a captcha.
When you search on Google using custom requests (Google Dorks), you get very easily blacklisted. So Google shows up a page where you have to complete a captcha to continue. As soon as the captcha is completed, Google create a cookie named "GOOGLE_ABUSE_EXEMPTION" which is used to whitelist your browser and IP address for some minutes. This temporary whitelist is enough to let you gather a lot of information from many sources. So I decided to add a simple user manipulation to bypass this bot detection. [...] So I'll just try make requests and wait until I get a 503 error, which means I got blacklisted. Then I ask the user to follow an URL to manually complete the captcha and copy the whitelist token to paste it in the CLI. The tool is now able to continue to scan!
- Follow the URL
- Complete the captcha if needed
- Open the dev tool (F12 on most browsers)
- Go to Storage, then Cookies
- Copy the value of the GOOGLE_ABUSE_EXEMPTION cookie and paste it in the CLI
Sometimes the phone number has footprints but is used with a different formatting. This is a problem because for example if we search for "+15417543010", we'll not find web pages that write it that way : "(541) 754–3010". So the tool use a (optional) custom formatting given by the user to find further and more accurate results.
This tool is licensed under the GNU General Public License v3.0.