def main(argv=None): parser = argparse.ArgumentParser( formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('-l', '--loglevel', choices=('DEBUG', 'INFO', 'WARN', 'ERROR'), default='INFO', help='Show only messages of at least this level') parser.add_argument( '--bright', action='store_true', help='Use colors corresponding to a bright background (if available)') parser.add_argument('-p', '--port', type=int, help='Server port') parser.add_argument('-i', '--ip', help='Server IP') parser.add_argument('-I', '--intf', default='lo', help='Interface to sniff/intercept') parser.add_argument('-m', '--method', default='GET', help='HTTP Method to use') parser.add_argument('-H', '--header', action='append', help='Additional HTTP-Headers') parser.add_argument('-d', '--data', help='HTTP POST data') parser.add_argument('-u', '--url', help='URL to send requests to (victim)') parser.add_argument('-b', '--cookies', help='Cookies to be send by the victim') subparsers = parser.add_subparsers(title='Plugins', dest="PLUGIN") subparsers.required = True for name, plugin in Demos.available_plugins.items(): plugin_parser = subparsers.add_parser( name, formatter_class=argparse.ArgumentDefaultsHelpFormatter) plugin.add_arguments(plugin_parser) args = parser.parse_args(argv) default_config(level=args.loglevel) demos = Demos(args) demos.start_plugin(args.PLUGIN)
def main(argv=None): default_config() desc = 'TCP Catch All {}'.format(__version__) desc += '\n' + '#' * len(desc) parser = argparse.ArgumentParser(description=desc, formatter_class=argparse.RawDescriptionHelpFormatter) parser.add_argument('-i', '--interface', required=True, help='interface to sniff on (e.g. eth0)') parser.add_argument('-s', '--src-ip', help='start servers only if a request is coming from this ip') parser.add_argument('-b', '--bind-ip', default='', help='IP to bind to (e.g. the IP of the interface)') parser.add_argument('-p', '--port', action='append', type=int, help='Start server for port (allowed multiple times)') parser.add_argument('-n', '--notify', action='store_true', help='show a notification with notify-send when a server was started') parser.add_argument('-d', '--dir', help='target directory for logfiles') parser.add_argument('-r', '--drop-rst', action='store_true', help='use iptables to drop outgoing RST packets (required to accept even the earliest request)') args = parser.parse_args(args=argv) cmd = ['iptables', '-A', 'OUTPUT', '-o', args.interface, '-p', 'tcp', '--tcp-flags', 'RST', 'RST', '-j', 'DROP'] if args.src_ip: cmd += ['-d', args.src_ip] if args.bind_ip: cmd += ['-s', args.bind_ip] if args.drop_rst: subprocess.check_call(cmd) else: print('You might want to consider to filter outgoing closed ports by') print(' '.join(cmd)) tca = TCPCatchAll(args.interface, args.bind_ip, args.src_ip, args.notify, args.dir) signal.signal(signal.SIGUSR1, partial(stop_server_handler, tca)) if args.port: for port in args.port: tca.start_server(port) tca.run()
dbvuln.risk_factor = vuln.get_vuln_risk['risk_factor'] dbvuln.solution = vuln.solution dbvuln.synopsis = vuln.synopsis if 'plugin_modification_date' in plugin: dbvuln.plugin_modificated = datetime.strptime(plugin['plugin_modification_date'], '%Y/%m/%d') if 'plugin_publication_date' in plugin: dbvuln.plugin_published = datetime.strptime(plugin['plugin_publication_date'], '%Y/%m/%d') session.add(dbvuln) for name, value in vuln.get_vuln_info.items(): dbvi = VulnInfo() dbvi.vuln = dbvuln dbvi.name = name dbvi.value = json.dumps(value) session.add(dbvi) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('REPORT', type=argparse.FileType('r'), nargs='+') args = parser.parse_args() default_config(disable_existing_loggers=False) connect() for report in args.REPORT: log.info(report.name) import_report(report)
install_hook() parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('TEMPLATE', type=argparse.FileType('rb')) parser.add_argument('-m', '--marker', default='§', help='marker for encrypted sample') parser.add_argument('-H', '--host', help='host to attack') parser.add_argument('-p', '--port', type=int, help='port to attack') parser.add_argument('-s', '--ssl', action='store_true', help='use ssl') parser.add_argument('-e', '--encoding', action='append', choices=('base64', 'lower_hex', 'upper_hex', 'url'), help='chain of encoders to use') parser.add_argument('-b', '--blocksize', default=16, type=int, help='blocksize to use') parser.add_argument('-v', '--verbose', action='store_true', help='increase verbosity') args = parser.parse_args() if default_config: default_config(level='DEBUG' if args.verbose else 'INFO', disable_existing_loggers=False) else: logging.basicConfig(level='DEBUG' if args.verbose else 'INFO') decrypted = run(target=(args.host, args.port), template=args.TEMPLATE.read(), use_ssl=args.ssl, marker=args.marker.encode('utf-8'), encodings=args.encoding, blocksize=args.blocksize) log.info("Decrypted: %s", decrypted) log.info("Decrypted (hex): %s", b2a_hex(decrypted).decode()) log.info("Decrypted (raw): %s", decrypted.decode())
from helperlib.logging import default_config, LogPipe from helperlib.exception import install_hook from helperlib.terminal import Table, ProgressBar, TerminalController from helperlib import * import logging import time import subprocess default_config(level='DEBUG') install_hook() logging.debug('test') logging.info('test') logging.warning('test') logging.error('test') info("Pending....") done() x = prompt("Input") success(x) spinner.waitfor("Doing long running stuff") time.sleep(3) spinner.status("Almost done") time.sleep(2) spinner.succeeded() try: raise ValueError(123) except: