黑客攻防从入门到精通(黑客与反黑工具篇·全新升级版)
上QQ阅读APP看书,第一时间看更新

1.4 常见的黑客术语与命令

1.4.1 常用的黑客术语

1.肉鸡

肉鸡比喻那些可以随意被黑客控制的计算机,黑客可以像操作自己的计算机那样来操作它们,而不被对方所发觉。

2.木马

木马是指表面上伪装成了正常的程序,但是当这些程序运行时,就会获取系统的整个控制权限。有很多黑客就是热衷于使用木马程序来控制别人的计算机,如灰鸽子、黑洞、PcShare等。

3.网页木马

网页木马是指表面上伪装成普通的网页文件或是将带有木马的代码直接插入到正常的网页文件中,当用户访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的计算机上来自动执行。

4.挂马

挂马是指在别人的网站文件里面放入网页木马或者将代码潜入到对方正常的网页文件里,以使用户中马。

5.后门

后门是一种形象的比喻,黑客在利用某些方法成功地控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是黑客却可以使用相应的程序或者方法来轻易地与这台计算机建立连接,重新控制这台计算机,就好像是黑客偷偷地配了一把主人房间的钥匙,可以随时进出而不被主人发现一样。通常大多数的木马程序都可以被入侵者用于制作后门。

6.IPC$

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

7.弱口令

弱口令是指那些强度不够,容易被猜解的,类似123、abc这样的口令(密码)。

8.Shell

Shell是指一种命令指行环境,如按下键盘上的“开始键+R”时出现“运行”对话框,在该对话框中输入“cmd”命令会出现一个用于执行命令的窗口,这个就是Windows的Shell执行环境。

9.WebShell

WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其视为一种网页后门。

10.溢出

确切地讲,应该是“缓冲区溢出”。简单地解释就是程序对接收的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或者执行攻击者的命令。大致可以分为两类:堆溢出和栈溢出。

11.注入

由于程序员的水平参差不齐,相当大一部分应用程序存在安全隐患,用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知道的数据,这个就是SQL注入。

12.注入点

注入点是可以实行注入的地方,通常是一个访问数据库的链接。根据注入点数据库的运行账号的权限不同,用户所得到的权限也不同。

13.内网

通俗地讲就是局域网,如网吧、校园网、公司内部网等。查看IP地址如果是在以下3个范围之内,就说明使用的网络处于内网中:10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255。

14.外网

直接接入互联网,可以与互联网上的任意一台计算机互相访问。

15.免杀

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

16.加壳

利用特殊的算法,将exe可执行程序或者dll动态链接库文件的编码进行改变(如实现压缩、加密),以达到缩小文件体积或者加密程序编码,甚至是躲过杀毒软件查杀的目的。目前较常用的壳有UPX、ASPack、PePack、PECompact、UPack等。

17.花指令

几条汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常地判断病毒文件的构造。通俗地说,杀毒软件就是从头到脚按顺序来查找病毒,如果把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了。

1.4.2 Ping命令的使用

Ping命令是测试网络连接、信息发送和接收状况的实用型工具,是一个系统内置的探测工具。对于一个生活在网络上的管理员或黑客,Ping命令是第一个必须掌握的DOS命令,它所利用的原理是:网络上的机器都有唯一确定的IP地址,用户给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包用户可以确定目标主机的存在,初步判断目标主机的操作系统等。通过在命令提示符下输入“ping /?”命令,即可查看Ping命令的详细说明,如下图所示。

常用的参数有-t、-a、-n count、-l size,它们的含义如下。

-t:不断使用Ping命令发送回响请求信息到目的地。要中断并退出Ping,只需要按下【Ctrl+C】组合键。初级黑客常常喜欢使用这个参数对目标计算机进行攻击。

-a:指定对目的地IP地址进行反向名称解析。如解析成功,Ping将显示相应的主机名。

-n count:指定发送回响请求消息的次数,默认值为4。

-l size:指定发送的回响请求消息中“数据”字段的长度(以字节表示)。默认值为32,如下图所示。size的最大值是65527。

典型示例

(1)检测本机网卡驱动程序及TCP/IP协议是否正常。

若想检测本机的网卡驱动程序及TCP/IP协议是否正常,以IP地址为10.13.66.138为例,只需要在命令提示符窗口中输入“ping 10.13.66.138”命令即可,如下图所示。

(2)多参数合用检测。若要在命令提示符窗口中输入“ping-a-t 10.13.66.138”命令,即可对10.13.66.138这台计算机进行探测。通过反馈信息可得知上述命令中的参数“-a”检测出了该机的NetBios名为dns.sq.js.cn;参数“-t”在不断向该机发送数据包,如下图所示。

