RegProbeBasic Deprecated

Deprecated. No available replacement.

python · D2 (Deprecated)

Source

import demistomock as demisto  # noqa: F401
from CommonServerPython import *  # noqa: F401

keys = [r"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
        r"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run",
        r"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components",
        r"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components",
        r"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run",
        r"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce"]


def Reg2Markdown(baseKey, regResp):
    res, mdRows = [], ''
    if isError(regResp[0]):
        res += regResp
    elif len(regResp) > 1:
        contents = 'Unexpected output from D2RegQuery - more than one entry returned:\n' + '\n'.join([str(x) for x in regResp])
        res.append({'Type': entryTypes['error'], 'ContentsFormat': formats['text'],
                   'Contents': contents})
    else:
        subkeys = regResp[0]['Contents']
        for sk in subkeys:
            if type(subkeys[sk]) == dict:
                for ssk in subkeys[sk]:
                    mdRows += '\n|' + str(baseKey) + '\\' + str(sk) + '|' + str(ssk) + '|' + str(subkeys[sk][ssk]) + '|'
            else:
                mdRows += '\n|' + str(baseKey) + '|' + str(sk) + '|' + str(subkeys[sk]) + '|'
    return (res, mdRows)


res = []
if 'system' in demisto.args():
    system = demisto.args()['system']
elif 'using' in demisto.args():
    system = demisto.args()['using']
else:
    demisto.results({'Type': entryTypes['error'], 'ContentsFormat': formats['text'],
                    'Contents': 'You must provide "system" or "using" as arguments.'})
    sys.exit(0)
mdTable = '### Results for short registry probe of system *' + system + '*'
mdTable += '\n|Key|SubKey|Value|'
mdTable += '\n|-----|------|-----|'
for k in keys:
    regPath = NormalizeRegistryPath(k)
    cmdResp = demisto.executeCommand('D2RegQuery', {'using': system, 'regpath': regPath})
    moreEntries, moreRows = Reg2Markdown(regPath, cmdResp)
    mdTable += moreRows
    res += moreEntries
res.append({'Type': entryTypes['note'], 'ContentsFormat': formats['markdown'], 'Contents': mdTable})
demisto.results(res)