qpython怎么用shell_如何在Python中使用subprocess准备shell执行环境

准备用python调用metasploit中的msfvenom命令

然而,metasploit安装时用了rvm,在python中不知道怎么调用

这样做能用,每次都source下rvm。。。

#! /usr/bin/env python

# -*- coding: utf-8 -*-

"""

TO generate random shellcode samples from msfvenom

command = "msfvenom -p linux/x86/shell/reverse_tcp -e x86/shikata_ga_nai -f raw"

"""

import random

from info import *

import uuid

import os

import subprocess

import sys

os.chdir('/opt/metasploit-framework/')

count = int(sys.argv[1])

while (count > 0):

count -= 1

e = encoders[random.randint(0, len(encoders)-1)]

payloads = linux_x86_shellcodes + windows_x86_shellcodes

p = payloads[random.randint(0, len(payloads)-1)]

command = "./msfvenom -p {0} -e {1} -f raw > /var/tmp/data/".format(p, e) + str(uuid.uuid4())

subprocess.Popen("source /usr/local/rvm/scripts/rvm;" + command, shell=True, executable='/bin/bash')

但感觉很奇怪,有没有能先准备好shell执行环境,然后在执行后面的命令。

在stackoverflow上看到类似的需求,但是并不能成功调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值