通常,Ping命令会反馈如下两种结果。

① 请求超时。表示没有收到网络设备返回的响应数据包,也就是说网络不通。出现这个结果原因很复杂,通常有对方装有防火墙并禁止ICMP回显、对方已经关机、本机的IP设置不正确或网关设置错误、网线不通等几种可能。

② 来自10.13.66.138的回复:字节=32时间<1ms TTL=64。表示网络畅通,探测使用的数据包大小为32B,响应时间小于1ms。TTL(Time To Live,存活时间)是指一个数据包在网络中的生存期,网管可通过它了解网络环境,辅助维护工作,通过TTL值可以粗略判断出对方计算机使用的操作系统类型,以及本机到达目标主机所经过的路由数。

当检查本机的网络连通情况时,通常会使用Ping命令给某个目标主机(如本机)发送ICMP数据包。在本机中生成ICMP数据包时,系统就会给这个ICMP数据包初始化一个TTL值,如Windows 7就会生成“64”,将这个ICMP数据包发送出去,遇到网络路由设备转发时,TTL值就会被减去“1”,最后到达目标主机,如果在转发过程上TTL值变成“0”,路由设备就会丢弃这个ICMP数据包。

TTL值在网络应用中很有用处,可以根据返回信息中的TTL值来推断发送的数据包到达目标主机所经过的路由数。路由发生在OSI网络参考模型中的第三层,即网络层。

提示

不同的操作系统,它的TTL值也是不相同的。默认情况下,Linux系统的TTL值是64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的值为32, Windows 7系统的TTL值是64,UNIX主机的TTL值为255。

1.4.3 Netstat命令的使用

Netstat是一个监控TCP/IP网络的非常有用的工具,可以显示路由表、实际的网络连接,以及每一个网络接口设备的状态信息,可以让用户得知目前都有哪些网络连接正在运作。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

如果计算机接收到的数据报导致出错或故障,不必感到奇怪,TCP/IP可以容许这些类型的错误并自动重发数据报。但如果累计出错情况数目占到所接收IP数据报相当大的百分比,或者它的数目正迅速增加,就应该使用Netstat查一查为什么会出现这些情况了。

一般用“netstat-na”命令来显示所有连接的端口并用数字表示。

1.语法

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]

2.参数说明

-a:显示所有活动的TCP连接及计算机监听的TCP和UDP端口。

-e:显示以太网统计信息,如发送和接收的字节数、数据包数。

-n:显示活动的TCP连接,但只以数字形式表现地址和端口号,却不尝试确定名称。

-o:显示活动的TCP连接并包括每个连接的进程ID(PID)。可在Windows任务管理器“进程”选项卡上找到基于PID的应用程序。该参数可以与-a、-n和-p结合使用。

-p Protocol:显示Protocol所指定的协议的连接。在这种情况下,Protocol可以是TCP、UDP、TCPV6或UDPV6。

-s:按协议显示统计信息。默认情况下,显示TCP、UDP、ICMP和IP协议的统计信息。

-r:显示IP路由表的内容。该参数与route print命令等价。

Interval:每隔Interval秒重新显示一次选定的信息。按【Ctrl+C】组合键停止重新显示统计信息。如果省略该参数,netstat将只打印一次选定的信息。

3.典型示例

Netstat命令可显示活动的TCP连接、计算机监听的端口、以太网统计信息、IP路由表、IPv4统计信息(对于IP、ICMP、TCP和UDP协议)以及IPv6统计信息(对于IPv6、ICMPv6、通过IPv6的TCP及通过IPv6的UDP协议)。使用时如果不带参数,Netstat将显示活动的TCP连接。

下面介绍几个Netstat命令的应用实例。

(1)若想要显示本机所有活动的TCP连接,以及计算机监听的TCP和UDP端口,则应输入“netstat -a”命令,如左下图所示。

(2)显示服务器活动的TCP/IP连接,则应输入“netstat -n”命令或“netstat(不带任何参数)”命令,如右下图所示。

(3)显示以太网统计信息和所有协议的统计信息,则应输入“netstat -s -e”命令,如左下图所示。

(4)检查路由表确定路由配置情况,则应输入“Netstat -rn”命令,如右下图所示。

1.4.4 Net命令的使用

Net命令是一种基于网络的命令,该命令包含了管理网络环境、服务、用户、登录等大部分重要的管理功能。常见的Net命令有net view、net user、net use、net start、net stop、net share等。

下面来介绍这些常用的Net子命令。

1.net view

