玩转Metasploit(四):空理彷徨的交汇
泉涸,鱼相与处于陆,相呴以湿,相濡以沫,不如相忘于江湖。与其誉尧而非桀也,不如两忘而化其道。
sessions & jobs
sessions和jobs时metasploit-3.0b版本引进的概念。在这之前,当我们拿下某个shell,这就是一个任务,只有把它中断后才能继续其它任务。而sessions和jobs的概念允许你把任务挂到后台并保存状态,以便之后使用。
0x01:sessions
当你创建一个shell或meterpreter时,session自动创建,作为exploit输出的一部分,session的id号也会被打印出来。
新创建的session会立即标记为活跃的,这意味着接下来你的任何来自键盘的输入都直接和session进行交互。你可以把当前交互的session挂到后台,有两种功能办法可以办到,即使用ctrl+z
或者background
命令。
一旦将session挂到后台,你便返回之前的shell或meterpreter,还可以新建别的session,它的id号将在上一个的基础上增加一。
使用sessions -l
获取所有的sessions;使用sessions -i $id号
跳转到指定的session。另外,你可以使用ctrl+c
或sessions -k $id号
来丢弃响应的session。
0x02:jobs
jobs相比于session是一个更高级的概念,但其基本理念是一致的。jobs被任何需要在后台运行的任务创建,泛泛的讲运行作为服务器的exploit会创建一个job;具体来说,当我们运行一个浏览器exploit这会创建一个job。
除了浏览器exploit,你也可以手动指定让一个exploit在后台运行,使用exploit -j
完成这一点。在exploit成功执行后,会打印“Exploit running as background job.”。
和sessions的命令类似,使用jobs -l
列出所有的jobs;使用jobs -k $id号
杀死指定的job;如果你想要杀死所有的jobs,请使用jobs -K(大写的K)
。
虽然jobs在后台运行,但任何来自jobs的输出都将被直接打印到控制台。在之前的讲解中,大家也看到了,当job收到来自客户端的消息后,会产生出session,而原来的那个job则自然消失。
virustotal.com
在线木马病毒软件查杀:https://www.virustotal.com/
为了和下面的几款工具的演示效果形成对比,这里我用之前persistence脚本上传的后门VisualBasic后门进行演示,扫描结果如下,可以看出这玩意确实是有毒。
shellter
官网:https://www.shellterproject.com/
吐槽:这个名字是什么意思呢,第一眼看上去像是shelter(庇护所),倒是挺贴切,相当于为后门搭的一个藏身之处。我只这样理解的,shelter是初心,然后因为涉及到shellcode,所以自己造词,就成了shellter,这便是shellter的由来(误)。
到官网找到Debian系统下载,复制它的链接地址,接着用f选项修复那些受损了的安装模块
wget $复制官网的Debian链接 && dpkg -i $下载下来的那个文件 && apt-get install -f
在对应文件夹下用wine(Windows应用程序兼容层软件)打开shellter.exe,第一次必然会失败(如果你之前并不知道这其中的套路的话),根据图片给出的提示,要安装wine32,这不奇怪,因为默认wine是64位,而我们的shellter.exe却要在32位环境中运行。敲如下命令安装wine32
apt install wine32
大概等上1~4分钟,喝杯白开水。好了后重新在终端下执行命令
shellter # /usr/bin/shellter
这会打开一个新窗口,嗯……是熟悉的绿色。(启动较慢,请耐心等待……)
shellter的特点是动态注入,所以在受害人打开目标文件之前,一般的杀软是检测不出来的,只有在程序执行后,后门才会显现出来。下面让我们用shellter实战,通过calc.exe程序注入后门。
首次打开图片见上,我们选择A(自动模式,不区分大小写),然后傻瓜式操作同样如图所示。
操作过程有些脑残,如果出现突然“断电”的情况,按回车键基本上就能解决。最终生成两个文件,左边的是注入监听程序的后门软件,右边是源文件备份(真是太贴心了)。
于是便能绕过杀软的检测了,是不是超级简单。结果还不错。
veil
veil的中文释义为“面纱”、“面罩”,取面纱之音律,咱们不妨形象记忆为“免杀”,是不是十分贴切呢?veil是一个框架,对待框架就要有框架的“文件系统”意识,唯有把握了框架的文件系统 ,才能从宏观上理解框架的产生原理,便于后续学习,进而从微观上理解整个框架系统。
在Veil项目中,最重要的一个就是veil-evasion(记忆为免杀-逃脱),原来你完全可以只安装那玩意儿,但是现在项目主页明确说明“not support any longer”,也就是说从现在往后,你必须要安装Veil3.x及以上的完整版本。
你可以将整个项目(即evasion的父项目)当下来,有两种选择,如果你是Kali用户,使用方法一,如果非Kali用户(比如Parrot Sec用户),方法二走起。这是方法一。
apt -y install veil
/usr/share/veil/config/setup.sh --force --silent
方法二:用git手动安装(手动安装到/opt目录)
git clone https://github.com/Veil-Framework/Veil.git
mv Veil /opt
cd /opt/Veil/
./config/setup.sh --force --silent
时间比较长,请耐心等待。完成后进入工程主目录/opt/Veil,敲
./Veil.py
注意图片上提到了,在最新的版本3.x那个Veil-Evasion已经完全被整合到Veil中了,相当于它的一个工具模块。使用参数t指定需要加载的工具模块(最常用的还是Evasion)。
./Veil
接下来的操作和metasploit十分类似,都是树状结构。使用back
、use
命令在命令结构中穿行。
生成的所有文件都被保存在/var/lib/veil/output
目录下面。看上面截图,它表明了:生成的可执行文件(即后门)保存在/var/lib/veil/ouput/compiled/evildoor.exe
,生成的后门源文件保存在/var/lib/veil/output/source/evildoor.py
,生成的msfconsole调用脚本文件保存在/var/lib/veil/output/handlers/evildoor.rc
。
使用如下命令从终端调用mfconsole并连接之前生成的后门程序
msfconsole -q -r /usr/lib/veil/output/handlers/evildoor.rc
然后就等着鱼儿上钩,到时候自会生成一个新的session。
然而这是AV检测的结果,貌似效果不是很好呢……
avet
Github项目地址:https://github.com/govolution/avet,它的名字其实非常好记,就是Antivirus Evasion Tool的简称。和veil一样,都是针对Windwos操作系统的免杀工具,也就是说默认情况下生成exe文件。它曾经在美国黑客大会和亚洲黑客大会都有出现,也算是小有名气。亚洲黑客大会链接:https://www.blackhat.com/asia-17/arsenal.html#avet-antivirus-evasion-tool,美国黑客大会链接:https://www.blackhat.com/us-17/arsenal/schedule/index.html#avet—antivirus-evasion-tool-7908。另外我说一句,avet是支持64位系统的。
安装avet前请确保wine已经安装了gcc编译器(Windwos下的gcc),到官网:tdm-gcc.tdragon.net/download,找到并下载最新版本。注意位数,如果你的操作系统是64位,就下载64位的,它也可以兼容32位的payload。
下载下来后在终端敲如下命令打开GUI安装程序。顺便一提,wine检索的文件,以C盘为例,它被映射到~/.wine/drive_c
目录下。当你在终端敲wine $某个命令行工具
,实际上是wine ~/.wine/drive_c/windows/system32
的等价写法。
wine tdm64-gcc-5.1.0-2.exe
完成后去GitHub把项目链接当到本地
git clone https://github.com/govolution/avet.git
这工具下载了我还没玩,等有空再填坑吧。
上一篇: 常见的web攻击方式之服务器端模板注入
下一篇: Metasploit简单使用