| Tested on | Kali GNU/Linux Rolling 2026.2 (kali-rolling) |
|---|---|
| Package | nodejs 24.18.0+dfsg+~cs24.13.2-1infoooze 1.3.1 (npm) |
| Applies to | Kali Linux |
| Lab environment | Kali + Metasploitable 2 on VirtualBox host-only — pentest lab setup |
| Privilege | Normal user for scans; sudo for npm install -g when you choose global install |
| Scope | Git clone and npm install on Kali, CLI flags (-t, -u, -x, -r, -e, -a), port scan against Metasploitable 2, and saving results under results/. Does not cover Maltego, Shodan, or full engagement reporting. |
| Related guides | Mitaka in-browser OSINT Ethical hacking tutorial |
Infoooze (often spelled Infooze in older posts) is a Node.js OSINT menu that chains recon modules behind one binary. This guide installs version 1.3.1 on Kali and runs CLI examples against an authorized Metasploitable 2 host and public test URLs.
What is Infoooze in ethical hacking?
Open-source intelligence (OSINT) collects publicly available data before you touch exploit modules. Infoooze automates that first pass with a terminal UI and one-shot CLI flags.
The interactive menu lists 16 modules, including:
- User and email recon across social platforms
- Port scan, DNS, WHOIS, and HTTP header lookup
- EXIF extraction from images
- URL expansion and suspicious-link checks via external APIs
- GitHub, Instagram, and YouTube metadata helpers
Version 1.3.1 loads those options from a numbered table (01 through 16). Results for many modules are also written under a results/ folder in the working directory so you can revisit output without re-running the scan.
Infoooze complements broader OSINT tooling such as Maltego or browser extensions — it is a quick Node.js bundle for lab practice, not a full engagement platform.
Compare Infoooze install methods
You can run Infoooze from a cloned repository or install it globally with npm. Both paths need Node.js and outbound internet for npm install.
| Method | Best for | Caveat |
|---|---|---|
git clone + npm install |
Forking or patching the tool | Run commands from the clone directory unless you link the binary |
npm install -g infoooze |
Fast Kali setup | Global install needs sudo on many Kali images |
Interactive infoooze |
Exploring all menu options | Requires terminal input; CLI flags are faster for scripting |
The install and verify sections below use the GitHub clone path, then show equivalent global commands where they differ.
Kali lab setup
Confirm Node.js before you clone Infoooze. You also need a reachable lab target for the port scan example.
Check Node and npm:
node --versionSample output:
v22.23.2Kali ships a maintained Node runtime; if node is missing, install it with sudo apt install -y nodejs npm.
Set the authorized Metasploitable target on the host-only segment from pentest lab setup:
TARGET=192.168.56.114The port scan section passes "$TARGET" to Infoooze. Use your own lab IP only when you have permission to scan it.
Install Infoooze on Kali Linux
Clone the upstream repository and install JavaScript dependencies locally. The postinstall script prints a short welcome box when npm install finishes.
git clone https://github.com/7ORP3DO/infoooze.gitChange into the project directory:
cd infooozeInstall dependencies:
npm installThe install step adds packages under node_modules/ and registers the infoooze, infooze, and infoze command aliases when you install globally. A successful local install ends without npm errors and lets you run node bin/infoooze.js -h.
Optional global install from the clone:
sudo npm install -g .After that, infoooze -v from any directory should print 1.3.1.
Verify Infoooze CLI
List module flags before you aim -t at the lab target. The help output is the quickest map of one-shot commands.
cd infoooze && node bin/infoooze.js -hSample output:
Usage: infoooze.js [options] [command]
Options:
-n, --dnslookup view DNS records for a specific domain and see how it is configured.
-d, --domainage find out how long a website has been registered and active on the internet.
-x, --exif extract Exif metadata from images, such as camera make and model, date and time, and more.
-t, --portscan search for open ports.
-u, --useragent quickly and easily identify the browser and device being used by a user.
-r, --userrecon search for a username across multiple social media platforms to gather information on a specific user.
-a, --webscan analyze the suspicious URLs.
-w, --whoislookup find registration information for a specific domain.
...Each flag runs one module and exits — preferable in tutorials over memorizing interactive menu numbers. Launch the full menu with infoooze or node bin/infoooze.js when you want the numbered table (01 User Recon through 16 Youtube Metadata).
Confirm the installed version:
infoooze -vSample output:
1.3.1That version string should match the banner line v1.3.1 on module runs.
Infoooze CLI flags
Use this table as a quick reference for the modules exercised below. All flags accept a value on the same command line.
| Flag | Module | Example input |
|---|---|---|
-r / --userrecon |
Username search across sites | msfadmin |
-m / --mailfinder |
Email hints for a username | username |
-u / --useragent |
Parse a User-Agent string | Browser UA from logs or BeEF |
-w / --whoislookup |
WHOIS for a domain | example.com |
-t / --portscan |
TCP port probe list | "$TARGET" lab IP |
-e / --headerinfo |
HTTP response headers | http://example.com |
-a / --webscan |
URL reputation (VirusTotal API) | http://example.com |
-x / --exif |
EXIF from an image file | /path/to/photo.jpg |
-n / --dnslookup |
DNS records | example.com |
-p / --iplookup |
IP geolocation metadata | 8.8.8.8 |
Results for recon, EXIF, headers, and website scans are saved under results/infoooze_* files in the current working directory when the module supports file output.
Port scan Metasploitable with -t
Infoooze portscan checks a fixed list of common ports against the host you pass with -t. Against Metasploitable you should see multiple open lines for services such as FTP, SSH, and MySQL.
cd infoooze && node bin/infoooze.js -t "$TARGET"Sample output:
- 21 open FTP
- 22 open SSH
- 23 open Telnet
- 25 open SMTP
- 53 open DNS
- 80 open HTTP
- 139 open NetBIOS
- 2049 open NFS
- 3306 open mySQL
Thank You for using InfooozeOpen ports on "$TARGET" line up with the intentionally exposed Metasploitable services. For service versions and scripts, follow with network reconnaissance using Nmap on the same host.
Parse User-Agent strings with -u
When you already captured a User-Agent from proxy logs, BeEF, or another tool, -u sends it to the embedded userstack API and prints browser and OS fields.
cd infoooze && node bin/infoooze.js -u 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'Sample output:
[01] Type : browser
[02] Os name : Windows 10
[03] Os code : windows_10
[04] Os family : Windows
[06] Is mobile : No
[07] Device type : desktop
[09] Browser : Chrome
[10] Browser version : 120.0.0.0
[11] Browser engine : WebKit/Blink
[12] Crawler : NoThe Os name and Browser lines tell you how to classify the client in a report. Practice strings are also listed on the DeviceAtlas user-agent blog for offline drills.
Extract EXIF metadata with -x
EXIF parsing reads camera and timestamp metadata from JPEG images. This complements steganography labs where you compare visible files with hidden data.
Download a sample image with known EXIF tags:
curl -fsSL -o /tmp/infoooze-sample.jpg 'https://raw.githubusercontent.com/ianare/exif-samples/master/jpg/Canon_40D.jpg'Run EXIF extraction:
cd infoooze && node bin/infoooze.js -x /tmp/infoooze-sample.jpgSample output:
[!] Results will be saved in /tmp/infoooze/results/infoooze_exif_02082026111511.txt
[01] Make : Canon
[02] Model : Canon EOS 40D
[07] Software : GIMP 2.4.5
[08] Modify date : 2008:07:31 10:38:11
[12] Compression : 6Make and Model confirm the image came from a Canon body; the saved file path under results/ is what you attach to forensic notes. Images with no EXIF segment return an error message instead of blank rows.
Username recon with -r
-r probes many social and code-hosting URLs for a single handle. Status prefixes show whether the HTTP check succeeded, not whether the account truly exists — verify green links manually.
cd infoooze && node bin/infoooze.js -r msfadminSample output:
[!] Results will be saved in /tmp/infoooze/results/infoooze_userRecon_02082026111509.txt
[---] https://facebook.com/msfadmin
[---] https://instagram.com/msfadmin
[400] https://twitter.com/msfadmin
[502] https://github.com/msfadmin
[---] https://pinterest.com/msfadmin
[502] https://bitbucket.org/msfadminLines marked [---] reached the site without a client error code in this run; [400] and [502] mean the remote site blocked or failed the probe. Open the saved infoooze_userRecon_*.txt file for the full URL list before you paste links into a report.
HTTP header lookup with -e
Header lookup is useful for OSINT on public sites you are allowed to query. It does not require access to your lab target.
cd infoooze && node bin/infoooze.js -e http://example.comSample output:
[!] Results will be saved in /tmp/infoooze/results/infoooze_HeaderLookup_02082026111632.txt
[01] Date : Sun, 02 Aug 2026 15:16:34 GMT
[02] Content type : text/html
[05] Server : cloudflare
[06] Last modified : Sat, 01 Aug 2026 09:39:03 GMT
[10] Cf cache status : HITServer and cache headers describe how the site is delivered — helpful when you compare CDN behavior across hosts during recon.
Website scan with -a
The webscan module queries VirusTotal’s URL API using an embedded key. It needs working HTTPS to third-party services; lab networks with strict proxies may fail even when -t works locally.
cd infoooze && node bin/infoooze.js -a 'http://example.com'Sample output when the API call fails:
[!] Results will be saved in /tmp/infoooze/results/infoooze_websiteScan_02082026111527.txt
[!] Something went wrong! Please check your internet.When the API responds, you see reputation labels such as Clean or Malicious instead of the generic error. Treat any warning as one signal — combine with manual review and other vulnerability scanning tools before you call a URL malicious in a client report.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Something went wrong! Please check your internet on -a or -w |
VirusTotal or WHOIS API unreachable from your network | Test curl -I https://www.virustotal.com; fix proxy or DNS; retry later |
npm install permission errors |
Global install without sudo | Use local clone install, or sudo npm install -g infoooze |
Port scan shows all closed against Metasploitable |
Wrong IP or target powered off | Confirm "$TARGET" with ping and Metasploitable power state |
node: command not found |
Node.js not installed | sudo apt install -y nodejs npm |
| EXIF module reports no segment | Image stripped of metadata | Try a known sample JPEG with EXIF, or use exiftool to compare |
Username recon mostly [400] / [502] |
Remote sites block automated requests | Expected on some platforms; verify [---] URLs manually in a browser |
References
- Infoooze GitHub repository
- Infoooze documentation site
- Node.js documentation
- npm infoooze package
- VirusTotal API documentation
Summary
Infoooze packs many OSINT helpers into one Node.js CLI. On Kali 2026.2 this guide installed version 1.3.1, mapped flags with -h, and ran port scanning against authorized Metasploitable 2 at "$TARGET" using -t. User-Agent parsing, EXIF extraction, username probes, and HTTP headers produced concrete terminal output and results/ files you can archive for lab reports.
The main split to remember is local versus API-backed modules. Port scan and header lookup worked against lab and public targets in this environment, while website scan and WHOIS failed when outbound API calls were blocked — the generic error is not a broken install. Prefer CLI flags (-t, -u, -x, -r, -e) when you are capturing commands for coursework; use the interactive menu when you are exploring module names.
For broader passive recon, continue with the OSINT tools overview and service-specific enumeration on the same Metasploitable host after you record open ports here or with Nmap.

