Exemple #1
0
    def create_entities(cls, request, response):
        domain_name = request.Value
        try:
            path = pathlib.Path(__file__).parent.absolute()
            with open(f"{path}/../settings.json", 'r') as h:
                contents = h.read().strip('\n')
                settings = json.loads(contents)
                key = settings['APIKEY']
                h.close()
            intelx = intelxapi.intelx(key)
            results = intelx.search(domain_name)
            for record in results['records']:
                if record['name'] == "":
                    name = record['systemid']
                else:
                    # we have to strip all unicode chracters, cuz maltego-trx can not handle them properly
                    name = record['name']
                    stripped_name = (c for c in name if 0 < ord(c) < 127)
                    name = ''.join(stripped_name)

                entity = response.addEntity('intelx.searchresult')
                entity.addProperty('properties.intelligencexsearchresult',
                                   'properties.intelligencexsearchresult',
                                   'loose', name)
                entity.addProperty('SID', 'SID', 'loose', record['systemid'])
                entity.addProperty("Type", "Type", "loose", record['type'])
                entity.addProperty("Media", "Media", "loose", record['media'])
                entity.addProperty("Bucket", "Bucket", "loose",
                                   record['bucket'])

        except Exception as e:
            response.addUIMessage("Error: " + str(e), UIM_TYPES["partial"])
Exemple #2
0
 def create_entities(cls, request, response):
     domain_name = request.Value
     try:
         path = pathlib.Path(__file__).parent.absolute()
         with open(f"{path}/../settings.json", 'r') as h:
             contents = h.read().strip('\n')
             settings = json.loads(contents)
             key = settings['APIKEY']
             h.close()
         intelx = intelxapi.intelx(key, ua='IX Maltego Transform/2')
         results = intelx.phonebooksearch(domain_name, target=2)
         for selector in results:
             for result in selector['selectors']:
                 response.addEntity(Email, result['selectorvalue'])
     except Exception as e:
         response.addUIMessage("Error: " + str(e), UIM_TYPES["partial"])
Exemple #3
0
    def create_entities(cls, request, response):
        domain_name = request.Value
        try:
            path = pathlib.Path(__file__).parent.absolute()
            with open(f"{path}/../settings.json", 'r') as h:
                contents = h.read().strip('\n')
                settings = json.loads(contents)
                key = settings['APIKEY']
                h.close()
            intelx = intelxapi.intelx(key, ua='IX Maltego Transform/3')
            results = intelx.search(
                domain_name, maxresults=12
            )  # request.Slider() returns 100 in Maltego CE, temp hardcode to 12 for testing
            for record in results['records']:
                if record['name'] == "":
                    name = record['systemid']
                else:
                    # we have to strip all unicode chracters, cuz maltego-trx can not handle them properly
                    name = record['name']
                    stripped_name = (c for c in name if 0 < ord(c) < 127)
                    name = ''.join(stripped_name)

                entity = response.addEntity('intelx.searchresult')
                entity.addProperty('properties.intelligencexsearchresult',
                                   'properties.intelligencexsearchresult',
                                   'loose', name)
                entity.addProperty('SID', 'SID', 'loose', record['systemid'])
                entity.addProperty("Type", "Type", "loose", record['type'])
                entity.addProperty("Media", "Media", "loose", record['media'])
                entity.addProperty("Bucket", "Bucket", "loose",
                                   record['bucket'])

                preview = intelx.FILE_PREVIEW(record['type'], record['media'],
                                              0, record['storageid'],
                                              record['bucket'])
                preview = preview.replace('\n', '<br>')
                preview = html.escape(preview)

                stripped_preview = (c for c in preview if 0 < ord(c) < 127)
                preview = ''.join(stripped_preview)

                entity.addDisplayInformation(preview, 'Preview')

        except Exception as e:
            response.addUIMessage("Error: " + str(e), UIM_TYPES["partial"])
Exemple #4
0
    def create_entities(cls, request, response):
        domain_name = request.Value
        try:
            path = pathlib.Path(__file__).parent.absolute()
            with open(f"{path}/../settings.json", 'r') as h:
                contents = h.read().strip('\n')
                settings = json.loads(contents)
                key = settings['APIKEY']
                h.close()
            intelx = intelxapi.intelx(key)
            results = intelx.phonebooksearch(domain_name, target=3)
            for selector in results:
                for result in selector['selectors']:
                    entity = response.addEntity(URL)
                    entity.addProperty('short-title', 'Title', 'loose',
                                       result['selectorvalue'])
                    entity.addProperty('url', 'URL', 'loose',
                                       result['selectorvalue'])

        except Exception as e:
            response.addUIMessage("Error: " + str(e), UIM_TYPES["partial"])
