安全知识见闻-脚本语言对与安全的重要性

news2024/10/27 5:35:16

脚本语言

脚本语言的安全性

编写恶意软件的要求

一、部分脚本语言的类型

二、宏病毒(Macro Virus)

1.编写宏病毒的要求

三、批处理文件(bat)和PowerShell

1. 批处理文件(.bat)

1.1. 什么是批处理文件

1.2. 内网渗透中的应用

2. PowerShell

2.1. 什么是PowerShell

2.2. 内网渗透中的应用

3、对比

4. 注意事项

四、内网渗透

1.学习要求

五、脚本病毒:CAD LISP和AutoLISP

1.CAD LISP(脚本病毒)

2.AutoLISP(脚本病毒)

六、BIOS病毒

1.BIOS病毒

2.技能要求

七、总结


学习视频泷羽sec:安全见闻(1)_哔哩哔哩_bilibili

脚本语言

列出了一些常见的脚本语言,包括Lua、PHP、Go、Python和JavaScript。

解释了脚本语言的特性,即它们的源代码通常是可见的,可复制性高,例如通过浏览器的开发者工具(F12)可以查看前端代码。

脚本语言的安全性

讨论了脚本语言在安全性方面的一些考虑,特别是它们可以被用来编写恶意软件,如病毒和木马。
提到了一些具体的恶意软件示例,如beefxss(用JavaScript编写的木马)和PHP一句话木马。

编写恶意软件的要求

强调了在编写任何恶意软件之前,需要有扎实的编程基础和对语言的基本语法、库的调用有深入的了解。
比喻说,就像学会了英语不一定能写好作文一样,学会了编程语言也不一定能编写恶意软件,还需要了解病毒的原理和构成。

编写恶意软件需要对编程语言有深入的理解,并且需要了解病毒的工作原理。

如果连基本的编程语言都不会,就无法理解和编写恶意软件。

一、部分脚本语言的类型

  • PowerShell

    • 平台:Windows

    • 特点:强大的命令行和脚本语言,可用于系统管理。

    • 示例:恶意 PowerShell 脚本,可执行下载、安装后门等操作。

  • Shell 脚本 (Bash)

    • 平台:Linux

    • 特点:用于系统管理和任务自动化。

    • 示例:恶意 Bash 脚本,可用于创建持久化后门或自动执行恶意操作。

  • Python

    • 平台:跨平台(Windows 和 Linux)

    • 特点:通用编程语言,简洁易读。

    • 示例:恶意 Python 脚本,可用于网络攻击、数据窃取等。

  • Ruby

    • 平台:跨平台

    • 特点:面向对象的动态编程语言。

    • 示例:利用 Ruby 的脚本可以用于 web 应用攻击,如通过 Ruby on Rails 应用的漏洞进行攻击。

  • NAT (Network Address Translation) Scripting

    • 平台:Linux

    • 特点:用于网络配置和管理。

    • 示例:编写恶意 NAT 脚本,篡改网络流量。

  • VBS (Visual Basic Script)

    • 平台:Windows

    • 特点:轻量级脚本语言,用于自动化 Windows 应用程序。

    • 示例:利用 VBS 编写的恶意脚本,通过社会工程学传播。

  • JavaScript

    • 平台:主要在浏览器中运行,但也可在 Node.js 中运行。

    • 特点:广泛用于网页开发,可用于跨站脚本(XSS)攻击。

    • 示例:通过注入恶意代码到网页来窃取用户信息。

类似的脚本病毒还有很多,无法一 一列举


二、宏病毒(Macro Virus)

宏病毒是一种恶意软件,可以通过在Office文档中嵌入宏(即小型程序)来传播。

文中提到,可以使用如Metasploit这样的工具生成宏病毒,并将其植入Office文件中,如Microsoft Word。

强调了宏病毒通常针对微软的产品,而不是其他办公软件,如WPS。

1.编写宏病毒的要求

编写宏病毒需要了解宏的代码构成,即病毒是由代码构成的。

宏代码通常是用特定的编程语言编写的,如VB(Visual Basic)或C#(C Sharp)。

总结:

        了解宏的代码构成和使用的编程语言对于编写宏病毒至关重要。

        宏病毒的编写和理解需要对相关编程语言有一定的知识。


