本章所讲述的所有黑客技术,均不得用于非法目的。
如果你觉得文章含有侵权部分,可以联系CSDN私聊,我会适当修改。
未经允许,不得转载,如需转载,请CSDN私聊。
每当我们坐在电视机面前,看着电视中,黑客戴着黑色的帽子,手指在键盘上快速的敲击,电脑屏幕上快速的闪过英文字符,我们都会觉得——哇!这个人好厉害!我也好想成为这样子。
黑客通过一系列的手段,破解密码,篡改网页,攻击网络,盗取文件,这一系列操作却让人们望而却步。因为:
但是,这篇文章,却可以让你做到!
可能你会想:我现在连电脑都不会用,怎么可能成为黑客?
本文提供详细的说明,你只要照着做就可以了,同时借助下列工具:
OK,如果你准备好了,请你继续阅读之后的内容。
好的,现在我们开始学习成为白帽子黑客!
首先,你要有一些基础的编程能力。我们使用Python编程语言。
编程语言就像我们说的语言一样,有各式各样的语言,例如Java, C, C++等语言,我们现在学习的是简单但功能强大的语言:Python。
当然,作为黑客,我们至少要学习2门语言,这个之后再说。
和正常软件一样,我们需要下载和安装。
访问网址:https://www.python.org/
点击Download,下载最新版本:Python3.8.5.
下载到本地了之后,我们就可以安装了。和正常软件一样,根据想到安装,最后,你会在Windows10菜单中发现这个文件夹:
打开IDLE:
IDLE虽然并不是非常好看,但是其中拥有了编写Python代码的能力,现在,我们输入这个内容:
print("Hello World!")
看看发生了什么:
你让电脑输出了Hello World!
如果你可以成功输出,那么跳过这一小节。
如果你遇到了问题,别着急。实不相瞒,我当年为了写个Hello World,用了一个礼拜,百度都被我用的…………。
常见的问题是:你的符号有没有用英文符号?
记住,所有的内容都需要用英文符号!
刚刚我们在电脑上安装了Python环境,并且让他输出了我们想要让他输出的内容。现在,我们需要搭建一个攻击对象!
我们需要学习的是攻击个人电脑,网站。所以我们需要自己搭建攻击环境。
搭建个人电脑,我们用到虚拟机。
首先我们下载一个镜像文件,我们打开MSDN我告诉你
然后我们看到这里,有一个操作系统,点开,然后我们可以选择我们要搭建的虚拟机的机型,然后复制ed2k链接,通过迅雷下载:
然后我们通过虚拟机软件搭建,可以通过百度学习,最后我们需要创建完成的虚拟机如下:
现在,我已经建立好了一个虚拟机了。并且已经安装好了相应的程序。
当时我安装虚拟机也是花了不少力气,如果你们遇到了问题,可以自己百度一下。
详见之前的文章。
大家都知道,网站一般都要有密码,而且一些重要文件,甚至也会上一些密码,比如一些word,ppt的文案等。密码还用于我们的门锁,一些手机的锁屏等。密码可以保护着我们的隐私安全。
那么,既然密码这么重要,如果被黑客知道了,那么将给用户带来不可挽回的损失!
网站常见的密码保存机制,其实就是用户设置完密码之后,将密码写入数据库,然后保存。当用户输入密码之后,他会判断密码和数据库里面对应的密码是否一致,判断之后在进行相应操作。
当然,如果不用数据库的话,那么就是每个用户一个array(这种方法我以前用过)来存储。
我们刚刚了解了网站存储密码的机制,就是通过数据库来存储。那么黑客只要攻破了数据库,那么所有的用户名和密码黑客就都拿到了。但是数据库的安全不是绝对安全的,所以没人知道那一天数据库就被攻破了。这是,加密存储技术诞生了。
加密技术就是通过加密算法,将内容加密之后再存储,比较的时候在解密,或者将用户输入的内容加密来对比。这样黑客即使黑掉了网站的数据库,密码他也看不到。
base加密的种类很多很多,base64, base32等等等等。那么这种加密方式是比较常见的。
MD5加密是目前网站采用最多的加密算法。MD5加密算法目前可以通过工具来解密。
我们可以使用Python来对数据进行Base64进行加解密。
加密:
import base64# 导入需要的模块 txt = 'Hello World'# 要加密的内容,这里可以自己改 f = base64.b64encode(txt.encode('utf-8'))# 加密 print(str(f, 'utf-8'))# 输出
最后得到加密结果:
SGVsbG8gV29ybGQ=
解密:
import base64# 导入模块 txt = 'SGVsbG8gV29ybGQ=' # 要解密的内容 f = base64.b64encode(txt)# 解密 print(base64.b64decode(f))# 输出
大家可以看到,一些加密方式,可以通过工具来解密。那么怎么才能安全的加密呢?
在初级篇中,我们讲解了一些密码和编码的基础知识。
在中级篇,我们将学习暴力破解密码,防破解机制和手段等。
在HTML中,有一个标签<form>,这个标签是用于创建一个表单。例如这段代码,就可以实现一个登入界面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div{ border-radius: 5px; background-color:#AFEEEE; padding:20px; margin-top:100px; margin-bottom:200px; margin-left:50px; margin-right:50px; } input[type=text]{ width:100%; padding:12px 20px; margin:8px 0; display:inline-block; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; } input[type=password]{ width:100%; padding:12px 20px; margin:8px 0; display:inline-block; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; } input[type=submit] { width: 100%; background-color: #4CAF50; color: white; padding: 14px 20px; margin: 8px 0; border: none; border-radius: 4px; cursor: pointer; } input[type=submit]:hover { background-color: #45a049; } </style> <script language="JavaScript" type="text/javascript"> function test() { var usr = document.getElementById("username").value; var pwd = document.getElementById("password").value; if(usr == "" || pwd == ""){ window.alert("用户名或密码不能为空!") } else if(usr == "admin" && pwd == "firework"){ window.alert("登入成功!"); }else{ window.alert("登入失败!"); } } </script> </head> <body> <div> <h1>登入</h1> <form> <label>用户名:</label> <input id="username" type="text" placeholder="请输入用户名"> <br> <label>密码:</label> <input id="password" type="password" placeholder="请输入密码"> <br> <input id="login_submit" type="submit" value="登录" onclick="test()"><br> </form> </div> </body> </html>
效果图:
用这个表单,可以实现一个登入界面或者注册界面。
我们可以使用一些工具来破解,可以使用John或者Burpsuite等工具来实现。这里不多做介绍。
基于表单的暴力破解,可以通过Python暴力破解。这里写一下大概的思路。
模拟登入,我们需要的模块主要是request, re等一些模块
import request import re import tkinter.messagebox
用户名构造通常有电话号码,邮箱等类型,所以构造方法就比较简单了。
min = 10000000000 max = 99999999999 for i in range(max): print(min) min += 1
你会看到它大量的输出,最后把从min一直到max所有的数全部列了出来,其中就有所有的电话号码。
邮箱也是一个道理:
min = 1000000000 max = 9999999999 for i in range(max): m = str(min) mail = m + "@qq.com" print(mail) min += 1
这里以QQ邮箱为例子。然后我们就是通过request来实现模拟登入,如果显示200,则为成功,如果404则是失败。
关于防止暴力破解的办法有很多,下面来给大家一一介绍一下:
我们可以使用流光来破解一台Windows7的密码。
流光是小榕开发的产品,我们可以用它来破解Windows7的密码。
经过扫描之后,结果如下:
niu52 | 12321 |
我们拿到用户名和密码之后,就可以远程植入木马病毒。
我们可以采用telnet或者ftp的方式,但是必须保证目标靶机开放了相关协议或者端口。
然后,我们就可以植入病毒了。
import tkinter.messagebox import os tkinter.messagebox.showerror("Windows安全中心", "电脑遭受黑客控制,将在30秒后关机!") os.system("shutdown -t 30")
木马程序可以改的威力大一些。
我们,真的适合当黑客吗?
黑客总是神秘无踪,一台笔记本,一顶黑帽子,躲在这个世界的黑暗处,静静的看着世界的千变万化。
黑客成为了虚拟世界最强的王者。
当你读完让你成为白帽子黑客的两篇文章后,相信你对黑客已经有所了解了。那么,我们现在来了解一下反病毒软件。
反病毒软件就是基于黑客的思维,然后根据黑客攻击时候做出的行为,从而防止黑客入侵。
举个例子,黑客在将病毒注入电脑之后,首先就会将病毒写入注册表,对吧?然后还会写入系统服务,内存等,以保证病毒能够存活在用户电脑更久,也更安全。否则,只是一个脚本文件,很容易被发现。
随后,杀毒软件就或再系统服务,内存,注册表中查看一些未知的风险,例如不认识的引用程序。这些位置,被称为***系统关键位置***。
例如360杀毒:
这严格来说属于系统篇,所以在之后的博文中会详细介绍。
病毒查杀就是通过病毒库,然后对病毒进行扫描。这个不解释。
系统关键位置还包括:开机自启动项,内存,注册表,核心服务等。这些位置都是黑客和反病毒软件的博弈地点。
当然,还有端口。
常见的高风险端口有135,445,21等。这些端口都是比较危险的端口。
我们可以运行这个程序:
来打开注册表。
这是我的Windows10虚拟机的注册表,你可以进行查看,然后发现一些高风险的地方。
查看端口的方式就是运行CMD
命令:netstat -an:
查看开放端口
到这里,这篇博客就到这里了。
最后的一块属于系统部分,我们之后会详细讲解。
希望你能够在未来,成为一个真正的白帽子黑客!