远控免杀专题(21)-HERCULES免杀

转载:https://mp.weixin.qq.com/s/Rkr9lixzL4tiL89r10ndig

免杀能力一览表

在这里插入图片描述
几点说明:

1、上表中标识 √ 说明相应杀毒软件未检测出病毒,也就是代表了Bypass。

2、为了更好的对比效果,大部分测试payload均使用msf的windows/meterperter/reverse_tcp模块生成。

3、由于本机测试时只是安装了360全家桶和火绒,所以默认情况下360和火绒杀毒情况指的是静态+动态查杀。360杀毒版本5.0.0.8160(2020.01.01),火绒版本5.0.34.16(2020.01.01),360安全卫士12.0.0.2002(2020.01.01)。

4、其他杀软的检测指标是在virustotal.com(简称VT)上在线查杀,所以可能只是代表了静态查杀能力,数据仅供参考,不足以作为免杀或杀软查杀能力的判断指标。

5、完全不必要苛求一种免杀技术能bypass所有杀软,这样的技术肯定是有的,只是没被公开,一旦公开第二天就能被杀了,其实我们只要能bypass目标主机上的杀软就足够了。

一、HERCULES介绍

HERCULES,2017年的免杀工具,可以直接生成msf可用的payload并进行免杀,也可以对自定义payload进行免杀,还可以进行后门文件捆绑,并可进行upx加壳,使用比较简单,但安装可能遇到不少问题。

二、安装HERCULES

2.1 安装前的准备

HERCULES对操作系统有一定要求,支持下面这些系统。

在这里插入图片描述
另外HERCULES是go语言编写,需要安装go语言。

golang的安装可以参考这里https://github.com/golang/go/wiki/Ubuntu

2.2 安装HERCULES

先从Github上克隆到本地


https://github.com/EgeBalci/HERCULES

安装依赖

go get github.com/fatih/color

执行安装


go run Setup.go

安装成功
在这里插入图片描述
在HERCULES目录下执行chmod +x HERCULES

然后执行./HERCULES,看到下面的界面说明安装成功
在这里插入图片描述

2.3 安装可能遇到的问题

1、操作系统版本不符

安装脚本setup.go里面对操作系统要求比较严,版本号不符合都不行。

我开始用的parrot 4.4的,它要求必须3.1。当然你可以换个符合的操作系统,也可以修改setup.go文件,不过后面的有些依赖。
在这里插入图片描述
2、执行时出错

安装成功后执行./HERCULES,提示[!] HERCULES is not installed properly, please run setup.sh
在这里插入图片描述
这个问题比较模糊,需要先删除HERCULES/SOURCE/HERCULES文件,再回到HERCULES目录下再次安装go run Setup.go。记得重新安装前删掉HERCULES/SOURCE/HERCULES文件。

3、执行时路径配置

在执行时可能还会遇到一个这种错误

./HERCULES: line 4: cd: SOURCE: No such file or directory
./HERCULES: line 5: ./HERCULES: No such file or directory

这时需要配置一个变量$HERCULES_PATH,也就是HERCULES的目录


export HERCULES_PATH=/root/sec/HERCULES

4、生成后门出错

在使用HERCULES生成后门文件时,可能遇到一个imported错误

[*] export GOOS=windows && export GOARCH=386 && export GOPATH=$HERCULES_PATH && go build -ldflags "-H windowsgui -s -w" test1.go./hack.go:7: imported and not used: "EGESPLOIT/RSE"

这个时候需要配置一个变量$GOPATH

export GOPATH=/root/go

三、HERCULES使用说明

HERCULES也是和msf无缝对接的免杀工具,免杀相对也比较简单一些,具体免杀的实现可以查看HERCULES/src/EGESPLOIT/RSE/BypassAV.go文件,使用了传统的添加花指令的方式进行免杀。
在这里插入图片描述
另外还使用了upx加壳进行保护等。

四、利用HERCULES生成后门

