【创建和排查隐藏进程和隐藏计划任务】

Window

创建隐藏进程和隐藏计划任务:

  • 隐藏进程:
    在Windows中,隐藏进程主要通过修改进程属性或使用第三方工具实现。以下是一个使用PowerShell脚本创建隐藏进程的示例:

    $Script = {Start-Process -FilePath "notepad.exe" -WindowStyle Hidden
    }
    Start-Job -ScriptBlock $Script
    

    在这个示例中,我们创建了一个新的PowerShell作业,该作业启动了一个隐藏的记事本进程。

  • 隐藏计划任务:
    使用Windows任务计划程序创建计划任务时,可以设置任务为隐藏。以下是如何创建隐藏计划任务的步骤:

  • 打开“任务计划程序”。

  • 在“操作”菜单中,单击“创建基本任务”或“创建任务”。

  • 按照向导的提示设置任务的触发器、操作等。

  • 如果选择“创建任务”,请转到“常规”选项卡,在“安全选项”下方勾选“隐藏”复选框。

  • 完成向导,任务将作为隐藏任务创建。

排查隐藏进程和隐藏计划任务:

  1. 排查隐藏进程:
    要查找隐藏进程,可以使用任务管理器、命令提示符或PowerShell。以下是使用PowerShell的示例:

    Get-Process | Where-Object { $_.MainWindowHandle -eq 0 } | Select-Object Name, Id
    

    这个命令将列出所有没有主窗口句柄的进程,这可能包括隐藏的进程。但请注意,这也可能包括正常的后台进程。

  2. 排查隐藏计划任务:
    若要查找隐藏计划任务,可以使用任务计划程序或PowerShell。以下是使用PowerShell的示例:

    Get-ScheduledTask | Where-Object { $_.Settings.Hidden -eq $true } | Select-Object TaskName, TaskPath
    

    这个命令将列出所有设置为隐藏的计划任务。

请注意,恶意软件可能会使用更高级的技术来隐藏进程和计划任务。在这种情况下,可能需要使用专业的安全工具进行检测和清除。

Linux

用户级计划任务

创建隐藏进程和隐藏计划任务:
  1. 隐藏进程:
    在Linux中,可以通过将进程放入后台并断开其与终端的关联来创建隐藏进程。以下是一个使用shell命令创建隐藏进程的示例:

    nohup your_command_here > /dev/null 2>&1 &
    

    在这个示例中,我们使用nohup命令将进程放入后台运行,将输出重定向到/dev/null,并使用&将进程放入后台。以下是详细步骤:

    1. 打开终端。

    2. 输入命令,将your_command_here替换为要运行的命令。例如,要在后台运行Python脚本,可以输入:

      nohup python3 your_script.py > /dev/null 2>&1 &
      
    3. 按回车键执行命令。进程将在后台启动,并与终端断开关联。

  2. 隐藏计划任务:
    在Linux中,可以使用crontab创建计划任务。虽然没有专门的“隐藏”选项,但所有crontab任务默认都在后台运行。以下是如何创建计划任务的详细步骤:

    1. 打开终端。

    2. 输入crontab -e以编辑当前用户的计划任务。

    3. 编辑器将打开crontab文件。在文件末尾添加一行,按照以下格式指定任务的时间和命令:

      * * * * * your_command_here
      

      这里的五个星号分别代表分钟、小时、天、月和星期。例如,0 0 * * * your_command_here表示每天凌晨运行命令。

    4. 保存并退出编辑器。任务将作为后台任务创建。

排查隐藏进程和隐藏计划任务:
  1. 排查隐藏进程:
    要查找隐藏进程,可以使用ps命令。以下是使用ps命令查找后台运行的进程的示例:

    ps -eo pid,cmd,stat | grep '^[ ]*[0-9]* .* S'
    

    这个命令将列出所有处于后台运行状态的进程。以下是详细步骤:

    1. 打开终端。
    2. 输入上述命令,然后按回车键执行。
    3. 查看输出的进程列表,寻找可能的隐藏进程。但请注意,这也可能包括正常的后台进程。
  2. 排查隐藏计划任务:
    若要查找计划任务,可以使用crontab命令。以下是如何查看当前用户的计划任务的详细步骤:

    1. 打开终端。
    2. 输入crontab -l,然后按回车键执行。这将列出当前用户的所有计划任务。
    3. 查看输出的任务列表,寻找可能的隐藏任务。
    4. 如果需要查看其他用户的计划任务,请使用sudo crontab -l -u username,将username替换为相应的用户名。

