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))
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)
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)
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 _]
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'])
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 _ ]