网络攻防备课笔记
从“踩点”到“创建后门”的攻击流程
踩点:攻击者在实施攻击前对目标进行初步的探索和调查的过程,包括收集目标的IP地址、开放的端口、服务版本、可能的漏洞等信息。
扫描:使用工具如Nmap、Masscan等对目标进行端口扫描,找出开放的端口和对应的服务。
漏洞探测:在知道目标系统的服务和版本后,攻击者会查找可能存在的漏洞,使用如Nessus、OpenVAS等工具进行自动化的漏洞扫描。
利用漏洞:发现漏洞后,攻击者会尝试利用这些漏洞进入系统,例如使用Metasploit工具。
提权:攻击者在进入系统后,可能首先获得的是低权限账号,他们会尝试使用各种方法提高权限,直到获得root或administrator权限。
横向移动:在一个组织内部,攻击者会尝试从一个系统移动到另一个系统,利用内网的开放服务和配置错误。
创建后门:为了确保自己可以随时访问被攻击的系统,攻击者会在系统中创建后门。这可以是一个隐藏的账户、一个启动项,或者是一个特殊的网络服务。
数据窃取:攻击者可能会寻找并窃取有价值的信息,如用户数据、商业秘密等。
清除痕迹:为了不被发现,攻击者会清除日志和其他可能暴露其行为的痕迹。
后门
后门(Backdoor)在计算机安全领域通常指可以绕过正常认证过程的一种秘密访问方法。
后门可以被用于多种目的,包括但不限于:
恶意用途:如上述攻击手段,攻击者利用后门重新进入被攻击的系统,窃取数据或进行其他恶意操作。
维护和管理:一些软件开发者在软件中为了方便维护或管理而留下的后门。这种情况下,后门可能是有意设计的功能。
国家或政府用途:有报道称某些国家要求企业在其产品中安装后门以供政府机构使用。这种后门可能是为了情报收集或其他目的。
不论是出于哪种原因,后门都存在安全风险。一旦被恶意使用或被第三方发现,都可能导致系统被非法访问或数据被窃取。因此,许多安全专家和隐私倡导者都反对任何形式的后门,认为这是一个不可接受的安全风险。
黑客 Hacker/骇客 Cracker/红客
这三个术语“黑客”、“骇客”和“红客”在计算机和网络安全领域中有特定的含义。
黑客 (Hacker):原始的定义是指那些热衷于计算机技术的人,他们喜欢探索、破解和创新。但在大众文化中,这个词逐渐与非法侵入计算机系统和网络的行为相关联。现在,“黑客”通常被用来描述那些寻找并利用计算机系统漏洞的人,但他们的目的可以是好的、坏的,也可以是中立的。
骇客 (Cracker):这个词是为了区分原始的“黑客”定义与非法行为而创造的。骇客专指那些出于恶意目的攻击计算机系统的人。他们的目标可能是窃取数据、破坏系统或其他恶意行为。
如果黑客是炸弹制造专家,那么骇客就是恐怖分子。
红客:红客是中国特有的一个术语,通常用来描述那些声称自己是为了“爱国”目的而攻击其他国家的网络或网站的人。这种行为可能涉及到破坏网站、窃取数据或其他形式的网络攻击。红客与“蓝军”相对,后者通常指的是防御方或者负责维护网络安全的团队。
值得注意的是,网络安全领域中还有很多其他相关术语,例如“白帽”(白帽黑客,出于正当目的进行安全研究的人)和“黑帽”(出于恶意目的攻击系统的人)。
骇客未必有很高的技术?黑客呢?
骇客与技术能力:"骇客"一词通常用来描述那些有恶意的黑客,他们的技术能力可能各不相同。就像所有的黑客一样,他们中的一些人可能具有高度的专业技术,而另一些人可能只是脚本小子,依赖他人开发的工具。
黑客与技术能力:"黑客"一词原本的含义更偏向于对技术的热情和好奇心,而不一定意味着高技能。但是,随着时间的推移,这个词在大众文化中的含义发生了变化,经常被用来描述具有高技术能力的个体,无论他们的意图是好是坏。
黑客在IT圈带有正面意义?
在IT和编程社区中,"黑客"通常是一个褒义词,描述的是那些富有创意、技巧和对技术充满热情的人。他们可能是编程高手,喜欢“玩”技术,并且经常能够找到解决问题的独特方法。这与大众文化中经常提到的、与犯罪活动相关的“黑客”形象是不同的。
不是所有的黑客都是恶意破坏者,但也确实有一部分黑客从事非法或恶意的活动。因此,更为准确的说法应该是:“并非所有黑客都是恶意破坏者”。
常见角色术语
-
白帽黑客 (White Hat Hacker):这些是合法、道德上正当的黑客,他们通常在拥有明确许可的情况下进行渗透测试或漏洞评估,目的是找出安全漏洞并帮助修复,而不是利用它们。
-
黑帽黑客 (Black Hat Hacker):这些黑客从事非法活动,他们寻找系统的漏洞,但与白帽黑客不同,他们的目的是为了个人利益,可能是金钱、信息窃取或纯粹的破坏。
-
灰帽黑客 (Grey Hat Hacker):介于白帽和黑帽之间。他们可能会在没有明确许可的情况下探测和利用漏洞,但他们的意图通常不是为了恶意目的。他们可能会发现一个漏洞并通知相关公司,有时甚至会提供解决方案。
-
红队 (Red Team):专业的渗透测试团队,他们模拟真实的攻击者来评估一个组织的安全防御能力。
-
蓝队 (Blue Team):专门负责防御的团队,他们的任务是应对红队或真实攻击者的攻击,并加强系统的防御。
-
紫队 (Purple Team):是红队和蓝队的结合。他们的目的是确保红队和蓝队之间有有效的沟通和协作。
-
绿帽 (Green Hat):这是一个不太常用的术语,通常指的是黑客新手。
-
脚本小子 (Script Kiddie):这是一个略带贬义的术语,用来描述那些使用他人开发的工具进行攻击,但自己没有深入的技术知识的人。
-
Hacktivist:这是“黑客”和“活动家”两个词的结合。这些黑客出于政治或社会目的进行攻击,如为了表达对某种政策或事件的不满。
-
国家支持的黑客 (State-sponsored Hackers):这些黑客在某个国家的支持或指导下进行网络攻击,目的可能是为了窃取情报、进行网络间谍或其他国家利益相关的目的。
蜜罐技术
蜜罐技术是一种非常独特的网络安全防御策略,其核心思想是通过模拟伪造的目标来吸引并诱导攻击者,从而达到检测、研究和预防真实攻击的目的。
1. 蜜罐(Honeypot)的定义: 蜜罐是一个故意设置的、看似容易被攻击的目标(如一个伪装的系统或服务),用来引诱潜在的攻击者。其主要目的是监控、记录攻击者的行为,从而更好地理解攻击策略和技术。
2. 主要类别:
- 低交互蜜罐:这种蜜罐只模拟了一些服务的外部行为,如SSH、Telnet或HTTP。攻击者与这种蜜罐的交互是有限的。
- 高交互蜜罐:这种蜜罐是一个完全功能的系统,它提供了真实的应用程序和服务供攻击者互动。这可以为安全研究者提供关于攻击者策略和行为的详细信息。
3. 用途:
- 威胁检测:蜜罐可以用作网络中的一个哨兵,监控潜在的恶意行为和未知威胁。
- 研究:研究人员使用蜜罐来收集关于新型恶意软件、攻击技术和攻击者策略的信息。
- 干扰攻击者:通过使攻击者浪费时间和资源在蜜罐上,可以减缓或转移对真实目标的攻击。
4. 风险与考虑:
- 遭遇智能攻击:有经验的攻击者可能识别并绕过蜜罐。
- 误报率:蜜罐可能会吸引大量无害的流量,这可能导致大量的误报。
- 被利用的风险:如果不正确地配置,蜜罐可能被攻击者利用作为攻击其他系统的跳板。
5. 蜜网(Honeynet): 蜜网是由多个蜜罐组成的网络,通常模拟一个真实的网络环境,提供更复杂的互动和数据收集能力。
数据库蜜罐
在数据库安全领域,蜜罐技术同样可以得到应用。
数据库蜜罐(Database Honeypot)被设计为诱饵,吸引并记录对其的非法访问或攻击尝试,从而为安全研究者或管理员提供早期的警告或威胁情报。
以下是数据库蜜罐在实际应用中的一些特点:
模拟真实数据库:数据库蜜罐经常模拟流行的数据库系统,如MySQL、Oracle、SQL Server等,使其看起来尽可能地像一个真实的、有价值的目标。
记录访问和查询:数据库蜜罐会记录所有尝试连接和查询的详细信息,包括来源IP、使用的凭据、执行的SQL命令等。
设置诱饵数据:为了进一步吸引并误导攻击者,蜜罐可能包含一些诱饵数据,这些数据看起来很有价值(例如伪造的客户信息或内部文档),但实际上是虚假的。
限制实际功能:尽管模拟真实数据库,但数据库蜜罐的实际功能通常受到限制,以防止被攻击者用作其他恶意目的。例如,它可能不允许数据的实际写入或更改。
警告和响应:当检测到潜在的攻击行为时,数据库蜜罐可以配置为自动发送警告或执行其他响应动作。
研究新攻击手法:通过分析攻击者对蜜罐的行为,安全研究者可以了解新的攻击技巧、工具和模式。
虽然数据库蜜罐为组织提供了一个额外的防御层,但它们不能替代其他的数据库安全措施。使用蜜罐时,仍然需要确保所有真实的数据库都经过了适当的加固、更新和监控,以最大限度地减少风险。
CTF
“夺旗赛”(Capture The Flag,简称CTF)这个名称起源于传统的户外团队竞技游戏。在传统的夺旗游戏中,两个团队各自设有一个旗帜,目标是进入对方的领地、捕获对方的旗帜并带回自己的基地,同时也要防止自己的旗帜被对方捕获。
在网络安全的CTF竞赛中,这个概念被借鉴和转化。比赛中的“旗帜”通常是一个特定的字符串或文件,它位于受保护的服务器、应用程序或其他类型的计算机系统中。参赛者的目标是通过解决各种安全问题和挑战来“夺取”这个旗帜。同样地,某些CTF赛事模式(如“防守/攻击”模式)还要求团队防守自己的系统,阻止其他团队获取旗帜。
因此,尽管这是一个计算机和网络安全比赛,但它的名称和基本概念与传统的夺旗游戏有很强的相似性,所以称之为“夺旗赛”。
相关文章:
网络攻防备课笔记
从“踩点”到“创建后门”的攻击流程 踩点:攻击者在实施攻击前对目标进行初步的探索和调查的过程,包括收集目标的IP地址、开放的端口、服务版本、可能的漏洞等信息。 扫描:使用工具如Nmap、Masscan等对目标进行端口扫描,找出开放…...

