Sign inSign up

aoighost/spiderfoot

By aoighost

•Updated about 6 years ago

Image
0

3.0K

aoighost/spiderfoot repository overview

⁠

⁠ABOUT

SpiderFoot is an open source intelligence (OSINT) automation tool. It integrates with just about every data source available and utilises a range of methods for data analysis, making that data easy to navigate.

SpiderFoot has an embedded web-server for providing a clean and intuitive web-based interface but can also be used completely via the command-line. It's written in Python 3 and GPL-licensed.

⁠FEATURES
  • Web based UI or CLI
  • Over 170 modules (see below)
  • Python 3
  • CSV/JSON/GEXF export
  • API key export/import
  • SQLite back-end for custom querying
  • Highly configurable
  • Fully documented
  • Visualisations
  • TOR integration for dark web searching
  • Dockerfile for Docker-based deployments
  • Can call other tools like DNSTwist, Whatweb and CMSeeK
  • Actively developed since 2012!
⁠USES

SpiderFoot's 170+ modules feed each other in a pub/sub model to ensure maximum data extraction to do things like:

  • Host/sub-domain/TLD enumeration/extraction
  • E-mail address enumeration/extraction
  • Phone number extraction
  • Bitcoin and Ethereum address extraction
  • DNS zone transfers
  • Threat intelligence and Blacklist queries
  • API integraiton with SHODAN, HaveIBeenPwned, Censys, AlienVault, SecurityTrails, etc.
  • Social media account enumeration
  • S3/Azure/Digitalocean bucket enumeration/scraping
  • IP geo-location
  • Web scraping, web content analysis
  • Image and binary file meta data analysis
  • Office document meta data analysis
  • Dark web searches
  • So much more...

See it in action here, performing some DNS recon:

asciicast

⁠PURPOSE

SpiderFoot can be used offensively (e.g. in a red team exercise or penetration test) for reconnaissance of your target or defensively to gather information about what you or your organisation might have exposed over the Internet.

You can target the following entities in a SpiderFoot scan:

  • IP address
  • Domain/sub-domain name
  • Hostname
  • Network subnet (CIDR)
  • ASN
  • E-mail address
  • Phone number
  • Username
  • Person's name
