Python实现远程调用MetaSploit的方法
本文较为详细的讲述了Python实现远程调用MetaSploit的方法,对Python的学习来说有很好的参考价值。具体实现方法如下:
(1)安装Python的msgpack类库,MSF官方文档中的数据序列化标准就是参照msgpack。
root@kali:~# apt-get install python-setuptools root@kali:~# easy_install msgpack-python
(2)创建createdb_sql.txt:
create database msf; create user msf with password 'msf123'; grant all privileges on database msf to msf;
(3)在PostgreSQL 执行上述文件:
root@kali:~# /etc/init.d/postgresql start root@kali:~# sudo -u postgres /usr/bin/psql < createdb_sql.txt
(4)创建setup.rc文件
db_connect msf:msf123@127.0.0.1/msf load msgrpc User=msf Pass='abc123'
(5)启动MSF并执行载入文件
root@kali:~# msfconsole -r setup.rc * SNIP * [*] Processing setup.rc for ERB directives. resource (setup.rc)> db_connect msf:msf123@127.0.0.1/msf [*] Rebuilding the module cache in the background... resource (setup.rc)> load msgrpc User=msf Pass='abc123' [*] MSGRPC Service: 127.0.0.1:55552 [*] MSGRPC Username: msf [*] MSGRPC Password: abc123 [*] Successfully loaded plugin: msgrpc
(6)Github上有一个Python的类库,不过很不好用
root@kali:~# git clone git://github.com/SpiderLabs/msfrpc.git msfrpc root@kali:~# cd msfrpc/python-msfrpc root@kali:~# python setup.py install
测试代码如下:
#!/usr/bin/env python import msgpack import httplib class Msfrpc: class MsfError(Exception): def __init__(self,msg): self.msg = msg def __str__(self): return repr(self.msg) class MsfAuthError(MsfError): def __init__(self,msg): self.msg = msg def __init__(self,opts=[]): self.host = opts.get('host') or "127.0.0.1" self.port = opts.get('port') or 55552 self.uri = opts.get('uri') or "/api/" self.ssl = opts.get('ssl') or False self.authenticated = False self.token = False self.headers = {"Content-type" : "binary/message-pack" } if self.ssl: self.client = httplib.HTTPSConnection(self.host,self.port) else: self.client = httplib.HTTPConnection(self.host,self.port) def encode(self,data): return msgpack.packb(data) def decode(self,data): return msgpack.unpackb(data) def call(self,meth,opts = []): if meth != "auth.login": if not self.authenticated: raise self.MsfAuthError("MsfRPC: Not Authenticated") if meth != "auth.login": opts.insert(0,self.token) opts.insert(0,meth) params = self.encode(opts) self.client.request("POST",self.uri,params,self.headers) resp = self.client.getresponse() return self.decode(resp.read()) def login(self,user,password): ret = self.call('auth.login',[user,password]) if ret.get('result') == 'success': self.authenticated = True self.token = ret.get('token') return True else: raise self.MsfAuthError("MsfRPC: Authentication failed") if __name__ == '__main__': # Create a new instance of the Msfrpc client with the default options client = Msfrpc({}) # Login to the msfmsg server using the password "abc123" client.login('msf','abc123') # Get a list of the exploits from the server mod = client.call('module.exploits') # Grab the first item from the modules value of the returned dict print "Compatible payloads for : %s\n" % mod['modules'][0] # Get the list of compatible payloads for the first option ret = client.call('module.compatible_payloads',[mod['modules'][0]]) for i in (ret.get('payloads')): print "\t%s" % i
相信本文所述方法对大家的Python学习可以起到一定的学习借鉴作用。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

VS Code can run on Windows 8, but the experience may not be great. First make sure the system has been updated to the latest patch, then download the VS Code installation package that matches the system architecture and install it as prompted. After installation, be aware that some extensions may be incompatible with Windows 8 and need to look for alternative extensions or use newer Windows systems in a virtual machine. Install the necessary extensions to check whether they work properly. Although VS Code is feasible on Windows 8, it is recommended to upgrade to a newer Windows system for a better development experience and security.

VS Code can be used to write Python and provides many features that make it an ideal tool for developing Python applications. It allows users to: install Python extensions to get functions such as code completion, syntax highlighting, and debugging. Use the debugger to track code step by step, find and fix errors. Integrate Git for version control. Use code formatting tools to maintain code consistency. Use the Linting tool to spot potential problems ahead of time.

In VS Code, you can run the program in the terminal through the following steps: Prepare the code and open the integrated terminal to ensure that the code directory is consistent with the terminal working directory. Select the run command according to the programming language (such as Python's python your_file_name.py) to check whether it runs successfully and resolve errors. Use the debugger to improve debugging efficiency.

VS Code extensions pose malicious risks, such as hiding malicious code, exploiting vulnerabilities, and masturbating as legitimate extensions. Methods to identify malicious extensions include: checking publishers, reading comments, checking code, and installing with caution. Security measures also include: security awareness, good habits, regular updates and antivirus software.
