本节主要介绍一款在渗透测试过程中比较好用的Webshell管理工具——Behinder(冰蝎)。
Behinder是一款动态二进制加密网站管理客户端,相较于传统的Webshell管理工具“菜刀”,由于动态加密数据传输更为隐蔽可靠。
将PHP的shell上传到服务端之后,在客户端访问1.php,并执行了一条命令,显示请求了多个不同的pass值之后才开始进行POST数据传输,如图2.70所示。
图2.70 http包
两次请求pass值之后,服务端在返回包中返回了长度为16位的密钥,如图2.71所示。
连接过程中第2次POST返回包和正常返回包不同的是,多了一个“Transfer-Encoding:chunked”,它主要用来改变报文格式,这里指的是利用分块进行传输,如图2.72所示。
图2.71 返回密钥
图2.72 分块传输
Behinder下载地址如下。
解压之后,会有一个Behinder的jar包,目录结构如图2.73所示。
图2.73 下载冰蝎
server目录下是带各自语言的shell。
在Windows系统中直接双击jar包运行即可;在Mac系统中需要运行以下命令:java-XstartOnFirstThread-jar Behinder.jar;在Linux系统中正常运行jar包即可。
首先是新增Webshell的界面,在【URL】中输入对应的Webshell地址;在【密码】中输入自己设置的对应密码;【类型】选择对应脚本语言(jsp,php,asp,aspx);【备注】界面可以填上基本信息,通过对Webshell进行管理,查看备注信息一目了然;如果需要先登录Webshell再访问,此处可以在【请求头】中添加对应的Cookie值去完成访问,如图2.74所示。
以下为在渗透测试过程中常用的几个模块。
第1个模块【命令执行】,可实现任意命令执行,如图2.75所示。
图2.74 使用冰蝎
图2.75 【命令执行】
第2个模块【文件管理】,可实现图形化界面管理文件,对文件进行上传、下载、删除、读取等操作。通过内网信息收集可以寻找一些敏感的文件为后渗透打下基础,例如,找到数据账号、密码去连接数据库,如图2.76所示。
第3个模块【数据库管理】,输入账号、密码和数据库地址之后可对数据库进行管理,实现和权限相对应的操作,如图2.77所示。
图2.76 【文件管理】
图2.77 【数据库管理】
第4个模块【反弹Shell】,可以配合msf来使用,记得设置成PHP的反弹Shell,如图2.78所示。
成功弹回Shell,如图2.79所示。
图2.78 【反弹Shell】
图2.79 弹回Shell