执行./HERCULES,选择1,生成payload
在这里插入图片描述
进入选择payload的界面,选择最常规的Meterpreter Reverse TCP,也就是1.
在这里插入图片描述
后面输入主控的IP和端口,还有询问是否添加后门可持续化、进程迁移、BYpass等功能,然后输入生成文件的名称test3,最后选加upx壳。

每个选择都需要确认一次

在这里插入图片描述
最终生成
在这里插入图片描述
测试机执行可正常上线
在这里插入图片描述
打开杀软进行测试,360杀毒静态查杀预警,火绒没提示。
在这里插入图片描述
可过火绒的静态和动态检测
在这里插入图片描述

五、HERCULES小结

HERCULES免杀原理相对简单,对payload添加无用代码和多次跳转的方式进行免杀处理,从实际测试来看免杀效果只能说是一般,据官方演示在2017年的时候免杀效果应该很棒。可以对其免杀代码进行定制化修改,做成自己轮子工具,别往virustotal.com上传,这样被查杀概率也会小一些。

六、参考资料

官方github:https://github.com/EgeBalci/HERCULES

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/380093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP Cookbook读书笔记 – 第16章互联网服务

发送电子邮件 书中主要是以PEAR中的邮件发送类(Mail)来讲解的(关于如何在WIN系统下安装PEAR可以参考WIN下成功安装PEAR)。PEAR的MAIL类可以通过3种方式来发送电子邮件: 通过PHP内部的mail函数来发送 通过sendmail程序来…

Python | 使用matplotlib.pyplot创建条形图

Problem statement: Using matplotlib.pyplot library in python draw a bar graph with two values for comparison, using different colors. 问题陈述:在python中使用matplotlib.pyplot库使用不同的颜色绘制带有两个值的条形图以进行比较。 Program: 程序&#…

SQLSERVER内核架构剖析

我们做管理软件的,主要核心就在数据存储管理上。所以数据库设计是我们的重中之重。为了让我们的管理软件能够稳定、可扩展、性能优秀、可跟踪排错、可升级部署、可插件运行,我们往往研发自己的管理软件开发平台。我们总是希望去学习别人的开发平台&#…

输出以下的杨辉三角形(要求输入个数字,表示需要输出几行)

#include<stdio.h> int main() {int i,j,k,n,x,a[100][100];a[0][1]1;scanf("%d",&x);for(i1;i<x;i){for(j1;j<i;j){a[i][j]a[i-1][j-1]a[i-1][j];printf("%5d ",a[i][j]);//%5d 表示右对齐隔5个空格&#xff1b;}//同理&#xff0c;%-5d…

远控免杀专题(22)-SpookFlare免杀

转载&#xff1a;https://mp.weixin.qq.com/s/LfuQ2XuD7YHUWJqMRUmNVA 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/mete…

二维动态数组定义及二维静态数组与**P的区别

矩力集成2008年校园招聘笔试题&#xff1a;动态申请一个二维数组存储图像阵列 传统的解决方案是分配一个指针数组, 然后把每个指针初始化为动态分配的 列"。 以下为一个二维的例子: //typedef int (*arraypoiter)[ncolumns]; int **dynamic_alloc_arrays(unsigned int nro…

置换元素和非置换元素_循环置换数组元素的C程序

置换元素和非置换元素Problem statement: Write a c program to cyclically permute the element of an array. (In right to left direction). Array should be taken as input from the user. 问题陈述&#xff1a;编写一个c程序来循环置换array的元素 。 (从右到左方向)。 数…

最新Asp.net源码推荐列表(4月7日)

好久没有在cnblogs给大家发布asp.net源码了&#xff0c;把最近整理的一些发给大家&#xff0c;希望对大家有所帮助&#xff0c;以后争取保持每周发布&#xff01;- WOBIZ第一季1.2版源码 Hits:29 2008-4-7 [结构图] [^][VS2005Access] 电子商务2.0软件是窝窝团队基于对互联网…