Apache Solr9.3 快速上手
Apache Solr 简介 Solr是Apache的顶级开源项目,使用java开发 ,基于Lucene的全文检索服务器。 Solr比Lucene提供了更多的查询语句,而且它可扩展、可配置,同时它对Lucene的性能进行了优化。 安装 下载 : 下载地址解压 : tar -zxv…...
按关键字搜索淘宝商品API接口获取商品销量、优惠价、商品标题等参数示例
关键词搜索商品接口的作用是提供搜索功能,让用户根据关键词在电商平台上搜索商品,并根据搜索条件和偏好获取相关的商品列表和推荐结果,提高用户购物体验和准确度。对于电商平台而言,这个接口也能帮助用户发现更多商品、提升销量和…...

【外汇天眼】价格波动的节奏感:优化止盈方法!
止盈,依然是一种经验,而不是一种技术。它涉及到价格波动的灵活应对,以确保我们不会错失潜在的盈利,同时也不会让盈利被逆市波动所侵蚀。以下是关于如何有效实施止盈策略的一些建议: 首先,我们要明确&#…...

VMvare虚拟机安装国产麒麟V10桌面操作系统
一、系统下载 进入银河麒麟官网:https://www.kylinos.cn/ 选择桌面操作系统,然后进入操作系统版本选择页面,选择银河麒麟桌面操作系统V10 选择后,进入系统介绍页面,然后点击申请试用 点击后进入申请页面…...