三、批处理文件(bat)和PowerShell

Windows系统中的两个脚本工具:批处理文件(bat)和PowerShell,以及它们在内网渗透中的作用。

这两个工具都是微软开发的,用于Windows操作系统。 它们的主要作用是用于内网渗透,即在组织的内部网络中进行安全测试和攻击模拟。

1. 批处理文件(.bat)

1.1. 什么是批处理文件

批处理文件是以 .bat 扩展名结尾的文本文件,其中包含一系列命令,通常用于自动化任务。在Windows操作系统中,批处理文件可以通过命令提示符(CMD)运行。

1.2. 内网渗透中的应用

  • 信息收集

    • 批处理文件可以用于收集网络信息、系统信息和用户信息。例如,可以使用 ipconfig 命令获取网络配置信息,使用 net user 列出系统用户。

    batCopy Code@echo off
    echo Collecting network information...
    ipconfig /all > network_info.txt
    net user > users.txt
  • 命令执行

    • 批处理文件可以执行多种命令,包括启动其他程序、修改文件和管理系统服务等。

  • 后门植入

    • 可以编写批处理文件作为后门,设置定时任务以便在系统重启时执行特定命令。

2. PowerShell

2.1. 什么是PowerShell

PowerShell是微软推出的一种任务自动化和配置管理框架,结合了命令行界面和脚本语言的特性。它的命令称为“cmdlet”,支持对象导向,能够处理复杂的数据结构。

2.2. 内网渗透中的应用

  • 信息收集

    • PowerShell提供了丰富的命令和功能,可以用来获取系统信息、网络信息、用户信息等。比如,可以使用 Get-ADUser 获取Active Directory用户信息。

    powershellCopy CodeGet-ComputerInfo | Out-File computer_info.txt
    Get-ADUser -Filter * | Select-Object Name, SamAccountName | Export-Csv users.csv
  • 命令执行

    • PowerShell可以直接执行各种命令,并且能够执行脚本文件。它可以调用外部程序,并与系统进行深层次的交互。

  • 后门植入

    • 可以利用PowerShell创建持久性后门,例如通过注册表或任务计划程序创建定时任务。

    powershellCopy Code$Action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "C:\path\to\your_script.ps1"
    $Trigger = New-ScheduledTaskTrigger -AtLogon
    Register-ScheduledTask -Action $Action -Trigger $Trigger -TaskName "MyBackdoor" -User "SYSTEM"

3、对比

特性批处理文件(.bat)PowerShell
复杂性相对简单,适合基础命令执行功能强大,支持复杂操作与数据处理
数据处理主要处理文本输出可以处理对象,支持更复杂的数据结构
跨平台性仅限Windows系统可在Windows和Linux上运行
安全性易被防病毒软件识别可以绕过某些安全措施
灵活性较低,功能有限高,支持丰富的cmdlet和API

4. 注意事项

  1. 安全性:在进行内网渗透测试时,需遵循法律法规和公司政策。未经授权的渗透测试是非法的。

  2. 检测与防御:企业应加强对批处理和PowerShell脚本的监控与审计,防止恶意使用。

  3. 加密与签名:使用加密和数字签名技术来保护敏感脚本和命令,降低被篡改的风险。


四、内网渗透

内网渗透不仅仅是指域渗透,域渗透只是内网渗透的一部分。
内网渗透和公网渗透的主要区别在于内网渗透涉及到域的控制和利用。

1.学习要求

为了理解内网渗透的概念和方法,需要对批处理文件和PowerShell有一定的了解。
学习者应该具备基础的编程知识,如VB(Visual Basic)语法,以便能够理解和应用在内网渗透中使用的技术。

总结:批处理文件和PowerShell是内网渗透中常用的工具,了解它们对于进行有效的内网渗透至关重要。内网渗透是一个广泛的概念,包括但不限于域渗透,学习者需要全面了解相关概念和技术。


五、脚本病毒:CAD LISP和AutoLISP

两种脚本病毒:CAD LISP和AutoLISP,以及它们的特点和潜在危害。

1.CAD LISP(脚本病毒)

