当前位置: 首页 > news >正文

攻防平台搭建与简易渗透工具箱编写

知识点:攻防平台搭建,虚拟机的网络模式详解,安全脚本编写

虚拟机的网络模式:

虚拟机(VM)的网络模式决定了虚拟机与宿主机以及外部网络之间的连接方式。不同的虚拟化平台(如VMware, VirtualBox, Hyper-V等)可能有不同的术语和实现方式,但通常有以下几种基本的网络模式:

1. **桥接模式(Bridged Mode)**:
   - 虚拟机在网络上表现为一个独立的设备,拥有自己的IP地址。
   - 虚拟机直接连接到物理网络,就像宿主机上的另一台独立的物理机。
   - 适合需要从网络中获得独立IP地址的场景。

2. **NAT模式(Network Address Translation, NAT)**:
   - 虚拟机共享宿主机的IP地址,通过宿主机访问外部网络。
   - 宿主机充当网关设备,为虚拟机提供网络地址转换服务。
   - 适用于内部网络隔离,外部访问控制严格的环境。

3. **仅主机模式(Host-Only Mode)**:
   - 虚拟机只能与宿主机通信,不能直接访问外部网络。
   - 适用于需要隔离虚拟机与外部网络,但允许宿主机访问的场景。

4. **内部网络模式(Internal Network Mode)**:
   - 虚拟机之间可以相互通信,但无法访问宿主机或外部网络。
   - 适用于构建隔离的虚拟网络环境,进行内部测试或模拟。

5. **混合模式(Mixed Mode)**:
   - 结合了以上几种模式的特点,允许虚拟机根据需要选择不同的网络连接方式。

6. **端口转发(Port Forwarding)**:
   - 允许将宿主机的某个端口的流量转发到虚拟机的指定端口。
   - 常用于提供虚拟机上的服务能够从外部网络访问。

7. **VPN访问(VPN Access)**:
   - 通过虚拟专用网络连接,允许虚拟机安全地连接到远程网络。

8. **无线接入点(Soft AP)**:
   - 虚拟机可以作为无线接入点,允许其他无线设备连接。

每种网络模式都有其特定的用途和配置方式,选择哪种模式取决于你的具体需求,比如安全性、隔离级别、网络访问控制等。例如,如果你需要进行网络安全测试,可能会选择桥接模式来模拟真实的网络环境;如果你需要隔离虚拟机以进行内部测试,可能会选择NAT或仅主机模式。在配置虚拟机网络时,应根据虚拟化平台的文档进行相应的设置。

简易渗透工具箱编写:
bat文件:

`.bat` 文件是 Windows 操作系统中的一种批处理脚本文件。它包含了一系列的命令,这些命令会按照顺序被 Windows 命令提示符(cmd.exe)执行。用户可以通过编写 `.bat` 脚本来自动化一些常见的任务,例如文件管理、程序启动、系统设置等。

创建一个 `.bat` 文件非常简单,你只需要使用文本编辑器(如记事本)编写命令,然后保存文件时选择 "所有文件" 类型,并以 `.bat` 作为文件扩展名即可。当双击 `.bat` 文件时,它就会执行里面的命令。

例如,一个简单的 `.bat` 文件可能看起来像这样:

@echo off
echo Hello, this is a batch script!
pause

这个脚本会关闭命令的回显(`@echo off`),然后打印 "Hello, this is a batch script!" 到屏幕上,最后暂停脚本的执行,等待用户按下任意键。

`.bat` 文件非常有用,尤其是在需要快速执行一系列命令或者自动化常规任务时。

bat脚本文件的常用命令:

1. 清理磁盘脚本

`rd` 是 Windows 命令提示符(cmd.exe)中的一个命令,它代表 "rmdir",即 "remove directory" 的缩写。这个命令用于删除一个目录(文件夹)及其所有子目录和文件。

命令的基本语法是:

rd [/s] [/q] [drive:]path

- `/s` 参数表示删除指定目录及所有子目录和文件。
- `/q` 参数表示安静模式,即删除时不要求确认。
- `drive:` 是可选的,指定要操作的驱动器。
- `path` 是要删除的目录的路径。

所以,当你看到 `rd d:\123` 这个命令时,它的含义是删除 `D:` 驱动器上的 `123` 目录及其所有子目录和文件。但是,请注意,如果 `123` 目录内有文件或子目录,并且没有使用 `/s` 参数,命令将不会执行,因为默认情况下 `rd` 不会删除非空目录。

