首先来理解一下几个概念。



    



白帽子: 有能力破坏电脑安全但不具恶意目的的黑客。白帽子一般有清楚的定义、道德规范并常常试图同企业合作去改善发现的安全弱点。



         正义技术员。



灰帽子: 对于伦理和法律态度不明确的黑客。



         自由技术员。



黑帽子:     用来区别于一般(正面的)理性的黑客。这个词自1983年开始流行,大概是由于采用了音译,结合safe cracker的含义,化为一个犯罪和黑客的合成词。



         邪恶技术员。



黑客: 最早源自英文hacker,他们都是水平高超的电脑专家,尤其是程序设计人员,是一个统称。



         技术专家



红客: 维护国家利益,代表中国人民意志,他们热爱自己的祖国、热爱民族、热爱和平,极力维护国家安全与尊严。



         代表人民意志



蓝客: 信仰自由,提倡爱国主义,用自己的力量来维护网络的和平。



         自由主义者,用自己的力量维护和平



骇客: 是cracker的音译,就是“破解者”的意思,从事恶意破解商业软件、恶意入侵他人的网站等事务。



         软件破坏者、漏洞入侵者



 



IP地址:


    


python灰帽子电子书下载 pg_shell


 


    32位二进制组成,通常为了方便记忆写成十进制格式,表现为xxx:xxx:xxx:xxx,其中每个XXX都代表<=255的十进制数字。称为“点分十进制表示法”.


    IP地址由4段组成,每段占8位,段与段直接用点分隔。


 


    IP地址由两部分组成,网络号(Network ID)和主机号(Host ID)。


         网络号:标识属于Internet网络中的一个子网。


         主机号:标识属于子网中的某一台主机。


    这样做的优势比较明显,因为路由表中只存储了网络信息而不是主机信息,这样可以大大简化路由表。


    IP地址根据网络号和主机号的数量大体可以分为5大类,分别是A、B、C、D、E,其中ABC是常规网络,DE不经常使用:


 


A类IP: 第一段是网络号,后三段是主机号。网络号占8位, 首位 是0。 主机号占21位。故A类IP第一段有2的7次方(128)个,网段取值范围是1~126。


1.0.0.1~126.255.255.254。  包含网络类型数量2的7次方-2(126)个,包含主机数量2的24次方-2(1677214) 个。


B类IP:前两段是网络号,后两段是主机号。网络号占14位, 前两位是10。 主机号占16位。故B类IP第一段有2的6次方(64)个,127网段保留不可用,所以网段从128开始,网段取值范围是128~191。128.0.0.1~191.255.255.254。  包含网络类型数量2的14次方-2(16382)个,包含主机数量2的16次方-2(65534)个。


C类IP: 前三段是网络号,后一段是主机号。 网络号占21位, 前三位是110。 主机号占8位。故C类IP第一段有2的5次方(32)个,网段取值范围是192~223。192.0.0.1~223.255.255.254。 包含网络类型数量2的21次方-2(2079150)个,包含主机数量2的8次方-2(254)个。


 


D类IP:不区分网络地址和主机地址。 该类型的IP用于多点广播,以“1110”开头,是一个专门保留的地址,并不指向特定的网络。多点广播用来一次寻址一组计算机,它标识共享同一协议的一组计算机。地址范围为224.0.0.1~239.255.255.254


    E类IP:不区分网络地址和主机地址。该类型的IP以“11110”开头,为将来的使用保留。全0地址“0.0.0.0”对应当前主机,全“1”IP地址“255.255.255.255”是当前子网的广播地址,地址范围240.0.0.1~255.255.255.254。


 


    私有IP:


    A类:10.0.0.0~10.255.255.255


    B类:172.16.0.0~172.31.255.255


    C类:192.168.0.0~192.168.255.255


 


    网络数和主机数为何要-2?


    主机数-2:去除全0和全1的网段。

     全“0”代表这个网络段本身,称之为网络号;

     全“1”作为广播号,代表这个网络段的所有主机。给广播号地址发送数据包,这个网络的所有主机都能收到。

    所以要扣除这两个。全0和全1的地址禁止使用,但在CISCO中可以使用全0的地址。    


端口:


    


    端口指计算机与外界通信交流的出口。其中硬件的端口又可以称之为接口,如USB接口、串行接口等。软件的接口一般指的是面向连接服务和无连接的服务通信协议端口,是一种抽象的软件结构,包括一些数据的I/O(基本输入输出)的缓冲区。


 


    按照逻辑上端口号进行划分:


         按照端口号的分布划分,大体可以分为三种:


              公认端口:0~1023,自身已经绑定某些服务,一般不会手动修改。


              注册端口:1024~49151,松散绑定服务,可以手动指定,较为常用。


              动态/私有端口:49152~65535,服务一般不会分布到这些端口上,隐蔽性较高,教容易隐藏木马等。

        

                 

python灰帽子电子书下载 pg_python灰帽子电子书下载 pg_02

    

 


    按照协议类型划分:          


    端口是传输层的内容,是面向连接的。他们对应着网络上的一些服务。这些常见的服务可以划分为TCP端口(面向连接,如打电话)和UDP端口(无连接,如发短信)两种。