CAD软件中使用的LISP脚本可以自动化完成一些工作,但也可能被用来编写恶意脚本病毒。
许多使用CAD的用户可能不熟悉脚本,可能会无意中使用含有病毒的脚本,导致中毒。
由于许多杀毒软件不支持检测这类脚本病毒,因此它们可能不会被查杀。
这种病毒的危害包括盗取CAD机密图纸。
要理解和防范这种病毒,需要了解LISP语言,其语法与C或C++等主流编程语言不同。

2.AutoLISP(脚本病毒)

AutoLISP是另一种不常见的脚本语言,通常用于CAD软件。
由于这种语言不常见,主流杀毒软件对其查杀能力较弱,使得用这种语言编写的病毒更难被检测和清除。

六、BIOS病毒

BIOS病毒的概念以及编写这类病毒所需的技能。

1.BIOS病毒

BIOS病毒是一种恶意软件,它感染计算机的BIOS(基本输入输出系统),这是计算机启动时最先运行的软件。
编写BIOS病毒需要对BIOS程序有深入的了解和编程能力。

2.技能要求

文中提到,如果想要编写BIOS病毒,首先需要具备编写相关程序的能力。
作为类比,文中提到了内网渗透的技能要求,即需要掌握批处理文件(bat)和PowerShell脚本的编写。

七、总结

编写宏病毒、脚本病毒、BIOS病毒或进行内网渗透都需要特定的技术知识和编程技能,类似的脚本病毒还有很多,无法一一列举。 ​ 市面上的杀毒软件常常是记住木马病毒特征进行查杀,脚本病毒可以利用不常见的编程语言编写,这使得它们难以被主流杀毒软件检测,了解这些脚本语言对于防范和理解这类病毒至关重要,掌握这些技能是进行高级网络安全操作的前提。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2224450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE初阶---多线程(五)---定时器/线程池介绍

文章目录 1.定时器的介绍2.线程池2.1为什么需要使用线程池2.2如何进行线程池的创建2.3普通的构造方法的局限性2.4该种对象创建的方法的特点2.5线程池的模拟实现的逻辑 3.ThreadPoolExecutor类的介绍3.1构造方法3.2四种拒绝的策略 1.定时器的介绍 下面的这个就是我们的这个定时…

基于JSP的高校食堂食材选购管理系统【附源码】

基于JSP的高校食堂食材选购管理系统 效果如下: 系统首页界面 用户登录页面 食材信息页面 论坛交流界面 管理员登录界面 管理员功能主界面 食材信息管理界面 订单配送管理界面 用户功能主界面 商家功能主界面 司机功能主界面 研究背景 近年来互联网技术的发展使得…

【C++篇】手撕string类:从初级到高级入门

1.为什么手撕string类 在面试或者一些学习场景中,手撕 string 类不仅仅是对字符串操作的考察,更多的是考察程序员对 C 内存管理的理解。例如,深拷贝与浅拷贝的实现,如何正确重载赋值运算符,如何避免内存泄漏&#xff…

线上环境的 JAVA 程序占用太多 CPU 资源,定位原因

线上环境的 JAVA 程序占用太多 CPU 资源,定位原因 top 命令执行显示一下结果 我们可以看到有一个 PID 是 4054 的应用程占用了超过一半的 CPU 资源,这是十分糟糕的事情,这个时候我们首先定位一下他是哪个线程在这里搞事情,这个时…

【JavaSE】认识String类,了解,进阶到熟练掌握

#1024程序员节 | 征文# 下面就让博主带领大家一起解决心中关于String类的疑问吧~~~ 1.字符串构造: 第一种和第二种(有一定的区别,在常量池上) public static void main(String[] args) { // 使用常量串构造 String s1 "h…

【机器学习】——numpy教程

文章目录 1.numpy简介2.初始化numpy3.ndarry的使用3.1numpy的属性3.2numpy的形状3.3ndarray的类型 4numpy生成数组的方法4.1生成0和1数组4.2从现有的数组生成4.3生成固定范围的数组4.4生成随机数组 5.数组的索引、切片6.数组的形状修改7.数组的类型修改8.数组的去重9.ndarray的…