如果 `123` 目录是空的,那么它将被删除。如果目录不为空,你将需要使用 `/s` 参数,例如 `rd /s d:\123`,来强制删除所有内容。同时,如果希望在删除过程中不出现任何提示,可以添加 `/q` 参数,如 `rd /s /q d:\123`。

@echo off
echo===========================
echo.
echo 您好,我可以帮你清理垃圾文件
echo                --by XXX
echo===========================
pauseset /p pan=请输入需要清理的盘符:
rd %pan%: /s/q >nul 2>null
echo 感谢使用,%pan%盘已清空
pause
start %pan%:

这个批处理脚本(.bat 文件)的功能是帮助用户清理指定盘符中的所有文件和目录。下面是对脚本中每条命令的解释:

1. `@echo off`:
   关闭命令的回显,即在执行命令时不显示命令本身。即屏蔽了执行过程

2. `echo===========================`:
   打印一系列等号,作为分隔线。

3. `echo.`:
   打印一个空行。

4. `echo 您好,我可以帮你清理垃圾文件`:
   打印一条消息,告知用户脚本的功能。

5. `echo                --by XXX`:
   打印作者信息,`XXX` 是作者的名字或标识。

6. `echo===========================`:
   再次打印分隔线。

7. `pause`:
   暂停脚本的执行,直到用户按下任意键。

8. `set /p pan=请输入需要清理的盘符:`:
   提示用户输入一个盘符,例如 `C:` 或 `D:`,并将用户输入的值存储在变量 `pan` 中。

9. `rd %pan%: /s/q >nul 2>null`:
   - `rd` 是 "remove directory" 的缩写,用于删除目录。
   - `%pan%:` 是用户输入的盘符。
   - `/s` 参数表示删除指定目录及其所有子目录和文件。
   - `/q` 参数表示安静模式,不提示确认。
   - `>nul` 表示将命令的标准输出重定向到空设备,即不显示输出。
   - `2>null` 表示将命令的错误输出也重定向到空设备,即不显示错误信息。

10. `echo 感谢使用,%pan%盘已清空`:
    打印感谢信息,并告知用户指定的盘符已经被清空。

11. `pause`:
    再次暂停脚本的执行。

12. `start %pan%:`:
    使用 `start` 命令打开用户指定的盘符的窗口。如果盘符已经被清空,这个命令将打开一个空的文件夹窗口。

请注意,这个脚本具有很高的风险性,因为它会删除指定盘符上的所有内容,包括系统文件和用户数据。在没有充分了解后果的情况下,不应该运行这样的脚本。此外,使用批处理脚本进行这样的操作可能违反了操作系统的安全策略

如果不想显示“请按任意键继续”,即pause后的字,可以在pause后使用>nul 2>null

2.关机小程序
@echo off
echo===========================
echo.
echo        关机小程序
echo                --by XXX
echo===========================
pauseset /p num=请输入定时关机时间(秒):
shutdown /s /t %num%

这个批处理脚本是一个简单的关机程序,允许用户设置一个定时关机的时间。下面是对脚本中每条命令的详细解释:

1. `set /p num=请输入定时关机时间(秒):`:
   提示用户输入一个数值,这个数值代表关机前的倒计时时间(单位是秒)。用户输入的值将被存储在变量 `num` 中。

2. `shutdown /s /t %num%`:
   - `shutdown` 是 Windows 系统命令,用于执行关机、重启或注销等操作。
   - `/s` 参数表示关机。
   - `/t` 参数后面跟的是要延迟的时间(秒),这里使用 `%num%` 来引用用户之前输入的秒数。

这个脚本允许用户通过输入一个时间(秒为单位)来设置 Windows 系统的自动关机。例如,如果用户输入 `3600`,那么计算机将在一个小时后自动关机。

请注意,运行此脚本前,确保你已经保存了所有工作,因为一旦执行,计算机将在指定时间后关闭,所有未保存的工作可能会丢失。此外,确保你有足够的权限来执行关机命令。

可以在终端使用 shutdown /a 来终止一切关机进程。

/s表示关机,/r表示重启,/l表示注销

3.无限重启病毒
copy xxx.bat "C:\Users\allen\AppData\Windows\Start Menu\Programs\Startup"