请注意,恶意软件可能会使用更高级的技术来隐藏进程和计划任务。在这种情况下,可能需要使用专业的安全工具进行检测和清除。

在这里插入图片描述

检查系统计划任务

/var/spool/cron/crontabs/root 可以看到隐藏计划任务

crontab -u root -l 看不到隐藏计划任务

cat /etc/rc.d/rc.local

ls /etc/rc3.d

系统级计划任务

在Linux中,计划任务通常使用cron来创建和管理。默认情况下,所有cron任务都在后台运行,因此没有专门的“隐藏”选项。然而,如果您希望创建一个不易被其他用户发现的计划任务,可以将任务添加到系统级的cron文件中,而不是个人用户的crontab中。

以下是如何在系统级别的cron文件中添加一个计划任务的详细步骤:

  1. 打开终端。

  2. 使用以下命令打开一个系统级的cron文件。在这里,我们选择/etc/cron.d目录下的一个文件。您可以替换hidden_task为您喜欢的文件名:

    sudo nano /etc/cron.d/hidden_task
    

    这将使用nano文本编辑器打开名为hidden_task的文件。如果文件不存在,将创建一个新文件。

  3. 在文件中添加一行,按照以下格式指定任务的时间、用户和命令:

    * * * * * user_name your_command_here
    

    这里的五个星号分别代表分钟、小时、天、月和星期。user_name是要以其身份运行命令的用户。例如,0 0 * * * root your_command_here表示每天凌晨以root用户身份运行命令。

  4. 保存并退出nano编辑器。按Ctrl + X,然后按Y,最后按回车键。

  5. 更改文件权限以限制对其的访问。例如,您可以仅允许root用户读取和写入文件:

    sudo chmod 600 /etc/cron.d/hidden_task
    

这样,您创建了一个系统级的计划任务,其他用户不容易发现。但请注意,具有root权限的用户仍然可以查看和编辑这些文件。因此,从安全角度来说,这种方法并不完全隐藏计划任务。

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

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

相关文章

2023全球数字贸易大赛--什么是 DID 身份,中青校园APP,全球碳交易=树根格致,多元空间=购物时代的web3.0,超喵Overview

目录 什么是 DID 身份,为什么需要 DID 1. 中心化身份的问题 2. 为什么 DID 一定会出现 3. DI

设二维数组a[1...m,1...n]()含有m*n个整数。写一个算法判断a中所有元素是否互不相同,并输出相关信息(yes/no)

设二维数组a[1…m,1…n]()含有m*n个整数。 写一个算法判断a中所有元素是否互不相同,并输出相关信息(yes/no) 分析其时间复杂度 代码思路: 这种如果纯暴力做的话时间复杂度非常高。 我这里考虑把题目中的二…

