首页 攻略 技巧 进程隐藏器|Linux添加启动进程或任务

进程隐藏器|Linux添加启动进程或任务

更新时间:2022-08-12 1:10:18 分类:技巧 浏览:240

前言:

有时需要一些自启动任务或定时重启任务进程隐藏器,等一段时间后重启程序。有两种方法:

1、编写一个脚本来执行要完成的操作,并将该脚本添加到系统的开机自启动任务进程中。在这里进程隐藏器,启动了 root 用户进程。这个启动后,在后面的流程中就可以看到了。

上面添加自启动任务,需要以下文件、文件和脚本自己创建:

文件介绍:

1.1、忽略名称问题,run.sh脚本内容如下:

1.2、-OD@。内容:

	.service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节
	[Unit]
	Description="helloword object detection %i"		服务进程描述,写有意义的内容,便于识别
	Requires=network.target senseshield.service		当前 Unit 依赖的其他 Unit,如果它们没有运行,当前 Unit 会启动失败,定义启动顺序
	After=network.target senseshield.service		在network.target,senseshield.service启动后才启动
	PartOf=helloword-OD.target						 
						BindTo与 Requires 相似,但是一种更强的关联。启动这个服务时会同时启动列出的所有模块,当有模块启动失败时终止当前服务。
							反之,只要列出的模块全部启动以后,也会自动启动当前服务。并且这些模块中有任意一个出现意外结束或重启,这个服务会跟着终止或重启。
						PartOf这是一个 BindTo 作用的子集,仅在列出的任何模块失败或重启时,终止或重启当前服务,而不会随列出模块的启动而启动。
	[Service]WorkingDirectory=/home/nvidia/.config			#设置应用的工作目录
	ExecStart=/bin/bash helloword_run.sh						执行启动脚本,指定启动单元的命令或者脚本,
			ExecStartPre和ExecStartPost节指定在ExecStart之前或者之后用户自定义执行的脚本。Type=oneshot允许指定多个希望顺序执行的用户自定义命令。
	Restart=on-failure								fail时重启,这个选项如果被允许,服务重启的时候进程会退出,会通过systemctl命令执行清除并重启的操作。

1.3、-OD。内容:

.target定义了一些基础的组件,供.service文件调用
 
	[Unit]
	Description="helloword object detection %i"		简短描述,服务描述,写有意义的内容,便于识别
	Requires=helloword-OD@1.service					当前 Unit 依赖的其他 Unit,如果它们没有运行,当前 Unit 会启动失败
	#Requires=helloword-OD@{1..2}.service
	#After=network.target senseshield.service
	[Install]
	WantedBy=multi-user.target			它的值是一个或多个 Target,当前 Unit 激活时(enable)符号链接会放入/etc/systemd/system目录下面以 Target 名 + .wants后缀构成的子目录中,单元被允许运行需要的一系列依赖单元,RequiredBy列表从Require获得依赖信息

1.4、创建以上两个文件和脚本后:

复制-OD。到系统 /etc// 目录,

cp helloword-OD.target helloword-OD@.service /etc/systemd/system

为两个复制的文件添加执行权限:

sudo chmod +x helloword-OD.target helloword-OD@.service

执行命令添加-OD.,作用是添加-OD。到系统自启动项。

sudo systemctl enable helloword-OD.target

1.5、写几个可以在这里使用的命令:

程序自启动从启动项取消(关机重启就不在了):sudo systemctl disable helloword-OD.target
程序自启动添加到启动项(关机重启还在):sudo systemctl enable helloword-OD.target
关闭当前程序自启动(只关闭当前进程):sudo systemctl stop helloword-OD.target
开启当前程序自启动(只开启当前进程):sudo systemctl start helloword-OD.target

2、编写一个脚本来执行需要做的操作,在启动时将脚本添加到普通用户的自启动任务进程中。到这里,普通用户进程就启动了。这可以专用于终端来显示和收听。

1、比如我添加一个开机自启创建一个叫helloword.txt的任务,就使用helloword-od.desktop文件来实现这个文件夹你自交创建一个就行,内容如下:

