我们在无法突破对方的网络边界的时候,往往需要使用客户端渗透这种方式对目标发起攻击,比如我们向目标发一个含有后门的程序,或者exe的程序很多人会本能的防范不会去点击,那也可以伪装成是一个word文件,pdf文件,jpg图片等。想要达到效果的同时也要利用好社会工程学,来诱骗受害者执行恶意程序。
客户端渗透技巧,通常用户的计算机都安装了安全软件杀毒软件,一般我们生成的恶意程序都会被检测,所以我们设计的恶意软件可以利用人的贪婪,好奇等心理,比如我们将恶意软件或者网站伪装成色情网站或者软件,这样接收到的用户就会认为它被杀毒软件检测出来很正常,这时候如果用户关闭了杀毒软件执意点击恶意软件查看,那么他就中招了。当然这只是一种取巧的办法,成功率低。最好是我们利用免杀来躲避安全软件的查杀。
举个简单的例子,很多开发人员使用的开发相关的软件都是收费的,为了能免费使用,有的会去网上找免费的注册码,有的会下载注册机到本地直接激活。注册机很可能就是一个恶意的软件。甚至我们安装操作系统和office之类的常用软件的时候,有人也会在网上寻找激活软件,这些都可能让自己不小心中招。
今天我们来模拟制作一个恶意软件,然后在vmware中装一个win10虚拟机,把恶意软件放到win10虚拟机中,就能真实的看到被渗透了是什么效果,能做哪些事情。这里为了简单,不做免杀,关于免杀后面再说。前面我们在vmware中安装了kali系统,今天需要再额外安装一个win10虚拟机,安装过程不再说明。
整个过程可以分为一下几步:
1.生成恶意软件,绑定木马(注意,关于恶意软件本身不介绍,只演示绑定木马的过程),
2.把绑定好的上传到win10虚拟机
3.win10用户不小心点击了恶意程序,
4.从kali系统上查看效果
第一步,模拟恶意软件,制作木马
制作木马模拟渗透,我们需要使用到一个软件 CobalStrike 。它的下载地址在官网和GitHub上都可以搜到。
Cobalt Strike(简称为CS)是一款基于java的渗透测试工具,是一款美国Red Team开发的安全测试神器,这个工具非常火,成为了安全测试中不可缺少的利器。其拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office渗透,文件捆绑,钓鱼等功能。同时它还可以调用Minikatz等其它知名工具,因此广受黑客和测试人员喜爱,可以简称它为CS。
首先在kali上安装一个golang的环境,先执行
apt update
然后再执行
apt install -y golang
就可以在kali中成功安装golang环境。
以下是提前准备好的已经上传到kali上的文件,
首先给binding 加一个可执行权限,
chmod +x binding
然后可以看到 binding 变成了绿色,
接下来安装软件 CobalStrike ,首先解压软件到当前目录,
unzip CobaltStrike4.3.zip
然后进入解压后的目录,
cd CobaltStrike4.3
这是解压后目录中的文件,
其中,需要给 start.sh 和 teamserver 两个文件赋予执行权限,
chmod +x teamserver start.sh
可以看到俩文件变成了绿色,
接下来,尝试启动一下teamserver 和 start.sh ,首先原来的终端不要关闭,打开一个新的终端,
原来的终端和新打开的终端都在CobaltStrike4.3解压目录下。首先,在原来的终端里,执行下面的命令,
./teamserver 192.168.3.76 123456
其中3.76是kali虚拟机本身的ip,123456是设置的一个临时密码,
可以看到启动了一个Team server,监听端口是50050,下一步,在另一个终端,也就是新打开的终端中执行下面的命令,
./start.sh
可以看到弹出了一个对话框,
上面这个过程说白了就是自己启动,然后再自己连接上自己。
接下来在弹出的框里面,把ip改为kali自己的ip,端口默认就是对的,用户名改为root,密码改为上面临时写的123456,
接下来点击连接,一路选择是,最后能看到打开的窗口如下,
这个窗口就是cs(CobalStrike )软件的操作窗口。
接下来创建一个监听器,来监听被我们生成的木马所感染的机器,
点击Add按钮创建一个监听器,
修改上图箭头指定的四个地方,名字可以随便写,两个host一样写自己的kali的ip即可,端口修改一下,默认是80,容器和web服务冲突,改一个其他不容易冲突的。然后点击save,创建成功,
下一步,生成一个后门,
选择最后一个windows Executable ,
然后,监听器选择我们刚才创建的那个监听器,输入我们使用默认的即可,就是Windows EXE,
表示生成一个双击可以运行的exe文件程序,就像平时安装程序一样。然后点击Generate,生成,
接下来弹出一个文件选择框,
加下来选择一个文件夹,作为生成的文件保存的目录,这里可以选择一个准备好的文件夹目录,并给生成的程序文件改个名字,
然后点击保存,就可以看到文件成功保存到指定目录,
这个时候,木马程序就初步生成了。
目前生成的文件,很显然用户没有主动双击的兴趣,可以绑定到其它一些软件上,让用户简介去执行它。
比如注册机,我们平时用的软件,比如idea,navicat,甚至office等等,都可以需要下载软件去激活。这类软件统称为注册机。
绑定的目的很简单,就是诱导用户去点击它。因为用户不主动点击它不会起作用。这里用到网上下载的一个普通的没啥用的exe软件和一个ico图标文件,
exe是注册机的执行文件,ico是展示的一个图标文件。通过它们和木马绑定到一起,让用户认为这个是一个正常的软件文件。执行下面的命令,
./binding -m muma.exe -s SecureCRT-kg.exe -i SecureCRT-kg.ico
binding是一个执行绑定的脚本文件,-m 后面指定的是制作好的木马执行文件,-s 后面是要绑定到哪个软件上,-i 是指定显示的图标。
点击回车执行,这里需要长一点时间等待,完成后输出成功,
从输出信息可以看到,绑定好的文件在output文件夹下,叫payload.exe文件,
这就是我们要的,模拟制作的恶意软件!
第二步,把制作好的恶意软件放到win10上
接下来把它传输到win10虚拟机里面去,
这里要注意,需要临时关闭病毒防护和杀毒软件,否则这个文件容易被自动删除!!
因为这里没有做免杀
第三步,用户点击恶意软件
我们上传的payload文件是一个单独的exe文件,一般情况下,这种恶意软件会隐藏在一个普通软件的安装目录下,作为一个普通的exe文件掩护。这样就能迷惑用户去无意间执行。这里跳过这一步,直接默认用户会执行个恶意软件。
我们来直接双击payload文件,这里我使用的是一个普通软件的注册机,
和没有绑定木马的情况下,双击的结果一样,也是弹出这个对话框,这个时候,木马已经被运行起来了,从kali上面可以看到一个机器上线记录,
第四步,从kali后台查看效果
箭头指向的就是运行木马的用户电脑ip,点击这个按钮可以看到一个图表效果,
在列表中,右击这个会话记录,找到目标,选择文件管理,
刚点击完,下面是空白的,有时候会很慢,多等会,就能加载出来,可以看到如下效果,
可以看到,被控制端的文件列表都可以看到,再来看一个远程VNC,
下面加载完成后,效果如下,
能直接看到用户那边的运行画面,看到桌面上有哪些东西,正在浏览什么文件,文件内容也能看到。
这就是上线,只要带木马的文件被用户双击了,就能查看和控制。
到这一步大致流程走完了,下面试试绑定图片。
第五步,将恶意软件绑定到图片上,诱导点击
下面试试把恶意软件绑定到图片上,首先将上面生成的payload.exe删除,
然后准备好了一张动漫图片,
执行命令,
./binding -m muma.exe -s dongman.jpg -i favicon.ico
可以看到在对应的目录下新生成了一个payload.exe文件,
把win10虚拟机上已有的那个payplad.exe删除,把这个上传上去,
这就是制作好的恶意软件,改为大图标显示,显示的就是生成的时候用的动漫图片,这个看着像个图片文件,实际上还是个exe执行文件。现在的问题是,名字还是别扭,所以应该把文件扩展名改为看山去时jpg这类图片格式的。
首先右击文件选择重命名,
名字变为可编辑状态,接着在名字上再次右键,选择插入Unicode控制字符,
选择RLO,也就是从右往左,这时候扩展名exe就跑到文件左边来了,
这时候我们输入图片的扩展名,jpg,因为是从右往左,所以输入gpj,
这样从名字上看,文件名和扩展名左右颠倒了顺序,名字像一个图片了已经,但是exe这三个字母还是太明显太别扭,接下来再次重命名,把光标移到最左边,
再次右键,选择插入Unicode控制字符,这次选择LRO,也就是从左向右,
在名字里可以根据自己和网上下载图片时名字的样子,加一堆字母字符,看起来像下载图片时自动命名的名字,这样看着就非常像图片了。这个时候用户点击的抗拒心理就大大降低了。
这个时候,我们双击它,
效果就像是点开了一个图片一样,再看kali的后台,
机器上线了。
注意,这里名字不能直接重命名改扩展名,扩展名必须还是exe,只是展示上颠倒顺序。
给CS增加插件
首先解压plugins.zip ,
unzip plugins.zip
在cs中点击脚本管理器,
然后点击下面的Load按钮,
找到刚才解压目录下的cs.cna文件,
然后点击打开,就可以了。这时候再去右击上线的会话,就能看到多了一个菜单,cs插件,
这里面功能非常多,比如弹出聊天弹窗,
在win10虚拟机上就能收到一条消息,