Exemplo n.º 1
0
 def pt(self, domain, conf, verbose):
     client = EnrichmentRequest(conf["PassiveTotal"]["username"],
                                conf["PassiveTotal"]['key'])
     print('## Searching subdomains in Passive Total')
     res = client.get_subdomains(query=domain)
     for d in res['subdomains']:
         print('%s.%s' % (d, domain))
Exemplo n.º 2
0
class EnrichmentTestCase(unittest.TestCase):
    """Test case for DNS methods."""

    formats = ['json', 'xml', 'csv', 'text', 'table']

    def setup_class(self):
        self.patcher = patch('passivetotal.api.Client._get', fake_request)
        self.patcher.start()
        self.client = EnrichmentRequest('--No-User--', '--No-Key--')

    def teardown_class(self):
        self.patcher.stop()

    def test_enrichment(self):
        """Test various actions for enrichment."""
        payload = {'query': 'passivetotal.org'}
        response = self.client.get_enrichment(**payload)
        assert (response['queryValue'])

    def test_process_enrichment(self):
        """Test processing enrichment data."""
        payload = {'query': 'passivetotal.org'}
        response = self.client.get_enrichment(**payload)
        wrapped = Response(response)
        assert (wrapped.queryValue) == 'passivetotal.org'

    def test_osint(self):
        """Test getting unique passive DNS records."""
        payload = {'query': 'xxxvideotube.org'}
        response = self.client.get_osint(**payload)
        wrapped = Response(response)
        assert (response['results'])
        record = wrapped.results.pop(0)
        record = Response(record)
        assert (record.source) == 'RiskIQ'
        assert (
            record.sourceUrl
        ) == "https://www.riskiq.com/blog/riskiq-labs/post/a-brief-encounter-with-slempo"

    def test_malware(self):
        """Test processing malware."""
        payload = {'query': 'noorno.com'}
        response = self.client.get_malware(**payload)
        wrapped = Response(response)
        assert (response['results'])
        record = wrapped.results.pop(0)
        record = Response(record)
        assert (record.source) == 'Threatexpert'
        assert (record.sample) == "7ebf1e2d0c89b1c8124275688c9e8e98"

    def test_subdomains(self):
        """Test processing subdomains."""
        payload = {'query': '*.passivetotal.org'}
        response = self.client.get_subdomains(**payload)
        wrapped = Response(response)
        assert (wrapped.queryValue) == '*.passivetotal.org'
        assert ('www' in wrapped.subdomains)
Exemplo n.º 3
0
class EnrichmentTestCase(unittest.TestCase):

    """Test case for DNS methods."""

    formats = ['json', 'xml', 'csv', 'text', 'table']

    def setup_class(self):
        self.patcher = patch('passivetotal.api.Client._get', fake_request)
        self.patcher.start()
        self.client = EnrichmentRequest('--No-User--', '--No-Key--')

    def teardown_class(self):
        self.patcher.stop()

    def test_enrichment(self):
        """Test various actions for enrichment."""
        payload = {'query': 'passivetotal.org'}
        response = self.client.get_enrichment(**payload)
        assert(response['queryValue'])

    def test_process_enrichment(self):
        """Test processing enrichment data."""
        payload = {'query': 'passivetotal.org'}
        response = self.client.get_enrichment(**payload)
        wrapped = Response(response)
        assert (wrapped.queryValue) == 'passivetotal.org'

    def test_osint(self):
        """Test getting unique passive DNS records."""
        payload = {'query': 'xxxvideotube.org'}
        response = self.client.get_osint(**payload)
        wrapped = Response(response)
        assert (response['results'])
        record = wrapped.results.pop(0)
        record = Response(record)
        assert (record.source) == 'RiskIQ'
        assert (record.sourceUrl) == "https://www.riskiq.com/blog/riskiq-labs/post/a-brief-encounter-with-slempo"

    def test_malware(self):
        """Test processing malware."""
        payload = {'query': 'noorno.com'}
        response = self.client.get_malware(**payload)
        wrapped = Response(response)
        assert (response['results'])
        record = wrapped.results.pop(0)
        record = Response(record)
        assert (record.source) == 'Threatexpert'
        assert (record.sample) == "7ebf1e2d0c89b1c8124275688c9e8e98"

    def test_subdomains(self):
        """Test processing subdomains."""
        payload = {'query': '*.passivetotal.org'}
        response = self.client.get_subdomains(**payload)
        wrapped = Response(response)
        assert (wrapped.queryValue) == '*.passivetotal.org'
        assert ('www' in wrapped.subdomains)
Exemplo n.º 4
0
def passivs_get_subdomain(query):
    client = EnrichmentRequest(username=username, api_key=api_key)
    result = client.get_subdomains(query=query)
    _ = result['subdomains']
    subdomains = [[passive_get_ip(i)] for i in _]
Exemplo n.º 5
0
import json
import argparse
from passivetotal.libs.dns import DnsRequest
from passivetotal.libs.enrichment import EnrichmentRequest


def get_config():
    conf_file = os.path.join(os.path.expanduser("~"),
                             ".config/passivetotal/api_config.json")
    if os.path.isfile(conf_file):
        with open(conf_file, 'r') as f:
            conf = json.loads(f.read())
    else:
        print('No config file')
        sys.exit(1)
    return conf


if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description='List subdomains for a domain')
    parser.add_argument('DOMAIN', help='Domain')
    args = parser.parse_args()

    conf = get_config()

    client = EnrichmentRequest(conf['username'], conf['api_key'])
    raw_results = client.get_subdomains(query=args.DOMAIN)
    for s in raw_results['subdomains']:
        print(s + '.' + raw_results['primaryDomain'])
Exemplo n.º 6
0
def passivs_get_subdomain(query):
    client = EnrichmentRequest(username=username,api_key=api_key)
    result = client.get_subdomains(query=query)
    _ = result['subdomains']
    subdomains = [[passive_get_ip(i)] for i in _ ]