Golang图片码+压缩伪装+远程调用组合拳

发布时间:2021-12-30 13:33:52 作者:Potato 阅读量:2643

Part1主要免杀思路

首先要将程序进行分离,将shellcode隐藏进图片里,再远程调用图片里的shellcode,达成getshell的目标。

同时还要把调用shellcode的执行程序进行伪装,伪装成图片或者其他格式,让目标执行文件时自动拉取shellcode图片,从而上线

本篇文章使用了开源项目 https://github.com/Hangingsword/HouQing

此处举例用的是Hou Qing大佬基于Golang语言编写的免杀项目

Part2具体过程及手法

我们要先保证环境的正常,下载并安装GOLANG语言正常运行的环境,国内下载链接如下

https://golang.google.cn/dl/

根据个人系统不同按需下载即可,下载后双击执行安装即可。 为了方便使用,建议大家配置系统变量,在系统环境变量中新建go的变量,配置为安装时的绝对路径,并在path中配置对应的go根目录下的bin目录的绝对路径。

设置完成后在任意目录下打开CMD,输入go version即可查看是否正常使用,如图即为正常使用。

配置完环境后我们来着手处理文件。

首先我们需要先利用CS生成一个java的后门免杀shellcode。

然后设置code.go文件的KEY值,将CS生成的免杀payload写入对应位置,写入完成后如图所示

接下来我们要将这个shellcode注入进图片,这里我们直接使用golang的注入命令即可

成功将shellcode注入图片。

然后将图片上传到未压缩的网站上,因为一旦文件被压缩或者二次渲染后,将失去shellcode的作用,无法被正常调用。

上传后,我们需要知道这个图片的访问路径,然后打开Loader.go文件,将KEY值设置为与code.go一致,并写入访问图片的路径。 如图所示

此时直接运行Loader.go则直接将该文件所处终端的权限上线至CS服务器中,要注意弹的是Loader.go所处的终端的shell并非code.go所处的位置。如图所示

所以我们要想办法欺骗目标,让目标运行Loader.go,达到反弹shell的目的。

使用命令:go build -ldflags="-H windowsgui" Loader.go 将Loader.go编译成exe文件,并设置参数阻止运行时弹出cmd可视化界面。 并将其改名为svchost.exe来增强隐蔽性。

当然,exe的隐蔽性还是太差了,很少有目标会直接点击可疑的exe文件,所以我们需要进一步伪装。

找一张看起来就很想让人点开的图片,然后同时选中要隐藏的exe和图片,将其压缩到一起

注意此处的文件名,很重要,将其更改为这个名字后,打开高级选项中的自解压选项。

将提取后运行命令(此处有个瑕疵,由于这个自运行路径必须为绝对路径,所以我们必须知晓目标在哪个路径下运行这个文件才能做到CS上线) 模式改为全部隐藏 然后将压缩完成的文件右键重命名,将光标移动至最前,选择插入Unicode控制字符选择RLO,将文件名反转,成功得到后缀名为JPG的exe可执行文件(但在各个上传点均被辨认出来为exe文件,感觉这种伪装方式不可取,只可在邮件钓鱼中使用) 且可以自由更换该文件图标,力求伪装逼真

然后点击伪装后的该文件,成功上线,且目标毫无察觉,依然以为是正常点开了一个图片,加载过程会比点开正常图片略慢,但很难察觉。

至此,golang语言的图片马+远程调用的组合拳就此结束,剩下的全靠无敌的社工钓鱼啦,有兴趣的小伙伴们可以尝试一下。


Potato

专注渗透测试技术

全球最新网络攻击技术

支付宝打赏 微信打赏

我要评论

Catfish(鲶鱼) Blog V 4.7.3