Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Reputation360

CLI Bash tool that provides a quick reputation snapshot for IPs, hosts, and domains by aggregating signals from:

  • DNSBLs (Spamhaus + various others)
  • SenderScore (scraped public report)
  • AbuseIPDB (API)
  • VirusTotal (API)

In short: One command ⇒ aggregated reputation check per IP + domain checks + MX chain.


Features

  • A-records, rDNS, MX lookups, and DNSBL checks (IPv4; IPv6 skipped since most DNSBLs lack IPv6 coverage)
  • Parallel lookups from SenderScore, AbuseIPDB, VirusTotal
  • “Extended” DNSBL set toggle
  • Nicely formatted terminal output

Requirements

  • Linux/macOS shell
  • dig, curl, jq (jq optional; script falls back to awk)
  • API keys:
    • AbuseIPDB (optional, recommended)
    • VirusTotal (optional)

Installation

Clone the repository and make the script executable:

git clone https://github.com/lulzkiller666/Reputation360.git
cd Reputation360
chmod +x rp360.sh

(Optional) Move it into your $PATH so you can call it from anywhere:

sudo mv rp360.sh /usr/local/bin/reputation360

Now you can run it with reputation360 <domain|ip>.


Quick Start

  1. Add API keys (either edit variables at the top of the script or export them as environment variables in your shell):
export ABUSEIPDB_KEY="..."
export ABUSEIPDB_MAX_AGE=90
export VT_API_KEY="..."
  1. Run:
./rp360.sh example.com
./rp360.sh 203.0.113.10
./rp360.sh --file targets.txt   # one IP per line

Usage

Usage: ./rp360.sh domain.tld [--file list.txt] <ip|host|domain> [...]
Optional env: RP360_RESOLVER='@1.1.1.1' RP360_SENDER_SCORE=0/1 RP360_EXTENDED_DNSBLS=0/1

