Sulley vmcontrol.py 使用注意

vmcontrol.py调用的是vmrun.exe命令,提供参数选项。

ftp_session.py

from sulley import *
from requests import ftp

#run on 192.168.85.151
def receive_ftp_banner(sock):
    sock.recv(1024)
aim_ip = "192.168.85.141"
sess    = sessions.session(session_filename="audits/war2ftpd.session")

target  = sessions.target(aim_ip,21)
target.netmon    = pedrpc.client("localhost",26001)
target.procmon   = pedrpc.client(aim_ip,26002)
target.vmcontrol = pedrpc.client("localhost",26003)
target.procmon_options = {"proc_name":"war-ftpd.exe"}

target.vmcontrol.restart_target()
print "Virtual Machine up and running."
sess.add_target(target)
sess.pre_send= receive_ftp_banner
sess.connect(s_get("user"))
sess.connect (s_get("user"),s_get("pass"))
sess.fuzz()

网络监控器可以部署在本地测试机上,也可以部署在被测试主机上。但是进程代理必须布置在被测试主机上。

vmcontrol.py usage

D:\tools\sulley>vmcontrol.py -r "D:\VMware\vmrun.exe" -x "D:\VMos\XP\xp pro sp2.
vmx" -s "sulley"

其中Sulley是在测试环境搭建好的时候提供的快照name。

vomcontrol.py 需要修改github上的源码

    def revert_to_snapshot (self, snap_name=None):
        if not snap_name:
            snap_name = self.snap_name

        self.log("reverting to snapshot: %s" % snap_name, 2)

        command = self.vmrun + " revertToSnapshot " + '"'+self.vmx +'"'+ " " + '"' + snap_name + '"'
        return self.vmcommand(command)

原因是默认不识别空格路径,所以要在command上添加双引号。在此文件中很多,如果用到都需要修改。可以在print command查看一下报错原因。

使用vmcontrol.py需要安装依赖文件pywin32

在环境变量中设置pythonpath 引入lib文件夹。

存在的问题:当测试过程中使用的是快照机制,如果crash文件部署在被测试虚拟机上,一旦恢复运行,crash文件也会跟着回滚到快照点,以至于crash中的record永远都是0,如何解决这一问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值