Skip to main content

如何黑客攻击

在社交媒体上,黑客通常被描绘成非法访问计算机系统和网络的恶棍。事实上,黑客只是对计算机系统和网络有广泛了解的人。一些黑客(称为黑帽黑客)确实将他们的技能用于非法和不道德的目的。其他人这样做是为了挑战。白帽黑客利用他们的技能来解决问题并加强安全系统。这些黑客利用他们的技能来抓捕罪犯并修复安全系统中的漏洞。即使您无意进行黑客攻击,了解黑客如何操作以避免成为目标也是一件好事。如果您准备好深入学习这门艺术,下面会教您一些技巧以帮助您入门。

学习黑客所需的技能

了解什么是黑客攻击

从广义上讲,黑客攻击是指用于破坏或获取数字系统访问权限的各种技术。这可以是计算机、手机或平板电脑,也可以是整个网络。黑客攻击涉及多种专业技能。有些是非常技术性的。其他人更多是心理上的。出于各种不同的原因,有许多不同类型的黑客。

了解黑客行为的道德规范

尽管黑客在流行文化中有多种描述方式,但黑客行为既不好也不坏。它可以用于任何一个。黑客只是精通技术、喜欢解决问题和克服限制的人。您可以使用您作为黑客的技能来寻找问题的解决方案,或者您可以使用您的技能来制造问题并从事非法活动。

警告:访问不属于您的计算机是高度违法的。如果您选择将您的黑客技能用于此类目的,请注意还有其他黑客会善用他们的技能(他们被称为白帽黑客)。他们中的一些人获得高额报酬来追捕坏黑客(黑帽黑客)。如果他们抓住你,你就会进监狱。

了解如何使用互联网和 HTML

如果您要进行黑客攻击,则需要知道如何使用互联网。不仅包括如何使用网络浏览器,还包括如何使用高级搜索引擎技术。您还需要了解如何使用 HTML 创建 Internet 内容。学习 HTML还会教会您一些良好的心理习惯,这将有助于您学习编程。

学习如何编程

学习编程语言可能需要时间,因此您需要有耐心。专注于学习像程序员一样思考,而不是学习个别语言。关注所有编程语言中的相似概念。

  • C 和C++是构建 Linux 和 Windows 的语言。它(连同汇编语言)教授了一些在黑客攻击中非常重要的东西:内存是如何工作的。
  • Python和 Ruby 是高级的、功能强大的脚本语言,可用于自动执行各种任务。 PHP值得学习,因为大多数 Web 应用程序都使用 PHP。Perl 在这个领域也是一个合理的选择。
  • Bash 脚本是必须的。这就是如何轻松操作 Unix/Linux 系统。您可以使用 Bash 编写脚本,它会为您完成大部分工作。
  • 汇编语言是必须知道的。它是您的处理器可以理解的基本语言,并且有多种变体。如果您不懂汇编,就无法真正利用程序。

获得一个开源的基于 Unix 的系统并学习使用它

有许多基于 Unix 的操作系统,包括 Linux。互联网上的绝大多数 Web 服务器都是基于 Unix 的。所以如果你想破解互联网,你需要学习 Unix。此外,像 Linux 这样的开源系统允许您阅读和修改源代码,以便您可以修补它们。

Unix 和 Linux 有许多不同的发行版。最流行的 Linux 发行版是 Ubuntu。您可以安装 Linux作为您的主要操作系统,也可以创建 Linux 虚拟机。您还可以双启动 Windows 和 Ubuntu 。

骇客

首先保护您的机器

要破解,您必须需要一个系统来练习您出色的黑客技能。但是,请确保您有权攻击您的目标。你可以攻击你的网络,请求书面许可,或者用虚拟机建立你的实验室。未经许可攻击系统,无论其内容是否非法,都会给您带来麻烦。 Boot2root 是专门为被黑客攻击而设计的系统。您可以在线下载这些系统并使用虚拟机软件进行安装。您可以练习破解这些系统

了解你的目标

收集目标信息的过程称为枚举。目标是与目标建立主动连接并找到可用于进一步利用系统的漏洞。有多种工具和技术可以帮助枚举过程。可以在各种 Internet 协议上执行枚举,包括 NetBIOS、SNMP、NTP、LDAP、SMTP、DNS 以及 Windows 和 Linux 系统。以下是您要收集的一些信息:

  • 用户名和组名。
  • 主机名。
  • 网络共享和服务
  • IP 表和路由表。
  • 服务设置和审核配置。
  • 应用程序和横幅。
  • SNMP 和 DNS 详细信息。

测试目标

你能到达远程系统吗?虽然您可以使用ping实用程序(大多数操作系统都包含)来查看目标是否处于活动状态,但您不能总是相信结果 — 它依赖于 ICMP 协议,偏执的系统管理员可以轻松关闭该协议。您还可以使用工具来检查电子邮件以查看它使用的电子邮件服务器。 您可以通过搜索黑客论坛找到黑客工具。

