利用apache mod_rewrite模块隐藏CS的teamserver的原理与实现

参考资料

apache mod_rewrite模块详解。
CS的profile文件编写指南

原理

通过编写apache的.htaccess文件中的mod_rewrite模块,以达到对访问流量进行判断,并作出具体指令。
当有指定特征的流量访问apache服务器的时候,服务器将流量转发到指定的C2上,也就是teamserver上。如果是非指定特征的流量,则进行重定向到一个合法的域名上,例如百度等(也可以选择不进行跳转直接返回apache上的网页)。

具体实现

安装apache2服务

apt-get install apache2
a2enmod ssl rewrite proxy proxy_http #启动mod_rewrite模块
a2ensite default-ssl.conf #使用指定ssl配置文件
a2dismod -f deflate #不对流量进行压缩处理
#mod_rewrite 是 Apache 的一个模块。此模块提供了一个基于正则表达式分析器的重写引擎来实时重写 URL 请求。但是一般 mod_rewrite 默认是不启动的,需要我们手动去启用它。

更改配置文件

改配置文件/etc/apache2/apache2.conf


Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

改配置文件/etc/apache2/sites-available/default-ssl.conf配置ssl
#Enable SSL
SSLEngine On
#Enable SSL Proxy
SSLProxyEngine On
#Trust Self-Signed Certificates generated by CobaltStrike
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
配置ssl站点的文件etc/apache2/sites-enabled/default-ssl.conf,配置内容跟上面的sites-available中的default-ssl.conf一致。(我在做这个实验的时候,发现这两个文件好像自动同步了,自动就相同了不过还是查看一下比较准确。)

使用openssl生成证书,这里提供两种方法。

第一种方法
1.生成私钥
openssl genrsa -out client.key 4096
2.生成签名请求
openssl req -new -key client.key -out client.csr
3.签发证书
openssl x509 -req -days 365 -in client.csr -signkey client.key -out client.crt

第二种方法一步到位
openssl req -new -x509 -newkey rsa:4096 -keyout client.key -out client.crt

申请完证书跟密钥后接着修改文件

vim etc/apache2/sites-enabled/default-ssl.conf
修改如下两个参数:
SSLCertificateFile [crt path] #含证书与公钥信息文件
SSLCertificateKeyFile [private key path] #含私钥信息的文件

tips:后缀为key的文件为私钥文件,后缀为crt的文件为证书文件。

利用python脚本根据指定的cs的profile文件来输出一个.htaccess文件。

python3 cs2modrewrite.py -i zeus.profile -c https://172.16.99.183 -r https://www.baidu.com > /var/www/html/.htaccess

  • 这个文件已经根据profile的配置做了基础的apache mod_rewrite的规则,如果希望改动其中的一些数值,可以看我的另一篇文章apache mod_rewrite模块详解。

接着开启teamserver
./teamserver 172.16.99.183 12345 zeus.profile


给大家看看实验结果:

web_interference 172.16.99.182
real_C2 172.16.99.183
apache服务器的ip最后三位为182,C2为183。
创建一个https的listener,listener的中填写的监听ip为apache服务器的ip而不是真正的C2的ip,如图中的172.16.99.182。然后生成木马在目标主机上运行后CS上成功上线。
利用apache mod_rewrite模块隐藏CS的teamserver的原理与实现_第1张图片
这时候目标主机连接的其实只是我们的apache服务器,根本不会出现直接连接我们teamserver的流量。这时候任意非特征流量访问172.16.99.182,都会直接跳转到百度的主页。

本来想上传个视频发现传不了,所以就把视频传到了网盘,大家可以下载看看最终的验证结果。
链接: https://pan.baidu.com/s/1oBzN63gBZbq-oJwwnw6P_Q 密码: mgbv

你可能感兴趣的:(cobalt,strike相关,C2伪装)