Flags

  • --file <path> Load targets from file (one per line; # = comment).
  • -h | --help Show help.

Environment variables

  • RP360_RESOLVER='@IP' Use custom resolver (e.g., @1.1.1.1).
  • RP360_SENDER_SCORE=0|1 Disable/enable SenderScore (default 1).
  • RP360_EXTENDED_DNSBLS=0|1 Disable/enable extended DNSBL set (can also be toggled via --extended).

Note: IPv6 DNSBL checks are skipped (most providers don’t support IPv6 DNSBL).


Example Output

❯ ./rp360.sh example.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Reputation360 — multi-source reputation snapshot
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  Notes: Best-effort aggregation — scraped sites may change.
  Resolver: system resolver
  IPv6: not tested (most providers don’t support IPv6 DNSBL).
  AbuseIPDB: API mode (90d window)
  VirusTotal: enabled
  Extended DNSBLs: enabled


┌────────────────────────────────────────────────────────
│ example.com
└────────────────────────────────────────────────────────
  ✅ Resolved:
     │ 192.0.2.10
  ℹ️  DNSBLs for example.com
     │ ✅  SURBL multi (domain): not listed
     │ ✅  SEM URI (domain): not listed
     │ ✅  SEM Fresh15 (domain): not listed
     │ ✅  SURBL JP (domain): not listed
     │ ✅  SURBL MW (domain): not listed
     │ ✅  JustSpam URI (domain): not listed
     │ ✅  SURBL CR (domain): not listed

  ✅ MX hosts for example.com (checking their IP reputation)
     │ Note: MXes are typically inbound; outbound/smarthosts may differ.
     │ MX: mail.example.com


┌────────────────────────────────────────────────────────
│ 198.51.100.25
└────────────────────────────────────────────────────────
  ✅ rDNS: mail.example.com
  ℹ️  DNSBLs for 198.51.100.25
     │ ✅  Spamhaus ZEN (direct): not listed
     │ ✅  SpamCop: not listed
     │ ✅  PSBL: not listed
     │ ✅  UCEPROTECTL1: not listed
     │ ✅  Barracuda: not listed
     │ ✅  UCEPROTECTL2: not listed
     │ ✅  UCEPROTECTL3: not listed
     │ ✅  Mailspike BL: not listed
     │ ✅  Mailspike Z: not listed
     │ ✅  SPFBL: not listed
     │ ✅  HostKarma Black: not listed
     │ ✅  Backscatterer: not listed
     │ ✅  SpamRBL: not listed
     │ ✅  DroneBL: not listed
     │ ✅  MSRBL Spam: not listed
     │ ✅  MSRBL Phishing: not listed
     │ ✅  RBL.JP all: not listed
     │ ✅  S5h.net: not listed
     │ ✅  Spamhaus SBL: not listed
     │ ✅  CBL: not listed
     │ ✅  Spamhaus XBL: not listed
     │ ✅  Spamhaus CSS: not listed
     │ ✅  Spamhaus PBL: not listed
     │ ✅  Invaluement ivmSIP: not listed
     │ ✅  Invaluement ivmSIP24: not listed
     │ ✅  TornevallNET: not listed
     │ ✅  WPBL: not listed
     │ ✅  SEM BL: not listed
     │ ✅  JustSpam: not listed
     │ ✅  EFnet RBL: not listed
     │ ✅  NordSpam: not listed
     │ ✅  0spam: not listed
     │ ✅  MegaRBL: not listed
     │ ✅  BlockList.de: not listed
     │ ⚠️  Spamhaus ZEN (fallback): unavailable (resolver blocked/policy)
     │ ✅  RATS Dyna: not listed
     │ ✅  RATS Spam: not listed
     │ ✅  RATS NoPtr: not listed
     │ ✅  NIXSPAM: not listed
     │ ✅  Proofpoint: not listed


┌────────────────────────────────────────────────────────
│ 192.0.2.10
└────────────────────────────────────────────────────────
  ✅ rDNS: web.example.com
  ℹ️  DNSBLs for 192.0.2.10
     │ ✅  Spamhaus ZEN (direct): not listed
     │ ✅  SpamCop: not listed
     │ ✅  PSBL: not listed
     │ ✅  UCEPROTECTL1: not listed
     │ ✅  Barracuda: not listed
     │ ✅  UCEPROTECTL2: not listed
     │ ✅  UCEPROTECTL3: not listed
     │ ✅  Mailspike Z: not listed
     │ ✅  SPFBL: not listed
     │ ✅  Mailspike BL: not listed
     │ ✅  HostKarma Black: not listed
     │ ✅  SpamRBL: not listed
     │ ✅  Backscatterer: not listed
     │ ✅  RBL.JP all: not listed
     │ ✅  MSRBL Phishing: not listed
     │ ✅  DroneBL: not listed
     │ ✅  MSRBL Spam: not listed
     │ ✅  CBL: not listed
     │ ✅  S5h.net: not listed
     │ ✅  Spamhaus SBL: not listed
     │ ✅  Spamhaus XBL: not listed
     │ ✅  Spamhaus PBL: not listed
     │ ✅  Spamhaus CSS: not listed
     │ ✅  Invaluement ivmSIP24: not listed
     │ ✅  Invaluement ivmSIP: not listed
     │ ✅  TornevallNET: not listed
     │ ✅  WPBL: not listed
     │ ✅  SEM BL: not listed
     │ ✅  JustSpam: not listed
     │ ✅  EFnet RBL: not listed
     │ ✅  0spam: not listed
     │ ✅  MegaRBL: not listed
     │ ✅  NordSpam: not listed
     │ ✅  BlockList.de: not listed
     │ ⚠️  Spamhaus ZEN (fallback): unavailable (resolver blocked/policy)
     │ ✅  RATS Dyna: not listed
     │ ✅  RATS NoPtr: not listed
     │ ✅  RATS Spam: not listed
     │ ✅  NIXSPAM: not listed
     │ ✅  Proofpoint: not listed

┌────────────────────────────────────────────────────────
│ SenderScore (per IP)
└────────────────────────────────────────────────────────
     IP               Score    Rating               Tier           
  ───────────────────────────────────────────────────────────────────
  ℹ️  198.51.100.25    –      INSUFFICIENT DATA    INSUFFICIENT   
  ································································
  ℹ️  192.0.2.10       –      INSUFFICIENT DATA    INSUFFICIENT   

┌────────────────────────────────────────────────────────
│ AbuseIPDB (per IP)
└────────────────────────────────────────────────────────
     IP               Reports    Confidence  Last                
  ─────────────────────────────────────────────────────────────
  ✅ 198.51.100.25    0          0%          -                   
  ················································
  ✅ 192.0.2.10       0          0%          -                   

┌────────────────────────────────────────────────────────
│ VirusTotal (per IP)
└────────────────────────────────────────────────────────
     IP               Malicious  Suspicious Harmless   Last Analysis       
  ────────────────────────────────────────────────────────────────────────
  ℹ️  198.51.100.25    0          0          0          2025-08-24T11:34:02Z
  ················································
  ℹ️  192.0.2.10       0          0          0          2024-10-04T23:37:41Z

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Data Source Notes

  • SenderScore: Retrieved via HTML scraping; DOM changes may break it.
  • Spamhaus ZEN: Queried via both “direct” (system resolver) and “fallback” resolvers. Some resolvers block policy queries.
  • AbuseIPDB/VirusTotal: Official APIs used; subject to rate limits.

Security & Privacy

  • Output may reveal rDNS/MX topology. Run locally; only share what’s necessary.

Troubleshooting

  • curl not available” → install curl.
  • dig not available” → install bind-tools / dnsutils.
  • Empty SenderScore/VT/AbuseIPDB panels → missing keys, rate-limits, or temporary outage.
  • Many UNAVAILABLE in DNSBL → resolver or zone blocks queries. Try RP360_RESOLVER='@1.1.1.1'.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages