04_基于认证的入侵
- 格式:doc
- 大小:780.00 KB
- 文档页数:33
基于Snort的入侵检测系统的设计和实现的开题报告1. 研究背景和意义随着互联网的快速发展和普及,网络攻击活动也变得更加频繁和复杂。
为了保障信息系统的安全,入侵检测系统应运而生。
入侵检测系统是一种能够检测网络中的未授权访问、攻击和恶意行为的系统。
其主要目的是在网络攻击发生之前发现它们并采取适当的措施预防它们。
目前,入侵检测系统已经成为组织信息安全的重要部分。
Snort是一款流行的开源入侵检测系统,它是一种轻量级的、基于规则的系统。
Snort基于特定的规则检查数据包的有效负载,通过对已知的攻击的检测规则或基于感知的攻击方法进行识别。
然而,Snort的规则需要经过不断的更新以保持其有效性。
因此,本研究旨在基于Snort设计和实现一个高效、可靠的入侵检测系统,以便实时监测网络流量并及时发现入侵和攻击。
2. 研究内容本研究将从以下几个方面出发,设计和实现一个基于Snort的入侵检测系统:(1)系统架构设计。
选取适当的硬件和操作系统平台,考虑系统的可扩展性和高可用性,设计一种良好的系统架构。
(2)用户管理功能。
为入侵检测系统设计一种可靠的用户身份验证和授权模型,以确保系统的安全性和可靠性。
(3)规则管理功能。
设计一个可靠的规则管理系统,包括规则的添加、删除和更新,以及规则库的备份和恢复。
(4)流量监测和数据分析。
使用Snort对网络流量进行监测与分析,在数据可视化方面,将使用高效的可视化工具为用户提供丰富的数据展示效果。
3. 研究方法本研究将采用如下研究方法:(1)文献研究法。
通过查阅相关文献,了解入侵检测系统的发展历程和现状,以及Snort入侵检测系统的原理、特点和应用。
(2)实验研究法。
设计和实现基于Snort的入侵检测系统原型,并进行功能测试和性能评估。
收集测试数据并进行分析,对实验结果进行总结和分析。
(3)问卷调查法。
为了了解用户对入侵检测系统的需求和评价,通过设计问卷对潜在用户进行调查,收集用户对系统功能和性能的反馈意见和建议,优化系统设计和实现。
CHAPTER定义与重要性定义网络安全是指保护网络系统免受未经授权的访问、使用、篡改或破坏的能力,确保网络数据的机密性、完整性和可用性。
重要性随着互联网的普及和数字化进程的加速,网络安全对于个人、企业乃至国家都具有至关重要的意义,它关系到个人隐私保护、企业商业机密维护以及国家主权和安全。
通过感染计算机系统,破坏数据、干扰操作或窃取信息。
病毒与恶意软件利用伪装成合法来源的电子邮件或网站,诱骗用户泄露个人信息或执行恶意代码。
钓鱼攻击加密用户文件并索要赎金,否则不予解密。
勒索软件通过大量请求拥塞目标服务器,使其无法提供正常服务。
分布式拒绝服务攻击(DDoS )网络安全威胁类型定期更新病毒库,扫描并清除系统中的病毒和恶意软件。
安装防病毒软件使用复杂且不易被猜测的密码,定期更换并避免重复使用。
强化密码管理不轻易点击来源不明的邮件和链接,避免下载未知附件。
谨慎处理电子邮件和链接以防万一数据被篡改或丢失,可以迅速恢复。
定期备份数据网络安全防护策略CHAPTER利用心理学原理和技术手段,通过欺骗、诱导等方式获取敏感信息或实施网络攻击的行为。
社交工程攻击定义常见手段防范措施冒充他人身份、伪造邮件或网站、网络钓鱼等。
提高警惕性,不轻信陌生信息;验证信息来源,谨慎处理邮件和链接;加强个人信息安全保护。
030201社交工程攻击及防范指在计算机系统中植入、传播并执行的具有恶意目的的程序代码,如病毒、蠕虫、木马等。
恶意代码定义通过电子邮件、恶意网站、下载的文件等途径传播,窃取信息、破坏系统或实施其他恶意行为。
攻击方式使用可靠的安全软件,定期更新病毒库;不打开未知来源的邮件和链接;谨慎下载和运行软件。
防范措施常见手段拒绝服务攻击定义SYN Flood攻击、DNS放大攻击等。
通过大量请求或制造网络拥塞等手段,使目标系统无法提供正常服务或资源耗尽的攻击方式。
防范措施采用高性能防火墙和入侵检测系统;优化系统配置,提高系统抗攻击能力;备份重要数据和配置,确保快速恢复。
第一步:进入系统1. 扫描目标主机。
2. 检查开放的端口,获得服务软件及版本。
3. 检查服务软件是否存在漏洞,如果是,利用该漏洞远程进入系统;否则进入下一步。
4. 检查服务软件的附属程序(*1)是否存在漏洞,如果是,利用该漏洞远程进入系统;否则进入下一步。
5. 检查服务软件是否存在脆弱帐号或密码,如果是,利用该帐号或密码系统;否则进入下一步。
6. 利用服务软件是否可以获取有效帐号或密码,如果是,利用该帐号或密码进入系统;否则进入下一步。
7. 服务软件是否泄露系统敏感信息,如果是,检查能否利用;否则进入下一步。
8. 扫描相同子网主机,重复以上步骤,直到进入目标主机或放弃。
第二步:提升权限1. 检查目标主机上的SUID和GUID程序是否存在漏洞,如果是,利用该漏洞提升权限,否则进入下一步。
2. 检查本地服务是否存在漏洞,如果是,利用该漏洞提升权限,否则进入下一步。
3. 检查本地服务是否存在脆弱帐号或密码,如果是,利用该帐号或密码提升权限;否则进入下一步。
4. 检查重要文件的权限是否设置错误,如果是,利用该漏洞提升权限,否则进入下一步。
5. 检查配置目录(*2)中是否存在敏感信息可以利用。
6. 检查用户目录中是否存在敏感信息可以利用。
7. 检查临时文件目录(*3)是否存在漏洞可以利用。
8. 检查其它目录(*4)是否存在可以利用的敏感信息。
9. 重复以上步骤,直到获得root权限或放弃。
第三步:放置后门最好自己写后门程序,用别人的程序总是相对容易被发现。
第四步:清理日志最好手工修改日志,不要全部删除,也不好使用别人写的工具。
附加说明:*1 例如WWW服务的附属程序就包括CGI程序等*2 这里指存在配置文件的目录,如/etc等*3 如/tmp等,这里的漏洞主要指条件竞争*4 如WWW目录,数据文件目录等/*****************************************************************************/ 好了,大家都知道了入侵者入侵一般步骤及思路那么我们开始做入侵检测了。
第四章基于认证的入侵一、获取账号密码1、弱口令扫描2、字典攻击3、暴力破解4、网络监听获取密码二、IPC$入侵1、什么是IPC$入侵2、IPC$空连接漏洞3、防止IPC$入侵4、问题与解答三、Telnet入侵1、什么是Telnet入侵2、Telnet被入侵者用来做什么?3、NTLM验证4、使用Telnet登录5、去除NTLM验证6、Telnet杀手锏opentelnet7、恢复Telnet验证8、Telnet高级入侵9、问题与解答四、利用注册表入侵1、注册表介绍2、备份和还原注册表3、远程注册表服务(Remote Registry Server)4、编辑注册表文件5、常用注册表入侵方法6、锁住注册表编辑器7、解除锁定注册表编辑器8、禁止远程修改注册表9、映像劫持10、问题与解答五、利用远程终端服务(3389)入侵1、什么是终端服务2、远程开启远程终端服务(3389)3、使用远程终端服务入侵4、修改远程终端服务默认端口六、利用MS SQL入侵1、获取MS SQL弱口令2、入侵MS SQL数据库3、入侵MS SQL主机4、利用SQL 注入入侵5、利用NBSI软件进行SQL注入攻击6、相关参考一、获取账号密码入侵者可以通过以下手段来获取远程主机的管理员密码。
弱口令扫描:入侵者通过扫描大量主机,从中找出一两个存在弱口令的主机。
密码监听:通过Sniffer(嗅探器)来监听网络中的数据包,从而获得密码,对于明文密码特别有效,如果获取的数据包是加密的,还要涉及解密算法。
暴力破解:密码的终结者,获取密码只是时间问题。
如本地暴力破解、远程暴力破解。
社会工程学:通过欺诈手段或人际关系获取密码。
其它方法:例如在入侵后安装木马或安装键盘记录程序等。
1、弱口令扫描弱口令:即密码为空或密码简单。
利用X-Scan扫描器来获取目标主机的弱口令。
演示:扫描弱口令。
见视频:弱口令扫描.exe2、字典攻击小榕的“黑客字典”有两个版本,一个是可以单独使用的程序,另外一个是嵌在流光的黑客字典工具。
利用小榕的“黑客字典”就可以制作密码字典文件了。
注意:在实际中,一般的密码一般为6位、8位,这样的密码字典文件往往很大,如果只用一台主机进行暴力破解恐怕需要几十年,所以入侵者常常把这种很大的密码文件分割成很多份上传到几十台、几百台“肉鸡”上,让不同的“肉鸡”来破解不同的密码文件。
例如:黑客字典流光版就自带了文件拆分的功能,可以把庞大的密码文件分成若干小份。
演示:制作字典文件。
见视频:制作字典文件.exe3、暴力破解使用暴力破解工具来破解远程主机的管理员密码。
工具一:WMICracker这是小榕的一款暴力破解NT主机账号密码的工具,是Windows NT/XP/2003的杀手,破解密码的时候需要目标主机开放135端口,这是大多数主机所满足的。
使用方法:WMICracker.exe <IP> <UserName> <Password File> [Threads]参数说明:<IP> :目标主机的IP地址<UserName> :待破解密码的账号,必须属于管理员组<Password File> :密码字典文件[Threads]:线程数,默认为80,该值越大,破解速度越快。
思考:如何才能防止被WMICracker暴力破解?暴力破解需要入侵者有足够大、合理的密码字典和充裕的时间。
为防止密码在短时间内被破解,管理员可以通过增加密码的长度、加强密码的强壮度来解决。
另外,WMICracker暴力破解是依靠135端口进行的,管理员可以关闭该端口来防止WMICracker进行的暴力破解。
演示:暴力破解。
见视频:暴力破解.exe网络下载的视频:暴力破解QQ密码.avi工具二:SMBCrack使用方法:SMBCrack <IP> <UserName> <Password File>参数说明:<IP> :目标主机的IP地址<UserName> :待破解密码的账号,必须属于管理员组<Password File> :密码字典文件4、网络监听获取密码在网络中,当信息进行传播的时候,利用工具将网络中正在传播的信息截获或者捕获到,从而进行攻击,而黑客一般都是利用网络监听来截取用户口令。
Sniffer就是嗅探器。
二、IPC$入侵1、什么是IPC$入侵IPC是英文Internet Process Connection的缩写,可以理解为“命名管道”资源,它是Windows 操作系统提供的一个通信基础,用来在两台计算机进程之间建立通信连接,而IPC后面的“$”是Windows系统所使用的隐藏符号,因此“IPC$”表示IPC共享,是隐藏的共享。
IPC$是Windows NT及Windows 2000/XP/2003特有的一项功能,通过这项功能,一些网络程序的数据交换可以建立在IPC上面,实现远程访问和管理计算机。
打个比方,IPC连接就像是挖好的地道,通信程序就通过这个IPC地道访问目标主机。
默认情况下IPC是共享的,除非手动删除IPC$。
通过IPC$连接,入侵者就能够实现远程控制目标主机。
因此,这种基于IPC的入侵也常被简称为IPC$入侵。
演示:建立和断开IPC$连接,入侵者将远程磁盘映射到本地。
见视频:IPC$连接.avi演示:建立IPC$连接,留后门账号。
见视频:留后门账号.avi2、IPC$空连接漏洞IPC$空连接漏洞允许客户端只使用空用户名、空密码就可以与目标主机成功建立连接。
利用该漏洞可以与目标主机进行空连接,但是无法执行管理类操作,例如不能执行映射网络驱动器、上传文件、执行脚本等命令。
虽然入侵者不能通过该漏洞直接得到管理员权限,但也可以用来探测目标主机的一些关键信息,在“信息搜集”中可以发挥一定作用。
(1)演示:通过IPC$空连接获取信息。
步骤1:建立与目标主机的IPC$空连接。
如:net use \\10.106.1.27 "" /user:""步骤2:net time \\10.106.1.27 查看目标主机的时间信息。
入侵者也可以通过目标主机的时间信息来推断目标主机所在的国家或地区。
3、防止IPC$入侵IPC$为入侵者远程连接目标主机提供了可能。
入侵者所使用的工具中有很多是基于IPC$来实现的。
防止IPC$入侵的方法见“网络命令”课件中的“net share”部分。
4、问题与解答Q:与远程主机建立IPC$连接需要满足什么条件?A:本地机器所需条件为:与远程主机建立IPC$连接,本地计算机也应该开放IPC$。
在获取远程主机的管理员账号和密码的情况下,IPC$才可能建立成功,IPC$空连接除外。
远程主机所需条件为:开放IPC$共享,运行Server服务。
上述这些条件都是系统默认安装的,因此,只要本地机和远程主机没有进行手动更改,就可实现IPC$。
Q:既然使用IPC$空连接就可以与远程主机建立连接,那么未授权者能通过IPC$空连接来控制远程主机吗?A:IPC$是基于账号和密码的,当拥有远程主机上的账号和密码后才能成功建立有效的IPC$,而且建立的IPC$拥有相应账号的权限。
虽然使用IPC$空连接能够与远程主机建立连接,但是该连接没有任何权限,也就是说,未授权者不能通过IPC$空连接来控制远程主机。
Q:与远程主机建立IPC$成功,但是将文件拷贝到远程主机时失败,为什么?A:首先,在拷贝文件到远程主机之前需要先用管理员账号与远程主机建立IPC$连接,而不是IPC$空连接。
如果建立的IPC$连接而不能进行拷贝操作,则说明远程主机关闭了C盘、D盘等默认共享资源,这时,可以使用计划任务开启这些共享资源,比如:at \\IP TIME NET SHARE c$=c:三、Telnet入侵1、什么是Telnet入侵Telnet是进行远程登录的标准协议和主要方式。
它为用户提供了在本地计算机上完成远程主机工作的能力。
一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。
2、Telnet被入侵者用来做什么?(1)Telnet是控制远程主机的第一手段入侵者一旦与远程主机建立Telnet连接,就可以像控制本地计算机一样来控制远程计算机。
(2)用来做跳板入侵者把用来隐身的肉鸡称之为“跳板”。
从一个“肉鸡”登录到另一个“肉鸡”,这样在入侵过程中就不会暴露自己的IP地址。
3、NTLM验证NTLM :Windows NT LAN Manager微软公司为Telnet添加了身份验证,称为NTLM验证,它要求Telnet终端除了需要有Telnet 服务主机的用户名和密码外,还需要满足NTLM验证关系。
NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你扫到的对方管理员的账户和密码登录。
举个例子来说,你家的机器名为A(本地机器),你入侵的机器名为B(远程机器),你在A上的账户是xinxin,密码是1234,你扫到B的管理员账号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的账号和密码作为登录的凭据来进行操作,即用xinxin 和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。
NTLM身份验证选项有三个值,默认是2。
0:不使用NTLM身份验证。
1:先尝试NTLM身份验证,如果失败,再使用用户名和密码。
2:只使用NTLM身份验证。
Telnet服务器使用NTLM的三个选项之一时,客户机会显示下面情况中的一种:(1)身份验证选项=0时Microsoft (R) Windows (TM) Version 5.00 (Build 2195)Welcome to Microsoft Telnet ServiceTelnet Server Build 5.00.99201.1login:password:为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入扫到的Administrator 和5678(2)身份验证选项=1时NTLM Authentication failed due to insufficient credentials. Please login withclear text username and passwordMicrosoft (R) Windows (TM) Version 5.00 (Build 2195)Welcome to Microsoft Telnet ServiceTelnet Server Build 5.00.99201.1login:password:先尝试 NTLM 身份验证,如果失败,再使用用户名和密码,其实这种方式对于我们来说,与上一种方式没什么区别(3)身份验证选项=2时NTLM Authentication failed due to insufficient credentials. Please login withclear text username and passwordServer allows NTLM authentication onlyServer has closed connection遗失对主机的连接。