【Visual Studio】下载安装 Visual Studio Community 并配置 C++ 桌面开发环境的图文教程

引言 Visual Studio 是一个面向 .NET 和 C 开发人员的综合性 Windows 版 IDE,可用于构建 Web、云、桌面、移动应用、服务和游戏。 安装步骤 访问 Visual Studio 的官方下载页面: https://visualstudio.microsoft.com/zh-hans/downloads/运行已下载的 V…

java疫苗发布和接种预约系统源码(springboot)

项目简介 疫苗发布和接种预约系统实现了以下功能: 疫苗发布和接种预约系统的主要使用者分为: 管理员对公告信息,医院信息,疫苗信息,医生信息,用户信息,论坛帖子信息以及预约接种信息等信息进行…

ThinkPad T480拆机屏幕改装:便携式显示器DIY指南

ThinkPad T480拆机屏幕改装:便携式显示器DIY指南 本文记录了将旧笔记本电脑 T480 拆机屏幕改装为便携式显示器的全过程。作者在决定升级设备后,选择通过 DIY 方式利用原有的屏幕资源。文章详细介绍了屏幕驱动板的安装、螺丝孔的剪裁、排线连接及固定的步…

系统性能优化——绑核

简要 绑核正如其名,将线程/进程绑定在一个或多个CPU核心。该技术可以使进程或线程在特定的处理器上运行,而不会被操作系统调度到其他处理器上。这里有两层含义。 如果线程被绑定在指定核心上,则只会在该核心上运行,即使其他核心…

Django自定义过滤器

一、介绍 Django过滤器是一种用于在Django模板中处理数据的技术。它们的主要作用是对模板中的变量进行加工、过滤或格式化,然后返回一个新的值供模板使用。这些过滤器可以在变量输出时,对输出的变量值做进一步的处理,以满足特定的显示需求。…

C# 串口通信教程

串口通信(Serial Communication)是一种用于设备之间数据传输的常见方法,通常用于与外部硬件设备(如传感器、机器人、微控制器)进行通信。在 C# 中,System.IO.Ports 命名空间提供了与串口设备交互的功能&…

Golang | Leetcode Golang题解之第508题出现次数最多的子树元素和

题目: 题解: func findFrequentTreeSum(root *TreeNode) (ans []int) {cnt : map[int]int{}maxCnt : 0var dfs func(*TreeNode) intdfs func(node *TreeNode) int {if node nil {return 0}sum : node.Val dfs(node.Left) dfs(node.Right)cnt[sum]if…

数字后端零基础入门系列 | Innovus零基础LAB学习Day6

今天没有具体的数字IC后端lab实验。今天的重点是熟悉掌握静态时序分析STA中的几类timing path以及setup和hold检查机制(包含setup和hold计算公式)。 芯片流片失败的那些故事 数字后端零基础入门系列 | Innovus零基础LAB学习Day5 等大家把今天内容学习…

设计模式(二)工厂模式详解

设计模式(二)工厂模式详解 简单工厂模式指由一个工厂对象来创建实例,适用于工厂类负责创建对象较少的情况。例子:Spring 中的 BeanFactory 使用简单工厂模式,产生 Bean 对象。 工厂模式简介 定义:工厂模式是一种创建…

Spring Boot框架下中小企业设备管理系统开发

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理中小企业设备管理系统的相关信息成为必然。…

Kafka-代码示例

一、构建开发环境 File > New > Project 选择一个最简单的模板 项目和坐标命名 配置maven路径 添加maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --><dependency><groupId>org.apache.kaf…

最长子序列模型二(二分优化版)

文章目录 提高课题解一、拦截导弹二、导弹防御系统三、最长公共上升子序列四、二分函数速写 基础课题解五、最长上升子序列 II 提高课题解 一、拦截导弹 题目链接 第一问非常简单&#xff0c;直接用之前最长上身子序列模板就行 第二问就有难度了&#xff0c;我们要用最少的递…

基于SSM“毛毛宠物店”宠物信息交流平台的设计与实现

开发说明 开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myec…

DEV-C++如何调试

1、先编译&#xff0c;再点击“调试”按钮 2、使用调试按钮&#xff0c;可以输入输出数据 第21次发博客 以后会慢慢更新