这个命令是用来将名为 `xxx.bat` 的批处理脚本复制到特定文件夹中的,具体来说,是复制到当前用户启动文件夹中的 "程序" -> "启动" 子文件夹。下面是命令各部分的解释:

- `copy`:这是 Windows 命令提示符中的一个命令,用于复制文件。

- `xxx.bat`:这是要复制的源文件的名称,其中 `xxx` 是你想要复制的批处理文件的实际名称。

- `"C:\Users\allen\AppData\Windos\Start Menu\Programs\Startup"`:这是目标文件夹的路径。这个路径是当前用户(在这个例子中是用户名为 `allen` 的用户)的 "启动" 文件夹的路径。当计算机启动时,这个文件夹中的程序或脚本会被自动执行。

  - `C:\Users\allen`:表示 `allen` 用户的主文件夹。
  - `Startup`:这是 "启动" 文件夹,用于存放启动时自动运行的程序或脚本的快捷方式。

这个命令的目的是将 `xxx.bat` 脚本添加到启动文件夹中,使得每次计算机启动时,该脚本会自动执行。这可以用于自动化一些任务,比如启动时运行特定的程序或脚本。

请注意,如果你想要执行这个命令,需要确保源文件 `xxx.bat` 的路径是正确的,并且你有足够的权限来复制文件到 "启动" 文件夹。

4.工具箱

echo=====================
set /p num=请输入你的选择:
if "%num%"=="1" goto 1
if "%num%"=="2" goto 2
if "%num%"=="3" goto 3
if "%num%"=="4" goto 4
echo 请从1~4中选择
pause
goto menu
:1
echo 001
pause
goto menu
:2
echo 002
pause
goto menu
:3
echo 003
pause
goto menu
:4
exit

这个批处理脚本提供了一个简单的菜单系统,允许用户通过输入数字选择不同的选项。以下是对脚本中每条命令的解释:

1. `echo ===============`:
   打印一系列等号,通常用作菜单的分隔线或标题。

2. `set /p num=请输入你的选择:`:
   提示用户输入他们的选择,并将输入的值存储在变量 `num` 中。`/set /p` 命令用于设置变量并从用户那里获取输入。

3. `if "%num%"=="1" goto 1`:
   如果用户输入的是 `1`,则跳转到标签 `:1`。

4. `if "%num%"=="2" goto 2`:
   如果用户输入的是 `2`,则跳转到标签 `:2`。

5. `if "%num%"=="3" goto 3`:
   如果用户输入的是 `3`,则跳转到标签 `:3`。

6. `if "%num%"=="4" goto 4`:
   如果用户输入的是 `4`,则跳转到标签 `:4`。

7. `echo 请从1~4中选择`:
   如果用户的输入不是 `1` 到 `4` 中的一个,打印一条消息提示用户只能选择 `1` 到 `4`。

8. `pause`:
   在每个选择后暂停脚本的执行,直到用户按下任意键。

9. `goto menu`:
   跳转回 `menu` 标签,这通常是脚本开始的地方,允许用户重新选择。

10. `:1`,`:2`,`:3`,`:4`:
    这些是标签,用于标记脚本中的不同部分。当 `goto` 命令执行时,脚本会跳转到相应的标签。

11. `echo 001`,`echo 002`,`echo 003`:
    在每个标签下,打印一个特定的消息,表示用户选择了哪个选项。

12. `exit`:
    在标签 `:4` 下,使用 `exit` 命令来退出脚本。

这个脚本是一个循环的菜单系统,用户可以多次选择不同的选项,每次选择后都会返回到菜单开始的地方,直到选择退出(选项4)。脚本中的 `pause` 命令确保用户有足够的时间阅读屏幕上的信息,并且在每次选择后给予反馈。

5.高级隐藏
attirb +h +s d:\*.* /D /S
attirb 修改文件或目录属性
+h 增加隐藏属性
+s 增加系统级别属性
/D 文件
/S 递归

`attrib` 是 Windows 命令提示符中的一个命令,用于显示或修改文件或目录的属性。以下是对 `attrib` 命令及其参数的解释:

1. `attrib +h +s d:\*.* /D /S`:
   这个命令用于修改 `D:` 盘根目录下的所有文件和文件夹的属性,包括子目录中的文件和文件夹。

2. `+h`:
   增加隐藏属性。当文件或目录设置了隐藏属性后,在文件资源管理器中默认不会显示,除非用户设置了显示隐藏文件和文件夹的选项。

