解决关闭SSH进程CobaltStrike自动关闭
0x0
那么为什么ssh一关闭,程序就不再运行了?
答:元凶:SIGHUP 信号
让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉。
在Linux/Unix中,有这样几个概念:
进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。
会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。
会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。
简而言之:
就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉!!导致一旦ssh关闭,执行中的任务就取消了。
0x1解决方法
使用screen在其窗口内执行命令。
- 安装
yum install screen
- 使用ctral a d开启和关闭程序
在screen内启动CobaltStrike程序关闭ssh终端依然能够连接。