本笔记为 泷羽sec 《红队全栈课程》学习笔记,课程请可自行前往B站学习,课程/笔记主要涉及网络安全相关知识、系统以及工具的介绍等,请使用该课程、本笔记以及课程和笔记中提及工具的读者,遵守网络安全相关法律法规,切勿进行违法违规违纪的操作。
写在最前面的话,我们为什么要学习网络安全这门技术:
- 维护国家安全
防范网络攻击:网络安全威胁已成为国家安全的重要挑战。学习网络安全有助于识别和防范来自国内外的网络攻击,防止敌对势力通过网络手段窃取敏感信息、破坏关键基础设施或干扰社会正常运作。
保护关键基础设施:现代社会高度依赖网络技术,金融系统、交通网络、电力供应等关键基础设施都依赖于稳定的网络环境。掌握网络安全知识有助于保护这些基础设施免受网络攻击,确保国家的正常运转。
- 促进经济发展
保障数字经济安全:数字经济已成为国家经济增长的重要引擎。通过学习网络安全,可以保障数字经济的健康发展,防止数据泄露和网络犯罪对经济活动的干扰。
增强国际竞争力:在全球化的背景下,网络安全技术水平直接影响国家的国际竞争力。掌握先进的网络安全技术和策略,有助于提升国家在全球数字经济中的地位。
- 提升社会稳定
防范社会风险:网络犯罪和网络恐怖主义对社会稳定构成严重威胁。学习网络安全有助于及时发现和应对这些风险,维护社会的和谐与稳定。
保护公民权益:网络安全直接关系到公民的隐私权和信息安全。通过学习网络安全,可以更好地保护公民的合法权益,增强公众对政府和企业的信任。
- 推动科技进步
创新安全技术:网络安全领域的技术创新不断推动信息技术的进步。学习网络安全有助于推动新技术的研发和应用,提升国家在科技领域的整体实力。
促进国际合作:网络安全是全球性问题,需要各国共同努力应对。通过学习网络安全,可以参与国际网络安全合作,共同制定国际标准和规范,提升全球网络安全水平。
- 强化法治建设
完善法律法规:学习网络安全有助于推动和完善相关法律法规的制定和实施,确保网络安全工作有法可依、有章可循。
提升执法能力:掌握网络安全知识可以提升执法部门的网络侦查和取证能力,有效打击网络犯罪,维护法律权威。
- 培养专业人才
构建人才梯队:网络安全领域需要大量高素质的专业人才。通过系统学习和培训,可以培养出一批具备专业知识和实战经验的网络安全专家,为国家的网络安全事业提供坚实的人才保障。 总之,学习网络安全不仅是个人职业发展的需要,更是维护国家安全、促进经济发展、保障社会稳定和推动科技进步的重要手段。通过不断提升网络安全意识和能力,我们可以更好地应对日益复杂的网络安全挑战,为实现国家的长期稳定和发展贡献力量。
以下为windows基础(1)视频对应的内容 视频传送门==>windows基础(1)_哔哩哔哩_bilibili
一、Windows操作系统简介
- 定义与研发:Windows是由美国微软公司以图形用户界面为基础研发的操作系统,广泛应用于计算机、智能手机等设备。
- 版本与子系列:包括普通版本、服务器版本(Windows Server)、手机版本(已终止,最后为Windows 10 Mobile)、嵌入式版本(Windows CE,后被Windows for IoT取代)等。
- 发展历程:Windows于1983年开始研发,初代版本于1985年推出。经过多次迭代,当前最新版本为Windows 11,服务器版本已更新至Windows Server 2022。
- 特点:Windows操作系统具有用户友好性,广泛的软件兼容性,以及良好的软、硬件支持。 Windows操作系统在个人电脑领域中悟出不在,并且通常作为桌面和服务器端操作系统,在企业中部署。
- 缺点:安全性相对较弱,运行性能在某些场景下不如Unix与Linux。
Windows操作系统的发展历程中,不断适应计算机硬件的迭代与算力的升级,成为当前最常见的操作系统之一。作为渗透测试人员/红队人员,通常只能获得低权限访问,需要通过提权获得更高的权限,或者进一步做渗透。因此,Windows系统基础知识对该类人员非常重要。
二、Windows系统的文件结构
- .linux:fhs目录结构,块设备挂载到目录,一切皆文件
- .win:以驱动器盘符起始,或通过目录挂载分区
关于Linux的FHS:FHS(Filesystem Hierarchy Standard):这是Linux系统中文件和目录组织的一种标准。它定义了系统文件应该存放的位置,以及这些位置的意义和用途。FHS的目的是确保不同Linux发行版之间的文件组织方式具有一致性,从而方便用户和开发者在不同系统之间进行迁移和协作。
关于Linux的目录结构:根据FHS,Linux系统的根目录(/)下包含多个子目录,每个子目录都有其特定的用途。例如,/bin目录用于存放用户可执行文件,/etc目录用于存放系统配置文件,/var目录用于存放运行时需要改变的数据(如日志文件),/usr目录则包含应用程序、库文件等。
图片来源于:《LinuxProbe》—RHCE 学习 第六章 存储结构与管理硬盘(Day9 ~ Day10) _myxxw2010的技术博客_51CTO博客
三、Windows的路径格式
关于shell的打开方式
最佳实践是固定在任务栏上面,随时点下就可以打开,当然有时有些临时性的打开需求也可以用下面的方式打开。
1、win+R键盘 输入cmd回车==>默认在windows的家目录,如C:\Users\Administrator
windows里,上述软键盘可以用osk命令打开
2、开始上鼠标右键选到打开命令行(有些版本windows是打开powershell),默认也在家目录
3、在文件夹导航栏直接输入cmd回车,文件夹目录在哪,cmd打开就在哪
4、在文件夹空白处鼠标右键(如果没有就按住shift+鼠标右键),也是在当前位置打开cmd或powershell
5、到c:\windows\system32文件夹中找到cmd.exe打开
6、上面的打开方式有些繁琐,所以一般在这个cmd上创建个快捷方式,鼠标右键选发送到桌面快捷即可。后续鼠标右键可以选择使用管理员方式打开(如需),如果要一直保持管理员,则按下图操作方式完成设置即可。
这种快捷方式情况下,打开会默认在C:\Windows\System32
而powershell的执行文件也在类似的地方,具体如下(有些情况也有可能在2.0文件夹里面)
cmd和powershell之间互相切换
已经运行cmd或者ps,可以通过powershell或者cmd进行切换
关于调整cmd的颜色
除了点图标这里的属性外,还使用color命令,超过9的数字用abcd等表示
关于根目录
有别于Linux以\为根目录,windows的根目录一般是各自盘符
windows的某盘符的根目录 Linux的根目录
Linux的根目录以/开始,区分大小写,左斜线格式(和问号在一个键上,下图红圈)
Windows的根目录为某个盘符根目录开始,按\分隔路径,不区分大小写,右斜线格式,一般在回车上面或者附近(视键盘情况不同,下图黄圈)
关于大小写敏感性
windows对于文件名和文件夹名大小写不敏感,而Linux是大小写敏感的
以下图为例,使用md命令或者mkdir命令创建一个叫aaaa的文件夹(成功创建),再创建一个叫AAAA(创建失败)。另外在同一个目录下,创建一个叫AAAA的文件,系统拒绝访问,因为Windows的特性,同一个目录下不能有名字完全相同的两个文件,一个文件或者一个文件夹名字一样也不可以。另外,虽然Windows一般使用\作为分隔符,但是实际过程中使用/分隔符也可以切换到目录中去,比如最下面使用了cd z:/my\tmp/aaaa 实际也进入了指定目录中去。
而下图的Linux操作系统中,首先切换到根目录 使用错误的斜杠\ 就会让我们继续输入信息,Linux中\是作为转义符使用。而下面我们用mkdir创建teSt和TEST,分别创建了2个test文件夹,只不过他们的大小写不一样
四、Windows的四种shell接口
1、GUI图形化用户界面,就是我们现在鼠标可以点击、拖动的Win的视窗
2、cmd命令行用户接口(打开方式上文已说明)
3、wmic微软基于wbem的实现,从21h1版本开始已经弃用(目前可使用,但是已经注明弃用),目前被PowerShell取代
4、PowerShell自动化脚本框架,支持.net架构
此外还有wsl,在Windows上运行的子系统(可能会和vmware冲突影响性能,酌情使用)
为什么要学习windows的cmd和powershell的命令行,因为渗透测试过程中,通过shellcode打到目标服务器内外的时候,是只有命令行shell,是没有图形操作界面的。
关于wmic其实目前还在win的系统中存在,只不过明确已注明弃用了
五、windows常用命令
cd | 切换目录 |
x: (x是盘符) | 切换盘符 |
copy | 拷贝文件 |
del | 删除文件 |
dir | 显示目录中的文件和文件夹 |
echo | 显示消息 |
erase | 删除多个文件 |
find | 在一个或者多个文件中搜索一个文本 |
findstr | 在多个文件中搜索指定字符串 |
md/mkdir | 创建一个目录 |
more | 逐屏显示输出 |
move | 将一个或者多个文件从一个目录移动到另一个目录 |
ren | 重命名文件 |
type | 显示文件内容 |
attrib | 显示或者修改文件/文件夹属性 |
bcdedit | 设置启动数据库中的属性以控制启动加载 |
icacls | 显示或修改文件的访问控制列表 |
chcp | 显示或设置活动代码页数 |
comp | 比较两个或者两套文件的内容 |
date | 显示或者设置日期 |
time | 显示或者设置时间 |
diskpart | 显示或者配置磁盘分区属性 |
doskey | 编辑行命令,撤回windows命令 |
driverquery | 显示当前设备驱动程序状态和属性 |
fc | 比较两个文件集病显示他们之间的不同 |
for | 为一组文件中的每个文件运行一个指定命令 |
fsutil | 显示或者配置文件系统属性 |
ftype | 显示或者修改在文件扩展名关联使用的文件类型 |
gpresult | 显示计算机或者用户的组策略信息 |
mklink | 创建符号链接和硬链接 |
openfiles | 显示远程用户通过文件共享打开的本地文件 |
set | 显示、设置或者删除Windows环境变量 |
sc | 显示或者配置服务(后台进程) |
schtasks | 安排一台计算机运行命令和程序 |
shutdown | 允许通过本地或者远程方式正确关闭计算机 |
start | 启动单独的窗口以允许指定的程序或者命令 |
systeminfo | 显示计算机的特定属性和配置 |
tasklist | 显示包括服务在内的所有当前允许的任务 |
taskkill | 终止正在允许的进程或者应用程序 |
tree | 指定目录的文件和文件夹树状图 |
tracert | 网络路径跟踪 |
文件导航系统
类似linux,略
六、系统标准目录
.perflogs 存储Windows性能日志
可使用perfmon.msc打开
Program Files 和 Program Files (x86) 存储32位和64位程序
ProgramData 隐藏目录,包含全局程序数据,所有登录用户都访问这里的数据
users\public 用户间共享文件,所有用户都有访问权限
user\[username]\appdata 隐藏目录,存储用户应用数据和设置
windows\system,system32,syswow64 存储动态链接库文件,windows和api核心文件
c:\document and settings 早期一些xp系统的windows主目录
七、系统以及环境
系统信息查询可视化
systeminfo
Z:\>systeminfo
主机名: Y060
OS 名称: Microsoft Windows 10 企业版 LTSC
OS 版本: 10.0.19044 暂缺 Build 19044
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构建类型: Multiprocessor Free
注册的所有人: 暂缺
注册的组织: 暂缺
msinfo32
环境变量
%username% | 当前用户名 |
%path% | 当前path路径 |
%temp% | 程序临时文件 |
%tmp% | 用户临时文件 |
%userprofile% | 当前登录用户主目录 |
set | 显示、设置或删除 cmd.exe 环境变量 |
set p | 显示所有以字母 P 打头的变量 |
永久修改环境变量
Z:\>setx /?
SetX 有三种使用方式:
语法 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
语法 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
语法 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
描述:
在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输
入设置变量。
未完待续