远控免杀专题(23)-SharpShooter免杀

转载&#xff1a;https://mp.weixin.qq.com/s/EyvGfWXLbxkHe7liaNFhGg 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/mete…

MySQL 发展史

一.MySQL 标志说明MySQL的海豚标志的名字叫“sakila”&#xff0c;它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说&#xff0c;Sakila来自一种叫SiSwat…

scanf读取字符_在C语言中使用scanf()读取整数时跳过字符

scanf读取字符Let suppose, we want to read time in HH:MM:SS format and store in the variables hours, minutes and seconds, in that case we need to skip columns (:) from the input values. 假设&#xff0c;我们要读取HH&#xff1a;MM&#xff1a;SS格式的时间 &…

An Algorithm Summary of Programming Collective Intelligence (3)

k-Nearest Neighbors kNN(不要问我叫什么)PCI里面用kNN做了一个价格预测模型&#xff0c;还有一个简单的电影喜好预测。简单来说就是要对一个东西做数值预测&#xff0c;就要先有一堆已经有数值的东西&#xff0c;从里面找出和要预测的东西相似的&#xff0c;再通过计算这些相似…

远控免杀专题(24)-CACTUSTORCH免杀

转载&#xff1a;https://mp.weixin.qq.com/s/g0CYvFMsrV7bHIfTnSUJBw 免杀能力一览表 几点说明&#xff1a; 1、上表中标识 √ 说明相应杀毒软件未检测出病毒&#xff0c;也就是代表了Bypass。 2、为了更好的对比效果&#xff0c;大部分测试payload均使用msf的windows/mete…

DOM快捷键

DOM所有的命令(CMD) 步骤/方法 cmd命令大全&#xff08;第一部分&#xff09;winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板 winmsd---------系统…

病毒的手工排除与分析(更新完毕)

作者简介杨京涛    8年以上的IT行业经验&#xff0c;理解企业需求&#xff0c;有企业ERP软件部署规划能力&#xff0c;有综合布线网络规划和管理能力。熟悉软件以及各类硬件&#xff0c;电话程控设备&#xff0c;各类网络设备的管理维护。有编程基础,熟悉VBA、脚本、批处理…

JavaScript中的String substring()方法和示例

JavaScript | 字符串substring()方法 (JavaScript | String substring() Method) The String.substring() method in JavaScript is used to return a part of the string. The substring() extracted is from the given start and end index of the string. JavaScript中的Str…

Java——方法(练习九九乘法表)

public static void(int,byte…) xxx(int a,int b) 修饰符 返回值类型 方法名(参数类型 参数名1&#xff0c;参数类型 参数名2…)&#xff5b; 方法体语句&#xff1b; return 返回值&#xff1b; &#xff5d; public class fangfa {public static void main(String[] ar…

UVA 10405-Longest Common Subsequence

最长公共子序列&#xff0c;值得注意的是这道题不能用scanf读字符串。 #include<stdio.h>#include<string.h>#define MAXD 1005char s1[MAXD], s2[MAXD];int dp[MAXD][MAXD];int max( int a, int b){return a > b ? a : b;}void solve(){int len1 strlen(s1 …

对初学者的几点建议

http://www.cnblogs.com/thcjp/archive/2007/06/14/783157.html 天轰穿vs2005入门.net2.0系列视频教程推出已经有接近8个月了&#xff0c;这期间我收到非常多的反馈&#xff0c;我只能用非常来形容&#xff0c;呵呵&#xff0c;当然也了解了很多人的心理和学习方法。但是很遗憾…

系统固件升级_固件和操作系统之间的差异

系统固件升级固件 (Firmware) Firmware is somewhere similar to software but it is not a software. Somehow it is a modified form of software. 固件与软件相似&#xff0c;但不是软件。 不知何故&#xff0c;它是软件的修改形式。 Firmware is fixed data or code that …