不,我不想成为一名破解者或类似的东西,但我试图弄清楚这个过程(更多地从编程的角度来看)。
所以我假设(猜测)破解者的主要目标是获得 root 访问权限以安装他编写的任何软件(或脚本),对吗?或者也许安装他们自己的内核模块(无论出于何种原因,这都是狡猾的)一个人究竟是如何做到这一点的?
我知道人们使用脚本来检查漏洞......但我不知道如何,而且我也没有确切地看到他们在找到它们后如何处理它们?他们是否检查已知漏洞的版本......然后一旦他们找到一个......
我知道这一切听起来很新手。但我只是想了解它是如何工作的,因为我知道 Linux/Unix 系统应该是非常安全的,但我试图弄清楚有人甚至会如何(过程)获得 root 访问权限。
Hed*_*age 14
试图破坏系统安全性的原因有无数种。概括地说:
只是有时做这些事情需要 root 访问权限。例如,在未正确清理用户输入的站点上输入格式错误的搜索查询可能会泄露站点数据库中的信息,例如用户名/密码、电子邮件地址等。
许多计算机犯罪分子只是“脚本小子”;即实际上不了解系统安全的人,甚至可能不会编写代码,但会运行其他人编写的漏洞利用程序。这些通常很容易防御,因为它们没有适应能力;它们仅限于利用已知漏洞。(尽管他们可能会利用僵尸网络——大量受感染的计算机——这可能意味着 DDoS 攻击的危险。)
对于熟练的攻击者来说,这个过程是这样的:
弄清楚目标是什么,以及目标的价值。安全——维护它或妥协它——是一种风险/回报计算。某件事的风险和成本越高,要使攻击变得有价值,奖励就必须越诱人。
考虑影响目标的所有活动部分——例如,如果你想发送垃圾邮件,你可以攻击邮件服务器,但追求不同的面向网络的服务可能更有意义,因为你真的需要使用目标的网络连接。如果您想要用户数据,您将开始查看数据库服务器、能够访问它的 Web 应用程序和 Web 服务器、备份它的系统等。
永远不要忽视人为因素。保护计算机系统比保护人类行为容易得多。让某人透露他们不应该透露的信息,或者运行他们不应该的代码,既简单又有效。在大学里,我和一个朋友打赌赢了,他穿着暴露的衣服闯入了他超级安全的公司网络,并遇到了一位好色的副总裁——我朋友的技术专长远远超过我,但没有什么能胜过 17 岁的人的力量混搭短裙!
如果你没有胸部,考虑提供一个毫无意义的游戏或白痴会下载的东西,而不考虑它真正可能在做什么。
查看您确定的每个部分,并考虑它可以做什么,以及如何调整它以实现您想要的 - 也许服务台经常为用户重置密码而没有正确识别呼叫者,并且打电话给他们听起来很困惑给你别人的密码。也许 webapp 在将它粘贴到它运行的函数中之前没有检查搜索框中输入的内容以确保它不是代码。安全妥协通常始于故意暴露的某些东西,这些东西可以以不应该的方式运行。