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

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

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

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

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

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

谢谢!

答案1

  • 运行一个侦听器,当您执行或操作时,nc该侦听器会回显优惠券代码之一。如果他们查看该文件,他们也会明白。telnetnc

    #!/bin/sh
    nc -i 2 -l -p 3128 -c "echo amazoncode"
    

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

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

    iptables -N amazoncode -P ACCEPT
    iptables -I INPUT -j amazoncode
    
  • ssh使用代码作为用户名进行某些登录失败。

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

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

答案2

不知道这个方法同学们是否感兴趣。

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

    cat amazoncode
    125622234
    
  2. 现在,使用以下命令加密文件。

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

    rm amazoncode
    
  4. 现在,告诉学生亚马逊礼品代码已加密,如果他们需要该代码,则必须对其进行解密。您还可以将用于加密的原始命令和密码分享给学生。

  5. 学生可以从原始命令中看出,他们应该执行相反的操作来解密文件,如下所示。您也可以告诉他们-d选项用于解密,并且加密文件应该作为输入以生成代码作为输出。这里,不妨告诉同学们从man的页面中找出解密技巧openssl

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

    cat amazoncode
    125622234
    

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

答案3

一些想法:

  • 用户主目录中的纯文本文件(“ Amazon Code.txt”或其他明显的内容),世界可读
  • 用户主目录中的纯文本文件,不可读,但用户的密码很容易被猜到
  • 使用源代码中混淆的密钥进行处理,但它调用其他东西(例如)在输出system("sleep 864000 $key")中公开密钥ps
  • 相同,但从 crontab 运行并且只让其子进程睡眠几秒钟
  • 使用源代码中混淆的密钥进行处理,但它会打开一个 TCP 套接字并将密钥打印给任何连接的人

答案4

也许是 ~/bin/ 或 /etc/bin/ 中的“有趣”脚本。做一些事情,比如替换 LS、cat 或 CD 的功能,使其行为稍有不同,并提示他们出现问题(第一个想到的就是将 ls/cd 更改为列出/移动错误的文件夹)并将代码列在 sh 文件的注释中。

也许运行一个消耗过多内存/打开奇怪端口的进程;让进程名称为亚马逊代码。

相关内容