我在哪里可以为学习 Linux 安全性的学生“隐藏”复活节彩蛋?

lon*_*oat 7 security

我觉得这不是问这个问题的最好地方(因为没有唯一的正确答案),但我想不出更好的地方。如果您有更好的建议,能否请您推荐,我可以移动问题而不是直接关闭它?

我正在教一群​​高中生有关一般 Linux 安全性的知识。在高层次上,我希望他们能够使用给定的 Linux 服务器并知道如何针对常见的安全问题对其进行加固 - 例如关闭旧帐户,使用强大的 pw 散列算法,确保没有奇怪的进程正在运行或在启动时运行. 他们的技能水平范围很广,我正在寻找方法来激励他们使用我们一直在讨论的内容(例如查看 crontab;查看用户和组配置;查看开放端口)。

我得到了 200 美元来举办一场鼓励他们的比赛,我想也许我可以以 10 美元的增量购买一堆亚马逊礼品卡。我们的想法是在我们的沙箱服务器上的各个位置“隐藏”兑换代码,供孩子们找到。例如,我可以以明文形式存储密码,并为示例用户帐户之一分配密码之一。或者我可以设置一个 cron 作业,每 30 秒将其中一个代码记录到系统日志中。

我正在寻找的是隐藏这些代码的地方/方法,以便寻求保护服务器的人会偶然发现它们。

谢谢!

Mat*_*att 6

  • 运行一个nc侦听器,当您telnetnc它时回显出其​​中一个凭证代码。如果他们查看文件,他们也会得到它。

    #!/bin/sh
    nc -i 2 -l -p 3128 -c "echo amazoncode"
    
    Run Code Online (Sandbox Code Playgroud)

    将其命名为有用的东西,例如 squid

  • 使用亚马逊代码的名称或参数创建一些本地防火墙规则。

    iptables -N amazoncode -P ACCEPT
    iptables -I INPUT -j amazoncode
    
    Run Code Online (Sandbox Code Playgroud)
  • ssh使用代码作为用户名登录失败。

  • 使用一些包含代码的数据库运行不安全或安全性差的 mysql 实例。

你可能会得到一些聪明的人,grep -r amazoncode尽管没有一些混淆方法。如果他们能找出正则表达式,这显示出一些独创性,但对安全性帮助不大。


Ram*_*esh 5

我不知道这种方法是否是学生可能感兴趣的东西。

  1. 我用原始代码创建了一个文件作为amazoncode。

    cat amazoncode
    125622234
    
    Run Code Online (Sandbox Code Playgroud)
  2. 现在,使用以下命令加密文件。

    openssl aes-128-cbc -salt -in amazoncode -out amazoncode.aes -k somepassword
    
    Run Code Online (Sandbox Code Playgroud)
    • somepassword 是您为文件设置的密码。
  3. 现在,删除原始文件。

    rm amazoncode
    
    Run Code Online (Sandbox Code Playgroud)
  4. 现在,告诉学生亚马逊礼物代码是加密的,如果他们需要代码,他们必须解密它。您还可以将用于加密的原始命令和密码分享给学生。

  5. 同学们可以从原来的命令中找出他们应该反向解密文件,如下所示。您也可以告诉他们-d选项是用于解密,加密文件应该是生成代码作为输出的输入。在这里,你可能也告诉学生,从找出解密技术man的页面openssl

     openssl aes-128-cbc -d -salt -in amazoncode.aes -out amazoncode
    
    Run Code Online (Sandbox Code Playgroud)
  6. 现在,我在学习了一些加密/解密技术后也得到了代码。

    cat amazoncode
    125622234
    
    Run Code Online (Sandbox Code Playgroud)

实际上,openssl密码可以作为隐藏文件放在用户的主目录中。然后,学生也将了解如何访问隐藏文件并openssl从那里获取密码,然后尝试解密。