忽略名称问题,run.sh脚本的内容如下:

2、将这个helloword-od.desktop文件放在home目录下的隐藏文件有一个叫  “.config”的隐藏文件夹。他里面有一个叫autostart这个文件里面。这文件是系统自带的。

如果你拥有这个。上面没有这个文件夹,可以自己创建一个,名字就叫。

3、放进去之后,确认helloword-od.desktop文件内容和目录路径正确,然后在终端使用:
	gnome-session-properties
	进入之后,勾选bash run.sh 并退出。
	就完成了,每次开机自启都会在helloword_run.sh脚本所在的文件夹里面创建一个叫helloword.txt的文本。

3、例如这里添加一个定时器程序:

除了使用桌面自启动程序之外还要使用linux上面的crontab来添加程序定时重新启动。
1、在终端使用        crontab -e

进程隐藏器|Linux添加启动进程或任务

1、编辑crontab文件,用来存放你要执行的命令 sudo crontab -e 2、第一次用这个命令,会让你选择文本编辑器,我选的是vim (输入数字选择就是了!) 3:在这个文件最后面最后一行添加执行命令 每天的00点00分执行这个/home/user/workspace/helloword_auto_start路径下面的helloword_run.sh脚本并将结果输出到log.txt。 00 00 * * * cd /home/user/workspace/helloword_auto_start; bash helloword_run.sh > log.txt 4、还需要在helloword_run.sh里面最后一行前一行加上: export DISPLAY=:0 5:重启cron来应用这个计划任务 sudo service cron restart 6、使用这个命令来查看是否有执行重启或者查看自己将输出重定向到txt文本的内容或者看进程名字是否有重启。 watch -n .5 "sudo systemctl status cron.service"

3.1、编辑器选择错误的解决方法:

方法一:
vim ~/.bashrc
在文件最后面添加以下代码,保存退出
export EDITOR=/usr/bin/vim
然后生效配置
source ~/.bashrc
方法二:
select-editor

3.2、详情

1、crontab文件的基本格式如下所示
 *  * * * * command
分 时 天 月 周 命令

1、 中的每一行代表一个定期执行的任务,分为 6 个部分。前 5 部分表示命令何时执行,最后部分表示执行的命令。每个部分用空格分隔,不仅最后一部分(命令)里面可以使用空格,其他部分不能使用空格。前5部分分别代表:分、时、日、月、周,各部分取值范围如下:

分钟 0 - 59
小时 0 - 23
天 1 - 31
月 1 - 12
星期 0 - 6 0表示星期天
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 /2 代表每隔两分钟。所以 /1 和 * 没有区别

2:反例

(1)30 20 * * * date >> /home/date.log //每天的20:30将日期信息追加home目录下的date.log中
(2)5 20 13,14 * * date >> /home/date.log //每月的13日,14日20:5分将日期信息最追加home目录下的date.log中
(3)0,10 10,12 * * * date >> /home/date.log //每天10点至12点之间,隔10分钟将日期信息最追加home目录下的date.log中
(4)/5 * * * date >> /home/date.log //每5分钟将日期信息最追加home目录下的date.log中

3:是UNIX系统下定时执行任务的触发器。用户在这个文件下记录要周期性执行的任务,然后crond会周期性的查看周期性执行列表,有工作要执行的时候手动执行。

以下信息可以通过man查看

(1)/etc/crond.allow 表示的是允许使用crontab的用户列表
(2)/etc/crond.deny 表示的是不允许使用crontab的用户列表

4:几种常用的命令格式

crontab -l //显示用户的crontab文件的内容
crontab -e //编辑用户的crontab文件的内容
crontab -r //删除用户的crontab文件
1、 计划任务,crontab命令选项:
 	-u指定一个用户,
 	-l列出某个用户的任务计划,
 	-r删除某个用户的任务,
	-e编辑某个用户的任务

2、Cron 文件语法:

	分     小时   日       月       星期     命令
    0-59   0-23   1-31   1-12     0-6     command   
	
	可用crontab -e命令来编辑,编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件