3. `+s`:
   增加系统属性。系统文件通常是 Windows 系统运行所必需的文件,通常不建议用户修改或删除。

4. `d:\*.*`:
   指定操作的路径和模式。这里 `d:\` 是盘符,`*.*` 是一个模式,表示匹配 `D:` 盘根目录下的所有文件和文件夹。

5. `/D`:
   这个参数用于指定 `attrib` 命令应用于目录。但在这个命令中,`/D` 并没有实际作用,因为 `*.*` 已经匹配了所有文件和文件夹,包括目录。

6. `/S`:
   递归。这个参数告诉 `attrib` 命令要递归地应用属性更改到所有子目录中的文件和文件夹。

综合来看,`attrib +h +s d:\*.* /D /S` 命令的作用是将 `D:` 盘根目录及其所有子目录中的所有文件和文件夹设置为隐藏和系统属性。这通常用于保护重要文件不被意外访问或修改,或者用于隐藏不希望用户看到的文件和文件夹。

要创建一个批处理脚本(.bat 文件),用于消除 `D:` 盘根目录及其所有子目录中文件和文件夹的隐藏属性与上同理,你可以使用 `attrib` 命令并结合相应的参数来实现。以下是一个简单的脚本示例:

@echo off
echo 正在清除D盘所有文件和文件夹的隐藏属性...
attrib -h -s /D /S D:\*.* >nul
echo 隐藏属性已清除。
pause

下面是对这个脚本中每条命令的解释:

1. `@echo off`:
   关闭命令的回显,使得脚本执行时命令本身不会显示在屏幕上。

2. `echo 正在清除D盘所有文件和文件夹的隐藏属性...`:
   打印一条消息,告知用户脚本正在执行的操作。

3. `attrib -h -s /D /S D:\*.* >nul`:
   - `attrib`:用于修改文件或目录属性的命令。
   - `-h`:删除隐藏属性。
   - `-s`:删除系统属性。
   - `/D`:指定 `attrib` 命令应用于目录。
   - `/S`:递归地应用属性更改到所有子目录中的文件和文件夹。
   - `D:\*.*`:指定 `D:` 盘根目录下的所有文件和文件夹。
   - `>nul`:将命令的标准输出重定向到空设备,即不显示任何输出。

4. `echo 隐藏属性已清除。`:
   打印一条消息,告知用户隐藏属性已经被清除。

5. `pause`:
   暂停脚本的执行,直到用户按下任意键,这允许用户在脚本执行完成后查看结果。

http://www.lryc.cn/news/382320.html

相关文章:

  • SQL EXISTS 关键字的使用与理解
  • 开源低代码平台,JeecgBoot v3.7.0 里程碑版本发布
  • 名侦探李先生第一话:谁是真正的凶手(只出现一次的数字相关题解(力扣)+位操作符回忆)
  • 【PA交易】BackTrader(一): 如何使用实时tick数据和蜡烛图
  • HTML(16)——边距问题
  • 【Godot4自学手册】第四十二节实现拖拽进行物品交换和数量叠加
  • 存储系统概述
  • Trilium windows上修改笔记目录,创建多个笔记空间方法
  • <Rust><iced>在iced中显示gif动态图片的一种方法
  • 【Unity设计模式】状态编程模式
  • 圆的面积并三角形面积并
  • Spring Data JPA介绍与CRUD实战演练
  • Python网络爬虫实战6—下一页,模拟用户点击,切换窗口
  • Notepad++插件 Hex-Edit
  • Matlab要这样批量读取txt数据!科研效率UpUp第10期
  • buuctf----firmware
  • ssl证书90天过期?保姆级教程——使用acme.sh实现证书的自动续期
  • 由于bug造成truncate table卡住问题
  • Charles抓包工具系列文章(二)-- Repeat 回放http请求
  • jemeter基本使用
  • 【Golang】Steam 创意工坊 Mod 文件夹批量重命名
  • 求职刷题力扣DAY33--贪心算法part04
  • aws的eks(k8s)ingress+elb部署实践
  • 大数据面试题之YARN
  • 最小生成树模板(prim,heap-prim,kruskal)
  • Centos 7 或 8配置国内yum源及epel源-1
  • 轻松解决Android复杂数据结构序列化
  • 解析PDF文件中的图片为文本
  • 微信小程序表单
  • Javascript高级程序设计(第四版)--学习记录