其中TCP被认为是相对安全的,而UDP则不是特别安全。TCP的连接中有一个三次握手的概念,是始终保持连接通信的。UDP则是类似于发短信的状态,是一种无连接的方式。这两种方式有不同的引用场景,TCP相对较为麻烦一些,但安全性较高,而UDP则相对更为迅速一些,所以TCP做安全操作,而UDP做一些对速度要求较高的操作,对丢包的情况要求不是 特别严谨的情况,比如QQ、视频等。


    TCP的三次握手有一个经典的典故,就是“两军问题”,可以结合典故回忆一下。


    常见的TCP端口:


         telnet:远程登录端口


         SMTP:邮件发送


         pop3:邮件接收


    常见UDP端口:


         http:www服务、web服务等就是用这个端口


         DNS协议端口:用于域名解析服务


         SNMP:简单网络管理协议,用来管理网络设备,161端口


         QQ协议端口:服务器用8000监听消息,客户端用4000发送消息。


 


     查看端口:cmd下netstat -a -n 查看所有TCP和UDP端口的号和状态。


    关闭端口:从服务那里关就行,禁用服务。


    




常用术语:


 


    肉鸡:随意被黑客控制的电脑,黑客像操作自己电脑一样操作他们,而不被察觉。


    木马:伪装正常程序,在程序运行时获取系统的控制权限,如灰鸽子、熊猫烧香等。


    网页木马:指伪装成正常文件将恶意代码插入到网页程序中,当有人访问时,就利用对方系统或浏览器漏洞自动将配置好木马的服务端下载到访问者的电脑并执行。


    挂马:在别人的网页文件中放入正常的网页文件中,使浏览者中木马。


    后门:黑客成功控制电脑,并植入程序或修改设置,使其很容易与这台电脑建立连接,重新控制这台电脑,如同配置了一把主人房间的钥匙,可以随意进出而不被察觉。通常特洛伊都用于制作后门。


    IPC$:是共享“命名管道”资源,让进程进行通信的命名管道。可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。


    弱口令:密码强度不够,比较容易猜测的密码,如123、abc这种。


    shell:比如windows的cmd就是windows的shell环境。(windows叫控制台,mac叫终端)


    webshell:asp、php、jsp或者cgi等网页形式存在的一种命令执行环境,也可以理解成一种网页后门。


    溢出:“缓存区溢出”,包含堆溢出和栈溢出。程序接收数据没有进行校验,导致程序执行错误。导致系统出错、崩溃等。


    注入:  利用数据库查询语句非法查询数据库。


    注入点:可以执行注入的地方。


    内网:局域网,比如校园、网吧、公司等。IP的范围在A、B、C类IP的私有IP内。


    外网:直接连入互联网,与互联网上任意一台电脑互相访问。


    免杀:通过加壳、加密、修改特征码、加花指令等技术修改程序,逃过杀毒软件的查杀。


    加壳:用特殊算法改变exe或者dll(压缩、加密等),以达到缩小文件体积或者加密程序编码,甚至躲过杀毒软件查杀的目的,常用方式:UPX、ASPack、PePack、PECompact、UPack等。


    花指令:汇编指令,将汇编语句进行一些跳转,使得杀毒软件不能正常地判断病毒文件的构造。通俗点说,就是杀毒软件是从头到尾来查找病毒的,如果将头尾颠倒位置,就可以躲过查杀。


    


    


常用的windows命令:


ping命令:系统内置的测试网络连接、信息发送和接收的实用工具。


    原理:网络上每个机器都有唯一的IP地址,用户给目标IP发送一个数据包,目标机器会返回一个同样大小的数据包,根据返回的数据包,确定目标主机是否存在,可以初步判断目标主机的操作系统。


    常用参数:


         -t     不中断一直发送数据包,停止用Ctrl+c,常用作攻击。


         -a     ping通了返回目标主机名


         -n     发送回显的请求数。


         -l      每次发送数据包大小,最大值65527,测试系统返回不能超过65500     


    


    返回结果:


         1.请求超时,原因复杂。网络不同,对方有防火墙并禁止ICMP回显,对方已关机、本机IP设置错误、网线不同等都有可能。


         2.返回“来自192.168.1.125的回复:字节=32时间<1ms TTL=64”


             返回的数据包32B,响应时间小于1毫秒,TTL可以看出存活时间,粗略看出对方操作系统类型(不同系统返回TTL值不同),以及本机到达目标主机所经过的路由数。


             当检测本机网络连通情况,通常用ping发送ICMP数据包,在本机生成ICMP数据包时,会给TTL一个初始值,如win7是64,将这个ICMP包发送出去,遇到网络设备转发,TTL值就会-1,最后到达目标主机,如果在此过程中TTL的值变成0,路由设备就会丢弃这个数据包。


         TTL非常有用,可以判断出到达目标主机所经过的路由数,路由发生在参考模型的第三层,即网络层。


         TTL值:


              linux:64或255,windows NT/2000/XP 128 ,win98 32,win7 64,UNIX 255,注意有特殊情况。


         


netstat命令:用来查看网络连接,监控TCP/IP网络连接,显示路由表和网络连接,以及每一个网络接口设备的状态信息,让用户知道有哪些网络设备在运作。用于显示TCP、IP、UDP、ICMP相关的统计数据,一般用于校验各个端口的网络连接情况。


    常用:netstat -na 显示所有连接端口并用数字表示。