学习《计算机网络安全》这本书的一些记录
上图是一些攻击手法;
一、漏洞的威胁
1. 通过漏洞获取远程管理员权限
通常以管理员身份执行有缺陷的远程系统守护进程来获得远程管理员权限。这些漏洞的绝大部分来源于缓冲区溢出,少部分来自守护进程本身的逻辑缺陷。
典型漏洞:Windows NT IIS 4.0的ISAPI DLL对输入的URL未做适当的边界检查,如果构造一个超长的URL,可以溢出IIS(inetinfo.exe)的缓冲区,执行攻击者指定的代码。由于inetinfo.exe是以local system身份启动,溢出后可以直接得到远程管理员权限。
2. 通过漏洞获取本地管理员权限
在已有一个本地账号能够登录到系统的情况下,通过攻击本地某些有缺陷的suid程序、竞争条件等手段,得到系统的管理员权限。
典型漏洞:在Windows 2000操作系统下,攻击者就有机会让网络DDE(一种在不同的Windows机器上的应用程序之间动态共享数据的技术)代理在本地系统用户的安全上下文中执行其指定的代码,从而提升权限并完全控制本地机器。
3. 通过漏洞获取普通用户访问权限
利用服务器的漏洞,取得系统的普通用户存取权限,对UNIX类系统通常是shell访问权限,对Windows系统通常是cmd.exe的访问权限,能够以一般用户身份的执行程序、存取文件。
通常攻击以非管理员身份运行的守护进程、有缺陷的CGI程序等手段获得这种访问权限。
典型漏洞:Windows IIS 4.0-5.0存在Unicode解码漏洞,可以使攻击者利用cmd.exe以guest组的权限在系统上运行程序,相当于取得了普通用户的权限
4. 通过漏洞获得权限提升
在本地通过攻击某些有缺陷的sgid程序,把自己的权限提升到某个非管理员用户的水平。获得管理员权限可以看作是一种特殊的权限提升。
典型漏洞:RedHat Linux 6.1带的man程序为sgid,它存在格式化bug,通过对它的溢出攻击,可以使攻击者得到man组的用户权限。
5. 通过漏洞读取受限文件
利用某些漏洞,读取本来无权访问的文件,这些文件通常是安全相关的。这些漏洞的存在可能是文件设置权限不正确,或者是特权进程对文件的不正确处理和意外dump core使受限文件的一部分dump到了core文件中。
典型漏洞:Oracle 8.0.3 Enterprise Edition for NT 4.0的日志文件全局可读而且为明文,它记录了连接的口令,很可能被攻击者读到。
6. 通过漏洞造成远程系统拒绝服务
利用这类漏洞,无须登录即可对系统发起拒绝服务攻击,使系统或相关的应用程序崩溃或失去响应能力。这类漏洞通常是系统本身或其守护进程有缺陷或设置不正确造成的。
典型漏洞:Windows 2000带的Netmeeting 3.01存在缺陷,通过向它发送二进制数据流,可以使服务器的CPU占用达到100%。
7. 通过漏洞造成本地系统拒绝服务
登录到系统后,利用这类漏洞,可以使系统本身或应用程序崩溃。这种漏洞主要因为是程序对意外情况的处理失误,如写临时文件之前不检查文件是否存在,盲目跟随链接等。
典型漏洞:RedHat 6.1的tmpwatch程序存在缺陷,可以使系统fork出许多进程,从而使系统失去响应能力。
8. 通过漏洞造成远程非授权文件存取
利用这类漏洞,可以不经授权地从远程存取系统的某些文件。这类漏洞主要是由一些有缺陷的CGI程序引起的,它们对用户输入没有做适当的合法性检查,使攻击者通过构造特别的输入获得对文件存取的权限。
典型漏洞:Windows IIS 5.0存在一个漏洞,通过向它发送一个特殊的head标记,可以得到ASP源码,而不是经过解释执行后的ASP页面。
9. 通过漏洞造成口令恢复
因为采用了很弱的口令加密方式,使攻击者可以很容易地分析出口令的加密方法,从而使攻击者通过某种方法得到密码后还原出明文。
典型漏洞:Windows下的PassWD v1.2用来管理系统中的各种口令,并和URL一起储存起来。但它加密储存的口令加密方式非常脆弱,经过简单的分析,就可以从加密后的口令还原出明文。
10. 通过漏洞造成欺骗
利用这类漏洞,可以对目标系统实施某种形式的欺骗。这通常是由于系统的实现上存在某些缺陷。
典型漏洞:IE曾经存在一个漏洞,允许一个恶意网站在另一个网站的窗口内插入内容,从而欺骗用户输入敏感数据。
11. 通过漏洞造成服务器信息泄露
利用这类漏洞,可以收集到对进一步攻击系统有用的信息。这类漏洞的产生主要是因为系统程序有缺陷,一般是对错误的不正确处理。
典型漏洞:Windows IIS 3.0~5.0存在漏洞,当向系统请求不存在的.ida文件时,服务器系统可能会返回出错信息,里面暴露了IIS的安装目录信息,比如请求http://www.microsoft.com/anything.ida
,服务器会返回Response:The IDQ filed:\http\anything.ida could not be found,为攻击者提供方便。
等等。。。
二、网络扫描
网络扫描的主要目的是收集目标的信息,发现目标漏洞。主要包括预攻击探测和漏洞扫描。
(一)预攻击探测
预攻击探测的主要目的是探测目标主机是否“活着”,查看目标主机的属性,如哪些端口开放,有什么服务等。
预攻击探测主要有以下方法。
1. ping扫描
ping是测试网络连接状况以及信息包发送和接收状况非常有用的工具,是网络测试最常用的命令。ping向目标主机(地址)发送一个回送请求数据包,要求目标主机收到请求后给予答复,从而判断网络的响应时间和本机是否与目标主机(地址)联通。 pinger工具,ping sweep,可以扫描一个地址段。
2. 端口扫描(portscan)
端口扫描的主要目的是寻找存活主机的开放端口或服务。端口扫描的原理是尝试与目标主机建立连接,如果目标主机有回复则说明端口开放。
- 全TCP连接。这种方法使用三次握手与目标主机建立标准的tcp连接;容易被发现并被目标主机记录。
- SYN扫描。扫描主机自动向目标主机的指定端口发送SYN数据段,表示发送建立连接请求。如果目标主机的回应报文SYN=1,ACK=1,则说明该端口是活动的,接着扫描主机发送回一个RST给目标主机拒绝连接,导致三次握手失败。如果目标主机回应是RST,则端口是“死的”。
- FIN扫描。发送一个FIN=1的报文到一个关闭的端口,该报文将丢失并返回一个RST。如果该FIN报文发送到活动窗口则报文丢失,不会有任何反应。
- 代理扫描。即把别的计算机当中间代理,去扫描目标主机。这种扫描方法通过扫描器来自动完成。例如HTTP Proxy Scanner是一种应用程序代理扫描器,每秒可以扫描10000个IP地址。 端口扫描工具如NetScanTools、WinScan、SuperScan、NTOScanner、WUPS、NmapNT等
- HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080。
- SOCKS代理协议服务器常用端口号:1080。
- Telnet(远程登录)协议代理服务器常用端口号:23。
- HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口)。
- HTTPS服务器,默认的端口号为443/tcp 443/udp。
- Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口)。
- FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口)。
- TFTP(Trivial File Transfer Protocol),默认的端口号为69/udp。
- SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp。
- SMTP(Simple Mail Transfer Protocol,E-mail),默认的端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口)。
- POP3(Post Office Protocol,E-mail),默认的端口号为110/tcp。
- WebLogic,默认的端口号为7001。
- Webshpere应用程序,默认的端口号为9080。
- Webshpere管理工具,默认的端口号为9090。
- JBOSS,默认的端口号为8080。
- TOMCAT,默认的端口号为8080。
- WIN2003远程登录,默认的端口号为3389。
- Symantec AV/Filter for MSE,默认的端口号为8081。
- Oracle数据库,默认的端口号为1521。
- ORACLE EMCTL,默认的端口号为1158。
- Oracle XDB(XML数据库),默认的端口号为8080。
- Oracle XDB FTP服务,默认的端口号为2100。
- MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp。
- MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp。
- QQ,默认的端口号为1080/udp。
200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图
3.操作系统识别(OS fingerprint)
识别目标主机的操作系统,首先可以帮助攻击者进一步探测操作系统级别的漏洞,从而可以从这一级别进行渗透测试。操作系统和运行在本系统之上的应用一般是成套出现的。操作系统的版本也有助于准确定位服务程序或者软件的版本,比如Windows server 2003搭载的IIS为6.0,Windows server 2008 R2搭载的是IIS7.5
常见的操作系统指纹识别技术:
- 抓取计算机的标志(Banner),通过它来查看操作系统型号。 Banner抓取是最基础、最简单的指纹识别技术,而且在不需要其他专门工具的情况下就可以做。操作简单,通常获取的信息也相对准确。严格地讲,Banner抓取是应用程序指纹识别而不是操作系统指纹识别。
Banner信息是由应用程序自动返回的,比如apache、exchange。而且很多时候并不会直接返回操作系统信息,幸运的话,可能会看到服务程序本身的版本信息,并以此进行推断。可以很容易的就防御,把Banner的信息隐藏就可以;(在IIS中使用ISAPI扩展后,经常会看到透露版本的Banner。)
服务标志 | 对应的服务器操作系统类型 |
---|---|
Microsoft-HTTPAPI/2.0 | Windows 2003 Sp2, Windows 7, Windows 2008, Windows 2008 R2 |
Microsoft-HTTPAPI/1.0 | Windows 2003 |
- 通过工具来判断操作系统类型; Winfingerprint专业工具
4.资源和用户信息扫描
资源扫描网络资源和共享资源,如目标网络计算机名、域名和共享文件等;而用户扫描则扫描目标系统上合法用户的用户名和用户组名。(Windows系统如共享资源、Netbios名和用户组等)
常用的方法:
- 使用net view。
- 在DOS命令行中输入“
net view/domain
”命令,可以获取网络上可用的域; - 命令行中输入“
net view/domain:domain_name
”命令,可以获取某一域中的计算机列表,其中domain_name为域名; - 命令行中输入“
net view\\computer_name
”命令,可以获取网络中某一计算机的共享资源列表,其中computer_name为计算机名
- 使用netviewx。
- 使用
netviewx NCS
列出domain域中的服务器列表; - 使用
netviewx NCS nt printq-server-x
用于列出域NCS中所有运行NT和共享打印机的服务器;
- 使用nbtstat。
- nbtstat(NetBIOS over TCP/IP)是Windows操作系统内置的命令行工具,利用它可以查询涉及NetBIOS信息的网络机器;
- 还可以用来消除NetBIOS高速缓存器和预加载LMHOSTS文件等;在进行安全检查时非常有用;(例如利用nbtstat查看目标系统NetBIOS列表:
nbtstat -a X.X.X.X
)
(二)漏洞扫描
1. 网络漏洞扫描的三个阶段
(1)寻找目标主机或网络。
(2)进一步搜集目标信息,包括OS类型、运行的服务以及服务软件的版本等。
(3)判断或进一步检测系统是否存在安全漏洞。
2. 漏洞扫描的两种策略
(1)被动式策略。被动式策略就是基于主机,对系统中不合适的设置、脆弱的口令以及其他与安全规则抵触的对象进行检查,又称为系统安全扫描。
(2)主动式策略。主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而发现其中的漏洞,又称为网络安全扫描。
3. 漏洞扫描技术的原理
漏洞扫描技术是建立在端口扫描技术的基础之上;
漏洞扫描技术的原理是检查目标主机是否存在漏洞,在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否存在满足匹配条件的漏洞,通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,若模拟攻击成功,则表明目标主机系统存在安全漏洞。
(1)漏洞库的特征匹配方法。基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。
采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统的安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后在此基础上构成相应的匹配规则,由扫描程序自动进行漏洞扫描工作。若没有被匹配的规则,系统的网络连接是禁止的。
工作原理:扫描客户端提供良好的界面,对扫描目标的范围、方法等进行设置,向扫描引擎(服务器端)发出扫描命令。服务器根据客户端的选项进行安全检查,并调用规则匹配库检测主机,在获得目标主机TCP/IP端口和其对应的网络访问服务的相关信息后,与网络漏洞扫描系统提供的系统漏洞库进行匹配,如果满足条件,则视为存在漏洞。服务器的检测完成后将结果返回到客户端,并生成直观的报告。在服务器端的规则匹配库是许多共享程序的集合,存储各种扫描攻击方法。漏洞数据从扫描代码中分离,使用户能自行对扫描引擎进行更新。
漏洞库信息的完整性和有效性决定了漏洞扫描的性能,漏洞库的修订和更新的性能也会影响漏洞扫描系统运行的时间。
(2)功能模块(插件)技术。插件是由脚本语言编写的子程序,扫描程序可以通过调用它来执行漏洞扫描,检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件增加新的功能,扫描出更多的漏洞。插件编写规范化后,用户自己都可以编写插件来扩充漏洞扫描软件的功能,这种技术使漏洞扫描软件的升级维护变得相对简单,而专用脚本语言的使用也简化了编写新插件的工作,使漏洞扫描软件具有强的扩展性。
工作原理:它的前端工作原理和基于网络系统漏洞库的漏洞扫描工作原理基本相同,不同的就是将系统漏洞库和规则匹配库换成了扫描插件库和脆弱性数据库。扫描插件库包含各种脆弱性扫描插件,每个插件对一个或多个脆弱点进行检查和测试。插件之间相对独立,这部分应该随着新脆弱性的发现而及时更新。脆弱性数据库收集了国际上公开发布的脆弱性数据,用于检查检测的完备性。它与扫描插件库之间是一对一或一对多的关系,即一个插件可以进行一个或多个脆弱点的检测。因此,扫描插件库和脆弱性数据库可以及时更新,具有很强的扩展性。
常用的网络扫描工具,如ISS Internet Scanner、Nessus、XScan等;个人计算机系统漏洞扫描比较常用的是360安全卫士; 网络综合漏洞扫描方面应用比较广泛的是X-Scan扫描软件; 网站扫描方面,目前360出品的网站扫描产品比较好用,直接在网站http://webscan.360.cn/
输入网站的URL就可以扫描了。
题外话
初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。下面我们来看两组数据:
-
2023届全国高校毕业生预计达到1158万人,就业形势严峻;
-
国家网络安全宣传周公布的数据显示,到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻,一方面是网络安全人才百万缺口。
6月9日,麦可思研究2023年版就业蓝皮书(包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》)正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。
具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。
“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!
2、人才缺口大,就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。
行业发展空间大,岗位非常多
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。
从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取