利用云函数隐藏Webshell真实IP

腾讯云自带CDN,我们可以通过腾讯云函数来转发我们的Webshell请求,从而达到隐藏真实IP的目的

创建云函数

找到云函数,使用自定义模板 20220613192232

20220613192325

把下面的代码复制到index.py中

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# -*- 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

注意,运行环境要选Ppython3.6,不然3.7的话得手动上传第三方库(感觉我的同事,不然我一直在坑里出不来呢)

20220613192414

部署成功后,点击触发管理->创建触发器: 20220613192526

这里需要选择API网关触发: 20220613192618

创建完成后,下图可以看到我们的访问路径: 20220613192747

使用方法

然后在我们的访问路径后面增加?u=webshell一句话木马的地址即可 例如:

1
https://sxxxxxxxxxxxxxxxxx.gz.apigw.tencentcs.com/release/helloworld-11?u=http://xxxx/shell.jsp

使用云函数之前,可以看到我的真实IP: 我这里使用tail -f xxx.log来监控的日志,也可以wireshark抓包 访问:http://10.80.20.57:8080/test/shell.jsp 20220614112844 20220614112807

使用云函数之后, 访问:https://serxxxxxxxxxxxx.gz.apigw.tencentcs.com/release/forwarded?u=http://xxx/shell.jsp 20220614132635

然后我们查看日志:显示的是腾讯云函数CDN的地址

20220614132911 可以看到IP地址是随机的: 20220614132852

成功达到目的

补充

防止webshell的掉线行为,修改一下超时设置,可以配置为60s
最好在【函数管理】 -> 【函数配置】里面,最好把执行超时时间设置成和蚁剑里面的超时时间一样或者更长 20220613193021

0%