作用:显示域列表,计算机列表或指定计算机的共享资源列表,如下图所示。

命令格式:net view [\\computername|/domain[omainname]]

输入不带参数的net view:显示当前域的计算机列表。

\\computername:指定要查看其共享资源的计算机名称。

/domain[omainname]:指定要查看其可用计算机的域。

2.net user

作用:添加或更改用户账号或显示用户账号信息。该命令也可以写为net users。

命令格式:net user[username[password | *[/add][delete]][options]][/domain][/active:{no/yes}]

输入不带参数的net user:查看计算机上的用户账号列表,如左下图所示。

username:添加、删除、更改或查看用户账号名。

password:为用户账号分配或更改密码。密码必须满足net accounts命令的/minpwlen选项的密码最小长度,最多可以有127个字符。

*/add和/delete:是添加和删除用户账户,如右下图所示。

/domain:在计算机主域的主域控制器中执行操作。

/active:{no/yes}:禁用或启用用户账号。

3.net use

作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息,如下图所示。

命令格式:net use [devicename | *][\\computername\sharename[\volume]][password | *] [/user:[domainame\]username][/delete]|[/persistent:{yes | no}]]

参数介绍:输入不带参数的net use列出网络连接。

4.net start

命令格式:net start server

作用:启动服务或显示已启动服务的列表。

不带参数net start则显示已启动的服务,如左下图所示。

在需要启动一个服务时,只需在后边加上服务名称就可以了,如右下图所示。

5.net stop

作用:停止Windows网络服务,如下图所示。

命令格式:net stop server

与net start命令相反,net stop命令用于停止Windows网络服务。

6.net share

作用:创建、删除或显示共享资源。

命令格式:net share sharename=drive:path[/users:number | /unlimited][/remark:"text"]

不带任何参数的net share命令:显示本地计算机上所有共享资源的信息,如下图所示。

sharename:共享资源的网络名称。

drive:path:指定共享目录的绝对路径。

/user:number:设置可以同时访问共享资源的最大用户数。

/unlimited:不限制同时访问共享资源的用户数。

/remark:"text":添加关于资源的注释,注释文字用引号引住。

1.4.5 Telnet命令

Telnet是传输控制协议/互联网协议(TCP/IP)网络(如Internet)的登录和仿真程序,主要用于Internet会话。基本功能是允许用户登录进入远程主机系统。

Telnet命令的格式为:Telnet+空格+IP地址/主机名称

例如,“Telnet 119.75.218.77 80”命令,如果执行成功,则将从IP地址为192.168.0.9的远程计算机上得到“Login:”提示符。

当Telnet成功连接到远程系统上时,将显示登录信息并提示用户输入用户名和口令。如果用户名和口令输入正确,则成功登录并在远程系统上工作。在Telnet提示符后可输入很多命令用来控制Telnet会话过程。在Telnet提示下输入“?”,屏幕显示Telnet命令的帮助信息。

1.4.6 传输协议FTP命令

FTP命令是Internet用户使用最频繁的命令之一,通过FTP命令可将文件传送到正在运行FTP服务的远程计算机上,或从正在运行FTP服务的远程计算机上下载文件。在“命令提示符”窗口中运行“ftp”命令,即可进入FTP子环境窗口,如下图所示。或在“运行”对话框中运行“ftp”命令,也可进入FTP子环境窗口。

FTP的命令行格式为:ftp-v-n-d-g [主机名]

-v:显示远程服务器的所有响应信息。

-n:限制FTP的自动登录,即不使用。

-d:使用调试方式。

-g:取消全局文件名。

1.4.7 查看网络配置的Ipconfi g命令

Ipconfig是调试计算机网络的常用命令,通常大家使用它显示计算机中网络适配器的IP地址、子网掩码及默认网关,这是Ipconfig的不带参数用法,如左下图所示。常见的用法还有Ipconfig/all,如右下图所示。

在“命令提示符”窗口中运行Ipconfig命令,查看当前计算机的IPv4、IPv6地址、子网掩码及默认网关等信息。

在“命令提示符”窗口中运行Ipconfig/all命令,查看当前计算机的IP地址、子网掩码、DNS后缀和DHCP等信息。

1.4.8 CD命令的使用

cmd命令的作用

在cmd中输入“cd/”则得到其对应的帮助文件。其主要功能是显示当前目录的名称,或更改当前的目录。

使用cd命令的步骤如下。

步骤1 使用【Windows+R】组合键,打开“运行”对话框。

步骤2 在“运行”对话框中输入“cmd”命令。

步骤3 如输入“cd/”时,可以直接更改当前目录为C盘。