PC平台逆向破解:注入shellcode 和 Return-to-libc攻击实验html
http://www.cnblogs.com/20145330swx/p/6514359.htmlpython
本次免考项目分为两个模块:Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复git
研究背景github
代码模块介绍web
漏洞代码分析面试
复现工具说明shell
测试环境准备apache
复现详细步骤windows
FuzzBunch环境设置设计模式
用EternalBlue攻击入侵Windows 7
使用Empire生成恶意DLL文件(Payload)/使用msfvenom生成DLL
使用DoublePulsar向目标系统中注入Payload文件
漏洞防范方法
漏洞介绍
漏洞范围分布图
影响范围
不受影响的版本
快速检测方式
漏洞危害
漏洞复现
临时修复方案
主动防护方案
影子经纪人(Shadow Brokers)最近陆续曝光的NSA网络武器使人震惊,尽管这些工具是否出自国家级别黑客团队之手尚不清楚,但至少存在一个能够说明问题的事实:这些漏洞利用工具都能有效运行,且具备必定程度的威胁杀伤力。在此,我用NSA的两个大杀器演示对Win 7系统进行漏洞利用和入侵控制的过程复现。
MS17-010漏洞是指攻击者利用该漏洞,向用户机的445端口发送精心设计的网络数据包文,实现远程代码执行。
Metasploit集合了大量的系统漏洞利用代码,但并非拥有全部的漏洞代码,因此Metasploit有一个很是强大的功能,它容许使用者开发本身的漏洞模块,MS17-010的漏洞利用模块Metasploit虽然尚未集成,可是网络上已经有相应的渗透模块了,这些模块多是用各类语言编写的,好比perl、python等,Metasploit支持各类不一样语言编写的模块移植到其框架中,经过这种机制能够将各类现存的模块软件移植成为与Metasploit兼容的渗透模块。
http://bobao.360.cn/learning/detail/3738.html
实现复现须要用到两个工具:
综合利用这两个工具,入侵攻成功以后,咱们能够实现对目标系统执行Empire/Meterpreter反弹链接控制。
在此过程当中,咱们还须要用到NSA使用的相似Metasploit的漏洞利用代码攻击框架FUZZBUNCH。
固然,咱们首先还得把Shadow Brokers泄露的工具下载到系统中来。( https://github.com/misterch0c/shadowbroker )
Windows文件夹:
其中Windows目录下的黑客工具包含了IIS 6.0远程漏洞的利用;SMB1的重量级利用,能够用来攻击开放了445端口的Windows系统而且提权;RDP服务远程漏洞的利用,能够攻击开放了3389端口的Windows机器等等。开放了135,445等端口的Windows服务器有很大几率受到攻击。
其中ETERNALBLUE是一个0day RCE漏洞利用,利用SMBv1和SMBv2漏洞(MS17-010),影响至最新的Windows 2008 R2 SERVER VIA SMB和NBT。其漏洞产生的缘由是srv.sys文件在处理SrvOs2FeaListSizeToNt函数的时候逻辑不正确致使越界拷贝。
网络演示拓扑:
攻击机1winXP(x86,32bit):须要安装Python 2.6程序和PyWin32 v2.12,调试运行攻击框架FUZZBUNCH;
IP:192.168.124.130
攻击机2 kali2.0 64bit:须要用到Empire和Metasploit相关工具,或者msf;
IP:192.168.124.132
靶机 win7(64bit):不须要作其它额外配置,只须要系统开启。
IP:192.168.124.133
首先须要在攻击机1 WIN XP系统中安装:
在Kali Linux上安装EmpireFramework很是简单,只需运行./setup/install.sh脚本便可一键安装
全部环境安装配置好以后,咱们在FUZZBUNCH目录下以CMD形式执行python fb.py命令,将会提示未找到“Listening post”错误,
缘由在于指定运行配置属性为空,因此,咱们能够用编辑器把fb.py源码的第72行“Listening post”相关部分注释掉:
另外,在相同目录下找到Fuzzbunch.xml文件,用咱们本地系统相关路径把其中的第19行和第24行路径进行覆盖,以下图所示:
FUZZBUNCH能够正常运行:
FUZZBUNCH的初始化过程当中,将会须要输入攻击目标IP和回连控制IP,在这里我分别输入靶机系统的控制系统1(xp)的IP地址,以下图所示:
点击“enter”继续,会提示输入工程名,在此,咱们用”eternal1″,在该工程名目录下将会生成一些日志记录文件:
首先,咱们在FUZZBUNCH终端上用命令“use EternalBlue”选择使用EternalBlue做为漏洞利用工具:
使用不少默认配置参数,可是要注意目标操做系统是x86仍是x64,以及 Mode ::Delivery mechanism的选择为1) FB。
在一直默认下第一次尝试失败:
我发现靶机win7的电脑管家没有关,关闭后再次尝试成功:
因为上一步骤中靶机系统已经被EternalBlue成功植入后门,因此在该步骤中,咱们将使用Empire生成恶意DLL文件(Payload),并用DOUBLEPULSAR实现远程注入。
攻击机2 kali须要安装EmpireFramework,
在Kali Linux上,咱们须要安装可从Github获取的Empire框架:
Empire framework:https://github.com/EmpireProject/Empire
在Kali Linux上安装EmpireFramework很是简单,只需运行./setup/install.sh脚本便可一键安装,而后运行./empire就能够启动Empire。
使用Empire进行Payload建立:
很心碎,别人的empire就直接建立成功了,而个人连set都不识别?!可能安装了个假empire吧。。。
因此我又选择了第二种方法:使用msfvenom生成DLL(可使用主动链接TCP_Bind或者反弹shell)
攻击机2 kali的msfvenom 生成一下dll 这里使用的是reverse_tcp的paylaod(反弹shell)
把生成的s.dll(home/YL路径下)传到攻击机1win xp上去,放在windows目录下
开启msfconsole 下面的payload要和上面msfvenom的payload对应起来
回到XP系统中,在FUZZBUNCH终端使用“use DoublePulsar”命令运行DoublePulsar
接着DoublePulsar会为咱们显示相关的目标参数,若是你的攻击目标为不一样的架构,则须要选择对应的系统架构(本靶机为64bit)。其余变量咱们只需保持默认不变便可,直到功能选项出现。
这里输入DLL的文件位置(放在攻击机1的路径):
以后都默认就行
终于,获得成功执行的消息显示“Doublepulsar Succeded”
可是kali这边并无回连上...伤心。以上尝试的是反弹链接获取shell
可是通过坚持不懈的心塞,终于回连成功!(就能够对靶机进行各类事情了!)
下面试试主动链接的:
将生成的bind.dll文件拷贝到攻击机xp的windows文件夹下
开启msf
最后也能够回连。
除了Eternalblue,NSA一块儿发布的工具还有这些,影响操做系统基本
此次病毒爆发影响确实很是大,为近年来所罕见。该病毒利用NSA“永恒之蓝”这个严重漏洞传播,几乎全部的Windows系统若是没有打补丁,都会被攻击。
微软在今年 3 月发布了 MS17-010 安全更新,如下系统若是开启了自动更新或安装了对应的更新补丁,能够抵御该病毒——Windows Vista、Windows Server 200八、Windows 七、Windows Server 2008 R二、Windows 8.一、Windows Server 20十二、Windows 十、Windows Server 2012 R二、Windows Server 2016 。
二、关闭端口139/445,同时打开系统防火墙。具体方法可参考:
http://mp.weixin.qq.com/s/s1_eym5U7-cdMbAh2T9YHA
而且除了Windows系统的电脑外,手机、Pad、Mac等终端不会被攻击,病毒只攻击Windows系统的电脑,手机等终端不会被攻击,包括Unix、Linux、Android等系统都不会受影响。不少时候都是没有根据的谣言和ps啊。
我又作了一个今年三四月份的新漏洞S2-045的利用及修复:
Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-045,CVE编号CVE-2017-5638,在使用基于Jakarta插件的文件上传功能时,有可能存在远程命令执行,致使系统被黑客入侵。
恶意用户可在上传文件时经过修改HTTP请求头中的Content-Type值来触发该漏洞,进而执行系统命令。
全球分布图
国内分布图
全球排行
Struts 2.3.5 – Struts 2.3.31
Struts 2.5 – Struts 2.5.10
Struts 2.3.32 Struts 2.5.10.1
使用知道创宇SeeBug照妖镜能够直接检测站点是否存在本漏洞
在default.properties文件中,struts.multipart.parser的值有两个选择,分别是jakarta和pell。其中的jakarta解析器是Struts 2框架的标准组成部分。默认状况下jakarta是启用的,因此该漏洞的严重性须要获得正视。
攻击者可经过远程命令注入执行,令系统执行恶意命令,致使被黑客入侵,从而威胁服务器安全,影响极大。
操做机:Windows XP
目标机:Centos 6.5
Struts版本:2.3.31
ip:172.16.11.2
poc.exe:本次实验漏洞验证的POC源码
SecurityFilter.class:本次实验漏洞修复脚本
了解S2-045 Struts2远程命令执行漏洞危害
掌握检测修复S2-045 Struts2远程命令执行漏洞技术
Struts是Apache基金会的一个开源项目,Struts经过采用JavaServlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
目前,Struts框架普遍应用于政府、公安、交通、金融行业和运营商的网站建设,做为网站开发的底层模板使用,是应用最普遍的Web应用框架之一。
打开目标网站:http://172.16.12.2/
发现跳转连接到http://172.16.12.2/example/HelloWorld.action
打开cmd,切到poc.exe的目录下,执行下面命令:
poc.exe http://172.16.12.2/example/HelloWorld.action "ifconfig"
测试该网站是否存在S2-045漏洞,尝试执行系统命令ifconfig,结果以下:
成功执行,证实漏洞存在,成功后能够尝试利用漏洞执行其余命令。
修改Struts2的Multipart parser
使用搜索工具搜索ssh链接工具xshell5链接目标机172.16.12.2
,用户名root
,密码123456
修改配置文件
将struts2-core-2.3.31.jar
路径:/var/www/apache-tomcat-7.0.14/webapps/ROOT/WEB-INF/lib/
下载到本地桌面,修改文件扩展名为struts2-core-2.3.31.zip
将其解压到struts2-core-2.3.31
文件夹中,打开里面的文件夹org\apache\struts2
右击目录下的default.properties
文件,使用notepad++
进行编辑。
找到struts.multipart.parser
,该选项就是Struts2的Multipart parser应用配置,默认值为jakarta
,即这次出现命令执行漏洞的上传框架。
将其修改成pell
,至关于将存在漏洞的jakarta
框架禁用了。
修改后值struts.multipart.parser=pell
,保存,退出。
在struts2-core-2.3.31
文件夹中所有选中,压缩打包为zip格式,文件名:struts2-core-2.3.31.jar
使用工具Xftp,将/var/www/apache-tomcat-7.0.14/webapps/ROOT/WEB-INF/lib/
路径下的struts2-core-2.3.31.jar
移动到根目录/
,将咱们修改配置后从新打包的jar文件放到该目录下。
替换文件后须要重启tomcat服务,切换到/var/www/apache-tomcat-7.0.14/bin/
目录下,首先执行./shutdown.sh
,而后执行./startup.sh
验证漏洞 执行下面命令:
poc.exe http://172.16.12.2/example/HelloWorld.action "cat /etc/passwd"
poc程序已经没法成功利用了。
如业务系统比较复杂,在临时修复方案不能使用时,且没法轻易的升级struts的版本时,可使用知道创宇的创宇盾来拦截网络的攻击流量。
本次免考我作了Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复
这次实验我首先移植MS17-010漏洞利用代码模块、上网查资料对MS17-010漏洞代码进行分析、了解复线工具的用途并下载实践相关功能(配置环境很耗时啊。。。),总共开启了三个虚拟机进行实验,其中可使用Empire进行Payload建立、也可使用msfvenom的反弹链接或者主动链接进行Payload建立,其实原本也不清楚会有这么多种方法能够实现,都是由于一次次的失败积累出的经验...
作MS17-010复现对我来讲仍是有些困难的,在网上查看各类原理还有方法慢慢梳理才有了个大方向。耗费时间最久的居然是环境配置,真的是每台电脑有它的脾气,每一个基本都是配了好几回才成功。“永恒之蓝”是指NSA泄露的危险漏洞“EternalBlue”,这次的勒索病毒WannaCry是利用该漏洞进行传播的,固然还可能有其余病毒也经过“永恒之蓝”这个漏洞传播,所以给系统打补丁是必须的,毕竟这种复现咱们本身均可以实现...
s2-045我用过实践掌握了临时解决方案与主动防护方案,因此说学习网络对抗知识仍是很重要的,若是遇到漏洞问题可能还能本身动手解决掉。
http://www.hackdig.com/05/hack-45428.htm
http://www.freebuf.com/articles/network/133853.html
http://www.hx99.net/Article/Tech/201704/37465.html
https://baijiahao.baidu.com/po/feed/share?
http://bobao.360.cn/learning/detail/3738.html