コード例 #1
0
ファイル: run_transform.py プロジェクト: josephrexme/canari
def run(args):

    [transform, params, value,
     fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    transform_module = None

    fix_binpath(config['default/path'])
    try:
        transform_module = import_transform(transform)

        if os.name == 'posix' and hasattr(transform_module.dotransform,
                                          'privileged') and os.geteuid():
            rc = sudo(sys.argv)
            if rc == 1:
                message(MaltegoTransformResponseMessage() +
                        UIMessage('User cancelled transform.'))
            elif rc == 2:
                message(MaltegoTransformResponseMessage() +
                        UIMessage('Too many incorrect password attempts.'))
            elif rc:
                message(MaltegoTransformResponseMessage() +
                        UIMessage('Unknown error occurred.'))
            exit(0)

        if hasattr(transform_module, 'onterminate'):
            onterminate(transform_module.onterminate)
        else:
            transform_module.__setattr__('onterminate', lambda *args: exit(-1))

        input_entity = to_entity(guess_entity_type(transform_module, fields),
                                 value, fields)

        msg = transform_module.dotransform(
            MaltegoTransformRequestMessage(value, fields, params,
                                           input_entity),
            MaltegoTransformResponseMessage()) if get_transform_version(
                transform_module.dotransform
            ) == 2 else transform_module.dotransform(
                MaltegoTransformRequestMessage(value, fields, params,
                                               input_entity),
                MaltegoTransformResponseMessage(), config)

        if isinstance(msg, MaltegoTransformResponseMessage):
            message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException(
                'Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
コード例 #2
0
def run(args):

    [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    m = None
    pysudo = path.join(get_bin_dir(), 'pysudo')

    fix_binpath(config['default/path'])
    try:
        m = import_transform(transform)

        if name == 'posix' and hasattr(m.dotransform, 'privileged') and geteuid():
# Keep it for another day
#            if platform == 'darwin':
#                execvp(
#                    'osascript',
#                    ['osascript', '-e', 'do shell script "%s" with administrator privileges' % ' '.join(sys.argv)]
#                )
#            if sys.platform.startswith('linux') and path.exists("/usr/bin/gksudo"):
#                execvp('/usr/bin/gksudo', ['/usr/bin/gksudo'] + list(sys.argv))
#            else:
            execvp(pysudo, [pysudo] + list(argv))
            exit(-1)

        if hasattr(m, 'onterminate'):
            onterminate(m.onterminate)
        else:
            m.__setattr__('onterminate', lambda *args: exit(-1))

        msg = m.dotransform(
            type(
                'MaltegoTransformRequestMessage',
                (object,),
                    {
                    'value' : value,
                    'fields' : fields,
                    'params' : params
                }
            )(),
            MaltegoTransformResponseMessage()
        )

        if isinstance(msg, MaltegoTransformResponseMessage):
            message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException('Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
コード例 #3
0
def run(args):

    [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    m = None

    fix_binpath(config['default/path'])
    try:
        m = import_transform(transform)

        if os.name == 'posix' and hasattr(m.dotransform, 'privileged') and os.geteuid():
            rc = sudo(sys.argv)
            if rc == 1:
                message(MaltegoTransformResponseMessage() + UIMessage('User cancelled transform.'))
            elif rc == 2:
                message(MaltegoTransformResponseMessage() + UIMessage('Too many incorrect password attempts.'))
            elif rc:
                message(MaltegoTransformResponseMessage() + UIMessage('Unknown error occurred.'))
            exit(0)

        if hasattr(m, 'onterminate'):
            onterminate(m.onterminate)
        else:
            m.__setattr__('onterminate', lambda *args: exit(-1))

        msg = m.dotransform(
            type(
                'MaltegoTransformRequestMessage',
                (object,),
                    {
                    'value' : value,
                    'fields' : fields,
                    'params' : params
                }
            )(),
            MaltegoTransformResponseMessage()
        )

        if isinstance(msg, MaltegoTransformResponseMessage):
            message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException('Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
コード例 #4
0
ファイル: run_transform.py プロジェクト: andreoli/canari
def run(args):

    [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    transform_module = None

    fix_binpath(config['default/path'])
    try:
        transform_module = import_transform(transform)

        if os.name == 'posix' and hasattr(transform_module.dotransform, 'privileged') and os.geteuid():
            rc = sudo(sys.argv)
            if rc == 1:
                message(MaltegoTransformResponseMessage() + UIMessage('User cancelled transform.'))
            elif rc == 2:
                message(MaltegoTransformResponseMessage() + UIMessage('Too many incorrect password attempts.'))
            elif rc:
                message(MaltegoTransformResponseMessage() + UIMessage('Unknown error occurred.'))
            exit(0)

        if hasattr(transform_module, 'onterminate'):
            onterminate(transform_module.onterminate)
        else:
            transform_module.__setattr__('onterminate', lambda *args: exit(-1))

        input_entity = to_entity(guess_entity_type(transform_module, fields), value, fields)

        msg = transform_module.dotransform(
            MaltegoTransformRequestMessage(value, fields, params, input_entity),
            MaltegoTransformResponseMessage()
        ) if get_transform_version(transform_module.dotransform) == 2 else transform_module.dotransform(
            MaltegoTransformRequestMessage(value, fields, params, input_entity),
            MaltegoTransformResponseMessage(),
            config
        )

        if isinstance(msg, MaltegoTransformResponseMessage):
            message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException('Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
コード例 #5
0
def run(args):

    [transform, params, value, fields] = parseargs(['canari %s' % cmd_name(__name__)] + args)

    m = None
    fix_binpath(config['default/path'])
    try:
        m = import_transform(transform)

        if name == 'posix' and hasattr(m.dotransform, 'privileged') and geteuid():
            execvp('sudo', ['sudo'] + list(argv))
            exit(-1)

        if hasattr(m, 'onterminate'):
            onterminate(m.onterminate)
        else:
            m.__setattr__('onterminate', lambda *args: exit(-1))

        msg = m.dotransform(
            type(
                'MaltegoTransformRequestMessage',
                (object,),
                    {
                    'value' : value,
                    'fields' : fields,
                    'params' : params
                }
            )(),
            MaltegoTransformResponseMessage()
        )

        if isinstance(msg, MaltegoTransformResponseMessage):
            console_message(msg)
        elif isinstance(msg, basestring):
            raise MaltegoException(msg)
        else:
            raise MaltegoException('Could not resolve message type returned by transform.')
    except MaltegoException, me:
        croak(str(me))
コード例 #6
0
ファイル: run_server.py プロジェクト: josephrexme/canari
from common import cmd_name, import_transform, fix_binpath, fix_pypath, import_package, get_transform_version
from canari.config import config

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.7'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description='Runs a transform server for the given packages.',
    usage='canari %s <transform package> [...]' % cmd_name(__name__))

parser.add_argument(
    'packages',
    metavar='<package>',
    help=
    'The name of the transform packages you wish to host (e.g. mypkg.transforms).',
    nargs='+')

parser.add_argument('--port',
                    metavar='<port>',
                    default=-1,
                    type=int,
                    help='The port the server will run on.')

parser.add_argument(
コード例 #7
0
ファイル: csv2sheets.py プロジェクト: delawaredfir/canari

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Convert mixed entity type CSVs to separated CSV sheets.',
    usage='canari %s <graph csv> <sheet prefix>' % cmd_name(__name__)
)

parser.add_argument(
    'graph',
    metavar='<graph csv>',
    help='The CSV file containing the output from the mtgx2csv command.'
)

parser.add_argument(
    'prefix',
    metavar='<sheet prefix>',
    help='The prefix to prepend to the generated CSV files.'
)

コード例 #8
0
from re import sub

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.3'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description=
    'Creates a new transform in the specified directory and auto-updates __init__.py.',
    usage='canari %s <transform name> [options]' % cmd_name(__name__))

parser.add_argument('transform',
                    metavar='<transform name>',
                    help='The name of the transform you wish to create.')

parser.add_argument(
    '-d',
    '--transform-dir',
    metavar='<dir>',
    help='The directory in which you wish to create the transform.',
    default=None)


def help_():
    parser.print_help()
コード例 #9
0

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Runs Canari local transforms in a terminal-friendly fashion.',
    usage='canari %s <transform> [param1 ... paramN] <value> [field1=value1...#fieldN=valueN]' % cmd_name(__name__)
)

parser.add_argument(
    'transform',
    metavar='<transform>',
    help='The name of the transform you wish to run (e.g. canari.transforms.nmapfastscan).'
)

parser.add_argument(
    'value',
    metavar='<value>',
    help='The value of the input entity being passed into the local transform.'
)

parser.add_argument(
コード例 #10
0
ファイル: run_server.py プロジェクト: delawaredfir/canari

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.6'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Runs a transform server for the given packages.',
    usage='canari %s <transform package> [...]' % cmd_name(__name__)
)

parser.add_argument(
    'packages',
    metavar='<package>',
    help='The name of the transform packages you wish to host (e.g. mypkg.transforms).',
    nargs='+'
)

parser.add_argument(
    '--port',
    metavar='<port>',
    default=-1,
    type=int,
    help='The port the server will run on.'
コード例 #11
0

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Creates a new transform in the specified directory and auto-updates __init__.py.',
    usage='canari %s <transform name> [options]' % cmd_name(__name__)
)

parser.add_argument(
    'transform',
    metavar='<transform name>',
    help='The name of the transform you wish to create.'
)

parser.add_argument(
    '-d',
    '--transform-dir',
    metavar='<dir>',
    help='The directory in which you wish to create the transform.',
    default=None
)
コード例 #12
0

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.3'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Convert mixed entity type CSVs to separated CSV sheets.',
    usage='canari %s <graph csv> [sheet prefix]' % cmd_name(__name__)
)

parser.add_argument(
    'graph',
    metavar='<graph csv>',
    help='The CSV file containing the output from the mtgx2csv command.'
)

parser.add_argument(
    'prefix',
    metavar='[sheet prefix]',
    nargs='?',
    help='The prefix to prepend to the generated CSV files.'
)
コード例 #13
0

__author__ = "Nadeem Douba"
__copyright__ = "Copyright 2012, Canari Project"
__credits__ = []

__license__ = "GPL"
__version__ = "0.1"
__maintainer__ = "Nadeem Douba"
__email__ = "*****@*****.**"
__status__ = "Development"


parser = ArgumentParser(
    description="Deletes a transform in the specified directory and auto-updates __init__.py.",
    usage="canari %s <transform name> [options]" % cmd_name(__name__),
)

parser.add_argument("transform", metavar="<transform name>", help="The name of the transform you wish to delete.")

parser.add_argument(
    "-d",
    "--transform-dir",
    metavar="<dir>",
    help="The directory from which you wish to delete the transform.",
    default=getcwd(),
)


def help():
    parser.print_help()
コード例 #14
0
ファイル: mtgx2csv.py プロジェクト: digital4rensics/canari

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Convert Maltego graph files (*.mtgx) to comma-separated values (CSV) file.',
    usage='canari %s <graph>' % cmd_name(__name__)
)

parser.add_argument(
    'graph',
    metavar='<graph>',
    help='The name of the graph file you wish to convert to CSV.',
)


def parse_args(args):
    return parser.parse_args(args)


def help():
    parser.print_help()
コード例 #15
0
ファイル: install_package.py プロジェクト: jmrwilliams/canari
__credits__ = []

__license__ = "GPL"
__version__ = "0.5"
__maintainer__ = "Nadeem Douba"
__email__ = "*****@*****.**"
__status__ = "Development"


# Dictionary of detected transforms
transforms = {}

# Argument parser
parser = ArgumentParser(
    description="Installs and configures canari transform packages in Maltego's UI",
    usage="canari %s <package> [options]" % cmd_name(__name__),
)

parser.add_argument("package", metavar="<package>", help="the name of the canari transforms package to install.")
parser.add_argument(
    "-w",
    "--working-dir",
    metavar="[working dir]",
    default=os.path.join(os.path.expanduser("~"), ".canari"),
    help="the path that will be used as the working directory for the transforms being installed (default: current working directory)",
)
parser.add_argument(
    "-s",
    "--settings-dir",
    metavar="[settings dir]",
    default=detect_settings_dir,
コード例 #16
0
ファイル: install_plume.py プロジェクト: andreoli/canari
from common import read_template, write_template, build_skeleton, cmd_name


__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description='Sets up Canari Plume directory structure and configuration files.',
    usage='canari %s [--install-dir <dir>]' % cmd_name(__name__)
)

parser.add_argument(
    '-d',
    '--install-dir',
    metavar='<dir>',
    help='The name of the canari package you wish to create.',
    default=os.getcwd()
)


def write_setup(base_dir, values):
    plume_sh = os.path.join(base_dir, 'plume.sh')
    write_template(os.path.join(base_dir, 'canari.conf'), read_template('canari', values))
    write_template(os.path.join(base_dir, 'plume.py'), read_template('plume_wsgi', values))
コード例 #17
0
ファイル: install_plume.py プロジェクト: andreoli/canari
from common import read_template, write_template, build_skeleton, cmd_name

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description=
    'Sets up Canari Plume directory structure and configuration files.',
    usage='canari %s [--install-dir <dir>]' % cmd_name(__name__))

parser.add_argument('-d',
                    '--install-dir',
                    metavar='<dir>',
                    help='The name of the canari package you wish to create.',
                    default=os.getcwd())


def write_setup(base_dir, values):
    plume_sh = os.path.join(base_dir, 'plume.sh')
    write_template(os.path.join(base_dir, 'canari.conf'),
                   read_template('canari', values))
    write_template(os.path.join(base_dir, 'plume.py'),
                   read_template('plume_wsgi', values))
    write_template(plume_sh, read_template('plume_sh', values))
コード例 #18
0
ファイル: run_server.py プロジェクト: digital4rensics/canari

__author__ = "Nadeem Douba"
__copyright__ = "Copyright 2012, Canari Project"
__credits__ = []

__license__ = "GPL"
__version__ = "0.4"
__maintainer__ = "Nadeem Douba"
__email__ = "*****@*****.**"
__status__ = "Development"


parser = ArgumentParser(
    description="Runs a transform server for the given packages.",
    usage="canari %s <transform package> [...]" % cmd_name(__name__),
)

parser.add_argument(
    "packages",
    metavar="<package>",
    help="The name of the transform packages you wish to host (e.g. mypkg.transforms).",
    nargs="+",
)

parser.add_argument("--port", metavar="<port>", default=-1, type=int, help="The port the server will run on.")

parser.add_argument(
    "--disable-ssl",
    action="store_true",
    default=False,
コード例 #19
0
ファイル: create_package.py プロジェクト: josephrexme/canari
import canari


__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.7'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description='Creates a Canari transform package skeleton.',
    usage='canari %s <package name>' % cmd_name(__name__)
)

parser.add_argument(
    'package',
    metavar='<package name>',
    help='The name of the canari package you wish to create.'
)


def write_setup(package_name, values):
    write_template(path.join(package_name, '.canari'), read_template('_canari', values))
    write_template(path.join(package_name, 'setup.py'), read_template('setup', values))
    write_template(path.join(package_name, 'README.md'), read_template('README', values))
    write_template(path.join(package_name, 'MANIFEST.in'), read_template('MANIFEST', values))
コード例 #20
0
ファイル: banner.py プロジェクト: delawaredfir/canari

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Show banner of Canari framework that is currently active.',
    usage='canari %s' % cmd_name(__name__)
)


def help():
    parser.print_help()


def description():
    return parser.description


def run(args):
    print """
    Your running ...
_________                           _____          _______  _______
コード例 #21
0
ファイル: version.py プロジェクト: josephrexme/canari
from argparse import ArgumentParser
from sys import modules

import canari

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.2'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description='Show version of Canari framework that is currently active.',
    usage='canari %s' % cmd_name(__name__))


def help_():
    parser.print_help()


def description():
    return parser.description


def run(args):
    print 'Your running *Canari Framework v%s*' % canari.__version__
コード例 #22
0
ファイル: run_transform.py プロジェクト: josephrexme/canari
__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.5'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description='Runs Canari local transforms in a terminal-friendly fashion.',
    usage=
    'canari %s <transform> [param1 ... paramN] <value> [field1=value1...#fieldN=valueN]'
    % cmd_name(__name__))

parser.add_argument(
    'transform',
    metavar='<transform>',
    help=
    'The name of the transform you wish to run (e.g. sploitego.transforms.nmapfastscan).'
)

parser.add_argument(
    'value',
    metavar='<value>',
    help='The value of the input entity being passed into the local transform.'
)

parser.add_argument(
コード例 #23
0
ファイル: help.py プロジェクト: jmrwilliams/canari
__author__ = "Nadeem Douba"
__copyright__ = "Copyright 2012, Canari Project"
__credits__ = []

__license__ = "GPL"
__version__ = "0.2"
__maintainer__ = "Nadeem Douba"
__email__ = "*****@*****.**"
__status__ = "Development"

cmds = get_commands()
cmds.update({"help": modules[__name__]})

parser = ArgumentParser(
    description="Shows help related to various canari commands", usage="canari %s <command>" % cmd_name(__name__)
)

parser.add_argument(
    "command",
    metavar="<command>",
    choices=cmds,
    default="help",
    nargs="?",
    help="The canari command you want help for (%s)" % ", ".join(cmds),
)


def help_():
    parser.print_help()
コード例 #24
0
__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.2'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

cmds = get_commands()
cmds.update({'help': modules[__name__]})

parser = ArgumentParser(
    description='Shows help related to various canari commands',
    usage='canari %s <command>' % cmd_name(__name__))

parser.add_argument('command',
                    metavar='<command>',
                    choices=cmds,
                    default='help',
                    nargs='?',
                    help='The canari command you want help for (%s)' %
                    ', '.join(cmds))


def help_():
    parser.print_help()


def description():
コード例 #25
0
ファイル: help.py プロジェクト: delawaredfir/canari
__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

cmds = get_commands()
cmds.update({'help': modules[__name__]})

parser = ArgumentParser(
    description='Shows help related to various canari commands',
    usage='canari %s <command>' % cmd_name(__name__)
)

parser.add_argument(
    'command',
    metavar='<command>',
    choices=cmds,
    default='help',
    nargs='?',
    help='The canari command you want help for (%s)' % ', '.join(cmds)
)


def help():
    parser.print_help()
コード例 #26
0
__status__ = 'Development'

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description=
    'Converts Maltego entity definition files to Canari python classes. Excludes Maltego built-in entities.',
    usage='canari %s [output file] [options]' % cmd_name(__name__))

parser.add_argument('outfile',
                    metavar='[output file]',
                    help='Which file to write the output to.',
                    default=None,
                    nargs='?')

parser.add_argument(
    '--mtz-file',
    '-m',
    metavar='<mtzfile>',
    help='A *.mtz file containing an export of Maltego entities.',
    required=False)

parser.add_argument(
コード例 #27
0
ファイル: generate_entities.py プロジェクト: andreoli/canari
__email__ = '*****@*****.**'
__status__ = 'Development'

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.1'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description='Converts Maltego entity definition files to Canari python classes. Excludes Maltego built-in entities.',
    usage='canari %s [output file] [options]' % cmd_name(__name__)
)

parser.add_argument(
    'outfile',
    metavar='[output file]',
    help='Which file to write the output to.',
    default=None,
    nargs='?'
)

parser.add_argument(
    '--mtz-file',
    '-m',
    metavar='<mtzfile>',
    help='A *.mtz file containing an export of Maltego entities.',
コード例 #28
0
__license__ = 'GPL'
__version__ = '0.2'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


# Dictionary of detected transforms
transforms = {}
transformsets = {}

# Argument parser
parser = ArgumentParser(
    description="Creates an importable Maltego profile (*.mtz) file.",
    usage='canari %s <package> [options]' % cmd_name(__name__)
)

parser.add_argument(
    'package',
    metavar='<package>',
    help='the name of the canari transforms package to install.'
)

parser.add_argument(
    '-w',
    '--working-dir',
    metavar='[working dir]',
    default=os.path.join(os.path.expanduser('~'), '.canari'),
    help='the path that will be used as the working directory for the transforms being installed (default: current working directory)'
)
コード例 #29
0
ファイル: create_package.py プロジェクト: delawaredfir/canari

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.6'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


parser = ArgumentParser(
    description='Creates a Canari transform package skeleton.',
    usage='canari %s <package name>' % cmd_name(__name__)
)

parser.add_argument(
    'package',
    metavar='<package name>',
    help='The name of the canari package you wish to create.'
)


def write_setup(package_name, values):
    write_template(path.join(package_name, '.canari'), read_template('_canari', values))
    write_template(path.join(package_name, 'setup.py'), read_template('setup', values))
    write_template(path.join(package_name, 'README.md'), read_template('README', values))
    write_template(path.join(package_name, 'MANIFEST.in'), read_template('MANIFEST', values))
コード例 #30
0
from os import path


__author__ = "Nadeem Douba"
__copyright__ = "Copyright 2012, Canari Project"
__credits__ = []

__license__ = "GPL"
__version__ = "0.5"
__maintainer__ = "Nadeem Douba"
__email__ = "*****@*****.**"
__status__ = "Development"


parser = ArgumentParser(
    description="Creates a Canari transform package skeleton.", usage="canari %s <package name>" % cmd_name(__name__)
)

parser.add_argument("package", metavar="<package name>", help="The name of the canari package you wish to create.")


def write_setup(package_name, values):
    write_template(path.join(package_name, ".canari"), read_template("_canari", values))
    write_template(path.join(package_name, "setup.py"), read_template("setup", values))
    write_template(path.join(package_name, "README.md"), read_template("README", values))
    write_template(path.join(package_name, "MANIFEST.in"), read_template("MANIFEST", values))


def write_root(base, init):
    write_template(path.join(base, "__init__.py"), init + generate_all("resources", "transforms"))
コード例 #31
0
__credits__ = []

__license__ = 'GPL'
__version__ = '0.4'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'


# Dictionary of detected transforms
transforms = {}

# Argument parser
parser = ArgumentParser(
    description="Installs and configures canari transform packages in Maltego's UI",
    usage='canari %s <package> [options]' % cmd_name(__name__)
)

parser.add_argument(
    'package',
    metavar='<package>',
    help='the name of the canari transforms package to install.'
)
parser.add_argument(
    '-w',
    '--working-dir',
    metavar='[working dir]',
    default=os.path.join(os.path.expanduser('~'), '.canari'),
    help='the path that will be used as the working directory for the transforms being installed (default: current working directory)'
)
parser.add_argument(
コード例 #32
0
from zipfile import ZipFile

__author__ = 'Nadeem Douba'
__copyright__ = 'Copyright 2012, Canari Project'
__credits__ = []

__license__ = 'GPL'
__version__ = '0.4'
__maintainer__ = 'Nadeem Douba'
__email__ = '*****@*****.**'
__status__ = 'Development'

parser = ArgumentParser(
    description=
    'Convert Maltego graph files (*.mtgx) to comma-separated values (CSV) file.',
    usage='canari %s <graph>' % cmd_name(__name__))

parser.add_argument(
    'graph',
    metavar='<graph>',
    help='The name of the graph file you wish to convert to CSV.',
)


def parse_args(args):
    return parser.parse_args(args)


def help_():
    parser.print_help()