首页 > 编程语言 >c2工具sliver的python客户端无法修改grpc超时时间的解决办法

c2工具sliver的python客户端无法修改grpc超时时间的解决办法

时间:2023-08-21 19:11:10浏览次数:47  
标签:execute grpc req Execute python timeout c2 超时 sliver

业务需要,调用了很多implants来执行对应系统上的命令, 但是无论怎么指定interactive.py中execute方法参数, 命令执行超时时间总是30.
后面通过扩展execute方法增加一个grpc超时参数后解决;具体方法如下:

async def execute_ex(self, exe: str, args: List[str], output: bool, timeout: int = 60) -> sliver_pb2.Execute:
        '''Execute a command/subprocess on the remote system
        :param exe: Command/subprocess to execute
        :type exe: str
        :param args: Arguments to the command/subprocess
        :type args: List[str]
        :param output: Enable capturing command/subprocess stdout
        :type output: bool
        :param timeout: grpc超时时间
        :type timeout: int
        :return: Protobuf Execute object
        :rtype: sliver_pb2.Execute
        '''
        execute_req = sliver_pb2.ExecuteReq(Path=exe, Args=args, Output=output)
        req = self._request(execute_req)
        req.Request.Timeout = timeout * 1000000000 * 2 # 秒需要转换为纳秒单位
        rpc_timeout = timeout + self.timeout
        return (await self._stub.Execute(req, timeout=rpc_timeout))

标签:execute,grpc,req,Execute,python,timeout,c2,超时,sliver
From: https://www.cnblogs.com/gatling/p/17646821.html

相关文章

  • 轻松掌握图像处理技能,Python OpenCV库带你飞
    所有代码需要在安装了OpenCV库的Python环境中运行。1图像基础操作importcv2ascvimg=cv.imread("./img/run.png",flags=cv.IMREAD_COLOR)print(img)[[[255255255][255255255][255255255]...[255255255][255255255][255255255]]......
  • Python学习日记 2023年8月21日
    importrequestsimportosimportrefromtimeimportsleepfrombs4importBeautifulSoupurl='http://www.netbian.com/mei/'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,like......
  • Linux系统之编译安装python3
    (Linux系统之编译安装python3)一、python3介绍1.python3简介Python3是一种高级编程语言,由GuidovanRossum于2008年发布。它是Python编程语言的最新版本,是Python2的升级版本。Python3提供了很多新的功能和改进,使得程序员可以更加快速、简便地编写高质量的代码。2.python......
  • 【8月摸鱼计划】python不支持的数据类型
    python不支持的数据类型是:char、byte类型。python支持的数据类型有:文本类型:str数值类型:int,float,complex序列类型:list,tuple,range映射类型:dict集合类型:set,frozenset布尔类型:bool二进制类型:bytes,bytearray,memoryview......
  • Python学习之半角转全角
    defstrB2Q(ustring):  rstring=""  forucharinustring:    inside_code=ord(uchar)    ifinside_code==32:      inside_code=12288    elif32<=inside_code<=126:      inside_code+=65248......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-12-playwright操作iframe-中篇
    1.简介按照计划今天就要用实际的例子进行iframe自动化测试。经过宏哥长时间的查找,终于找到了一个含有iframe的网页(QQ邮箱和163邮箱),别的邮箱宏哥就没有细看了。所以今天这一篇的主要内容就是用这两个网页的iframe结合上一篇的理论知识,宏哥给小伙伴或者童鞋们演示一下。2.QQ邮箱2......
  • python判断字符串是否包含子串的五种方法
    python判断字符串是否包含子串的五种方法一、用find()方法判断要判断某一个字符串是否包含某一个子串,方法之一是可以利用python内置的字符串方法find()来查找,如果查找到,就返回子串第一个字符在原字符串中的索引位置,如果找不到,则返回-1,实例代码如下:>>>string='笨鸟工具,x1y1z1......
  • Python为什么出现空值错误是?如何避免?
    与其他编程语言一样,Python也经常会遇到各种各样的错误,而其中比较常见的错误就是空值错误,也被称为NoneType错误,那么Python空值错误是什么意思?如何避免空值错误?具体请看下文。Python空值错误是什么?Python中的空值是指没有值的对象,称为None。None是一个特殊的数据类型,......
  • Python 常见文件操作
    Python常见文件操作Python常见的文件操作主要由os,shutil,pathlib等提供importosimportshutilimporttimefrompathlibimportPathdeftest_file():filename="test_file.txt"#判断文件是否存在ifos.path.exists(filename):#删除文......
  • 【Python】代理池针对ip拦截破解
    代理池是一种常见的反反爬虫技术,通过维护一组可用的代理服务器,来在被反爬虫限制的情况下,实现数据的爬取。但是,代理池本身也面临着被目标网站针对ip进行拦截的风险。本文将详细介绍代理池针对ip拦截破解的方法,包含相关代码实现:1.代理池的ip拦截问题代理池在实现反反爬虫的过程中......