
Enviado em 16/02/2019 - 14:21h
Estou escrevendo um enumerador geral para o prompt/terminal e estou penando pra usar a função argv do módulo sys. Vou deixar o código pra entenderem melhor o problema mas não precisa ler. Basicamente quero que o usuário passe dois argumentos, um IP INICIAL e um IP FINAL, a tarefa do script é pegar esse bloco de ip e ir checando os serviços. Como faço pra quando esses argumentos forem passados sejam adicionados à lista sys.argv todos os IPS que vão do primeiro ao segundo passados via linha de comando? Como no Nmap#!/usr/bin/python
import socket
import sys
import re
import os
RED = "\033[1;31m"
BLUE = "\033[1;34m"
CYAN = "\033[1;36m"
GREEN = "\033[0;32m"
RESET = "\033[0;0m"
BOLD = "\033[;1m"
REVERSE = "\033[;7m"
if len(sys.argv)!=2:
print(RED+"\nBem-vindo ao enumerador geral nietzscheano.")
print("A sintaxe utilizada é "+BOLD+"errada."+RED+"Utilize o IP alvo.")
print("Tente : python enumall.py 127.0.0.1")
print("Se você quiser descobrir o ip do site alvo utilize -si\n")
else:
print(GREEN+REVERSE+"\n!-INICIANDO ENUMERADOR GERAL-!\n")
print(RED+BOLD+"---------------------------------------------")
print(RESET+BLUE+"!-VERIFICANDO FTP EM HOST "+sys.argv[1]+"-!\n")
print(RED+BOLD+"---------------------------------------------")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],21))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except Exception as e:
print(RED+BOLD+"Não foi possível estabelecer conexão com "+sys.argv[1]+" na porta 21(FTP).")
r1 = input("O serviço FTP está rodando em outra porta? (S/N)")
if r1=="S" or r1=="s":
port = input("Digite a porta : ")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],port))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except:
print("Não foi possível estabelecer conexão.")
print("Prosseguindo...")
elif r1=="N" or r1=="n":
print("Prosseguindo...")
print(RED+BOLD+"---------------------------------------------")
print(RESET+BLUE+"!-VERIFICANDO ACESSO REMOTO DE SMB EM HOST "+sys.argv[1]+"-!\n")
print(RED+BOLD+"---------------------------------------------")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],21))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except Exception as e:
print(RED+BOLD+"Não foi possível estabelecer conexão com "+sys.argv[1]+" na porta 21(FTP).")
r1 = input("O serviço FTP está rodando em outra porta? (S/N)")
if r1=="S" or r1=="s":
port = input("Digite a porta : ")
try:
tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcp.connect((sys.argv[1],port))
banner = tcp.recv(1024)
banner = banner.decode()
banner = banner.strip("220 ")
print(RED+"!-BANNER CAPTURADO-!\n")
print(REVERSE+banner)
except:
print("Não foi possível estabelecer conexão.")
print("Prosseguindo...")
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









