webshell管理工具-冰蝎(Behinder)的安装和基础使用(msf联动,流量特征)

简介

冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端,由于通信流量被加密,传统的WAF、IDS 设备难以
检测,给威胁狩猎带来较大挑战。冰蝎其最大特点就是对交互流量进行对称加密,且加密密钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测。
github地址:https://github.com/rebeyond/Behinder/releases
在流量层,冰蝎的aes特征一直是厂商查杀的重点,在主机层,aes相关的API也是一个强特征。既然是特征,那就一定存在一个一成不变的常量,那我们就把这个特征泛化一下,让他成为变量。为了一劳永逸解决这个问题,v4.0版本提供了传输协议自定义功能,让用户对流量的加密和解密进行自定义,实现流量加解密协议的去中心化。v4.0版本不再有连接密码的概念,你的自定义传输协议的算法就是连接密码

安装

先要下载文件:
![image.png](https://img-
blog.csdnimg.cn/img_convert/bd73170c705519d182c6db9bcb7211a3.png#averageHue=#fdfdfc&clientId=ufb8c0c23-b40c-4&from=paste&height=143&id=u1c6db6ee&name=image.png&originHeight=286&originWidth=1698&originalType=binary&ratio=1&rotation=0&showTitle=false&size=110997&status=done&style=none&taskId=u6b48412b-2c97-4995-87ed-b4e7005dca2&title=&width=849)
然后:
![image.png](https://img-
blog.csdnimg.cn/img_convert/520f5a0f00b760893c17ad3304799ec1.png#averageHue=#0e0e0e&clientId=ufb8c0c23-b40c-4&from=paste&height=60&id=u5f61c128&name=image.png&originHeight=120&originWidth=1888&originalType=binary&ratio=1&rotation=0&showTitle=false&size=29070&status=done&style=none&taskId=ud7532126-1504-4e25-ba47-a80888cde06&title=&width=944)
回车启动:
![image.png](https://img-
blog.csdnimg.cn/img_convert/929ec9baceeeacee988f528dbe1dba3b.png#averageHue=#f0f0f0&clientId=ufb8c0c23-b40c-4&from=paste&height=624&id=ud4f30e60&name=image.png&originHeight=1248&originWidth=2390&originalType=binary&ratio=1&rotation=0&showTitle=false&size=266809&status=done&style=none&taskId=ueaca86c7-70b7-45e6-9551-f8af119bca8&title=&width=1195)

使用

生成木马

![image.png](https://img-
blog.csdnimg.cn/img_convert/6360143eef22a17e9a5564628ab3dd16.png#averageHue=#88896a&clientId=ufb8c0c23-b40c-4&from=paste&height=548&id=u0552493b&name=image.png&originHeight=1096&originWidth=2412&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1116179&status=done&style=none&taskId=u2f14d05a-87cd-4940-a7bb-05aaecb5096&title=&width=1206)
然后就会生成:
![image.png](https://img-
blog.csdnimg.cn/img_convert/e7017ccf31ceb6b66806cf557db86105.png#averageHue=#fefefd&clientId=ufb8c0c23-b40c-4&from=paste&height=146&id=u549a58d1&name=image.png&originHeight=292&originWidth=1850&originalType=binary&ratio=1&rotation=0&showTitle=false&size=57863&status=done&style=none&taskId=u1f4c6f8b-e61e-4cec-8424-34df30103c3&title=&width=925)
将shell.php上传至web目录,然后进行添加:
![image.png](https://img-
blog.csdnimg.cn/img_convert/42ab565352490f3630b865fda98bb1ff.png#averageHue=#f0f0f0&clientId=ufb8c0c23-b40c-4&from=paste&height=551&id=u8a1cc0ae&name=image.png&originHeight=1102&originWidth=2368&originalType=binary&ratio=1&rotation=0&showTitle=false&size=292101&status=done&style=none&taskId=ue1adb67d-9a50-49ec-98dc-44012d6f83f&title=&width=1184)
![image.png](https://img-
blog.csdnimg.cn/img_convert/5a47ed83d479564658a2bedf8b241219.png#averageHue=#efefef&clientId=ufb8c0c23-b40c-4&from=paste&height=609&id=u41ed8611&name=image.png&originHeight=1218&originWidth=2326&originalType=binary&ratio=1&rotation=0&showTitle=false&size=463694&status=done&style=none&taskId=u335cff18-6040-4cf2-9863-cca7a44f718&title=&width=1163)
保存后双击即可进入:
![image.png](https://img-
blog.csdnimg.cn/img_convert/1abfff6185bed6f8d0b48d9ea03ddd65.png#averageHue=#b4a48c&clientId=ufb8c0c23-b40c-4&from=paste&height=786&id=u7cd2294d&name=image.png&originHeight=1572&originWidth=2556&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1140551&status=done&style=none&taskId=ufbe85f1f-89d8-480e-a820-9a9f533426d&title=&width=1278)

平行空间

![image.png](https://img-
blog.csdnimg.cn/img_convert/ec4715140ce23a7d8e05631c099797de.png#averageHue=#202020&clientId=ufb8c0c23-b40c-4&from=paste&height=737&id=ub19a5b07&name=image.png&originHeight=1474&originWidth=2576&originalType=binary&ratio=1&rotation=0&showTitle=false&size=304555&status=done&style=none&taskId=ua56b4af8-09bd-4639-a244-f63e0488512&title=&width=1288)
![image.png](https://img-
blog.csdnimg.cn/img_convert/3af07451bec5c58b8e7d9cd56717feeb.png#averageHue=#171717&clientId=ufb8c0c23-b40c-4&from=paste&height=706&id=u0aab0d7c&name=image.png&originHeight=1412&originWidth=2310&originalType=binary&ratio=1&rotation=0&showTitle=false&size=206744&status=done&style=none&taskId=uc9864272-da76-414b-9851-1a4e65f8231&title=&width=1155)
![image.png](https://img-
blog.csdnimg.cn/img_convert/092053e4176de7f3801bf6e4cf17fb28.png#averageHue=#676767&clientId=ufb8c0c23-b40c-4&from=paste&height=389&id=ud48b2a0a&name=image.png&originHeight=778&originWidth=2288&originalType=binary&ratio=1&rotation=0&showTitle=false&size=138167&status=done&style=none&taskId=u7afd0c1f-0ac0-4314-993b-f56765dafb0&title=&width=1144)
![image.png](https://img-
blog.csdnimg.cn/img_convert/61c98ea14c7810b5ddef6fc41be0a007.png#averageHue=#464645&clientId=ufb8c0c23-b40c-4&from=paste&height=300&id=u61a44aa2&name=image.png&originHeight=600&originWidth=2196&originalType=binary&ratio=1&rotation=0&showTitle=false&size=133689&status=done&style=none&taskId=ufc0c7336-1fd3-4ec4-8dba-66d42fe0909&title=&width=1098)

反弹shell

可以和MSF和CS联动
![image.png](https://img-
blog.csdnimg.cn/img_convert/d3d5bc84937071f0c3af701842b48530.png#averageHue=#3e3e3e&clientId=ufb8c0c23-b40c-4&from=paste&height=674&id=ue1988f3f&name=image.png&originHeight=1348&originWidth=2592&originalType=binary&ratio=1&rotation=0&showTitle=false&size=653491&status=done&style=none&taskId=uf5e267f4-4ce7-4bfa-a5b2-c7eb615e5d4&title=&width=1296)
按照提示,在msf中做好监听:
![image.png](https://img-
blog.csdnimg.cn/img_convert/b4736c7fca7e4cb21b139f414d3ba756.png#averageHue=#1b1e25&clientId=ufb8c0c23-b40c-4&from=paste&height=451&id=ued58ded8&name=image.png&originHeight=902&originWidth=2100&originalType=binary&ratio=1&rotation=0&showTitle=false&size=838735&status=done&style=none&taskId=u0c8abb53-6421-44e8-be20-8c2598a843d&title=&width=1050)
![image.png](https://img-
blog.csdnimg.cn/img_convert/f55f42814341678ff68cb79739721c7e.png#averageHue=#8b8a8a&clientId=ufb8c0c23-b40c-4&from=paste&height=302&id=uf4230717&name=image.png&originHeight=604&originWidth=2602&originalType=binary&ratio=1&rotation=0&showTitle=false&size=440954&status=done&style=none&taskId=ubed49d8c-15d8-4b61-bd1b-935527f7b11&title=&width=1301)
![image.png](https://img-
blog.csdnimg.cn/img_convert/9a2ae3e5925b4dbe6e0f113c0d549397.png#averageHue=#1d2028&clientId=ufb8c0c23-b40c-4&from=paste&height=168&id=u02f4179d&name=image.png&originHeight=336&originWidth=1660&originalType=binary&ratio=1&rotation=0&showTitle=false&size=392875&status=done&style=none&taskId=u00c42a4e-ebcf-4a2a-bc2e-e1ffac813e3&title=&width=830)

通信过程

冰蝎的通信过程可以分为两个阶段:

  • 密钥协商
  • 加密传输
  1. 第一阶段-密钥协商
    1)攻击者通过 GET 或者 POST 方法,形如 http://192.168.3.60/shell.php?pass=645 的请求服务器密钥;
    2)服务器使用随机数 MD5 的高16位作为密钥,存储到会话的 $_SESSION 变量中,并返回密钥给攻击者。

  2. 第二阶段-加密传输
    1)客户端把待执行命令作为输入,利用 AES 算法或 XOR 运算进行加密,并发送至服务端;
    2)服务端接受密文后进行 AES 或 XOR 运算解密,执行相应的命令;
    3)执行结果通过AES加密后返回给攻击者。
    ![image.png](https://img-
    blog.csdnimg.cn/img_convert/9506df9f9cf76d3e555aec595b2119e2.png#averageHue=#faf5f2&clientId=ufb8c0c23-b40c-4&from=paste&height=746&id=u71a6b5df&name=image.png&originHeight=1492&originWidth=1596&originalType=binary&ratio=1&rotation=0&showTitle=false&size=410250&status=done&style=none&taskId=uce6a5f54-ad3d-4495-bf84-b324f66b0ba&title=&width=798)
    ![image.png](https://img-
    blog.csdnimg.cn/img_convert/67781bbaa758415dc143ceca69aa9a9a.png#averageHue=#f8f5f1&clientId=u65956811-f7e1-4&from=paste&height=522&id=u80b46271&name=image.png&originHeight=1044&originWidth=1224&originalType=binary&ratio=1&rotation=0&showTitle=false&size=175296&status=done&style=none&taskId=uc36d5f8c-e59e-4d65-a54b-7db84c3bc12&title=&width=612)

加密原理

![image.png](https://img-
blog.csdnimg.cn/img_convert/850a8bf4244a5e3ebb8e447a8790095d.png#averageHue=#fbeacf&clientId=ufb8c0c23-b40c-4&from=paste&height=711&id=uedc187d3&name=image.png&originHeight=1422&originWidth=1762&originalType=binary&ratio=1&rotation=0&showTitle=false&size=190204&status=done&style=none&taskId=u4e8511af-33d3-4bb7-82bf-
ab3586c73f2&title=&width=881)

1、本地对Payload进行加密,然后通过POST请求发送给远程服务端;
2、服务端收到Payload密文后,利用解密算法进行解密;
3、服务端执行解密后的Payload,并获取执行结果;
4、服务端对Payload执行结果进行加密,然后返回给本地客户端;
5、客户端收到响应密文后,利用解密算法解密,得到响应内容明文。

一个完整的传输协议由两部分组成,本地协议和远程协议。由于客户端使用Java开发,因此本地协议的加解密算法需要用Java实现。远程协议根据服务端语言类型,可能为Java、PHP、C#、ASP。无论用哪种语言,同一个名称的传输协议,本地和远程的加解密逻辑应该是一致的,这样才能实现本地加密后,远程可以成功解密,远程加密后,本地同样也可以解密(因此如果修改默认的aes协议的key,则需要同时修改本地和远程的加密函数和加密函数中的key)
一个传输协议必须包含一对本地加解密函数,至少包含一对远程加解密函数(Java、PHP、C#、ASP中的一个或者多个)如下是传输协议中的本地加解密函数与远程加解密函数:
![image.png](https://img-
blog.csdnimg.cn/img_convert/477a7d2f000500963a925526b9f37216.png#averageHue=#5e5d5b&clientId=ufb8c0c23-b40c-4&from=paste&height=435&id=uec1d8cd1&name=image.png&originHeight=870&originWidth=2008&originalType=binary&ratio=1&rotation=0&showTitle=false&size=920307&status=done&style=none&taskId=ucae131e3-601f-4e68-84bf-a40a88b5798&title=&width=1004)
![image.png](https://img-
blog.csdnimg.cn/img_convert/cf3e400693e61a49341f33ff2389dea8.png#averageHue=#5e5e5d&clientId=ufb8c0c23-b40c-4&from=paste&height=361&id=uda7b1810&name=image.png&originHeight=722&originWidth=1984&originalType=binary&ratio=1&rotation=0&showTitle=false&size=390512&status=done&style=none&taskId=u494489cf-778f-4193-b770-67540d8f1d7&title=&width=992)
这样就能对应上述的流程!!

流量特征

Accept字段
Accept: application/json, text/javascript, */*; q=0.01

![image.png](https://img-
blog.csdnimg.cn/img_convert/6b1187f6bb33a55df5d177b5e54ab9cf.png#averageHue=#f3f3f3&clientId=u9e8f068c-7d39-4&from=paste&height=227&id=u6bcffa49&name=image.png&originHeight=454&originWidth=2468&originalType=binary&ratio=1&rotation=0&showTitle=false&size=244766&status=done&style=none&taskId=ua3dc6ef2-54ad-4839-8ca1-de82e5ef0d6&title=&width=1234)
检测方式:
浏览器可接受任何文件,但最倾向application/json和 text/javascript

Content-Type
Content-type: Application/x-www-form-urlencoded

![image.png](https://img-
blog.csdnimg.cn/img_convert/0aba8d252c1518de8c6cc431e4d80f16.png#averageHue=#f1f1f1&clientId=u9e8f068c-7d39-4&from=paste&height=219&id=u38218137&name=image.png&originHeight=438&originWidth=2262&originalType=binary&ratio=1&rotation=0&showTitle=false&size=210069&status=done&style=none&taskId=u6a97edf0-85b1-4a5e-8122-5cb6bacd8af&title=&width=1131)
检测方式:
可以把这个字段作为一个弱特征,辅助其他特征来检测

User-agent

冰蝎设置了10种User-Agent,每次连接shell时会随机选择一个进行使用。
这个主要是将冰蝎中的10种UA都记录下来然后进行匹配:
![image.png](https://img-
blog.csdnimg.cn/img_convert/bf74692796228b894127d9b4c2fc785d.png#averageHue=#e2e4df&clientId=u9e8f068c-7d39-4&from=paste&height=225&id=u7098933d&name=image.png&originHeight=450&originWidth=1880&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1003525&status=done&style=none&taskId=u2c088b3c-d18d-416a-be44-ae47b3d879b&title=&width=940)

端口

冰蝎与webshell建立连接的同时,javaw也与目的主机建立tcp连接,每次连接使用本地端口在49700左右,每连接一次,每建立一次新的连接,端口就依次增加。
可以对符合该范围内的端口告警。

PHP webshell 中存在固定代码
$post=Decrypt(file_get_contents(“php://input”));
eval($post);

content字段中,将eval($post)作为流量特征纳入。

长连接

冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection。
Connection: Keep-Alive
可以作为辅助的流量特征。

固定的请求头和响应头

请求:
dFAXQV1LORcHRQtLRlwMAhwFTAg/M
![image.png](https://img-
blog.csdnimg.cn/img_convert/11915fbd01f48af399944e4d416712c5.png#averageHue=#fce8d4&clientId=u9e8f068c-7d39-4&from=paste&height=191&id=u9ff9ea82&name=image.png&originHeight=382&originWidth=1956&originalType=binary&ratio=1&rotation=0&showTitle=false&size=619656&status=done&style=none&taskId=u9e641ad0-47e5-46b8-82ea-535536f561c&title=&width=978)
响应:
TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd
![image.png](https://img-
blog.csdnimg.cn/img_convert/40449ac18c9990eeb6ee718544de9f78.png#averageHue=#e3e1df&clientId=u9e8f068c-7d39-4&from=paste&height=232&id=u02df9ece&name=image.png&originHeight=464&originWidth=2190&originalType=binary&ratio=1&rotation=0&showTitle=false&size=385002&status=done&style=none&taskId=u86f5290f-4def-40a7-96eb-6e793aacb46&title=&width=1095)

连接密码

默认时,所有冰蝎4.0 webshell都有“e45e329feb5d925b”
一串密钥。该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
![image.png](https://img-
blog.csdnimg.cn/img_convert/f1e9830c5c93ff7334839d132ca4eae2.png#averageHue=#60725b&clientId=u9e8f068c-7d39-4&from=paste&height=459&id=u2e335941&name=image.png&originHeight=918&originWidth=1964&originalType=binary&ratio=1&rotation=0&showTitle=false&size=962536&status=done&style=none&taskId=udab49ddf-a8b2-4ed6-8ac3-b92b707f398&title=&width=982)

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值