【原创】冰蝎v3.0操作使用手册

【原创】冰蝎v3.0操作使⽤⼿册
写在前⾯
近期冰蝎更新了内⽹穿透模块中的⼀些功能,有不少朋友不知道参数怎么填,希望能出⼀个使⽤指导⼿册,就借这个机会写⼀个“说明
书”(⽂中有⼤量演⽰动图,请耐⼼等待加载)。
基本信息
由于冰蝎采⽤了会话加密,所以客户端⾸次和服务端通信会有⼀个协商的过程(v3.0之后的版本不存在密钥协商过程),成功建⽴连接后,会把服务器侧的⼀些基本信息,显⽰在这个Tab页。
命令执⾏
这⾥的命令执⾏提供⾮交互式的命令执⾏,常规功能,不再赘述。
虚拟终端
虚拟终端提供⼀个交互式的真实终端,相当于把服务器侧的Shell给搬到了客户端,在这个Shell⾥可以执
⾏各种需要交互式的命令,如ssh、mysql:
也可以正常使⽤vi、vim等命令:
或者top命令:
柬埔寨语
当然,你也可以直接在⾥⾯使⽤python:
上⾯是linux环境,windows环境也⼀样,可以直接使⽤python,也可以直接使⽤powershell,如下图:
最后,说明⼀下,虚拟终端和命令执⾏不同的是,虚拟终端使⽤完毕需要点击“停⽌”按钮来关闭服务器侧的shell进程。
⽂件管理
常规功能,不再展开描述。
内⽹穿透
内⽹穿透模块⽬前提供了多个穿透⽅案:
1. 基于VPS中转的端⼝映射
2. 基于HTTP隧道的端⼝映射;
3. 基于VPS的socks代理映射;
4. 基于HTTP隧道的socks代理映射;
5. 反向DMZ映射;
下⾯分别予以介绍。
基于VPS中转的端⼝映射
该功能可以直接将⽬标内⽹中的某个正在监听的端⼝映射⾄VPS,由于是通过VPS中转,所以需要10.211.55.11这台靶机允许出⽹,以如下⽹络拓扑为例:
攻击者已在10.211.55.11上上传webshell,想要访问⽬标内⽹中10.211.55.9的3389端⼝,只需要在冰蝎中把10.211.55.9的3389端⼝转发⾄VPS(8.8.8.8)上即可,具体操作如下:
⾸先在vps上使⽤portmap或者lcx同时监听两个端⼝:
然后在冰蝎中填上对应的参数:
开启后,VPS上的2222端⼝会提⽰收到来⾃⽬标⽹络的链接:
然后链接VPS的3388端⼝,即可访问⽬标内⽹10.10.0.102的3389端⼝:
基于HTTP隧道的端⼝映射
如果⽬标靶机不能出⽹,冰蝎同样可以复⽤HTTP端⼝进⾏端⼝映射,把⽬标端⼝映射⾄本机,如下图:
开启后,攻击者本机会开启⼀个2222端⼝,如下图:
直接连接127.0.0.1:2222端⼝即可连接10.211.55.9的3389端⼝。
基于VPS的socks代理映射
上⽂都是基于单端⼝的映射,如果想要访问内⽹多台机器的多个服务,基于单端⼝的映射就会需要映射多次,⽐较⿇烦。同样冰蝎提供了两种socks代理的映射。⾸先介绍基于VPS的socks代理映射,当然前提也是靶机能出⽹。还是以上⽂的⽹络拓扑为例:
⾸先明确⼀下⽬标:我想在10.211.55.11上开设⼀个socks5代理服务,由于代理服务开在⽬标内⽹,我还需要把代理服务端⼝映射⾄
VPS(8.8.8.8)。
还是需要先在VPS上使⽤portmap做如下监听:
然后冰蝎做如下配置:
开启后,VPS的2222端⼝会收到来⾃靶机的连接,
这时候我们的VPS(8.8.8.8)已经在3388端⼝上开启了⼀个socks5的服务端⼝,然后本地使⽤socks5代理客户端做⼀下配置,此处我使⽤系统⾃带的proxychains做⽰例,配置如下:
这时候,通过proxychains即可访问到⽬标内⽹,⽐如我们想访问10.211.55.11的web服务,边可以直接proxychains curl :
基于HTTP隧道的socks代理映射
当靶机⽆法外连时,就需要通过HTTP隧道把内⽹的socks服务端⼝转发出来,冰蝎做如下配置:
开启后,攻击者本机会监听2222端⼝,并在此端⼝上开启Socks5代理服务,修改proxychains的配置⽂件,设置socks服务器为
127.0.0.1:2222:
使⽤proxychains访问10.211.55.9和10.211.55.11的web服务,如下:
反向DMZ映射
反向DMZ映射是将攻击者本地⽹络(或者公⽹VPS)中的某个监听端⼝映射⾄⽬标⽹络中,适⽤于⽬标⽹络不出⽹,但是⼜需要⽬标⽹络回连的情况,此处列举如下四种场景:
1. 已拿到10.211.55.11的webshell,最终⽬标为10.211.55.9,可以通过某漏洞实现在10.211.55.9上的RCE。10.211.55.11和10.211.55.9
博乐封城
都不能出⽹,但是我⼜想使⽤CobaltStrike来操作这台机器,这时候就可以把CobaltStrike服务器(例如8.8.8.8)的监听端⼝(例如5538)映射⾄10.211.55.11上,然后CobaltStrike⽊马的回连地址设置为10.211.55.11:5538。⽊马运⾏后,会回连
10.211.55.11:5538,冰蝎会把10.211.55.11:5538的流量转发⾄真正的CobaltStrike服务器(8.8.8.8)。
⽹络拓扑如下:
2. 攻击者机器处于内⽹,地址为192.168.0.1,CobaltStrike服务器部署在192.168.0.100。已拿到⽬标⽹络10.211.55.11的webshell,最
终⽬标为10.211.55.9,可以通过某漏洞实现在10.211.55.9上的RCE。10.211.55.11和10.211.55.9都不能出⽹,但是我⼜想使⽤CobaltStrike来操作这台机器,这时候就可以把CobaltStrike服务器(例如192.168.0.100)的监听端⼝(例如5538)映射⾄
10.211.55.11上,然后CobaltStrike⽊马的回连地址设置为10.211.55.11:5538。⽊马运⾏后,会回连10.211.55.11:5538,冰蝎会把
10.211.55.11:5538的流量转发⾄真正的CobaltStrike服务器(192.168.0.100)。
⽹络拓扑如下:
3. 已拿到10.211.55.11的webshell,最终⽬标为10.211.55.9,10.211.55.11和10.211.55.9都不能出⽹,10.211.55.9存在ms17-010漏
洞,漏洞exp需要反弹shell,这时候就可以在VPS(8.8.8.8)上监听4444端⼝,然后把4444端⼝映射⾄10.211.55.11:4444,然后ms17-010的exp回连地址设置为10.211.55.11:4444,即可让exp回连⾄8.8.8.8:4444。
4. 攻击者机器处于内⽹,地址为192.168.0.1,已拿到10.211.5
5.11的webshell,最终⽬标为10.211.55.9,10.211.55.11和10.211.55.9都
不能出⽹,10.211.55.9存在ms17-010漏洞,漏洞exp需要反弹shell,这时候就可以在攻击者本地(192.168.0.1)上监听4444端⼝,然后把4444端⼝映射⾄10.211.55.11:4444,然后ms17-010的exp回连地址设置为10.211.55.11:4444,即可让exp回连⾄
192.168.0.1:4444。
接下来我们以第1种场景为例,来做⼀下演⽰:
⾸先在VPS上启动CobaltStrike Server,如下图:
残酷的欲望然后在冰蝎中做如下配置:
“监听IP地址中”填写CobaltStrike服务器的外⽹IP地址,开启。此时可以看到webshell所在机器已经开始监听5538端⼝:
然后我们配置⼀个cs⽊马,回连地址设置为10.211.55.11,⽣成,通过psexec在10.211.55.9上执⾏,成功上线:
整个过程中,10.211.55.9和10.211.55.11没有与外⽹新建TCP连接。
反弹Shell
冰蝎在v1.0版本即提供了⼀键反弹shell和反弹meterpreter的功能,在v3.0中新增了⼀键反弹CobaltStrike。
普通Shell
反弹⾄公⽹VPS
冰蝎做如下配置:
IP地址中填⼊VPS公⽹地址,然后在VPS上nc监听9090端⼝(当然也可以使⽤msfconsole来代替nc,msfconsole更稳定⼀些,功能也更丰富):
当然这是⽬标能出⽹的情况下,如果⽬标不能出⽹是不是就不能反弹shell⾄公⽹VPS了呢?答案是也可以反弹。只需要勾选“⽬标不出⽹”复选框,即可:
冰蝎后台会通过HTTPS隧道技术将shell反弹⾄公⽹VPS:
反弹shell会话已经建⽴,可以看到10.211.55.11上并没有到VPS的⽹络连接:
商业地产运营模式反弹⾄本地
当然如果你没有VPS,也可以直接将shell反弹⾄本地,冰蝎会通过复⽤HTTP信道将shell反弹⾄本地
机器,IP地址只要填写127.0.0.1即可,如下:
来张动图:
当“IP地址”为127.0.0.1时,是否勾选“⽬标不出⽹”复选框没有区别。
反弹⾄本地局域⽹
当⽬标不出⽹时,可以降shell反弹⾄攻击者本机所在局域⽹中的其他机器,IP地址直接填内⽹地址(如192.168.0.100)即可,需要勾选“⽬标不出⽹”复选框。
Metepreter
反弹⾄公⽹VPS
Metepreter的反弹和Shell类似,此处不再赘述,参数配置如下,其中msfconsole中相关的命令冰蝎已在提⽰框中给出⽰例,建议直接复制,避免写错payload导致上线异常:
反弹⾄本地
参数配置如下:
反弹⾄本地局域⽹
当⽬标不出⽹时,可以降Metepreter反弹⾄攻击者本机所在局域⽹中的其他机器,IP地址直接填内⽹地址(如192.168.0.100)即可,需要勾选“⽬标不出⽹”复选框。
CobaltStrike
冰蝎⽀持Java和Aspx版本的CobaltStrike⼀键上线功能,采⽤windows/beacon_https/reverse_https上线⽅式。因为冰蝎采⽤注⼊JVM进程⽅式来植⼊代码,如果需要退出CobaltStrike会话,需先将CobaltStrike会话迁移⾄其他进程再退出,避免JVM进程停⽌。同
样,CobaltStrike的⼀键上线也提供了两种⽅式,⽬标出⽹的情况下,可以直接上线⾄公⽹VPS,⽬标不出⽹的情况下,可以上线⾄攻击者本机CS Server或者攻击者本地局域⽹中的CobaltStrike Server。
上线⾄公⽹VPS
如需将⽬标上线⾄部署于VPS的CobaltStrike Server,“连接信息”中的“IP地址”直接填VPS的IP地址,如下:
成功上线:
上线⾄本地
如果CobaltStrike Server搭建在本机,直接在“连接信息”中的“IP地址”栏填⼊“127.0.0.1”即可上线⾄本地。
上线⾄本地局域⽹
当⽬标不出⽹时,可以降CobaltStrike上线⾄攻击者本机所在局域⽹中的其他机器,IP地址直接填内⽹地址(如192.168.0.100)即可,需要勾选“⽬标不出⽹”复选框。
数据库管理
数据库管理属于常规功能,⽬前⽀持SQL Server、MySQL、Oracle,当服务器环境为Java或者C#时,如果缺少对应的数据库管理库,冰蝎会⾃动上传并加载对应的库⽂件。
另外,如果数据库连接密码中有特殊字符(如@符号),⽤URL编码⼀下即可(@编码之后为40%)。
⾃定义代码
冰蝎提供asp、c#、php、Java的⾃定义代码执⾏功能,⽂本框⽀持语法⾼亮,c#和Java会把输⼊的源代码⾃动编译并执⾏。
平⾏空间
该模块正在进⾏不同环境的适配,预计在v3.0正式版中启⽤。注意力测试
扩展功能
该模块正在进⾏不同环境的适配,预计在v3.0正式版中启⽤。
备忘录
备忘录模块提供对当前shell的⼀些临时⽂本信息进⾏存储。直接输⼊内容即可,冰蝎会⾃动保存。
更新信息
该模块展⽰冰蝎的更新⽇志、使⽤交流⼆维码等,同时会不定期发布server端的⼀些免杀版本。
内存马注⼊
冰蝎采⽤基于Agent技术的Java内存马注⼊功能,⽬前⽀持Tomcat、Weblogic、Jboss。其中Tomcat和Jboss对内存马注⼊路径没有任何限制。Weblogic的内存马注⼊路径需要在真实存在的应⽤名称的路径下,⽐如,console即为应⽤名称不能直接注⼊到。
另外,冰蝎还提供了内存马防检测功能,该功能会阻⽌其他Agent注⼊进当前JVM进程。当然注⼊内存马的时候如果开启该功能,冰蝎后续也⽆法再次注⼊内存马。
⼩结网络节点
最初,我只是重写了⼏个版本的⼀句话⽊马(因为在冰蝎之前没有真正实现eval效果的Java⼀句话⽊马),同时提出了⼀套理论,⽤来绕过流量型防护设备,顺便写了个demo⽤来验证上述理论的效果。所以冰蝎这个客户端只是理论的⼀个衍⽣品,不过后来⽤的⼩伙伴⽐较多,我就继续把这个客户端更新了下去。因此我希望⼤家不要太关注⼯具本⾝,⽽是能更多的去在理论上做⼀些创新。

本文发布于:2024-09-20 15:15:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/462524.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:映射   功能   需要   冰蝎   反弹   提供
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议