Skip to main content

libraccon a library for high performance offensive security tool for reconnaissance based on raccoon scanner. This include performing DNS reconnaissance

Project description

libraccoon

libraccon a library for high performance offensive security tool for reconnaissance based on raccoon scanner. This library is based on Raccoon A high performance offensive security tool for reconnaissance and vulnerability scanning. The difference is we are providing a library to be used as a module.

This is because we wanted to integrated raccoon to our nmmapper, but we couldn't do it easily, so we just had to re-write this tool to provide module level import.

Installing the module

How to use python3-libraccoon

As mentioned this module is designed to be used like a module in other python scripts

from libraccoon.libs import waf
from libraccoon.libs.sub_domain import SubDomainEnumerator
from libraccoon.libs.storage_explorer import StorageExplorer

This is how we intended to use this module.

Detecting WAF

WAF Stands for web application firewall.

from libraccoon.libs.host import Host
from libraccoon.libs import waf

# Initiate host
host = Host(target="nmmapper.com")

# Begin the waf
w = waf.WAF(host)
await w.detect()
results = w.get_waf # Returns dict

print(results)
{'waf': 'Cloudflare'}

You will always get results in dict or list

Querying subdomains

from libraccoon.libs.host import Hos
from libraccoon.libs.sub_domain import SubDomainEnumerator


host = Host(target="nmmapper.com")
subs = SubDomainEnumerator(host)
await subs.run()

# Enumerating Subdomains
# Trying to discover subdomains in Google
.....
# Done enumerating Subdomains

subs.get_subdomains

['nmmapper.com',
 'mail.nmmapper.com',
 'upstream.nmmapper.com',
 'flower.nmmapper.com',
 'analytics.nmmapper.com',
 'www.nmmapper.com']

Once again this is module type, can be used in any other external python programs

Querying virtual-host with bingip2host

If you want to find which ips are hosted on the same network, you can use bingip2host, this tool still requires improvements.

ip="172.67.209....." # CloudFlare
from libraccoon.libs.bingip2host import BingIp2Host
bing = BingIp2Host(ip)
await bing.search()

print(await bing.get_domains())
[{'ip': '172.67.209....', 'domain': 'www.------.fi', 'source': 'bing'},
 {'ip': '172.67.209....',
  'domain': '-----.uk',
  'source': 'bing'},
  .......
  # More results are hidden
  .....
]

Querying Whois information

This is how you can query whos information

from libraccoon.libs.dns_handler import DNSHandler
who = DNSHandler("nmmapper.com")

# Registrar
r = await who.grab_whois("nmmapper.com")
{'domain_name': 'NMMAPPER.COM',
 'registrar': 'NameCheap, Inc.',
 'whois_server': 'whois.namecheap.com',
#... More records truncated
}

# Querying invididual records
txt = await who.query_dns("google.com", "TXT")
A = await who.query_dns("google.com", "A")
Ipv6 = await who.query_dns("google.com", "AAAA")

Fierce Perform A DNS reconnaissance tool for locating non-contiguous IP space.

This module is a port of the fierce tool, we wanted something non commandline we wanted something that can be used as a module, so we had to re-write it to support being used as a module.

#!/usr/bin/python3/
#  Basic search
from libraccoon.libs.fierce import LibFierce
lib   = LibFierce("facebook.com")
ret = lib.search("www")

{'102.132.96.16': 'edge-shortwave-shv-01-mba1.facebook.com.',
 '102.132.96.35': 'edge-star-mini-shv-01-mba1.facebook.com.',
 '102.132.96.19': 'edge-stun-shv-01-mba1.facebook.com.',
 '102.132.96.22': 'edge-z-p1-shv-01-mba1.facebook.com.',
 #....More result has been truncated
}

The module is not yet fully complete.

Traverse IPs near discovered domains to search for contiguous blocks

#!/usr/bin/python3/
#  Basic search
from libraccoon.libs.fierce import LibFierce
lib   = LibFierce("facebook.com")
ret = lib.search("www", 10)

{'102.132.96.16': 'edge-shortwave-shv-01-mba1.facebook.com.',
 '102.132.96.35': 'edge-star-mini-shv-01-mba1.facebook.com.',
 '102.132.96.19': 'edge-stun-shv-01-mba1.facebook.com.',
 '102.132.96.22': 'edge-z-p1-shv-01-mba1.facebook.com.',
 #....More result has been truncated
}

Whatweb tools can also be invoked from this tool.

Remember the tool is designed to be used as a library to be incorporated into other tools. Just want caveat ensure that whatweb tool is installed.

from  libraccoon.libs.whatwebapi  import  WhatWebAsync
what  =  WhatWebAsync()
host = "https://www.nmmapper.com"

result  =  await  what.scan(host)

[{'target': 'https://www.nmmapper.com',
  'http_status': 200,
  'request_config': {'headers': {'User-Agent': 'WhatWeb/0.5.5'}},
  'plugins': {'Content-Language': {'string': ['en']},
   'Cookies': {'string': ['csrftoken', 'sessionid']},
   'Country': {'string': ['UNITED STATES'], 'module': ['US']},
   'Django': {},
   'HTML5': {},
   'HTTPServer': {'string': ['cloudflare']},
   'HttpOnly': {'string': ['sessionid']},
   'IP': {'string': ['104.21.54.232']},
   'Meta-Author': {'string': ['Nmmapper.com']},
   'Open-Graph-Protocol': {'version': ['article']},
   'Script': {'string': ['Javascript',
     'application/ld+json',
     'text/Javascript',
     'text/javascript']},
   'Strict-Transport-Security': {'string': ['max-age=15552000; includeSubDomains; preload']},
   'Title': {'string': ['Nmmapper Subdomain finder,Nmap online,theharvester']},
   'UncommonHeaders': {'string': ['x-content-type-options,referrer-policy,cross-origin-opener-policy,access-control-allow-origin,cf-cache-status,report-to,nel,cf-ray,alt-svc,server-timing']},
   'X-Frame-Options': {'string': ['DENY']}}}]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python3_libraccoon-3.3.6.tar.gz (261.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python3_libraccoon-3.3.6-py3-none-any.whl (270.8 kB view details)

Uploaded Python 3

File details

Details for the file python3_libraccoon-3.3.6.tar.gz.

File metadata

  • Download URL: python3_libraccoon-3.3.6.tar.gz
  • Upload date:
  • Size: 261.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for python3_libraccoon-3.3.6.tar.gz
Algorithm Hash digest
SHA256 b36e088717126aef08009c58c7a8af98e2320619ea0cc83ea20001facfcc4ed3
MD5 2b62173e5a86c43c289278c0228e476b
BLAKE2b-256 b383a85c18b7dc25daf7c149ca5594de8b206324bd9e1b0884bdd75b8e17de98

See more details on using hashes here.

File details

Details for the file python3_libraccoon-3.3.6-py3-none-any.whl.

File metadata

File hashes

Hashes for python3_libraccoon-3.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ae7e569178b63ddc0c43d5ec1411462aec751af6364db7b200566d7cede80cb8
MD5 3253aea58b2693c69a4ed9a8f51a0a06
BLAKE2b-256 e7ceba1cfe5e28a146092779a41e93db199967588ed12de5a01612a844c13c65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page