⁠MODULES
ModuleNameDescription
sfp_abusech.pyabuse.chCheck if a host/domain, IP or netblock is malicious according to abuse.ch.
sfp_abuseipdb.pyAbuseIPDBCheck if a netblock or IP is malicious according to AbuseIPDB.com.
sfp_accounts.pyAccountsLook for possible associated accounts on nearly 200 websites like Ebay, Slashdot, reddit, etc.
sfp_adblock.pyAdBlock CheckCheck if linked pages would be blocked by AdBlock Plus.
sfp_ahmia.pyAhmiaSearch Tor 'Ahmia' search engine for mentions of the target domain.
sfp_alienvaultiprep.pyAlienVault IP ReputationCheck if an IP or netblock is malicious according to the AlienVault IP Reputation database.
sfp_alienvault.pyAlienVault OTXObtain information from AlienVault Open Threat Exchange (OTX)
sfp_apility.pyApilitySearch Apility API for IP address and domain reputation.
sfp_archiveorg.pyArchive.orgIdentifies historic versions of interesting files/pages from the Wayback Machine.
sfp_arin.pyARINQueries ARIN registry for contact information.
sfp_azureblobstorage.pyAzure Blob FinderSearch for potential Azure blobs associated with the target and attempt to list their contents.
sfp_badipscom.pybadips.comCheck if a domain or IP is malicious according to badips.com.
sfp_bambenek.pyBambenek C&C ListCheck if a host/domain or IP appears on Bambenek Consulting's C&C tracker lists.
sfp_base64.pyBase64Identify Base64-encoded strings in any content and URLs, often revealing interesting hidden information.
sfp_bgpview.pyBGPViewObtain network information from BGPView API.
sfp_binaryedge.pyBinaryEdgeObtain information from BinaryEdge.io's Internet scanning systems about breaches, vulerabilities, torrents and passive DNS.
sfp_bingsearch.pyBingObtain information from bing to identify sub-domains and links.
sfp_bingsharedip.pyBing (Shared IPs)Search Bing for hosts sharing the same IP.
sfp_binstring.pyBinary String ExtractorAttempt to identify strings in binary content.
sfp_bitcoin.pyBitcoin FinderIdentify bitcoin addresses in scraped webpages.
sfp_blockchain.pyBlockchainQueries blockchain.info to find the balance of identified bitcoin wallet addresses.
sfp_blocklistde.pyblocklist.deCheck if a netblock or IP is malicious according to blocklist.de.
sfp_botscout.pyBotScoutSearches botscout.com's database of spam-bot IPs and e-mail addresses.
sfp_builtwith.pyBuiltWithQuery BuiltWith.com's Domain API for information about your target's web technology stack, e-mail addresses and more.
sfp_callername.pyCallerNameLookup US phone number location and reputation information.
sfp_censys.pyCensysObtain information from Censys.io
sfp_cinsscore.pyCINS Army ListCheck if a netblock or IP is malicious according to cinsscore.com's Army List.
sfp_circllu.pyCIRCL.LUObtain information from CIRCL.LU's Passive DNS and Passive SSL databases.
sfp_citadel.pyCitadel EngineSearches Leak-Lookup.com's database of breaches.
sfp_cleanbrowsing.pyCleanbrowsing.orgCheck if a host would be blocked by Cleanbrowsing.org DNS
sfp_cleantalk.pyCleanTalk Spam ListCheck if an IP is on CleanTalk.org's spam IP list.
sfp_clearbit.pyClearbitCheck for names, addresses, domains and more based on lookups of e-mail addresses on clearbit.com.
sfp_coinblocker.pyCoinBlocker ListsCheck if a host/domain or IP appears on CoinBlocker lists.
sfp_commoncrawl.pyCommonCrawlSearches for URLs found through CommonCrawl.org.
sfp_comodo.pyComodoCheck if a host would be blocked by Comodo DNS
sfp_company.pyCompany NamesIdentify company names in any obtained data.
sfp_cookie.pyCookiesExtract Cookies from HTTP headers.
sfp_crossref.pyCross-ReferenceIdentify whether other domains are associated ('Affiliates') of the target.
sfp_crt.pyCertificate TransparencyGather hostnames from historical certificates in crt.sh.
sfp_customfeed.pyCustom Threat FeedCheck if a host/domain, netblock, ASN or IP is malicious according to your custom feed.
sfp_cybercrimetracker.pycybercrime-tracker.netCheck if a host/domain or IP is malicious according to cybercrime-tracker.net.
sfp_darksearch.pyDarksearchSearch the Darksearch.io Tor search engine for mentions of the target domain.
sfp_digitaloceanspace.pyDigital Ocean Space FinderSearch for potential Digital Ocean Spaces associated with the target and attempt to list their contents.
sfp_dnsbrute.pyDNS Brute-forceAttempts to identify hostnames through brute-forcing common names and iterations.
sfp_dnscommonsrv.pyDNS Common SRVAttempts to identify hostnames through common SRV.
sfp_dnsneighbor.pyDNS Look-asideAttempt to reverse-resolve the IP addresses next to your target to see if they are related.
sfp_dnsraw.pyDNS Raw RecordsRetrieves raw DNS records such as MX, TXT and others.
sfp_dnsresolve.pyDNS ResolverResolves Hosts and IP Addresses identified, also extracted from raw content.
sfp_dnszonexfer.pyDNS Zone TransferAttempts to perform a full DNS zone transfer.
sfp_dronebl.pyDroneBLQuery the DroneBL database for open relays, open proxies, vulnerable servers, etc.
sfp_duckduckgo.pyDuckDuckGoQuery DuckDuckGo's API for descriptive information about your target.
sfp_emailformat.pyEmailFormatLook up e-mail addresses on email-format.com.
sfp_email.pyE-MailIdentify e-mail addresses in any obtained data.
sfp_emailrep.pyEmailRepSearch EmailRep.io for email address reputation.
sfp_errors.pyErrorsIdentify common error messages in content like SQL errors, etc.
sfp_ethereum.pyEthereum FinderIdentify ethereum addresses in scraped webpages.
sfp_filemeta.pyFile MetadataExtracts meta data from documents and images.
sfp_flickr.pyFlickrLook up e-mail addresses on Flickr.
sfp_fortinet.pyFortiguard.comCheck if an IP is malicious according to Fortiguard.com.
sfp_fraudguard.pyFraudguardObtain threat information from Fraudguard.io
sfp_fringeproject.pyFringe ProjectObtain network information from Fringe Project API.
sfp_fsecure_riddler.pyF-Secure Riddler.ioObtain network information from F-Secure Riddler.io API.
sfp_fullcontact.pyFullContactGather domain and e-mail information from fullcontact.com.
sfp_github.pyGithubIdentify associated public code repositories on Github.
sfp_googlemaps.pyGoogle MapsIdentifies potential physical addresses and latitude/longitude coordinates.
sfp_googlesearch.pyGoogleObtain information from the Google Custom Search API to identify sub-domains and links.
sfp_gravatar.pyGravatarRetrieve user information from Gravatar API.
sfp_greynoise.pyGreynoiseObtain information from Greynoise.io's Enterprise API.
sfp_h1nobbdde.pyHackerOne (Unofficial)Check external vulnerability scanning/reporting service h1.nobbd.de to see if the target is listed.
sfp_hackertarget.pyHackerTarget.comSearch HackerTarget.com for hosts sharing the same IP.
sfp_haveibeenpwned.pyHaveIBeenPwnedCheck HaveIBeenPwned.com for hacked e-mail addresses identified in breaches.
sfp_honeypot.pyHoneypot CheckerQuery the projecthoneypot.org database for entries.
sfp_hosting.pyHosting ProvidersFind out if any IP addresses identified fall within known 3rd party hosting ranges, e.g. Amazon, Azure, etc.
sfp_hostsfilenet.pyhosts-file.net Malicious HostsCheck if a host/domain is malicious according to hosts-file.net Malicious Hosts.
sfp_hunter.pyHunter.ioCheck for e-mail addresses and names on hunter.io.
sfp_iknowwhatyoudownload.pyIknowwhatyoudownload.comCheck iknowwhatyoudownload.com for IP addresses that have been using BitTorrent.
sfp_instagram.pyInstagramGather information from Instagram profiles.
sfp_intelx.pyIntelligenceXObtain information from IntelligenceX about identified IP addresses, domains, e-mail addresses and phone numbers.
sfp_intfiles.pyInteresting FilesIdentifies potential files of interest, e.g. office documents, zip files.
sfp_ipinfo.pyIPInfo.ioIdentifies the physical location of IP addresses identified using ipinfo.io.
sfp_ipstack.pyipstackIdentifies the physical location of IP addresses identified using ipstack.com.
sfp_isc.pyInternet Storm CenterCheck if an IP is malicious according to SANS ISC.
sfp_junkfiles.pyJunk FilesLooks for old/temporary and other similar files.
sfp_malwaredomainlist.pymalwaredomainlist.comCheck if a host/domain, IP or netblock is malicious according to malwaredomainlist.com.
sfp_malwaredomains.pymalwaredomains.comCheck if a host/domain is malicious according to malwaredomains.com.
sfp_malwarepatrol.pyMalwarePatrolSearches malwarepatrol.net's database of malicious URLs/IPs.
sfp_metadefender.pyMetaDefenderSearch MetaDefender API for IP address and domain IP reputation.
sfp_mnemonic.pyMnemonic PassiveDNSObtain Passive DNS information from PassiveDNS.mnemonic.no.
sfp_multiproxy.pymultiproxy.org Open ProxiesCheck if an IP is an open proxy according to multiproxy.org' open proxy list.
sfp_myspace.pyMySpaceGather username and location from MySpace.com profiles.
sfp_names.pyName ExtractorAttempt to identify human names in fetched content.
sfp_neutrinoapi.pyNeutrinoAPISearch NeutrinoAPI for IP address info and check IP reputation.
sfp_norton.pyNorton ConnectSafeCheck if a host would be blocked by Norton ConnectSafe DNS
sfp_nothink.pyNothink.orgCheck if a host/domain, netblock or IP is malicious according to Nothink.org.
sfp_numpi.pynumpiLookup USA/Canada phone number location and carrier information from numpi.com.
sfp_numverify.pynumverifyLookup phone number location and carrier information from numverify.com.
sfp_onioncity.pyOnion.linkSearch Tor 'Onion City' search engine for mentions of the target domain.
sfp_onionsearchengine.pyOnionsearchengine.comSearch Tor onionsearchengine.com for mentions of the target domain.
sfp_openbugbounty.pyOpen Bug BountyCheck external vulnerability scanning/reporting service openbugbounty.org to see if the target is listed.
sfp_opencorporates.pyOpenCorporatesLook up company information from OpenCorporates.
sfp_opendns.pyOpenDNSCheck if a host would be blocked by OpenDNS DNS
sfp_openphish.pyOpenPhishCheck if a host/domain is malicious according to OpenPhish.com.
sfp_openstreetmap.pyOpenStreetMapRetrieves latitude/longitude coordinates for physical addresses from OpenStreetMap API.
sfp_pageinfo.pyPage InfoObtain information about web pages (do they take passwords, do they contain forms, etc.)
sfp_pastebin.pyPasteBinPasteBin scraping (via Google) to identify related content.
sfp_pgp.pyPGP Key Look-upLook up e-mail addresses in PGP public key servers.
sfp_phishtank.pyPhishTankCheck if a host/domain is malicious according to PhishTank.
sfp_phone.pyPhone NumbersIdentify phone numbers in scraped webpages.
sfp_portscan_tcp.pyPort Scanner - TCPScans for commonly open TCP ports on Internet-facing systems.
sfp_psbdmp.pyPsbdmp.comCheck psbdmp.cc (PasteBin Dump) for potentially hacked e-mails and domains.
sfp_pulsedive.pyPulsediveObtain information from Pulsedive's API.
sfp_quad9.pyQuad9Check if a host would be blocked by Quad9
sfp_ripe.pyRIPEQueries the RIPE registry (includes ARIN data) to identify netblocks and other info.
sfp_riskiq.pyRiskIQObtain information from RiskIQ's (formerly PassiveTotal) Passive DNS and Passive SSL databases.
sfp_robtex.pyRobtexSearch Robtex.com for hosts sharing the same IP.
sfp_s3bucket.pyAmazon S3 Bucket FinderSearch for potential Amazon S3 buckets associated with the target and attempt to list their contents.
sfp_scylla.pyScyllaGather breach data from Scylla API.
sfp_securitytrails.pySecurityTrailsObtain Passive DNS and other information from SecurityTrails
sfp_shodan.pySHODANObtain information from SHODAN about identified IP addresses.
sfp_similar.pySimilar DomainsSearch various sources to identify similar looking domain names, for instance squatted domains.
sfp_skymem.pySkymemLook up e-mail addresses on Skymem.
sfp_slideshare.pySlideShareGather name and location from SlideShare profiles.
sfp_socialprofiles.pySocial Media ProfilesTries to discover the social media profiles for human names identified.
sfp_social.pySocial NetworksIdentify presence on social media networks such as LinkedIn, Twitter and others.
sfp_sorbs.pySORBSQuery the SORBS database for open relays, open proxies, vulnerable servers, etc.
sfp_spamcop.pySpamCopQuery various spamcop databases for open relays, open proxies, vulnerable servers, etc.
sfp_spamhaus.pySpamhausQuery the Spamhaus databases for open relays, open proxies, vulnerable servers, etc.
sfp_spider.pySpiderSpidering of web-pages to extract content for searching.
sfp_spyonweb.pySpyOnWebSearch SpyOnWeb for hosts sharing the same IP address, Google Analytics code, or Google Adsense code.
sfp_sslcert.pySSL CertificatesGather information about SSL certificates used by the target's HTTPS sites.
sfp_ssltools.pySSL ToolsGather information about SSL certificates from SSLTools.com.
sfp__stor_db.pyStorageStores scan results into the back-end SpiderFoot database. You will need this.
sfp__stor_stdout.pyCommand-line outputDumps output to standard out. Used for when a SpiderFoot scan is run via the command-line.
sfp_strangeheaders.pyStrange HeadersObtain non-standard HTTP headers returned by web servers.
sfp_talosintel.pyTalos IntelligenceCheck if a netblock or IP is malicious according to talosintelligence.com.
sfp_threatcrowd.pyThreatCrowdObtain information from ThreatCrowd about identified IP addresses, domains and e-mail addresses.
sfp_threatexpert.pyThreatExpert.comCheck if a host/domain or IP is malicious according to ThreatExpert.com.
sfp_threatminer.pyThreatMinerObtain information from ThreatMiner's database for passive DNS and threat intelligence.
sfp_tldsearch.pyTLD SearchSearch all Internet TLDs for domains with the same name as the target (this can be very slow.)
sfp_tool_cmseek.pyTool - CMSeeKIdentify what Content Management System (CMS) might be used.
sfp_tool_dnstwist.pyTool - DNSTwistIdentify bit-squatting, typo and other similar domains to the target using a local DNSTwist installation.
sfp_tool_whatweb.pyTool - WhatWebIdentify what software is in use on the specified website.
sfp_torch.pyTORCHSearch Tor 'TORCH' search engine for mentions of the target domain.
sfp_torexits.pyTOR Exit NodesCheck if an IP or netblock appears on the torproject.org exit node list.
sfp_totalhash.pyTotalHash.comCheck if a host/domain or IP is malicious according to TotalHash.com.
sfp_twitter.pyTwitterGather name and location from Twitter profiles.
sfp_uceprotect.pyUCEPROTECTQuery the UCEPROTECT databases for open relays, open proxies, vulnerable servers, etc.
sfp_urlscan.pyURLScan.ioSearch URLScan.io cache for domain information.
sfp_venmo.pyVenmoGather user information from Venmo API.
sfp_viewdns.pyViewDNS.infoReverse Whois lookups using ViewDNS.info.
sfp_virustotal.pyVirusTotalObtain information from VirusTotal about identified IP addresses.
sfp_voipbl.pyVoIPBL OpenPBX IPsCheck if an IP or netblock is an open PBX according to VoIPBL OpenPBX IPs.
sfp_vxvault.pyVXVault.netCheck if a domain or IP is malicious according to VXVault.net.
sfp_watchguard.pyWatchguardCheck if an IP is malicious according to Watchguard's reputationauthority.org.
sfp_webanalytics.pyWeb AnalyticsIdentify web analytics IDs in scraped webpages and DNS TXT records.
sfp_webframework.pyWeb FrameworkIdentify the usage of popular web frameworks like jQuery, YUI and others.
sfp_webserver.pyWeb ServerObtain web server banners to identify versions of web servers being used.
sfp_whatcms.pyWhatCMSCheck web technology using WhatCMS.org API.
sfp_whoisology.pyWhoisologyReverse Whois lookups using Whoisology.com.
sfp_whois.pyWhoisPerform a WHOIS look-up on domain names and owned netblocks.
sfp_whoxy.pyWhoxyReverse Whois lookups using Whoxy.com.
sfp_wigle.pyWigle.netQuery wigle.net to identify nearby WiFi access points.
sfp_wikileaks.pyWikileaksSearch Wikileaks for mentions of domain names and e-mail addresses.
sfp_wikipediaedits.pyWikipedia EditsIdentify edits to Wikipedia articles made from a given IP address or username.
sfp_xforce.pyXForce ExchangeObtain information from IBM X-Force Exchange
sfp_yandexdns.pyYandex DNSCheck if a host would be blocked by Yandex DNS
sfp_zoneh.pyZone-H Defacement CheckCheck if a hostname/domain appears on the zone-h.org 'special defacements' RSS feed.
⁠DOCUMENTATION

Read more at the project website⁠, including more complete documentation, blog posts with tutorials/guides, plus information about SpiderFoot HX⁠.

Latest updates announced on Twitter⁠.

Tag summary

Content type

Image

Digest

Size

47.7 MB

Last updated

about 6 years ago

docker pull aoighost/spiderfoot