Golang--channel+waitGroup控制并发量
文章目录 channelwaitGroup控制并发量前言示例 channelwaitGroup控制并发量 前言 golang的goroutine非常轻量级,同时启动数万协程都没问题。如果不对并发量进行控制,比如同时产生数百万的协程,会压垮服务器通过控制channel缓冲区的大小&…...

前端【响应式图片处理】之 【picture标签】
目录 🌟前言🌟目前最常见的解决方案🌟新的解决方案<picture>🌟<picture>的工作原理🌟<picture> 兼容性解决方案🌟写在最后 🌟前言 哈喽小伙伴们,前端开发过程中经…...
js实现链式调用,查询和处理数据
实现一个 query 方法,实现对数据的链式查询和处理 要求如下 query 传入参数为原始数据(数组格式,每个元素都是对象) 通过进行链式调用对数据执行操作,支持的方法有where(predicate): 根据参数的条件进行筛选࿰…...

阿里云 腾讯云 配置二级域名并解析指向非80端口操作指南
目标:主域名 imps.com 已完成配置,新增配置 kpi.imps.com 等二级域名并指向 8083 端口。 (此操作需要主域名已经通过备案3天后,最好指向的IP地址网站也通过了备案申请,否则会提示域名没有备案。) 操作流程…...

菜单子节点的写法
菜单子节点的写法 1.测试数据2.实现代码3.获取父ID层级 1.测试数据 1.表结构SQL CREATE TABLE test (id int DEFAULT NULL,u_id int DEFAULT NULL,p_u_id int DEFAULT NULL ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci;2.数据SQL INSERT INTO test (i…...
系统架构设计:9 论软件系统架构评估及其应用
目录 一 架构评估的意义 1 性能 2 可用性 3 安全性 4 可修改性 5 易用性...

javaee SpringMVC中json的使用
jsp <%--Created by IntelliJ IDEA.User: 呆萌老师:QQ:2398779723Date: 2019/12/6Time: 15:55To change this template use File | Settings | File Templates. --%> <% page contentType"text/html;charsetUTF-8" language"java" %> <%St…...

【系统架构】软件架构的演化和维护
导读:本文整理关于软件架构的演化和维护知识体系。完整和扎实的系统架构知识体系是作为架构设计的理论支撑,基于大量项目实践经验基础上,不断加深理论体系的理解,从而能够创造新解决系统相关问题。 目录 1、软件架构演化和定义 …...

一盏茶的功夫帮你彻底搞懂JavaScript异步编程从回调地狱到async/await
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 1. 引言 📘 2. 使用方法 📘 3. 实现原理 📘 4. 写到最后…...

前后端分离计算机毕设项目之基于SpringBoot的无人智慧超市管理系统的设计与实现《内含源码+文档+部署教程》
博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…...

从0开始python学习-31.selenium 文本输入框、下拉选择框、文件上传、时间插件选择元素定位
目录 1. 纯文本输入框 2. 存在默认值的文本输入 3. 下拉选择框 4. 输入后下拉选择框 5. 文件上传 6. 时间插件 1. 纯文本输入框 driver.find_element(By.XPATH,/html/body/div[2]/td[2]/input).send_keys(测试名称) 2. 存在默认值的文本输入 注意: 1. 这种存…...

MyCat-web安装文档:安装Zookeeper、安装Mycat-web
安装Zookeeper A. 上传安装包 zookeeper-3.4.6.tar.gzB. 解压 #解压到当前目录,之后会生成一个安装后的目录 tar -zxvf zookeeper-3.4.6.tar.gz#加上-c 代表解压到指定目录 tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/C. 在安装目录下,创建数据…...

Ajax跨域访问,访问成功但一直走error不走success的的问题解决
Ajax跨域访问,访问成功但一直走error不走success的的问题解决 通过搜索各种资料,终于解决啦,废话不多说了,还是老规矩直接上代码: 我这里用了jsonp,有想了解的点击 : jsonp 前端代码: $.ajax({type:post…...
水星 Mercury MIPC251C-4 网络摄像头 ONVIF 与 PTZ 云台控制
概况 最近在 什么值得买 上发现一款水星的网络摄像头, 除了支持云台/夜视功能之外, 还标明支持 onvif 协议. 所以想着买来接入到 HomeAssistat 作为监控使用.可到手之后发现事情并没有那么简单, 记录如下. 接入 HomeAssistant 按照 HA 的文档 ONVIF Camera 接入无非就是配置文件…...

Reactor 模式网络服务器【I/O多路复用】(C++实现)
前导:本文是 I/O 多路复用的升级和实践,如果想实现一个类似的服务器的话,需要事先学习 epoll 服务器的编写。 友情链接: 高级 I/O【Linux】 I/O 多路复用【Linux/网络】(C实现 epoll、select 和 epoll 服务器&#x…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...