学习视频来自B站UP主 泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频,如涉及侵权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负
操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件。
问题一:学会它能够掌握什么样的一个安全的技能?
答:学会了操作系统 对掌握 内网渗透域渗透 有所帮助
同理 学会系统的一些操作机制 你就会明白 逆向分析
问题二:学了操作系统你可以搞web渗透吗?
答:那肯定是搞不了的,因为它两不搭没用的,那么操作系统我们要了解一些什么东西呢,他的构成特别复杂,东西太多了
但是呢我们普通安全人员,也不是说普通安全人员,就是搞安全的,不可能所有东西都懂,他懂一个常规的大概的就可以了
那有人问了如果我以后遇见非常规的怎么办,我们就以后在慢慢研究,先把常规的弄懂了再说,操作系统这块你们要自己去了解一下,是后期内网渗透做铺垫。
(1)概念: 注册表是windows系统中具有层次结构的核心数据库,储存的数据对windows 和Windows上运行的应用程序和服务至关重要。注册表是帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。
(2)打开注册表的指令: WIN+R 输入 regedit
(3)具体位置/路径: C:\Windows\System32\config 中的 SOFTWARE 和 SYSTEM 这两个文件
(4)相关结构:
这是注册表的五大根键,从上到下依次为:
文件扩展名与应用的关联及OLE信息
当前用户控制面板选择和桌面等设置,以及映射的网络驱动器
计算机硬件与应用程序信息
所有登录用户的信息
计算机硬件配置信息
对于linux来说没有注册表,但是有/etc
Linux中etc目录详解大全总汇详解 - 超超酱 - 博客园
(1)概念: 防火墙(Firewall)是一种网络安全设备,根据预定的安全策略监视、过滤和控制传入和传出网络的流量,保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为
(2)类型: 根据设备形态划分,防火墙又可分为硬件防火墙、软件防火墙和云防火墙
硬件防火墙:最常见的防火墙形态,是一个单独的硬件,这些独立设备有自己的资源。硬件防火墙再按照形态来细化,还可以分为框式防火墙、盒式防火墙和桌面式防火墙、插板形态的防火墙等。
软件防火墙:以软件形式安装在计算机或服务器上的防火墙,它既可以作为基于主机的防火墙来保护单个设备,也可以作为虚拟化环境中的网络防火墙来保护整个虚拟网络。把防火墙的处理放到虚拟机的环境下,让一台虚拟机变为防火墙,这类防火墙也就虚拟机防火墙,有时候也叫VM防火墙、虚拟防火墙。
云防火墙:部署在云服务提供商环境中的防火墙服务,然后通过服务订阅的方式提供给客户。这些服务也称为防火墙即服务(FWaaS),以基础设施即服务(IaaS)或平台即服务(PaaS)的形式运行
(3)作用:
防止病毒:虽然防火墙本身不充当防病毒软件,但它们通过确保只有授权的数据流经网络,确实有助于防止病毒的安装。
防止访问不安全内容:有些防火墙不仅关注进入网络的流量,它们还可以防止未经授权访问危险的网站。
阻止未经授权的访问:防火墙还可以阻止访问已知会在访问者的计算机上安装恶意软件和病毒的恶意站点。
计划任务是指操作系统如何安排任务执行的过程。操作系统通过任务调度算法来决定哪个进程获得CPU时间,以及它们各自获得多少时间。
其中常见的调度算法有轮转调度、优先级调度 和 最短作业优先等。
(1)windows计划任务 Windows 任务计划程序(task scheduler)介绍-CSDN博客
(2)计划任务在Linux 中一般使用 Crontab 通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 Shell 脚本。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令:crontab命令。因此,Linux计划任务整体还是围绕Crontab展开的。
linux计划任务详解,Linux计划任务详解-腾讯云开发者社区-腾讯云
事件日志是操作系统记录系统中发生各种事件的地方,包括系统启动、关机、用户登录、应用程序错误等。这些日志对于系统监控、故障排查和安全性分析非常重要。
(1)Windows 事件日志 是记录系统事件的文件,涵盖了应用程序错误、系统错误和安全事件等。 通过这些日志,我们可以追溯问题发生的原因,了解计算机的健康状况,以及排除故障。 比如系统崩溃时,Windows 就会创建一个日志来记录崩溃原因。 【Windows日志】记录系统事件的日志-CSDN博客
(2)linux Linux系统日志管理:查看和管理系统日志文件-CSDN博客
内核驱动,也称为内核模块或设备驱动,是一段可以加载到操作系统内核中的代码,通常用于管理硬件设备和提供操作系统与硬件之间的接口。 这些驱动为操作系统提供了与硬件设备进行交互的能力,使得操作系统能够识别、管理和控制硬件设备。
(1)Windows Windows内核驱动开发:HelloWorld - cxccc - 博客园
(2)linux 最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客
系统服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。
系统服务通常在系统启动时开始运行,并一直存在于后台。
(1)windows 如何启动、停止、重新启动和管理 Windows 服务 -
(2)linux Linux 系统服务管理(启动服务/停止服务/重启服务)的命令 - chkconfig/service/systemctl_chkconfig命令可以重启服务吗?-CSDN博客
进程是计算机中程序执行的基本单元,是操作系统进行资源分配和调度的独立单位。
线程是进程内部的一个执行流,是CPU调度和分派的基本单位。多线程可以在同一个进程中并发执行,共享进程资源。
(1)windows Windows核心编程,多线程(Thread)编程学习有这一篇就够了-CSDN博客
(2)linux Linux之进程与线程详解(一文足矣)-CSDN博客
系统编程是指编写系统软件的活动,这些软件直接与操作系统进行交互.
如编译器、操作系统内核、驱动程序、服务程序等。系统编程通常需要深入了解计算机硬件和操作系统的底层细节。
(1)windows Windows系统编程API 学习之路_windows api编程入门-CSDN博客
(2)linux Linux系统编程-CSDN博客
以上这些都是操作系统中常规的一些东西,linux, Windows, macos 各有各的特点,但是他们基本该有的东西都是会有的
比如说自启动 所有的操作系统都是有的,没有这种东西是没办法运行的。
学了操作系统相当于为 内网穿透,逆向工程,病毒编写 打了个好基础
如果你只搞web渗透(初级) 那你以不去了解 但是想成为红队这些东西必须了解
windows下有很多这种机制的问题,比如说一个病毒,它添加自启功能.
问题一:在哪里添加?
答:
注册表键值:病毒可以在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
或HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
键下创建键值,这样每次系统启动时就会自动运行指定的程序。
启动文件夹:病毒也可以将自身放置到“启动”文件夹中(如 %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
),当用户登录系统后会自动加载。
服务:病毒可以注册为一个服务(Service),并设置为自动启动模式,这样即使没有用户登录,服务也会随着系统的启动而运行。
计划任务:病毒确实可以通过创建计划任务(Task Scheduler)来实现定时启动。例如,它可以设置在系统启动时或者特定时间点执行。
驱动程序:病毒可能会安装一个驱动程序,并在系统引导过程中加载,从而获得对系统的早期控制权。
DLL注入:病毒还可以利用动态链接库(DLL)注入技术,在其他合法应用程序启动时加载自身代码。
问题二:有多少种方式添加?
答:我就知道六种/(ㄒoㄒ)/~~
问题三:能否通过计划任务添加自启动?
答:详细见问题一答案四
问题四:什么时候启动病毒?
答:看你的设计了 一般来说病毒可以设计成在系统启动时立即启动,也可以设置成在用户登录之后启动,或者是按照特定的时间表启动等。
问题五:能否规避事件?
答:我不会/(ㄒoㄒ)/~~ 这里举个例子吧:例如采用多态性编码(改变自身的代码以逃避特征码扫描)、加密自身的代码、模仿合法程序的行为等方式。
1.概念:驱动程序是一种特殊的软件,它允许操作系统和硬件设备之间进行通信。它是硬件与操作系统之间的桥梁,使得硬件设备能够在操作系统下正常工作
设备驱动简介_设备驱动程序的作用和功能是什么-CSDN博客
内核驱动 设备驱动 驱动程序是干什么的。
内核驱动是操作系统内核的一部分,它运行在内核空间,具有最高的权限。
设备驱动是针对特定硬件设备的驱动程序,它负责使硬件设备在操作系统中正常工作
3.关于驱动系统的学习
在漏洞:内网渗透,逆向工程,病毒分析,安全对抗,外挂保护(比如腾讯的外挂保护,你怎么去绕过外挂保护?可能就需要用到驱动底层逻辑去和他对抗)
也就是说你要搞,内网渗透,逆向工程,病毒分析,安全对抗,外挂保护,就必须对驱动程序有所了解,
当然你说我不搞,那么也可以不去学,尤其是对抗,你不学驱动程序你没法搞,你又不会分析,bug什么都不会用,那你怎么去分析别人是怎么防御的呢。
虽然web和这个可能不相关,但是我们眼光放长远点,不要坐井观天,不做井底之蛙
4.问答环节:
问题:内核驱动和设备驱动这些驱动程序干啥的?
答:主要是操控硬件和操作系统内核的,你们可能没有看过windows内核因为他是exe程序,总的来说操作系统就是一个软件而已,驱动程序也是一个软件,只不过这个软件运行的比较底层,这就不能展开了说,展开说那就有太多东西了,涉及到最底层的原理
人工智能:是指让计算机模拟人类智能的技术和科学。它旨在使计算机系统能够执行通常需要人类智能才能完成的任务,如学习、推理、解决问题、理解自然语言、识别图像和语音等。
人工智能的发展可以追溯到上世纪50年代,经过几十年的研究和发展,如今已经在许多领域取得了重大突破和广泛应用。例如:
医疗领域:辅助医生进行疾病诊断、医学影像分析、药物研发等。
金融领域:风险评估、欺诈检测、智能投资顾问等。
交通领域:自动驾驶汽车、交通流量预测和优化等。
客户服务:智能聊天机器人可以快速回答客户的问题,提高服务效率。
图像识别和语音处理:人脸识别、语音助手等技术已经深入人们的日常生活。
人工智能涉及的网络安全问题
数据安全问题: 人工智能系统通常需要大量的数据进行训练。这些数据可能包含敏感信息,如个人身份信息、财务数据等。如果这些数据在收集、存储、传输或使用过程中没有得到妥善保护,就可能被泄露、窃取或滥用。
对抗攻击: 对抗攻击是指通过对抗输入数据进行微小的修改,使得人工智能系统产生错误的输出。例如,在图像识别中,通过对图像上添加一些人眼难以察觉的噪声,可以使人工智能系统错误地识别图像。对抗攻击可能会对安全关键领域的人工智能系统造成严重威胁,如自动驾驶汽车、人脸识别系统等。
模型窃取和知识产权问题: 攻击者可以通过逆向工程等手段窃取人工智能模型的参数和结构,从而复制或改进建模。这不仅会侵犯知识产权,还可能导致商业机密泄露。此外,攻击者还可以利用窃取的模型进行恶意攻击,如生成虚假数据来欺骗其他人工智能系统。
恶意使用人工智能: 攻击者可以利用人工智能技术来发动更复杂的网络攻击。例如,使用人工智能生成的恶意软件可以自动适应不同的环境和防御机制,提高攻击的成功率。人工智能还可以被用于自动化网络钓鱼、垃圾邮件发送等恶意活动。
人工智能学习路径和方法
学习基础知识: 学习数学基础知识,如线性代数、概率论、统计学等。这些知识对于理解人工智能算法和模型非常重要。 学习编程语言,如 Python。Python 是人工智能领域最常用的编程语言之一,有丰富的库和工具可供使用。 了解机器学习和深度学习的基本概念,包括监督学习、无监督学习、神经网络等。Python 基础教程 | 菜鸟教程
在线课程和教程: 利用在线学习平台,如 Coursera、Udemy、edX 等,参加人工智能相关的课程。这些课程通常由知名大学或专业机构提供,内容丰富,教学质量高。
实践项目: 参与开源项目或自己动手实践人工智能项目。可以从一些简单的项目开始,如手写数字识别、图像分类等,逐渐提高难度。 参加人工智能竞赛,如 Kaggle 上的各种竞赛。这些竞赛可以让你接触到真实的数据集和问题,提高你的实践能力和竞争力。
持续学习和交流: 关注人工智能领域的最新研究进展和技术趋势,可以通过阅读学术论文、参加学术会议、关注行业新闻等方式实现。 加入人工智能社区或论坛,与其他学习者和专业人士交流经验、分享知识、解决问题。
这里提出两个概念
对称信息博弈: 双方都知道任何信息,人工智能能够获取最优解 eg:围棋
非对称信息博弈: 有未知的信息,信息并不完全 eg:斗地主
通讯协议这块在潜入问题所涉及的领域:
通讯协议涉及的安全问题主要包括以下几个方面:
保密性问题: 数据泄露风险 许多通讯协议设计时可能没有充分考虑
(1)数据加密,导致在传输过程中数据容易被盗听。例如,未加密的 HTTP 协议,攻击者可以通过网络监听获取传输中的敏感信息,如用户名、密码、信用卡号。
(2)弱加密算法的使用也可能导致保密性不足。一些老旧的加密算法可能存在已知的漏洞,容易被攻击者破解。
例如,早期的 DES 加密算法,其密钥长度较短,容易受到暴力破解攻击。
(3)密钥管理不善 加密通信协议通常依赖密钥来保证数据的保密性。然而,如果密钥管理不善,如密钥泄漏、密钥存储不安全等,就会使通讯的保密性受到严重威胁。
(4)密钥的分发过程也存在风险。如果密钥在分发过程中被窃取或篡改,那么后续的通讯将不再安全。
完整性问题:
(1)数据篡改风险 攻击者可以在通讯过程中篡改传输的数据,破坏数据的完整性。
例如,在网络购物中,攻击者可以修改订单金额或商品数量等信息,给用户和商家带来损失。
(2)缺乏有效的数据完整性校验机制的通讯协议容易受到此类攻击。一些简单的通讯协议可能只能进行基本的错误检测,而没有对数据的完整性进行严格的校验。
(3)重放攻击 重放攻击是指攻击者记录通讯过程中的数据,并在稍后的时间重复发送这些数据,以达到欺骗系统的目的。
例如,在身份验证过程中,攻击者可以记录用户的登录请求,然后重复发送该请求,从而冒充合法用户登录系统。通讯协议如果没有采取有效的防重放攻击的措施,就容易受到这种攻击的影响。
假冒身份风险 攻击者可以假冒非法用户或设备的身份进行通讯,获取敏感信息或进行非法操作。例如,在网络钓鱼攻击中,攻击者伪装成合法的银行网站,骗取消费者的登录信息。通讯协议如果没有严格的身份验证机制,就难以区分合法用户和攻击者。
身份验证漏洞 一些通讯协议的身份验证机制可能存在漏洞,被攻击者利用。
例如,某些协议可能使用简单的用户名和密码进行身份验证,容易受到暴力破解攻击。身份验证过程中的中间人攻击也是一个常见的问题。攻击者可以在通讯双方之间插入自己,窃取身份验证信息,然后冒充其中一方与另一方进行通讯。
拒绝服务攻击 攻击者可以通过发送大量的无效请求或恶意数据包,使通讯系统陷入瘫痪,无法为合法用户提供服务。
例如,分布式拒绝服务攻击(DDoS)可以利用大量的僵尸主机向目标服务器发送海量的数据包,耗尽服务器的资源,导致服务不可用。某些通讯协议可能对这种攻击缺乏有效的防范措施,容易受到影响。
协议漏洞导致的可用性问题 某些通讯协议的设计缺陷可能导致系统在特定情况下出现故障,影响可用性。
例如,协议中的死锁问题、资源泄漏问题等都可能导致系统无法正常运行。
编程错误 通讯协议的实现过程中可能存在编程错误,导致安全漏洞。
例如,缓冲区溢出漏洞、内存泄漏等问题都可以被攻击者利用,从而破坏系统的安全性。开发人员在实现通讯协议时,需要严格遵循安全编程规范,进行充分的测试和代码审查,以减少此类漏洞的出现。
第三方库和组件的安全问题 许多通讯协议的实现依赖于第三方库和组件。如果这些第三方库和组件存在安全漏洞,就会影响到通讯协议的安全性。开发人员需要对使用的第三方库和组件进行严格的安全评估,及时更新和修复发现的安全问题。
缺乏安全考虑的设计 有些通讯协议在设计之初可能没有充分考虑安全因素,导致存在先天的安全漏洞。
例如,某些协议可能没有对数据的长度、类型等进行严格的限制,使得攻击者可以利用这些漏洞进行缓冲区溢出攻击等。协议的设计可能过于复杂,增加了出现安全漏洞的可能性。复杂的协议往往难以理解和实现正确,容易出现错误和漏洞。
协议升级带来的安全风险 当通讯协议进行升级时,可能会引入新的安全问题。
例如,新的功能可能会带来新的攻击面,或者旧版本的协议与新版本的协议之间的兼容性问题可能导致安全漏洞。在进行协议升级时,需要进行充分的安全评估和测试,确保新的协议不会引入新的安全风险。
无线网络的特殊性 移动通讯通常通过无线网络进行,这使得通讯更容易受到窃听、干扰和攻击。无线网络的信号可以在一定范围内被接收,攻击者可以通过监听无线信号获取通讯内容。移动设备的移动性也增加了安全管理的难度,
例如设备可能会连接到不可信的无线网络,或者在网络环境之间切换。
移动应用的安全风险 移动应用通常使用特定的通讯协议与服务器进行通信。如果这些应用的开发过程中没有充分考虑安全问题,可能会导致通讯协议被滥用或攻击。
例如,应用可能会泄露用户的敏感信息,或者被恶意软件利用进行攻击。移动应用的更新和管理也可能存在安全问题。如果应用的更新过程不安全,可能会被攻击者篡改,从而安装恶意软件。
大量设备的管理难题 物联网中通常包含大量的设备,这些设备的管理和安全更新是一个巨大的挑战。如果其中一个设备被攻击,可能会影响到整个物联网系统的安全。
异构性带来的安全问题 物联网中的设备可能使用不同的通讯协议和技术,这增加了安全管理的复杂性。不同的协议可能存在的安全漏洞,需要采取不同的安全措施。物联网中的设备可能来自不同的厂商,这些厂商的安全标准和实践可能不同,也会增加安全风险。
实时性要求与安全的冲突 工业控制系统通常对实时性要求很高,这可能与安全机制的实施产生冲突。
例如,一些安全措施可能会导致通讯延迟,影响系统的实时性能。 与传统 IT 系统融合带来的风险 随着工业互联网的发展,工业控制系统越来越多地与传统的 IT 系统进行融合。这使得工业控制系统面临来自传统 IT 系统的安全威胁,如病毒、恶意软件等。工业控制系统的安全防护需要考虑与传统 IT 系统的集成,采取相应的安全措施。