zoukankan      html  css  js  c++  java
  • 如何隐藏自己的应用程序在服务器上不被发现?

    i pensier stretti&il viso sciolto.   -----------Hemy Wootton《黑客与画家》

    守口如瓶,笑脸相迎               

     

     

    目录

    1.0 创建单调定时器

    1.1 创建单元文件

    1.2创建python脚本

    1.3执行脚本

    1.4通过定时器启动任务

    文档编写目的


     

              用来保护公司机密的监控小进程,并且防止黑客盗用,以及获取员工的登录日志信息,防止有人恶意搞,或者当员工使用rm -rf等误删时禁止,并向主管部门发送邮件。

    伪装系统文件使用定时任务执行python脚本

    ps:技术都有两面性,大家都明白。

    此时用到的工具是systemd,下面是具体步骤


     

    1.0 创建单调定时器


    创建一个文件夹用于存放测试使用的单元数据

       mkdir /home/sy_test

    mkdir /home/sy_test

    在此目录下创建定时器

    cd /home/sy_test

    vim nice.timer

    cd /home/sy_test
    vim nice.timer

    编写单元文件内容

    [Timer]
    OnBootSec=1h
    OnUnitActiveSec=1d

    1h代表开机1小时后启动

    1d代表1day 也就是1天执行一次

    [Timer]
    OnBootSec=1h
    OnUnitActiveSec=1d
    

    1.1 创建单元文件


    创建文件

    cd /home/sy_test

    vim nice.service

    cd /home/sy_test
    vim nice.service

    编写文件内容

    [Unit]

    Description = myScript  #描述#

    [Service]

    ExecStart = /usr/bin/python3 -u mypython.py

    WorkingDirectory = /home/sy_test  #脚本所在目录#

    [Unit]
    
    Description = myScript  #描述#
    
    [Service]
    
    ExecStart = /usr/bin/python3 -u mypython.py
    WorkingDirectory = /home  #脚本所在目录#

    放入系统可识别的优先级目录下(具体优先级问题请参照第三篇参考博客)

    mv /home/sy_test/nice.service /lib/systemd/system

    mv /home/sy_test/nice.service /lib/systemd/system

    1.2创建python脚本


    vim /home/sy_test/mypython.py

    vim /home/sy_test/mypython.py

    编写文件内容

    print('you are nice!')

    1.3执行脚本


    由于是linux系统服务,和配置环境变量一样有效,能够在任意目录执行

    sudo systemctl start nice.service

    sudo systemctl start nice.service

    启动服务后查看状态(它这里是状态其实代表日志)

    sudo systemctl status nice.service

    sudo systemctl status nice.service

    成功运行!接下来停掉服务,然后通过定时器启动

    sudo systemctl stop nice.service

    sudo systemctl stop nice.service

    当然我们这种小程序,打印跑完就代表程序就结束了,所以你不stop也可以,但是如果是持久性的程序(比如tomcat,nginx,自定义的接口之类的服务),停止才可以在启动

    1.4通过定时器启动任务


    为了更加明显我这里把之前的nice.timer设置为1m,也就是1分钟执行一次,并且配置定时任务执行那个服务

    vim /home/sy_test/nice.timer

    vim /home/sy_test/nice.timer

    转移与关联

    很多小宝贝会好奇,那么定时任务和单元服务文件没有配置,他们怎么关联的呢,别慌看↓↓↓↓↓↓↓

    定时器单元文件和服务单元文件必须在同一个目录下,且文件名相同,只是后缀不同一个为.timer,一个为.service

    mv /home/sy_test/nice.timer /lib/systemd/system

    mv /home/sy_test/nice.timer /lib/systemd/system

    启动定时器

    systemctl start nice.timer

    systemctl start nice.timer

    查看定时器状态

    systemctl status nice.timer

    systemctl status nice.timer

    定时器启动成功,接下来咱们来验证一下是否让那个python执行了多次

    查看服务状态

    sudo systemctl status nice.service

    sudo systemctl status nice.service

    我没有手动运行任何关于这个服务的命令,仅仅是看它的状态,2次都在每分钟重新执行了,说明很成功

    成功!


    结语:你规避了你隐藏的服务,无法发现,但是软件行业没有银弹,没有完美的东西,如果别人也知道这个systemctl可以隐藏服务的话,其实也是可以通过这个找到你的命令的,不过它得查看你的输入日志。

    所以你还得来一步,删除这区间内的输入日志

    还是那句没有银弹,这样虽然别人不知道你启动了什么服务,但是还是有问题的,如果别人超级厉害的那种,那这个版本的文件和当前版本的系统命令,以及搭建的所有环境服务所有版本文件进行比对,然后在以超级耐心,一个个比对,放心吧,绝对要花几个月专注这一件事情,才能把你给找出来。


    参考博客:

    https://blog.csdn.net/weixin_37766296/article/details/80192633 最简明扼要的 Systemd 教程

    systemctl isolate emergency.target 千万不要执行,上一篇文章中的开始与执行前面的代码。我服务器直接ping不通了。

    https://www.cnblogs.com/zhaoweihang/p/12102386.html 在linux 用systemctl 执行python脚本

    https://my.oschina.net/u/2539854/blog/857219 systemd创建定时任务

  • 相关阅读:
    Mysql(三) Mysq慢查询日志
    Mysql(二) Mysql错误日志
    Mysql(一) Mysql二进制日志
    HA(二)Heartbeat实现LVS集群DR模式下Director高可用
    HA(一)高可用集群原理
    LVS(五)LVS集群RealServer高可用健康监测
    LVS(四)LVS集群DR模式
    LVS(三)LVS集群NAT模式
    LVS(二)LVS集群中实现的三种负载均衡技术
    Cocos2d-JS实现的打飞机
  • 原文地址:https://www.cnblogs.com/BigDataBugKing/p/12783520.html
Copyright © 2011-2022 走看看