运行端口扫描

您可以使用网络扫描仪运行端口扫描。这将向您显示机器、操作系统上打开的端口,甚至可以告诉您他们使用的是什么类型的防火墙或路由器,以便您可以计划一个操作过程。

在系统中找到路径或开放端口

FTP (21) 和 HTTP (80) 等常用端口通常受到很好的保护,并且可能只容易受到尚未发现的漏洞利用。尝试其他可能已被遗忘的 TCP 和 UDP 端口,例如 Telnet 和各种为 LAN 游戏打开的 UDP 端口。 打开的端口 22 通常是目标上运行SSH (安全外壳)服务的证据,有时可能会被暴力破解。

破解密码或身份验证过程。=

有几种破解密码的方法。它们包括以下一些:

  • 蛮力:蛮力攻击只是试图猜测用户的密码。这对于获取容易猜到的密码(即 password123)很有用。黑客经常使用从字典中快速猜测不同单词的工具来尝试猜测密码。为防止暴力攻击,请避免使用简单的单词作为密码。确保使用字母、数字和特殊字符的组合。
  • 社会工程:对于这种技术,黑客将联系用户并诱使他们提供密码。例如,他们声称自己来自 IT 部门,并告诉用户他们需要密码才能解决问题。他们也可能去垃圾箱潜水寻找信息或尝试进入安全房间。这就是为什么你永远不应该把你的密码告诉任何人,不管他们自称是谁。始终切碎任何包含个人信息的文件。
  • 网络钓鱼:在这种技术中,黑客向用户发送伪造的电子邮件,该电子邮件似乎来自用户信任的个人或公司。该电子邮件可能包含安装间谍软件或键盘记录程序的附件。它还可能包含指向看似真实的虚假商业网站(由黑客制作)的链接。然后要求用户输入他们的个人信息,黑客随后可以访问这些信息。为避免这些骗局,请勿打开您不信任的电子邮件。始终检查网站是否安全(在 URL 中包含“HTTPS”)。直接登录商业网站,而不是点击电子邮件中的链接。
  • ARP 欺骗:在这种技术中,黑客使用其智能手机上的应用程序创建一个虚假的 Wi-Fi 接入点,公共场所的任何人都可以登录。黑客可以给它起一个看起来像是属于当地机构的名字。人们登录它时认为他们正在登录公共 Wi-Fi。然后,该应用程序会记录登录该应用程序的人通过互联网传输的所有数据。如果他们通过未加密的连接使用用户名和密码登录帐户,该应用程序将存储该数据并为黑客提供访问权限。为避免成为此次抢劫的受害者,请避免使用公共 Wi-Fi。如果您必须使用公共 Wi-Fi,请咨询机构所有者以确保您登录的是正确的互联网接入点。通过在 URL 中查找挂锁来检查您的连接是否已加密。你也可以使用 VPN 。

获得超级用户 权限

大多数至关重要的信息都受到保护,您需要一定程度的身份验证才能获得这些信息。要查看计算机上的所有文件,您需要超级用户权限——一个与 Linux 和 BSD 操作系统中的“root”用户具有相同权限的用户帐户。对于路由器,默认情况下这是“admin”帐户(除非已更改);对于 Windows,这是管理员帐户。您可以使用一些技巧来获得超级用户权限: 缓冲区溢出:如果你知道系统的内存布局,你可以输入缓冲区无法存储的内容。您可以用您的代码覆盖存储在内存中的代码并控制系统。 在类 Unix 系统中,如果有漏洞的软件将 setUID 位设置为存储文件权限,就会发生这种情况。该程序将作为不同的用户(例如超级用户)执行。

创建一个后门

一旦您获得了对机器的完全控制权,最好确保您可以再次回来。要创建后门,您需要在重要的系统服务(例如 SSH 服务器)上安装一段恶意软件。这将允许您绕过标准身份验证系统。但是,您的后门可能会在下一次系统升级期间被删除。 经验丰富的黑客会为编译器本身设置后门,因此每个编译后的软件都可能成为卷土重来的途径。

掩盖你的踪迹

不要让管理员知道系统受到威胁。不要对网站进行任何更改。不要创建超过您需要的文件。不要创建任何额外的用户。尽快行动。如果您修补了像 SSHD 这样的服务器,请确保它有您的密码硬编码。如果有人试图使用此密码登录,服务器应该允许他们登录,但不应包含任何重要信息。

黑客问答

需要学习多少种编程语言才能破解?

当然,你可以用 Ruby 编写恶意软件,用 Python 编写密码破解程序,用 C 编写缓冲区溢出代码,但你需要了解其背后的逻辑。逻辑是你的,这才是最重要的。因此,忘记学习编码,首先学习如何逻辑思考以利用差距、不安全感和懒惰错误。