网络安全概述
网络安全概念
网络安全(Cyber Security)是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
网络攻击
网络攻击是指对计算机信息系统、基础设施、计算机网络或者个人计算机设备等的任何类型的进攻动作。
网络安全学习内容
网络安全需要学习的很多很杂,目前我们处于基础学习阶段,我将这个阶段需要学习的内容放在下图中:
网络安全的学习方法
- 按照学习路径进行基础学习,根据书籍、资料学习基础知识
- 及时的操作练习
- 关注相关公众号以及技术博主,阅读相关文章
- 学会归纳总结,可以采用写博客或者做思维导图的方式
学习是一个枯燥乏味的过程,希望大家能脚踏实地,耐住性子,一步一步的坚持下来,让我们一起学习进步!
!!!注意 !!!
大家一定要去学习了解相关的法律法规,网络安全不是儿戏,切记不可做违法的事情。
维护网络安全,做合法公民,从你我做起!
渗透测试概述
渗透测试概念
渗透测试(Penetration Testing),就是一种通过模拟恶意攻击者的技术与方法,挫败目标系统安全控制措施,取得访问控制权,并发现具备业务影响后果安全隐患的一种安全测试与评估方法。
简单来说,就是合法去入侵别人的系统,来帮助其找出漏洞,增强防护能力。
渗透测试分类
黑盒测试:在没有信息的情况下完成对目标的攻击,模拟现实中真实的网络攻击
白盒测试:在已知目标内部代码、拓扑的情况下,对目标完成攻击。相当于内鬼(内部成员干坏事)
灰盒测试:黑盒和白盒的结合。已知一部分信息来对目标进行攻击。
渗透测试基本流程
1、前期交互阶段
在前期交互(Pre-Engagement Interaction)阶段,渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。
2、情报搜集阶段
在目标范围确定之后,将进入情报搜集(Information Gathering)阶段,渗透测试团队可以利用各种信息来源与搜集技术方法,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。
3、威胁建模阶段
在搜集到充分的情报信息之后,渗透测试团队的成员们停下敲击键盘,大家聚到一起针对获取的信息进行威胁建模(Threat Modeling)与攻击规划。这是渗透测试过程中非常重要,但很容易被忽视的一个关键点。
4、漏洞分析阶段
在确定出最可行的攻击通道之后,接下来需要考虑该如何取得目标系统的访问控制权,即漏洞分析(Vulnerability Analysis)阶段。 在该阶段,渗透测试者需要综合分析前几个阶段获取并汇总的情报信息,特别是安全漏洞扫描结果、服务查点信息等,通过搜索可获取的渗透代码资源,找出可以实施渗透攻击的攻击点,并在实验环境中进行验证。在该阶段,高水平的渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。
5、渗透攻击阶段
渗透攻击(Exploitation)是渗透测试过程中最具有魅力的环节。在此环节中,渗透测试团队需要利用他们所找出的目标系统安全漏洞,来真正入侵系统当中,获得访问控制权。 渗透攻击可以利用公开渠道可获取的渗透代码,但一般在实际应用场景中,渗透测试者还需要充分地考虑目标系统特性来定制渗透攻击,并需要挫败目标网络与系统中实施的安全防御措施,才能成功达成渗透目的。在黑盒测试中,渗透测试者还需要考虑对目标系统检测机制的逃逸,从而避免造成目标组织安全响应团队的警觉和发现。
6、后渗透攻击阶段
后渗透攻击(Post Exploitation)是整个渗透测试过程中最能够体现渗透测试团队创造力与技术能力的环节。前面的环节可以说都是在按部就班地完成非常普遍的目标,而在这个环节中,需要渗透测试团队根据目标组织的业务经营模式、保护资产形式与安全防御计划的不同特点,自主设计出攻击目标,识别关键基础设施,并寻找客户组织最具价值和尝试安全保护的信息和资产,最终达成能够对客户组织造成最重要业务影响的攻击途径。
7、报告阶段
渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告(Reporting)。这份报告凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。
MS-010(永恒之蓝)漏洞实操
工具
●Namp(上帝之眼)
Nmap 全称为 Network Mapper
Nmap是目前最流行的网络扫描工具,不仅能准确探测单台主机的详细情况,而且能高效地对大范围的Ip地址段扫描。 能扫描目标网络上有哪些主机上存活的,哪些服务是开放的,甚至知道网络中使用了何种类型的防火墙设备等。
其基本功能有:
- 主机发现(Host Discovery)
- 端口扫描(Port Scanning)
- 版本侦测(Version Detection)
- 操作系统侦测(Operating System Detection)
相关参数
-sT:TCP connect扫描
-sS:TCP SYN扫描
-sF/-sX/-sN:通过发送一些特殊的标志位以避开设备或软件的检测
-sP:通过发送ICMP echo请求探测主机是否存活,原理同Ping
-sU:探测目标主机开放了哪些UDP端口
-sA:TCP ACK扫描,对防火墙上未屏蔽的端口进行探测
-sV:获取对应端口上更为详细的服务版本信息
-Pn:在扫描之前,不发送ICMP echo请求测试目标是否存活
-O:启动对于TCP/IP协议栈的指纹特征扫描以获取远程主机的操作系统类型等信息
-F:快速扫描模式,只扫描在nmap-services中列出的端口
我们利用这个工具来实现信息的收集。
●metasploit
metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数千个已知软件漏洞的专业级漏洞攻击工具。
我们利用这个工具来实现攻击。
●VMware虚拟机
我们使用的虚拟机来完成攻击操作,而不是在物理机上演示。
虚拟机下载流程如下: []((50条消息) 虚拟机VMware下载与安装教程(详细)vmware虚拟机-借我杀死庸碌的情怀-的博客-CSDN博客)
实例操作流程
环境
●攻击机:Kali-Linux-2021 虚拟机ip:192.168.23.128
●靶机:Windows7 虚拟机ip:192.168.23.129
注:ip地址每个人的不一样
1.打开kali,切换至管理员模式
2.使用nmap查看靶机相关信息
另外,在前面的nmap指令中 0/24的意思是扫描这个网段。
3.使用msf进行攻击
进入这个工具
对漏洞进行查找
exploit是攻击模块,用来进行直接攻击
auxiliary是辅助模块,用来进行信息收集等功能
showoptions进行相关参数的查看,在Required中,yes是必须要填的参数。我们通过set来指明对象(rhosts)。
进行信息收集操作。
可以看到,Windows7确实是存在ms17-010这个漏洞的。
我们设定攻击载荷,攻击者以及被攻击者。并执行攻击操作。
WIN!我们成功入侵了Windows7操作系统。
4.对Windows7进行截屏
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和Javascript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
【“脚本小子”成长进阶资源领取】
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。