Esempio n. 1
0
 def validate_programs(cls):
     if len(cls.programs) > 0:
         for p in cls.programs:
             if program_exists(p) is not True:
                 print_error(f"Could not find program: {p}\n")
                 sys.exit(1)
         print_check("All program dependencies checked")
Esempio n. 2
0
 def validate_files(cls):
     if len(cls.files) > 0:
         for f in cls.files:
             if file_exists(f) is not True:
                 print_error(f"Could not find io in location: {f}\n")
                 sys.exit(1)
         print_check("All io dependencies checked")
Esempio n. 3
0
def download_scripts():
    path = f"{scripts_path}/sslstrip.py"
    if os.path.exists(path):
        print_check(f"Found {path}, skipping download")
        return
    print("Downloading sslstrip.py ...")
    file = wget.download(sslstrip_url, path)
    print_check("\tFinished downloading")
Esempio n. 4
0
def kill_processes(processes: List[Popen]):
    if len(processes) == 0:
        print("No processes to clean ¯\_(ツ)_/¯")
    else:
        print("Cleaning up:")
        for p in processes:
            print_kill_pid(p.pid)
            p.kill()
        print_check("Finished cleaning processes")
Esempio n. 5
0
def execute_cmd(cmd: str, sudo: bool = False) -> Popen:
    print_executing(cmd)
    if not sudo:
        proccess = Popen(shlex.split(cmd))
    else:
        proccess = Popen(shlex.split(cmd),
                         stdin=subprocess.PIPE,
                         stdout=subprocess.PIPE)
    print_check(f"Started PID: {proccess.pid}")
    return proccess
Esempio n. 6
0
def ensure_port_fwd():
    proccesses = []
    fwd_var = "net.ipv4.ip_forward"
    print(f"Checking ip forwarding for arquitecture: {platform}")
    if platform == "darwin":
        fwd_var = "net.inet.ip.forwarding"
    cmd_red = f"sysctl -n {fwd_var}"
    sysctl_read_out = get_output_from_cmd(cmd_red)
    fwd = int(chr(sysctl_read_out[0]))
    if fwd == 1:
        print_check("\tIp forward value is 1")
    else:
        print_error(f"""Ip forwarding value is 0

Try to run this command:
        
    sudo sysctl -w {fwd_var}=1
    
        """)
        sys.exit(1)
Esempio n. 7
0
def ensure_etter_conf():
    print("Checking ettercap config file diff from local optimal")
    search_path = "/etc"
    filename = "etter.conf"
    if platform == "darwin":
        search_path = "/usr/local"
    path_config = find_file_path(search_path, filename)
    local_config = f"{vars.get('src')}/scenarios/starbucks/scripts/{filename}"
    eq = filecmp.cmp(path_config, local_config)
    if eq:
        print_check(f"\t{filename} checked")
    else:
        print_error(
            f"""Ettercap config file differs from optimal for this attack.

Try to run this command:

    [sudo] cp {local_config} {path_config}
    
        """)
        sys.exit(1)