linux下模拟一个木马程序运行过程

标签: | 发表时间:2023-04-13 22:40 | 作者:
出处:https://blog.csdn.net

预备知识:

将一个程序放入到后台,悄悄的执行

./xxx.sh &

进程:

用户进程:由用户来管理

系统进程:由系统内核自行管理

系统中的每个进程,都有一个位置的ID,这就是pid,而且每次启动进程以后,PID都不相同

进程相关的命令

jobs

作用:查看当前运行在后台的进程有哪些

信息

第一列:进程编号

第二列:进程状态

第三列:进程是如何发起的

fg   进程编号    把进程从后台调到前台执行

kill %进程编号  杀死进程

ps aux   打印系统所有进程

fe5411f1440651980d04c56b598dc550.png

num=`ps aux | grep myser |wc -l`   #执行grep myser本身就会创建一个进程,如果有myser这个进程则num为2,如果没有myser这个进程,则num为1,

584fd45fc169198f07a317dae6c4d9df.png

kill作用杀死进程

格式:kill 信号级别 进程PID

信号级别

-9:斩立决。立刻杀死进程

-15:死缓。等待现有的客户端处理完毕之后,立刻杀死进程

【等待期间新的用户请求无法被接入】

木马最终效果

让程序自动运行,而且是开机自动运行起来

程序还可以自我保护

防止程序文件被删除

实现步骤

1. 开发一个伪木马myser,位置:可以随便放,这里为了方便放在/下,实际使用时是放在非常隐蔽的目录下

#!/bin/bash

while true

do

touch /home/`date +%T`.txt    #在/home/下每隔一秒就创建一个文件,文件名为 创建时间.txt

sleep 1

done

81debb3e4abc766840cb5e33b156003b.png

创建完后赋权限        chmod +x myser

09c2ce8eb27fc1ab91a1fb9f96ac5aad.png

试运行      ./myser      ctrl+c停止  cd到/home/目录下查看

a402eeebbe8ba57ef4d94b9f1f7c6b1b.png

2. 将这个木马设置为开机自动启动

在/etc/rc.local中写入

/bin/bash /myser &

987310767c33aef94ab532aeaacb1e5f.png

3. 开发一个检查木马进程是否正在运行的程序,check.sh ,位置:可以随便放,这里为了方便放在/下,实际使用时是放在非常隐蔽的目录下

#!/bin/bash

num=`ps aux | grep myser |wc -l`   #执行grep myser本身就会创建一个进程,如果有myser这个进程则num为2,如果没有myser这个进程,则num为1(),

if [ $num -eq 1 ];then     #num为1则表示木马进程已被杀死,需重新启动木马

/bin/bash /myser &   # &表示后台启动,不再屏幕上出现信息

fi

创建完后赋权限        chmod +x check.sh

d7a0960e9c364a0d4c07927320fdcb7d.png

4.将check.sh写进或放进计划任务中

思路1:

写进计划任务中  但这样很容易用crontab -l 查看发现

crontab -e     #创建计划任务

b49174f5fb8d6d961533ebbc89f97c69.png

每分钟执行一次

*  *  *  *  *    # 分 时 日 月 周

crontab -l    #查看当前创建了哪些计划任务

64362536e293687b75d8b2cad97aa5a3.png

思路2:

将check.sh放在/etc/cron.d/cron.hourly

这个目录下的程序会每隔1h自动执行一次

思路3:

执行check.sh的计划任务写在/etc/crontab   #这个目录下的crontab中的任务计划不会出现在crontab -l中

*/5 * * * * /bin/bash /etc/check.sh

思路4:

在/etc/init.d下随便找个程序,将执行check的命令写进去

5.重启验证效果---------------reboot关机

开机后在/home/下发现一堆文件

8ea87b4b18887a2a77d74d505ef4357a.png

脚本正在运行

cb21bcbd2fa9772686a38c1c27af62c5.png

杀死进程

02e51f118872aa171e3b0ce494310217.png

过一分钟后再次查看,发现进程已重启,注意看PID是不一样的,表示进程是重新启动过的

8a596292252b07154edc71fbe3703afe.png

自此完成

相关 [linux 模拟 木马程序] 推荐:

linux下模拟一个木马程序运行过程

- -
将一个程序放入到后台,悄悄的执行. 系统进程:由系统内核自行管理. 系统中的每个进程,都有一个位置的ID,这就是pid,而且每次启动进程以后,PID都不相同. 作用:查看当前运行在后台的进程有哪些. fg   进程编号    把进程从后台调到前台执行. kill %进程编号  杀死进程. ps aux   打印系统所有进程.

Linux中模拟诊断Oracle高CPU占用

- - CSDN博客推荐文章
1,在一个session中模拟CPU高使用率,如下:. 2,在shell窗口用top命令查看CPU使用情况:                                                                                                            .

Redis持久化实践及灾难恢复模拟 « Hey! Linux.

- -
一、对Redis持久化的探讨与理解. 目前Redis持久化的方式有两种: RDB 和 AOF. 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复. Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施. 所以Redis在利用RDB和AOF进行恢复的时候,都会读取RDB或AOF文件,重新加载到内存中.

Google 撤下 50 多款带有 DreamDroid 木马程序的 Android 应用

- Ray ma - 爱范儿 · Beats of Bits
Google 昨天从 Android Market 上面撤下 50 多款带有 DreamDroid 木马程序的应用. DreamDroid 采用 rageagainstthecage 方法来取得用户手机的根用户权限(Root Access),然后就偷偷上传用户信息,包括 IMEI,IMSI,手机型号,国家地区,语言等等.

Javascript 里跑Linux

- rockmaple - Shellex's Blog
牛逼到暴的大拿 Fabrice Bellard,用Javascript实现了一个x86 PC 模拟器,然后成功在这个模拟器里面跑Linux(请用Firefox 4 / Google Chrome 11打开,Chome 12有BUG). 关于这个东西… 伊说 “I did it for fun“,大大啊大大啊….

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

linux makefile编写

- hl - C++博客-首页原创精华区
在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则. target也就是一个目标文件,可以是Object File,也可以是执行文件. prerequisites就是,要生成那个target所需要的文件或是目标. command也就是make需要执行的命令. 这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在 command中.

Linux下的VDSO

- 圣斌 - Adam's
VDSO(Virtual Dynamically-linked Shared Object)是个很有意思的东西, 它将内核态的调用映射到用户态的地址空间中, 使得调用开销更小, 路径更好.. 开销更小比较容易理解, 那么路径更好指的是什么呢. 拿x86下的系统调用举例, 传统的int 0×80有点慢, Intel和AMD分别实现了sysenter, sysexit和syscall, sysret, 即所谓的快速系统调用指令, 使用它们更快, 但是也带来了兼容性的问题.

Linux wget命令

- - CSDN博客推荐文章
wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径. 例如: # wget  http://www.linuxsense.org/xxxx/xxx.tar.gz. 简单说一下-c参数, 这个也非常常见, 可以断点续传, 如果不小心终止了, 可以继续使用命令接着下载.

linux 小技巧

- - DBA Blog
2:如何限制用户的最小密码长度. 修改/etc/login.defs里面的PASS_MIN_LEN的值. 比如限制用户最小密码长度是8:. 3:如何使新用户首次登陆后强制修改密码. 4:更改Linux启动时用图形界面还是字符界面. 将id:5:initdefault: 其中5表示默认图形界面. 改id:3: initdefault: 3表示字符界面.