进程隐藏器|windows黑客编程技术的隐藏技术(进程伪装、傀儡进程、进程隐藏)

进程隐藏器|windows黑客编程技术之隐藏技术(进程伪装,傀儡进程,进程隐藏)进程伪装:通过修改指定进程PEB中的路径和命令行信息实现伪装。傀儡进程:通过进程挂起,替换内存数据再恢复执行,从而实现创建“傀儡进程”。进程隐藏:通过HOOK函数ion来实现进程隐藏。傀儡进程的创建原理就是修改某一进程的内存数据,向内存中写入代码,并修改该进程的执行流程,使其转而执行代码。用傀儡进程的形式启动,成功执行了代码。在钩子函数中判断检索的信息是否是该进程信息,是则去掉,进而隐藏进程信息。 【查看详情

进程隐藏器|SuperMapiServer微服务多实例

进程隐藏器|SuperMap iServer 微服务多实例多实例特性是基于多进程工作模式,将一个服务自动扩展出多个完全相同的实例,并且每个实例分别运行在一个进程中,每个实例都可以独立处理请求。当多进程的主节点(节点)收到用户的请求后,根据特定算法,选择一个实例来响应用户的请求。当服务器收到相同服务的并发请求时,便可由多个进程处理,减少客户端的等待时间。如图3所示,利用第三方测试工具,测试了同一服务在设置了不同实例个数时,服务点击率的变化情况。 【查看详情

进程隐藏器|基于PEB断链的隐藏进程/模块

进程隐藏器|基于PEB断链实现进程/模块隐藏断链这种技术非常古老,同时应用于非常多的场景,在内核层如果我们需要隐藏一个进程的内核结构体,也会使用这种技术。本文基于PEB断链在用户层和内核层分别进行实现,在用户层达到的效果主要是dll模块的隐藏,在内核层达到的效果主要是进程的隐藏。这个链表跟进程隐藏有关,只要我们把想要隐藏进程对应的的链断掉,就可以达到在0环进程隐藏的目的。如果是我们想要隐藏的进程就执行断链操作 【查看详情

版权声明: 本站内容部分来源网络,版权归作者所有,如有侵权,请联系我们删除!
相关文章
进程隐藏器|windows黑客编程技术的隐藏技术(进程伪装、傀儡进程、进程隐藏) 技巧
进程伪装:伪装是通过改变指定进程的PEB中的路径和命令行信息来实现的。 傀儡进程:通过暂停进程,替换显存数据,然后恢复执行来创建一个“傀儡进程”。 进程隐藏:进程隐藏是通过HOOK函数实现的。 1 进程伪装实现原理 就是改变指定进程环境块中的进程路径和命令行信息,从而达到进程伪装的效果。因此,实现的关键是进程环境块的获取。可以使用ntdll.dll的导入函数cess获取指定进程的PEB地址,然后调…
管理 2022-08-12 08:02:30
进程隐藏器|SuperMapiServer微服务多实例 技巧
其中,Damen和Damen的具体职责和互动如下: 是主进程,负责启动、协调和管理当前系统中的所有节点。启用多处理后,当前一个被手动识别为一个节点。为了保证主节点的可用性,节点本身不负责处理具体的业务逻辑。比如不提供GIS服务,不参与分布式图切割。 是一个由其启动和管理的进程。一对应一端口,支持服务发布,GIS请求处理,参与分布式建图。 Damen是一个监控进程,负责监控和启动节点,防止节点故障。…
管理 2022-08-12 06:14:28
进程隐藏器|基于PEB断链的隐藏进程/模块 技巧
首发于奇安信攻防社区: 前言 这些断链技术非常古老进程隐藏器,同时在很多场景中使用。在内核层,如果我们需要隐藏一个进程的内核结构,也会用到这些技术。本文基于PEB断链,分别在用户层和内核层实现。用户层实现的效果主要是dll模块的隐藏,内核层实现的效果主要是进程的隐藏。 三环PEB断链 每个线程都有一个TEB结构来存储线程的一些属性结构。通过fs:[0]得到TEB的地址,在0x30的地址有一个指针指…
管理 2022-08-11 22:24:28