Python3.7黑帽编程——黑软篇(基础篇)

引子

Hacker(黑客),往往被人们理解为只会用非法手段来破坏网络安全的计算机高手。但是,黑客其实不是这样的,真正的“网络破坏者”是和黑客名称和读音相似的骇客。
骇客,是用黑客手段进行非法操作并为己取得利益的人。黑客,是用黑客手段为国家或单位做事的人。
那么,既然黑客不是一个很坏的职业,我们就可以去试着学习。

黑客本身的初衷

——黑客其实一直是善良的。 骇客其实他的前身就是黑客。
骇客与黑客分家,有这么一个故事:
原本,只有黑客一族。而不久后,有些黑客想用黑客手段来获取利益,不断被其他的黑客反对。于是,那些黑客悄悄私下成立了一个新的族群——骇客族。
骇客族产生后,一直处于保密状态,所以,没有人知道这个族。
直到有一天——
骇客族出现了一次大骚动:
不断的进行网络欺骗、流量攻击,盗取了很多人的账号,还修改了一些大型的搜索网站。
于是,从这天开始,黑骇(黑客和骇客)分家了。
黑客的初衷本是一些测试程序漏洞的计算机高手,他们还帮国家和单位做事。但是,人心总是贪婪,造成了骇客的诞生。
从此以后,杀毒软件诞生了。

基础篇

安装编程环境:Python3.7 IDE

在编写程序进行黑客攻击和病毒编写之前,我们得先安装我们的编程环境:Python3.7 IDE
从网络上下载:Python3.7 IDE
下载Python3.7

接着,双击它,按照安装向导完成安装。

启动

在Windows搜索栏中搜索:Python
会显示出:

显示的图片
打开它!Python3.7的界面

打造攻击目标:VMware虚拟机

我们现在还没有一个攻击目标,因为我们现在不能攻击别人的电脑,否则,你就是骇客了。
那么,我们只有安装VMware虚拟机了。
安装VMware Workstation player
(注:此处不细说,因为版本不一,安装不一样)
打开!
VMware Workstation player运行界面
然后,请下载Windows 7 原生纯净镜像,可以百度“我告诉你”,点击第二个,下载Windows7。

新建虚拟机

点击“创建新虚拟机”
在浏览处选择Windows纯净镜像
点击“下一步”
输入安全密钥
这里需要输入Windows7的密钥,按图中输入。
下一步:
输入电脑名
下一步:
输入硬盘大小
完成
我们已经完成了VMware Workstation 虚拟机的配置,现在我们启动它:
启动

加载中
在这段时间内,计算机(虚拟机)会重启数次,最终完成安装。
安装成功后即可开始使用Windows 7 ,并且可以向它发起猛烈的攻击了。
正在启动
Windows7是微软(Microsoft)的杰出产品之一,但可惜的是它还是被更优秀的Windows10取代。在2015年,微软(Microsoft)正式宣布不再支持Windows7,也就意味着,不会再有新的更新给使用Windows7的用户了。
启动成功!
启动成功!我们可以在这台Windows上工作,并且也可以攻击它了!

编写经典程序——Hello,World!

打开Python,点击File,New。
在弹出的窗口中输入:

print('Hello, World!')

点击Run,最后一个选项,查看结果。
显示:

Hello, World!

这表示IDE程序可用,也表示,你已经成为一名程序员了!

扫描二维码关注公众号,回复: 8874262 查看本文章

测试网络的PING

PING程序是Microsoft(微软公司)为Windows用户准备的网络检测程序,使用他,可以帮你查看网络状态和网络是否可访问。
键击“windows键+R”,打开运行窗口,输入cmd,回车,即可打开终端窗口。在这里,你可以做很多一般人做不到的事情。

运行
cmd
在终端里输入ping/?,查看详细用法。
ping
常用指令:
PING -t ip
注:这样可以PING指定的IP到永远,除非你停止它。很多初级黑客喜欢用这个参数来进行网络堵塞的攻击。
PING -l 大小 ip
注:这样可以设置发送包大小
PING -n 次数 ip
注:这样可以设置次数。

试试对baidu.com进行PING指令

打开终端,输入PING -n 10 -l 10 baidu.com
ping
(此命令必须在Windows 8以上才可以运行,Windows 7部分版本不支持PING网页)
我们检测到我们可以连接到baidu.com,说明我们的网络是可用的。

TCP\IP协议

TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。
TCP/IP协议是Internet最基本的协议,其中应用层的主要协议有Telnet、FTP、SMTP等,是用来接收来自传输层的数据或者按不同应用要求与方式将数据传输至传输层;传输层的主要协议有UDP、TCP,是使用者使用平台和计算机信息网内部数据结合的通道,可以实现数据传输与数据共享;网络层的主要协议有ICMP、IP、IGMP,主要负责网络中数据包的传送等;而网络访问层,也叫网路接口层或数据链路层,主要协议有ARP、RARP,主要功能是提供链路管理错误检测、对不同通信媒介有关信息细节问题进行有效处理等。
TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:
(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。
(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
(4)高层协议标准化,可以提供多种多样可靠网络服务。

TCP/IP协议的层次

网络层

IP协议
网络层引入了IP协议,制定了一套新地址,使得我们能够区分两台主机是否同属一个网络,这套地址就是网络地址,也就是所谓的IP地址。IP协议将这个32位的地址分为两部分,前面部分代表网络地址,后面部分表示该主机在局域网中的地址。如果两个IP地址在同一个子网内,则网络地址一定相同。为了判断IP地址中的网络地址,IP协议还引入了子网掩码,IP地址和子网掩码通过按位与运算后就可以得到网络地址。
ARP协议
即地址解析协议,是根据IP地址获取MAC地址的一个网络层协议。其工作原理如下:ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
路由协议
首先通过IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。网关是互联网上子网与子网之间的桥梁,所以网关会进行多次转发,最终将该数据包转发到目标IP所在的子网中,然后再通过ARP获取目标机MAC,最终也是通过广播形式将数据包发送给接收方。而完成这个路由协议的物理设备就是路由器,路由器扮演着交通枢纽的角色,它会根据信道情况,选择并设定路由,以最佳路径来转发数据包。
所以,网络层的主要工作是定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。

传输层

链路层定义了主机的身份,即MAC地址,而网络层定义了IP地址,明确了主机所在的网段,有了这两个地址,数据包就从可以从一个主机发送到另一台主机。但实际上数据包是从一个主机的某个应用程序发出,然后由对方主机的应用程序接收。而每台电脑都有可能同时运行着很多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包。因此传输层引入了UDP协议来解决这个问题,为了给每个应用程序标识身份。
UDP协议
UDP协议定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并且规定网络中传输的数据包必须加上端口信息,当数据包到达主机以后,就可以根据端口号找到对应的应用程序了。UDP协议比较简单,实现容易,但它没有确认机制,数据包一旦发出,无法知道对方是否收到,因此可靠性较差,为了解决这个问题,提高网络可靠性,TCP协议就诞生了。
TCP协议
TCP即传输控制协议,是一种面向连接的、可靠的、基于字节流的通信协议。简单来说TCP就是有确认机制的UDP协议,每发出一个数据包都要求确认,如果有一个数据包丢失,就收不到确认,发送方就必须重发这个数据包。为了保证传输的可靠性,TCP协议在UDP基础之上建立了三次对话的确认机制,即在正式收发数据前,必须和对方建立可靠的连接。TCP数据包和UDP一样,都是由首部和数据两部分组成,唯一不同的是,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
传输层的主要工作是定义端口,标识应用程序身份,实现端口到端口的通信,TCP协议可以保证数据传输的可靠性。

应用层

理论上讲,有了以上三层协议的支持,数据已经可以从一个主机上的应用程序传输到另一台主机的应用程序了,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差,因此,应用层定义了各种各样的协议来规范数据格式,常见的有http,ftp,smtp等,在请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type,有了这个规范以后,当对方接收到请求以后就知道该用什么格式来解析,然后对请求进行处理,最后按照请求方要求的格式将数据返回,请求端接收到响应后,就按照规定的格式进行解读。
所以应用层的主要工作就是定义数据格式并按照对应的格式解读数据。

黑客入门的操作命令

1、“肉鸡”

“肉鸡”有点类似牵线木偶,是指可以被黑客神不知鬼不觉地远程控制的电脑或者大型服务器。不论什么系统都有可能沦为“肉鸡”。

2、“木马”

“木马”是一种在运行后可以得到系统的控制权的程序。拿网页木马举例,主要是利用浏览器的漏洞把网页木马搞到浏览器访问者本地上,然后自动执行的。

3、“后门”

黑客在通过某种手段成功控制目标主机之后,搞到系统的访问权限。访问系统后通过系统漏洞得到root权限,再安装rootkit,就可以较长时间地控制该目标主机。

4、“弱口令”

弱口令的安全强度不高,易于被猜到破解的密码,比如123456、654321。

5、“溢出”

“溢出”一般指的是缓冲区溢出。说白了,就是程序没有进行有效地监测,导致输入的数据没执行。这样的程序和没有执行的数据越来越多,最后程序会解体,也有可能错误地执行黑客的命令。

6、“花指令”

“花指令”是用汇编语言写成的,导致杀毒软件无法对病毒进行合理地判断。因为杀毒软件有顺序规则,就是从头到尾来查杀病毒。而一旦病毒的头尾顺序不对,杀毒软件就歇菜了。

7、“免杀”

“免杀”,顾名思义,就是免去杀毒软件的查杀。使用一些技术把程序进行修改,这些技术主要有加壳、加密、加花指令等。

8、“加壳”

“加壳”的目的主要有压缩文件、将程序编码加密、免杀等,主要通过一些不一般的算法改变可执行程序或者DLL动态链接库文件的编码。

9、“Shell”

“Shell”是一种程序或者命令的执行环境。比如,一般用远程溢出程序后,可以成功控制远程电脑,在该电脑执行系统命令的环境就是“Shell”。

完成黑客术语

看着上面那些熟练又富有含义的术语,也许你也想知道如何去实现它们。其实,实现它们并不难!因为我们现在有了黑客软件,加壳免杀花指令啥的,根本不在话下!
那我们就从最简单的开始吧!

“肉鸡”“后门”

我们想让别人的计算机成为我们的肉鸡,首先要先去控制他(装上后门)。最常用的就是控制木马了,可以直接去控制。
我们下载大白鲨远程控制软件,打开后,界面如下:

这里,我已经连上一台计算机了,我可以随意控制他,比如弹出窗口,不允许鼠标移动,隐藏任务栏等。那么,我就来教教大家如何实现这样。
首先,点击配置程序。
然后会弹出如下界面:

这就可以开始配置你的病毒了。通常,基本设置是不用更改的,直接点击高级设置:

输入配置的名称,接着,点击图标设置:

选择一个图片,点击“生成服务器端”。
好了,我们的木马已经做好了,接下来,就可以试试威力了。

效果

我通过远程控制效果如下:



“免杀”“加壳”“花指令”

那问题来了——只要把这个文件分享给别人,别人的杀毒软件就会删除这个文件。那怎么办呢??

别着急,我们可以加壳和免杀!也许,我们还可以利用花指令!

实现

打开黑防专版——自由小组免杀壳上壳V1.0

我们点击>>>>>后面的小框,选择一个exe文件,确认。
这样,免杀器就可以帮你免杀这个文件了。

利用啊D注入工具实现SQL注入

打开啊D注入工具:

输入指定网址,回车,即可进行SQL注入。
(最后跟着软件向导完成注入)

中级篇

在本篇里,你将有能力去实现网站入侵……

网站入侵

网站其实也是一台计算机,他只不过是整天开着,让我们连接它而已。那么,我们该如何入侵它呢?
其实不难,我们怎么入侵计算机,就怎么入侵网站。
那么,我们即将就要开始网站入侵的训练了,你们——
准备好了吗?

找到目标

这里,我选了一个非法的网站作为入侵对象。

第一步 PING

我们先PING一下对方,拿到对方IP:
202.60.245.174

第二步 漏洞扫描

接下来,我们就来扫描。
打开Fluxay Beta 5.0,开始扫描。
会发现,扫描出了一些漏洞(可能没有,那是因为网站的漏洞维护很严密),我们还通过漏洞拿到了对方的某些用户的密码。但是没有管理员的密码。
那我们只好绕道了。

第三步 用大白鲨生成server程序

生成server程序见前面的部分。

第四步 Telnet对方IP

telnet对方IP(请使用80端口),看看对方主机是否有密码。如果有,那么先终止此进程。如果没有,成功连接了,那么,你就可以进行以下步骤。

第四步第一部分

进入对方主机,现在我们的权限还很低。我们还无法操作文件,只可以进行简单的命令。
再次使用Fluxay流光进行扫描,如果有用户名和密码,那么,你就重新进行Telnet,输入用户名和密码,重新连接。
如果成功,那么你已经是Administrator管理员权限了,你可以删除文件了。

第四步第二部分

我们自己编写一个网页:

<html>
<head>
 <h1>404</h1>
 <h2>Not Found</h2>
</head>
<body>
 <p>This webpage cannot be found. It may be deleted or does not exist. Please contact the webpage developer for confirmation.</p>
</body>
</html>

保存为index.html,放入对方主机的网页文件夹下,删除原来的index.html,(可能是别的文件,你找到首页文件,删除首页文件,然后将自己写的文件命名为原来首页文件的名称)然后,保存更改(可能不需要)。

第四步第三部分

将server.exe(大白鲨木马的文件)放入对方C:\Programming\文件夹下,然后,start C:\Programming\server.exe,即可。
这下,终止Telnet进程,你试试访问那个网页,会显示:

说明,你成功的更改了对方的网站!你成功入侵了对方网站!

第五步(在第四步无法行动时) 扫描并重新Telnet

再次使用Fluxay流光进行扫描,如果有用户名和密码,那么,你就重新进行Telnet,输入用户名和密码,重新连接。
如果成功,那么你已经是Administrator管理员权限了,你可以删除文件了。

第六步 执行第四步后续计划

详见第四步

恭喜

你已经成功的入侵了对方的网站,你已经是一个高级的黑客了!
接下来,你可以在别人的网站里为所欲为,你可以将上面的图片换成自己的头像,或者,你可以粗暴点——直接删除他的所有文件!

成为顶级黑客

我们的技术和别的顶级黑客比还是差的很远,那么,我们可以去学习,学习别人的经验,让自己也变成顶级黑客!
如果你想成为黑客,其实只学Python是不行的,你还必须懂一些C++和C,毕竟系统也是C和C++写的。
如果你不想学C++和C,也可以,你也可以用Python成为黑客——谁说Python就无能呢?

高级篇

在这一篇,我们将学习很多道理。

黑客

在网上,关于黑客的介绍是:

黑客(hacker)泛指擅长IT技术的人群、计算机科学家,黑客们精通各种编程语言和各类操作系统,伴随着计算机和网络的发展而产生成长。
黑客一词,最初曾指热心于计算机技术、水平高超的电脑专家,尤其是程序设计人员,后逐渐区分为白帽、灰帽、黑帽等,其中黑帽即骇客(cracker)。在媒体报道中,黑客一词常指软件骇客(software cracker),而与黑客(黑帽子)相对的则是白帽子(维护计算机和互联网安全)。

但是,
错了!
其实,黑客、白客、骇客,他们都不是一家。
骇客,指用黑客技术去做坏事的人。
黑客,指的是用黑客技术去帮国家、帮单位做事的人,他们往往不会去无缘无故去破坏计算机。
白客,指用黑客攻击来嗅探系统漏洞,然后提交给漏洞所有者的人。
我们要成为的什么?
我们可以成为黑客,可以成为白客,但是,不可以成为骇客!

利用SAMInside进行Windows密码破解

SAMInside是一款基于Windows的密码恢复(破解)软件,利用它,你可以破解本计算机的用户和密码。
黑客们经常在入侵对方后,会进行挖掘数据。当然,少不了管理员的密码。因为只有拿到Administrator,才可以较长时间控制目标主机。
那么,该怎么办呢?Fluxay流光也破不出Administrator的密码,只可以破低级用户的密码(Administrator也可能,要看对方设置)。那么,这时,进入对方计算机的黑客就用这个软件在计算机后台破解对方的密码。
这次,咱们只来学如何破解本机的密码,不去学习入侵破解。

打开SAMInside

SAMInside的界面如下:

实现密码破解

在刚打开SAMInside时,是没有用户的。我们需要点击:

才可以看到用户。
现在,我们点击右边的小榔头,选择一个破解方式
接着:

即可破解密码。

恭喜

你已经是一位很厉害的黑客了!你可以去入侵网站,还可以去破解密码!
你可以选择继续阅读我后面的书籍,来继续走下去。
你也可以放弃,这得由你决定。
下次再见!

附录 A 黑客软件下载地址

我讲解的所有黑客软件都可以在网站下载到,推荐下载“小凤黑客工具包”,这里面的工具很多,我讲解的也大概都有。
大家在使用黑客软件时,要注意病毒,并且,也不要用黑客软件去做坏事。

附录 B 问答

问:为什么Fluxay流光扫描失败了,没有任何的密码出现?
因为密码破解的可能性不是百分百的,可能是对方计算机密码比较安全,Fluxay的数据库里没有。你可以尝试自己编写一个字典数据库来给Fluxay用,我上传了一个还不错,你可以去看看。
问:为什么我用Python无法执行你的代码?Python显示报错。
可能是因为版本问题,也可能是你没有安装指定库。你可以将错误复制,在CSDN论坛上问一问,说不定有好答案。
问:想成为一个著名黑客,是不是必须要学习C++?
不一定。任何一门编程语言都可以完成指定的操作。你不一定要学C++,但是,作为一门黑客,你至少得掌握两门语言。我会几个编程语言:Python、Java、JavaScript、Html、C++、VB……还有很多。这就是我能成功的原因。
问:成为一名著名黑客时间得很长吧?
不一定。在于你的兴趣,和你的导师。如果你的兴趣浓厚,那么,你很快就可以成为一名黑客。
问:您一直在说攻击,为什么不教教我们如何防御?
因为,最好的防御就是攻击。当你了解如何攻击时,你就会如何防御。你知道大白鲨木马是一种远程控制木马,你就会知道如何去防御——下载防病毒产品。你知道DDoS攻击的原理,就知道应该在遭受攻击时关闭网络服务。

发布了17 篇原创文章 · 获赞 229 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/tiantian520ttjs/article/details/103988639