入侵阶段包括:
- 预攻击阶段
- 攻击阶段
- 后攻击阶段
1. 预攻击阶段
信息收集:
包含:网络信息(域名、IP地址、网络拓扑)、系统信息(操作系统版本、开放的各种网络服务版本)、用户信息(用户标识、组标识、共享资源、即时通信软件账号、邮件账号)等。
信息收集方式:
被动收集
如下图所示,国家A利用属于US、国家X、国家Y的主机作为攻击基础设施,对国家V的主机进行网络攻击,而被攻陷主机的泄露数据也将依次通过受害主机到中间跳板的链路、以及中间跳板到国家A的C&C的链路进行数据回传,第四方收集的被动方式就是在这回传的链路上进行信息数据的收集。(图中紫色标注的位置)
** 主动收集**
如下图所示,情报收集方通过拿下攻击组织位于US、国家X、Y的行动基础设施以及国家A 的C&C,从这些主机上收集需要的情报数据。
踩点和网络侦察
踩点介绍:
获得信息的过程就叫踩点,尽可能多的收集关于目标网络的信息,以找到多种入侵组织网络系统方法的过程。
踩点过程:
- 搜集目标和所在网络的基础信息
- 测试使用的操作系统各类型、版本、运行的平台软件,web服务的版本,等
- 使用诸如Whois、DNS查询、网络和组织查询等工具
- 找到能够进一步发起攻击的安全漏洞
踩点目的:
- 踩点使攻击者能够了解组织完整的安全架构
- 通过IP地址范围、网络、域名、远程访问点等信息,可以缩小攻击范围
- 攻击者能够建立他们自己的相关目标组织安全性弱点的信息数据库,来采取下一步的入侵行动
- 攻击者可以描绘出目标组织的网络拓扑图,分析最容易进入的攻击路径
踩点的途径:
- 通过搜索引擎进行信息收集Nmap扫描命令
- 网络查点.
- 漏洞扫描
- 信息数据库与共享.
渗透测试信息搜集总结:
1:确定要攻击的网站后,用whois工具查询网站信息,注册时间,管理员联系方式(电话、邮箱.)
2:使用nslookup、dig工具进行域名解析已得到IP地址.
3:查询得到的IP地址的所在地.
4:通过google搜集一些敏感信息,如网站目录,网站的特定类型文件.
5∶对网站进行端口、操作系统、服务版本的扫描,用nmap -sV -O便可以实现,更详细的可以用nmap -a.
6∶在得到了目标的服务器系统,开放端口及服务版本后,使用Openvas/Nessus进行漏洞挖掘.
7∶将搜集到的所有信息进行筛选,得出有用的,认真做好记录.
网络扫描:
网络扫描是一种自动化程序,用于检测远程或本地主机的弱点和漏洞。漏洞扫描是入侵防范最基本的工作,攻击者正式利用各种漏洞入侵系统。借助自动化的扫描工作,在攻击者之前发现漏洞问题,并给予相应的修正程序。
网络扫描是根据对方服务所采用的协议,在一定时间内,通过自身系统对对方协议进行特定读取、猜想验证、恶意破坏,并将对方直接或间接的返回数据作为某指标的判断依据的一种行为。
网络扫描获取的信息
- 发现存活主机,IP地址,以及存活主机开放的端口
- 发现主机操作系统类型和系统结构。
- 发现主机开启的服务类型
- 发现主机存在的漏洞
网络扫描主要技术
1.主机扫描技术
ICMP Echo扫描: 原理:Ping的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送ICMP Echo Request数据包(type 8),等待回复的ICMP Echo Reply包 (type 0)。如果能收到,则表明目标系统可达,否则表明目标系统已经不可达或主机没有在线或者使用了某些过滤设备过滤了ICMP的REPLY。
2.Non-Echo扫描
发送一个ICMP TIMESTAMP REQUEST(type 13)或者ICMP ADDRESS MASK REQUEST (type 13),看是否响应。可以突破防火墙。
3.ICMP Sweep扫描
在ICMP Echo基础上,通过并行发送,同时探测多个目标主机,以提高探测效率。
4.Broadcast ICMP扫描
将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机。缺点:1.只适用于UNIX/Linux系统,Windows会忽略这种请求包。2.容易引起广播风暴。
漏洞扫描
定义
漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测(渗透攻击)行为。
漏洞扫描原理及实现
基于网络的漏洞扫描,就是通过远程检测目标主机TCP/IP不同端口的服务,记录目标主机给予的回答。用这种方法来了解目标主机的各种信息,获得相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条则视为漏洞存在。
还有一种方法就是通过模拟黑客的进攻手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱口令等,如果模拟攻击成功则视为漏洞存在。
实现方法
漏洞库的匹配方法
基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。漏洞数据库包含了各种操作系统的各种漏洞信息,以及如何检测漏洞的指令。通过采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再在此基础之上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描的工作。
这样,洞库信息的完整性和有效性决定了漏洞扫描系统的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时间。
插件(功能模块技术)技术
插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。插件编写规范化后,甚至用户自己都可以用perl、c或自行设计的脚本语言编写的插件来扩充漏洞扫描软件的功能。这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的编程工作,使漏洞扫描软件具有强的扩展性。
使用的技术
1.主机扫描:
确定在目标网络上的主机是否在线。
2.端口扫描:
发现远程主机开放的端口以及服务。
3.OS识别技术:
根据信息和协议栈判别操作系统
4.漏洞检测数据采集技术:按照网络、系统、数据库进行扫描。
5.智能端口识别、多重服务检测、安全优化扫描、系统渗透扫描
6.多种数据库自动化检查技术,数据库实例发现技术;
7.多种DBMS的密码生成技术,提供口令爆破库,实现快速的弱口令检测方法。
扫描工具
软件工具 : Appscan AWVS
硬件设备:依迅漏洞扫描系统
2. 攻击阶段
web应用入侵
Web安全简介
随着Web2.0、网络社交等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中,越来越多的应用都架设在Web平台上。Web业务的迅速发展吸引了黑客们的强烈关注,接踵而至的就是Web安全威胁的凸显。黑客利用网站操作系统的漏洞和Web服务程序的SQL注入漏洞等得到Web服务器的控制权限,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害
Web应用程序漏洞介绍
Web应用是指采用B/S架构、通过HTTP/HTTPS协议提供服务的统称。随着互联网的广泛使用,Web应用已经融入到日常生活中的各个方面:网上购物、网络银行应用、证券股票交易、政府行政审批等等。在这些Web访问中,大多数应用不是静态的网页浏览,而是涉及到服务器的动态处理。此时,如果Java、PHP、ASP等程序语言的编程人员的安全意识不足,对程序参数输入等检查不严格等,会导致Web应用安全问题层出不穷。
根据OWASP统计,大部分WEB应用程序都是不安全的,有些甚至都没有接触过SSL这个东西。
Web应用漏洞原理
Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),向Web服务器发送特殊请求,从中发现Web应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息。
常见Web应用漏洞分类与入侵信息泄漏
信息泄露漏洞是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。
造成信息泄露主要有以下三种原因:
- Web服务器配置存在问题,导致一些系统文件或者配置文件暴露在互联网中;
- Web服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或者动态脚本文件源码;
- Web网站的程序编写存在问题,对用户提交请求没有进行适当的过滤,直接使用用户提交上来的数据。
目录遍历
目录遍历漏洞是攻击者向Web服务器发送请求,通过在URL中或在有特殊意义的目录中附加“../”、或者附加“../”的一些变形(如“..”或“..//”甚至其编码),导致攻击者能够访问未授权的目录,以及在Web服务器的根目录以外执行命令。
命令执行漏洞是通过URL发起请求,在Web服务器端执行未授权的命令,获取系统信息,篡改系统配置,控制整个系统,使系统瘫痪等。
通过命令执行漏洞主要有两种情况:
通过目录遍历漏洞,访问系统文件夹,执行指定的系统命令;
攻击者提交特殊的字符或者命令,Web程序没有进行检测或者绕过Web应用程序过滤,把用户提交的请求作为指令进行解析,导致执行任意命令。
文件包含
文件包含漏洞是由攻击者向Web服务器发送请求时,在URL添加非法参数,Web服务器端程序变量过滤不严,把非法的文件名作为参数处理。这些非法的文件名可以是服务器本地的某个文件,也可以是远端的某个恶意文件。由于这种漏洞是由PHP变量过滤不严导致的,所以只有基于PHP开发的Web应用程序才有可能存在文件包含漏洞。
SQL注入
SQL注入漏洞是由于Web应用程序没有对用户输入数据的合法性进行判断,攻击者通过Web页面的输入区域(如URL、表单等),用精心构造的SQL语句插入特殊字符和指令,通过和数据库交互获得私密信息或者篡改数据库信息。SQL注入攻击在Web攻击中非常流行,攻击者可以利用SQL注入漏洞获得管理员权限,在网页上加挂木马和各种恶意程序,盗取企业和用户敏感信息。
通过构造巧妙的SQL语句,同网页提交的内容结合起来进行注入攻击。比较常用的手段有使用注释符号、恒等式(如1=1)、使用union语句进行联合查询、使用insert或update语句插入或修改数据等,此外还可以利用一些内置函数辅助攻击。
** 跨站脚本**
跨站脚本漏洞是因为Web应用程序时没有对用户提交的语句和变量进行过滤或限制,攻击者通过Web页面的输入区域向数据库或HTML页面中提交恶意代码,当用户打开有恶意代码的链接或页面时,恶意代码通过浏览器自动执行,从而达到攻击的目的。跨站脚本漏洞危害很大,尤其是目前被广泛使用的网络银行,通过跨站脚本漏洞攻击者可以冒充受害者访问用户重要账户,盗窃企业重要信息。
跨站脚本攻击的目的是盗走客户端敏感信息,冒充受害者访问用户的重要账户。
跨站脚本攻击主要有以下三种形式:
1、本地跨站脚本攻击
B给A发送一个恶意构造的Web URL,A点击查看了这个URL,并将该页面保存到本地硬盘(或B构造的网页中存在这样的功能)。A在本地运行该网页,网页中嵌入的恶意脚本可以A电脑上执行A持有的权限下的所有命令。
2、反射跨站脚本攻击
A经常浏览某个网站,此网站为B所拥有。A使用用户名/密码登录B网站,B网站存储下A的敏感信息(如银行帐户信息等)。C发现B的站点包含反射跨站脚本漏洞,编写一个利用漏洞的URL,域名为B网站,在URL后面嵌入了恶意脚本(如获取A的cookie文件),并通过邮件或社会工程学等方式欺骗A访问存在恶意的URL.当A使用C提供的URL访问B网站时,由于B网站存在反射跨站脚本漏洞,嵌入到URL中的恶意脚本通过Web服务器返回给A,并在A浏览器中执行,A的敏感信息在完全不知情的情况下将发送给了C。
3、持久跨站脚本攻击
B拥有一个Web站点,该站点允许用户发布和浏览已发布的信息。C注意到B的站点具有持久跨站脚本漏洞,C发布一个热点信息,吸引用户阅读。A一旦浏览该信息,其会话cookies或者其它信息将被C盗走。持久性跨站脚本攻击一般出现在论坛、留言簿等网页,攻击者通过留言,将攻击数据写入服务器数据库中,浏览该留言的用户的信息都会被泄漏。
攻击示例
绕过IDS、防火墙及蜜罐
绕过IDS、防火墙及蜜罐系统
入侵检测系统(IDS)介绍
入侵检测系统收集和分析来自计算机或者网络中的信息,来鉴定可能存在的安全性策略违规,包括未授权的访问,以及滥用;
入侵监测系统也被称为“数据包嗅探器”,拦截使用各种通讯介质和协议的传输的数据包,经常是TCP/IP
在捕捉到之后,就会分析这些数据包;
入侵检测系统会过滤到具有与入侵匹配的特征的流量,并在匹配发现时发出告警。
工作方式
当数据包从Internet传入,经过防火墙,到达IDS后,IDS首先会通过特征文件库对文件进行特征匹配,然后根据文件类型进行畸形文件检测,最后进行协议状态分析。然后把经过层层过滤的数据提交给企业用户。对于不匹配的数据包,一般会记录日志、报警通知管理员、切断lP源的连接,然后丢弃数据包。
防火墙简介
防火墙是硬件或者软件设计用来阻止到一个私有网络的未授权访问;防火墙鉴定所有出入内网的消息,并且阻止那些没有满足特定安全性策略的消息;防火墙安置在接合点或两个网络之间的网关位置,通常为私有网络和公共网络之间;防火墙对流量的类型或者源地址及目的地址和端口比较关心。
蜜罐介绍
蜜罐系统是一个信息系统资源,专门设立来吸引以及诱捕那些企图渗透组织网络的人;它没有授权的活动,没有任何产品价值,到达它的流量都极有可能是一个探测,攻击或者损害的流量;蜜罐可以记录端口访问和监视攻击者的按键记录。这些给更多攻击的提供早期告警。
绕过入侵检测系统
嵌入攻击
√入侵检测系统盲目相信和接收终端系统拒绝的数据包;
√攻击者利用这种条件并将数据注入到入侵检测系统;
√这种攻击在入侵检测系统对过程数据包极少的限制时发生
√攻击者隐藏额外的流量,入侵检测系统认定流量是无害的
因此,入侵检测系统收到了比目的地址跟多的数据包。 攻击者通过不同的TTL经过入侵监测系统发送单字符数据包到目标系统,一些数据包到达入侵检测系统而不是目标系统;
绕过
- √在这种绕过技术中,终端系统接收入侵监测系统拒绝的数据包;
- √使用这项技术,攻击者可以利用主机;
- √攻击者发送入侵检测系统错误拒绝的数据包的部分请求,允许从IDS中数据流的部分的切除;
举例:如果恶意序列逐字节发送,一个字节被入侵检测系统所拒绝,入侵监测系统不能探测这次的攻击;
这里,入侵检测系统受到比目的地址更少的数据包。
混肴
入侵探测系统可以通过混淆或者以某种目标计算机指导当入侵监测系统不知的方式对攻击载荷编码来绕过;
攻击者以统一编码方式对攻击模式进行编码来绕过入侵监测系统过滤,但llSweb服务器了解此编码;
攻击者操作签名中的路径来瞒过入侵监测系统;
绕过防火墙
IP地址欺骗
IP地址欺骗是一种入侵技术,攻击者伪装为受信的主机来隐藏自己的身份,欺骗网页,入侵浏览器或者获取对网络的未授权的访问;
攻击者修改lP数据包头部和源地址bit域中的定址信息,以此来绕过防火墙。
举例而言:
3个主机,A,B,C;
主机C是主机B的受信主机;
主机A通过修改它想要发送给主机B的恶意的数据包的IP地址伪装为主机C;
当数据包接收到后,主机B认为它们来自主机C,但实际上来源于主机A。
Web服务器入侵
Web服务器的概念
WEB服务器是WORLD WIDE WEB的简称,主要功能是提供网上信息浏览服务。www是
Internet的多媒体信息查询工具。Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache Nginx llS。
常见的Web Server
一股用来建立Web服务器的操作系统集中于UNIX、Linux 及Windows 操作系统,在这些操作系统上广泛使用的Web Server主要分为如下。
IIS
IIs是Intemet Information Server的缩写,它是Windows系统中使用的Wcb Server程序。除了提供Web服务功能,还提供Gopher Server和FTP Server服务,以及FTP服务器NNTP服务器和SMTP服务器,分别用于文件传输,新闻服务和邮件发送等方面。IIS支持由ASP、Java.VBSeript编写的Web应用程序,井带有很好的扩展功能。
2.Tomcat
Tomcat是Apache下的一个核心子项目,是目前使用量最大的免费的JAVA服务器。主要处理的是JSP页面和Servlet文件。Tomcat常常与Apache整合起来使用,Apache处理静态页面,比如Html页面,而Tomcat负责编译处理JSP页面与Servlet。在静态页面处理能力上,Tomcat不如Apache。由于Tomcat是开源免费、功能强大易用的,很多JAVA的初学者都喜欢用它。当然,也有不少中小企业用其与Apache整合做Web服务器。熟练掌握Tomcat的使用是非常必要的。
Apache
世界排名第一、免费开源的Web服务器软件,可以安装运行在绝大多数的计算机平台上,支持大多数语言开发的B/S结构软件。一般情况下Apache与其他的Web服务器整合使用,功能非常强大,尤其在静态页面处理速度上表现优异。
Web服务器的威胁
程序本身
安全域业务冲突的易用性
配置不当
安全域业务冲突的易用性
在web服务器、操作系统和网络的错误配置缺乏适当的安全策略、步骤和维护
服务器软件中的缺陷、OS和web应用程序
行政调试功能启用或访问
非必须默认的备份或样本文件
服务器软件中的缺陷、OS和web应用程序
安全意识
非必须默认的备份或样本文件
与外部系统的不适当的身份验证
行政调试功能启用或访问
Web服务器常见的漏洞攻击
缓冲区溢出
缓冲区溢出允许恶意代码注入到应用程序,它损坏应用程序的堆栈一一内存中存储应用程序代码的一个地方一一并用不同的代码代替原始代码的一部分来实现攻击者的目的,例如运行特洛伊木马程序或远程控制应用程序。
文件目录遍历
目录遍历是指访问到了不是原先设想或允许的目录(或文件夹)。例如,微软IS Web站点的默认文件夹为C:\inetpub,攻击者可使用的目录遍历漏洞,在该文件夹之外去读取他们本不该访问的文件。详细来说,假如有一个网址为“www.bad.com”的网站,其服务器代码中包含目录遍历漏洞。
文件目录浏览
通常情况下,目录浏览是禁用的,但是如果启用它,则它显示该目录中的所有文件,并允许浏览的子目录。有时知道一个文件存在可以帮助攻击者利用Web服务器上文件和程序的漏洞洞。
Web服务器软件默认安装的示例代码
默认示例是包含在Web服务器软件中并在服务器软件安装时默认安装的应用程序。一些默认安装的示例包含安全漏洞。针对这些漏洞保护的最佳办法是不要安装示例,如果已经安装了,最好把它们删除掉。
Web服务器上运行的其他软件中的漏洞
拒绝服务
【概念】︰利用网络安全防护措施不足导致用户不能或者不敢继续使用正常服务的攻击手段
拒绝服务分类
- 滥用合理的服务请求
- 例如:针对目标主机,消耗目标主机资源
- 制造高流量无用数据
- 例如:针对网络,占用网络带宽
- 利用传输协议缺陷导致目标主机崩溃
- 利用服务程序的漏洞导致服务处理错误而拒绝服务
典型技术
Ping of Death/泪滴/IP欺骗/UDP洪水/ SYN洪水
分布式拒绝服务攻击
控制分布在网络各处的数百甚至数千傀儡主机【肉机】,发动它们同时攻击目标;工具有Trinoo/TFN/Stacheldrcht/Trinity
缓冲区溢出
概念
向固定长度的缓冲区中写入超出其预先分配长度的内容,造成缓冲区中数据的溢出,从而覆盖缓冲区相邻的内存空尚。
特点
隐蔽性
在被发现之前,程序员一般不会意识到自己的程序存在漏洞,被植入的攻击代码一般很短,执行时间非常短,很难在执行过程中被发现.
漏洞存在于防火墙内部的主机上,攻击者可以在防火墙内部取得不被允许或者没有权限的控制权攻击具有随机性和不可预测性
3. 后攻击阶段
后攻击阶段是黑客对攻击战果进一步扩大,以及尽可能隐藏自身痕迹的过程。黑客通过内网渗透、嗅探攻击、口令破解或者安装特洛伊木马或病毒等方式实现该过程,实现对目标环境中内网敏感数据信息的获取,并在目标环境中留下隐藏的后门,以方便日后获取更多的数据信息。
权限提升
- 提权:提高自己在操作系统中的权限,一般用于网站入侵和系统入侵中。
- Web服务器的提权:通过基础的漏洞,在服务器上getshell或者获取到一定的访问权限,然后通过探查获取更多的权限,最终获取到管理员的权限。
- 服务器的提权分类
Linux提权
linux系统提权是针对内核版本而不是操作系统版本
需要网站开启了执行系统命令的函数
可以找到对应版本的漏洞
linux所有可执行程序都在/usr/bin目录下
Windows提权
系统本身的漏洞提权
第三方组件提权MSSQL提权MYSQL提权
权限维持
权限维持介绍
很多时候,当我们获得到一个windows服务器的权限后,若某天服务器的管理员发现后修补了漏洞,那么我们就可能失去了这台服务器的权限了,因此权限维持就很有必要了,对于windows服务器来说,我们可以添加一个账户,打开它的3389端口,从而维持我们对一个服务器的权限。
权限维持的工具和方法
后门程序或木马程序是一种方便的工具,可以轻松访问已经被破坏的系统。一个木马提供在应用程序级别的访问,但是要实现这个目的,用户需要在本地安装的恶意软件。在Windows运行的系统中,大多数木马程序都将自己安装为一项服务,然后作为本地系统运行,具有管理权限。此外,渗透测试人员可以挂载特洛伊木马以窃取系统上存储的密码,凭证和任何其他敏感信息。
隐藏、克隆账户
劫持技术
远控木马
版权归原作者 IT之一小佬 所有, 如有侵权,请联系我们删除。