A JSONObject text must begin with ‘{‘ at 1 [character 2 line 1]

今天调用一个接口,返回的是json数据,但是拿到数据进行转换的报错, JSONObject resultJson new JSONObject(resuStr);报错信息是: Exception in thread "main" org.json.JSONException: A JSONObject text must begin …

navigation无法打开/vscode前面没出现虚拟环境

先做这些,打开navigate 管理员身份打开anaconda prompt conda update anaconda-navigator anaconda-navigator --reset conda update anaconda-client conda update -f anaconda-client anaconda-navigator 之后别再powershell里输命令,在cmd里切 还有cr…

地理坐标系转换

1.EPSG代码 搜索地理坐标系对应的EPSG代码 https://epsg.io/ 常用的地理坐标系EPSG代码: 2. 坐标系转换 转换网址: https://epsg.io/transform (1)修改 input coordinate system 和 output coordinate system, 可以…

VC++、MFC中操作excel时,Range.Cells和Worksheet.Cells的区别是什么?

一、变量定义 CApplication app; //Excel应用程序接口 CWorkbooks books; //工作薄集合 CWorkbook book; //工作薄 CWorksheets sheets; //工作表集合 CWorksheet sheet; //工作表 CRange range; //Excel中针对单…

Zookeeper 实战 | Zookeeper 和Spring Cloud相结合解决分布式锁、服务注册与发现、配置管理

专栏集锦,大佬们可以收藏以备不时之需: Spring Cloud 专栏:http://t.csdnimg.cn/WDmJ9 Python 专栏:http://t.csdnimg.cn/hMwPR Redis 专栏:http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏:http://t.csdni…

攻关眼科难题!第一届爱尔眼科-四川大学科研基金完成立项

当前我国眼科患者数量不断增长,人民群众对高质量的眼健康的需要不断攀升,而目前国内眼科医疗资源远不能满足需求,疑难眼病诊疗能力及学术科研体系建设仍有较大进步空间。基于此,爱尔眼科携手四川大学共同设立爱尔眼科-四川大学科研…

php操作redis常见用法

目录 一、php连接redis 二、redis字符串用法 三、redis列表用法 四、redis集合用法 五、关闭redis phpstudy安装redis-CSDN博客 一、php连接redis Redis默认端口6379 host 为Redis服务器ip auth 访问密码 class MyRedis extends \Redis {protected $host 127.0.0.…

小程序----使用图表显示数据--canvas

需求:在小程序上实现数据可视化 思路:本来想用的是echarts或者相关的可视化插件,但因为用的是vue3,大多数插件不支持,所以用了echarts,但最后打包的时候说包太大超过2M无法上传,百度了一下&…

LeetCode Hot100 33.搜索旋转排序数组

题目&#xff1a; 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nu…

构建沉浸式 AI 文本编辑器:开源 3B 编辑器的设计原则与思路

借助于在 AutoDev 与 IDE 上的 AI 沉浸式体验设计&#xff0c;我们开始构建一个 AI 原生的文本编辑器&#xff0c;以探索沉浸式创作体验。其适用于需求编写、架构文档等等文档场景&#xff0c;以加速软件开发中的多种角色的日常工作。 GitHub&#xff1a;https://github.com/un…

Claude2 -sdk java (非官方提供)开源计划

场景 我们要对接claude2&#xff0c;但是claude2官方并没有开放接口文档&#xff0c;只有一个python版本的sdk&#xff0c;但是我们的api_key 并没有升级&#xff08;因为调用的问题&#xff0c;调用报错403&#xff0c;社区人员回应是地域的问题&#xff0c;我们尝试使用代理…

【MySql】14- 实践篇(十二)-grant权限/分区表/自增Id用完怎么办

文章目录 1.grant之后要跟着flush privileges吗&#xff1f;1.1 全局权限1.2 db 权限1.3 表权限和列权限1.4 flush privileges 使用场景 2. 要不要使用分区表?2.1 分区表是什么?2.2 分区表的引擎层行为2.3 分区策略2.4 分区表的 server 层行为2.5 分区表的应用场景 3. 自增Id…

重复的子字符串

题意&#xff1a; 给定一个非空的字符串 s &#xff0c;检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s “abab” 输出: true 解释: 可由子串 “ab” 重复两次构成。 示例 2: 输入: s “aba” 输出: false 示例 3: 输入: s “abcabcabcabc” 输出: t…

Python自动化办公:PDF文件的分割与合并

我们平时办公中&#xff0c;可能需要对pdf进行合并或者分割&#xff0c;但奈何没有可以白嫖的工具&#xff0c;此时python就是一个万能工具库。 其中PyPDF2是一个用于处理PDF文件的Python库&#xff0c;它提供了分割和合并PDF文件的功能。 在本篇博客中&#xff0c;我们将详细…

服务器数据恢复—服务器重装系统导致逻辑卷发生改变的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌linux操作系统服务器&#xff0c;服务器中有4块SAS接口硬盘组建一组raid5阵列。服务器中存放的数据有数据库、办公文档、代码文件等。 服务器故障&检测&#xff1a; 服务器在运行过程中突然瘫痪&#xff0c;管理员对服务器进行了重装…

MySQL的Linux安装

在MySQL官网下载压缩包MySQL :: Download MySQL Community Server (Archived Versions) 下载完成后将压缩包上传到Linux中。我这里是下的CentOS的压缩包。 并且用的是FinalShell连接工具&#xff0c;可以选择压缩包直接上传。 ​ 上传完毕后&#xff0c;新建mysql文件夹&…

vue3中readonly和shallowReadonly

readonly: 深度只读数据 获取一个对象 (响应式或纯对象) 或 ref 并返回原始代理的只读代理。 只读代理是深层的&#xff1a;访问的任何嵌套 property 也是只读的。 shallowReadonly 浅只读数据 创建一个代理&#xff0c;使其自身的 property 为只读&#xff0c;但不执行…

在线陪诊系统: 医学科技的革新之路

医疗服务的数字化时代已经到来&#xff0c;而在线陪诊系统正是医学科技革新的杰出代表。通过巧妙的技术代码&#xff0c;这一系统不仅实现了患者和医生之间的远程互动&#xff0c;还将医疗服务推向了一个更加智能化的未来。在这篇文章中&#xff0c;我们将深入探讨在线陪诊系统…