Exemple #5
0
    def create_entities(cls, request, response):
        domain_name = request.Value
        try:
            path = pathlib.Path(__file__).parent.absolute()
            with open(f"{path}/../settings.json", 'r') as h:
                contents = h.read().strip('\n')
                settings = json.loads(contents)
                key = settings['APIKEY']
                h.close()
            intelx = intelxapi.intelx(key, ua='IX Maltego Transform/3')
            history = intelx.history(str(request.getProperty("Indexfile")))
            for entry in history:
                entity = response.addEntity('intelx.searchresult',
                                            entry['name'])
                entity.addProperty('SID', 'SID', 'loose', entry['systemid'])
                entity.addProperty("Type", "Type", "loose", entry['type'])
                entity.addProperty("Media", "Media", "loose", entry['media'])
                entity.addProperty("Bucket", "Bucket", "loose",
                                   entry['bucket'])

        except Exception as e:
            response.addUIMessage("Error: " + str(e), UIM_TYPES["partial"])
Accountslist=[]
try:
    with open('Credstuffing_October.csv','r') as f:
        
        for value in f:
            Accountslist.append(value.strip())
            
except FileNotFoundError:
    print('Error opening file')

accounts100=Accountslist[]

print('The number of accounts to be searched will be %s'%(len(accounts100)))

intelx=intelx("API KEY") # API KEY from Intelx


#results=[] # uncomment for using the first time
for target in accounts100:
    result=intelx.search(target)
    results.append(result)

 #%%   

for resu in results:
    for record in resu['records']:
        intelx.FILE_READ(record['systemid'], 0, record['bucket'], "file_%s.txt"%(record['randomid']))

#%%
accountsval=[]
Exemple #7
0
from intelxapi import intelx

startdate = "2014-01-01 00:00:00"
enddate = "2015-02-02 23:00:00"

intelx = intelx()
search = intelx.search('riseup.net')

for record in search['records']:
    print(f"Found media type {record['media']} in {record['bucket']}")
Exemple #8
0
from intelxapi import intelx
import modules.key as KEY

intelx = intelx(KEY.intelx)


def get_pastes(target):
    results = intelx.search(target, buckets=['pastes'], maxresults=2000)
    record_count = len(results['records'])
    print(
        f"|----[INFO][>] Found {record_count} records for {target} in bucket 'pastes'"
    )

    if record_count > 0:
        print("|----[INFO][>] Downloading paste in file.txt...")
        intelx.FILE_READ(results['records'][0]['systemid'], 0,
                         results['records'][0]['bucket'], "file.txt")


def get_leaks(target):
    results = intelx.search(target,
                            buckets=['leaks.public', 'leaks.private'],
                            maxresults=2000)
    record_count = len(results['records'])
    print(
        f"|----[INFO][>] Found {record_count} records for {target} in bucket 'leaks'"
    )

    if record_count > 0:
        print("|----[INFO][>] Downloading leak in file.txt...")
        intelx.FILE_READ(results['records'][0]['systemid'], 0,
Exemple #9
0
                        help="set the search type to a phonebook search")
    parser.add_argument('--emails',
                        help="show only emails from phonebook results",
                        action="store_true")
    parser.add_argument('--capabilities',
                        help="show your account's capabilities",
                        action="store_true")
    parser.add_argument('--stats',
                        help="show stats of search results",
                        action="store_true")
    parser.add_argument('--raw', help="show raw json", action="store_true")
    args = parser.parse_args()

    # configure IX & the API key
    if 'INTELX_KEY' in os.environ:
        ix = intelx(os.environ['INTELX_KEY'])

    elif args.apikey:
        ix = intelx(args.apikey)

    else:
        print(
            'No API key specified. Please use the "-apikey" parameter or set the environment variable "INTELX_KEY".'
        )
        exit()

    # main application flow
    if not args.raw:
        print(banner)

    if len(sys.argv) < 2:
Exemple #10
0
    def create_entities(cls, request, response):

        try:

            path = pathlib.Path(__file__).parent.absolute()
            sid = request.getProperty("SID")

            with open(f"{path}/../settings.json", 'r') as h:
                contents = h.read().strip('\n')
                settings = json.loads(contents)
                key = settings['APIKEY']
                h.close()

            intelx = intelxapi.intelx(key, ua='IX Maltego Transform/3')
            selectors = intelx.selectors(sid)

            for selector in selectors:

                if selector['type'] == 1:  # Email
                    entity = response.addEntity(Email, selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                elif selector['type'] == 2:  # Domain
                    entity = response.addEntity(Domain, selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                elif selector['type'] == 3:  # URL
                    entity = response.addEntity(URL, selector['selector'])
                    entity.addProperty('url', 'url', 'loose',
                                       selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                elif selector['type'] == 4:  # Phone
                    entity = response.addEntity(PhoneNumber,
                                                selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                elif selector['type'] == 6:  # IP
                    entity = response.addEntity(IPAddress,
                                                selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                elif selector['type'] == 17:  # Credit card
                    entity = response.addEntity('intelx.creditcard',
                                                selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                elif selector['type'] == 22:  # MAC address
                    entity = response.addEntity('intelx.macaddress',
                                                selector['selector'])
                    entity.addProperty('MAC Address', 'MAC Address', 'loose',
                                       selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

                else:
                    entity = response.addEntity('intelx.selector',
                                                selector['selector'])
                    entity.addProperty('SID', 'SID', 'loose',
                                       selector['systemid'])

        except Exception as e:
            response.addUIMessage("Error: " + str(e), UIM_TYPES["partial"])