Shell - 通过hook文件后门实现应用的自动启停

简介: Shell - 通过hook文件后门实现应用的自动启停

202009281105144.png



启动脚本

 #!/bin/bash
set_network_param()
{
  sysctl -w fs.file-max=999999
  sysctl -w net.ipv4.tcp_tw_reuse=1
  sysctl -w net.ipv4.tcp_fin_timeout=15
  sysctl -w net.core.netdev_max_backlog=4096
  sysctl -w net.core.somaxconn=40960
  sysctl -w net.ipv4.tcp_max_syn_backlog=40960
  sysctl -w net.ipv4.tcp_syncookies=1
  sysctl -w net.ipv4.tcp_syn_retries=2
  sysctl -w net.ipv4.tcp_synack_retries=2
  return
}
#service start
start()
{
  number=`ps -ef | grep "/home/nginx/bin/nginx" | grep -v grep | head -n 1 | wc -l`
  if [ $number -ge 1 ];then
  fi
  set_network_param
  ulimit -n  65535
  if [ -f "/home/nginx/bin/nginx" ]
  then
    /home/nginx/bin/nginx -p /home/nginx -c /home/nginx/conf/nginx.conf
  fi
  number=`ps -ef | grep "/home/nginx/daemon/nginx_daemon" | grep -v grep | head -n 1 | wc -l`
  if [ $number -lt 1 ];then
    # Do Something
  fi
  if [ -f "/home/nginx/daemon/nginx_daemon" ]
  then
    nohup /home/nginx/daemon/nginx_daemon >/dev/null 2>&1 & 
  fi 
}
#service stop
stop()
{
  /home/nginx/bin/nginx -p /home/nginx -s stop 
}
#parse cmd
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    sleep 1
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
esac
exit 0


姑且称之为a.sh 在 /home/nginx 目录下


daemon

通过放入hook文件, 在对应的目录下touch start \ stop \restart 文件 , 实现应用的启停

#!/bin/sh
number=`ps -ef | grep "/home/nginx/daemon/nginx_daemon" | grep -v grep | head -n 1 | wc -l`
if [ $number -lt 1 ];then
  #do something
fi
while [ 1 -eq 1 ]
do
  if [ -f "/home/nginx/daemon/start" ]; then
    rm -rf /home/nginx/daemon/start
     /home/nginx/a.sh start
  fi
  if [ -f "/home/nginx/daemon/stop" ]; then
    rm -rf /home/nginx/daemon/stop
     /home/nginx/a.sh stop
  fi
  if [ -f "/home/nginx/daemon/restart" ]; then
    rm -rf /home/nginx/daemon/restart
     /home/nginx/a.sh restart
  fi
  sleep 5
done


相关文章
|
20天前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
28 1
|
2月前
|
Shell Linux API
【Shell 命令集合 备份压缩 】Linux 解压缩文件 unzip命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解压缩文件 unzip命令 使用指南
67 0
|
2月前
|
Shell Linux C语言
【Shell 命令集合 备份压缩 】Linux 归档和解档文件 cpio命令 使用指南
【Shell 命令集合 备份压缩 】Linux 归档和解档文件 cpio命令 使用指南
42 0
|
2月前
|
算法 Linux Shell
【Shell 命令集合 备份压缩 】Linux 压缩.Z文件 compress命令 使用指南
【Shell 命令集合 备份压缩 】Linux 压缩.Z文件 compress命令 使用指南
36 0
|
2月前
|
Shell Linux C语言
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
【Shell 命令集合 设备管理 】Linux 创建设备文件 MAKEDEV命令 使用指南
40 0
|
2月前
|
缓存 Shell Linux
【Shell 命令集合 链接器(linker)工具】Linux ld命令 将目标文件与库链接为可执行文件或库文件
【Shell 命令集合 链接器(linker)工具】Linux ld命令 将目标文件与库链接为可执行文件或库文件
48 0
|
2月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
【Shell 命令集合 系统设置 】Linux 创建Kickstart文件mkkickstart命令 使用指南
32 0
|
2月前
|
存储 Shell Linux
【Shell 命令集合 备份压缩 】Linux 解码uuencode编码的文件 uudecode 命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解码uuencode编码的文件 uudecode 命令 使用指南
35 0
|
2月前
|
安全 Shell Linux
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
50 0
|
2月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
33 0