mirror of
https://github.com/hak5/nano-tetra-modules.git
synced 2025-10-29 16:58:09 +00:00
55 lines
2.6 KiB
Python
Executable File
55 lines
2.6 KiB
Python
Executable File
import os
|
|
import sys
|
|
import argparse
|
|
from PortalCloner import PortalCloner
|
|
|
|
parser = argparse.ArgumentParser(description='Portal cloner for the WiFi Pineapple that conforms to the Evil Portal structure.')
|
|
parser.add_argument('--portalName', action='store', dest='portalName', help='The name of the cloned portal', required=True)
|
|
parser.add_argument('--portalArchive', action='store', dest='portalArchive', help='The directory in which to store the portal', required=True)
|
|
parser.add_argument('--url', action='store', dest='url', help='The URL a site to clone. If a captive portal exists it will be cloned instead.', required=True)
|
|
parser.add_argument('--injectSet', action='store', dest='injectionSet', help='The name of an injection set to use', required=True)
|
|
parser.add_argument('--injectjs', action='store_true', dest='injectjs', help='Inject JavaScript from injectSet into the cloned portal', required=False)
|
|
parser.add_argument('--injectcss', action='store_true', dest='injectcss', help='Inject CSS from injectSet into the cloned portal', required=False)
|
|
parser.add_argument('--injecthtml', action='store_true', dest='injecthtml', help='Inject HTML from injectSet into the cloned portal', required=False)
|
|
parser.add_argument('--injectphp', action='store_true', dest='injectphp', help='Inject PHP from injectSet into the cloned portal', required=False)
|
|
parser.add_argument('--stripjs', action='store_true', dest='stripjs', help='Strip inline JavaScript from the cloned portal', required=False)
|
|
parser.add_argument('--stripcss', action='store_true', dest='stripcss', help='Strip inline CSS from the cloned portal', required=False)
|
|
parser.add_argument('--striplinks', action='store_true', dest='striplinks', help='Strip links from the cloned portal', required=False)
|
|
parser.add_argument('--stripforms', action='store_true', dest='stripforms', help='Strip form elements from the cloned portal', required=False)
|
|
parser.add_argument('--targeted', action='store_true', dest='targeted', help='Clone to a targeted portal', required=False)
|
|
args = parser.parse_args()
|
|
|
|
|
|
cloner = PortalCloner(args.portalName, args.portalArchive, args.injectionSet, args.targeted)
|
|
cloner.fetchPage(args.url)
|
|
cloner.cloneResources()
|
|
|
|
|
|
if args.stripjs is not False:
|
|
cloner.stripJS()
|
|
|
|
if args.stripcss is not False:
|
|
cloner.stripCSS()
|
|
|
|
if args.stripforms is not False:
|
|
cloner.stripForms()
|
|
|
|
if args.striplinks is not False:
|
|
cloner.stripLinks()
|
|
|
|
|
|
|
|
if args.injectjs is not False:
|
|
cloner.injectJS()
|
|
|
|
if args.injectcss is not False:
|
|
cloner.injectCSS()
|
|
|
|
if args.injecthtml is not False:
|
|
cloner.injectHTML()
|
|
|
|
|
|
cloner.writeFiles()
|
|
|
|
print "Complete"
|