渗透测试实践指南必知必会的工具与方法(第三章、扫描)
时间:2016-08-03 14:49:20
小编:动力软件园
阅读:
(建立IP地址与开放端口和服务的映射关系)
1.扫描过程的通常步骤
①用Ping数据包验证系统是否正在运行
判断目标系统是否已经开启以及是否可以与我们的计算机进行通信(这一步是最不可靠的,无论这一步产生什么样的结果。我们都应该继续下一步)
②用Nmap扫描系统的端口
识别在特定主机上开启了哪些端口以及运行了哪些服务,每一个开放的端口都是进入目标系统的潜在通道
(服务是指在计算机上执行的特定工作或任务)
③用Nmap脚本引擎(NSE)进一步查询目标
进一步查询,验证早期的发现
④用Nessus扫描系统漏洞
定位和识别运行在目标计算机上的服务和软件有哪些已知的漏洞
通用端口号以及对应的服务
端口号 服务 端口号 服务
20 FTP数据传输 443 HTTPS(HTTP+SSL)
21 FTP控制 445 SMB(通信协议)
22 SSH 1433 MSSQL(SQL Server数据库服务器)
23 Telnet(远程终端协议) 3306 MySQL
25 SMTP 3389 RDP(远程桌面协议)
53 DNS 5800 VNCover HTTP
80 HTTP 5900 VNC(虚拟网络计算机,远程控制工具)
137-139 NetBIOS (用于小型局域网 Network Basic Input/Output System)
2.Ping(一种特定类型的网络数据包,称为ICMP数据包)
①命令格式:ping target_ip
或 ping target_hostname
例如:ping google.com
(在Linux系统中,通过 “Ctrl + C”强制ping停止发送数据包)
②回复:
“64 bytes from ord08s05-f6.1e100.net(74.125.225.6): icmp_sep=1 ttl=128 time=29.2ms”
“64 bytes”:标明响应数据包的大小
“from ord08s05 -f6.1e100.net(74.125.225.6):”指定了相应我们的google.com的 主机名(以及IP地址)
“icmp_seq=”:指定数据包顺序(依次会显示1,2,3,……)
“ttl=”:生存时间值,确定数据包自动终止前可以经历的最跳数。
“time=”:数据包到目标往返依次花费的时间
注:当100% packet loss 或者 Destination HostUnreachable 时,可以是目标主机宕机(离线)或者拦截ICMP数据包
③FPing
命令实例:fping -a -g 172.16.45.1 172.16.45.254>hosts.txt
< -a >:指定输出中只显示活动主机
< -g >: 指定扫描的IP地址范围
“ >hosts.txt ”:表示将输出重定向到文件 hosts.txt 中
再次提醒:不是每一个主机都会响应ping请求,有些主机上的防火墙或其他设施会阻止ping包。
4.端口扫描
①每台计算机上共有65,536(0-65,535)个端口,端口是基于TCP协议或UDP协议的。
②使用工具的命令行版本,
A)能进行更灵活地设置,更细致地控制,并且更好地理解工具
B)可以将命令行写入脚本中,脚本化和自动化是重中之重
③使用TCP通信时需要完成三次握手
A SYN→ B
A ← SYN/ACK B
A ACK→ B
5.使用Nmap进行扫描
< -p- > 指定扫描所有端口(Nmap默认扫描1000个最常用端口,)
< -Pn > 禁用Nmap主机发现功能并假定每一个系统都是活动的,强行对其进行扫描
①TCP扫描(最基础,最稳定)
命令实例:nmap -sT -p- -Pn 192.168.18.138
< -s >:告诉Nmap我们要运行哪种类型的扫描
< -T >: 指定执行一个TCP连接扫描
注:a)对整个子网或某一IP地址段进行扫描时,例如
nmap -sT -p- -Pn 192.168.18.1-254
(扫描192.168.18.1 - 192.168.18.254范围内的所有主机)
b)扫描一组IP地址不连续的主机,创建一个文本文件并将每个IP地址逐行填入文件,然后使用 < -iLpath_of_textfile > 参数
例如:nmap -sT -p- -Pn -iL /tmp/target_ip.txt
②SYN扫描(最常用)
A)Nmap默认扫描方式,只使用< -s >参数时,使用SYN扫描
B)SYN扫描比TCP扫描快,原因是只完成了三次握手的前两步
C)SYN扫描一定程度上隐藏了自己,因此SYN扫描通常被称为“隐形扫描”
命令实例:nmap -sS -p- -Pn 192.168.13.1
③UDP扫描
A)千万别忽视UDP端口扫描!
B)基于UDP协议的服务:DHCP,DNS,SNMP,TFTP(TrivialFTP)(简单FTP)
命令实例:nmap -sU 192.168.16.1
(注:之所以不使用 < -p- > 和 < -Pn > 参数是因为UDP扫描非常慢)
C)Nmap很难区分UDP端口是开启的还是扫描数据包被过滤了,所以当执行一个UDP扫描却没有收到任何响应信息时,Nmap反馈信息是“Open|Filtered(启用或过滤)”,解决方案是使用 < -sV > 参数进行版本扫描。
例如:nmap -sUV 172.168.13.2
④RFC(Request For Comments)征求修正意见书
是指一个文档,要么是注释文档,要么是关于现有某项技术或标准的技术规格,它提供了大量的特定系统内部运作的细节
A)Xmas Tree扫描和 NULL 扫描针对的是运行Unix和Linux操作系统的计算机,而不是针对运行Windows系统的计算机
B)运行Xmas Tree扫描和 NULL 扫描的一个主要好处是,某些情况下它们可以绕过简单地数据包过滤和ACLs(访问控制列表)
C)Xmas Tree扫描和 NULL 扫描不会建立任何类型的通信通道,扫描的目标就是判断目标计算机端口是开放的还是关闭的
D)Xmas Tree扫描
(之所以叫Xmas Tree扫描,其原因是数据包的FIN,PSH和URG标记置为“on”)
原理:假如我们所扫描的系统遵循TCP RFC文档的建议,通过发送非常规的数据包就能判断目标系统中端口的当前状态
使用实例:nmap -sX -p- -Pn 192.168.18.132
E)Null扫描
(与XmasTree扫描正好相反,使用没有任何标记(全空)的数据包)
使用实例:nmap -sN -p- -Pn 192.168.18.132
6.NSE(NMAP脚本引擎)
①NSE的调用,使用< --script > 参数
命令格式:nmap --script <参数>/<脚本名> target_ip
使用实例:nmap --script banner 192.168.18.132
(banner 脚本是Nmap的一个扩展,创建到TCP端口的一个连接,并将目标系统发送的任何输出打印到本地终端,在识别隐藏端口上未识别服务时及其有用
nmap --script vuln 192.168.13.122
(“vuln”类别将运行一系列在目标系统上搜索已知问题的脚本,在发现漏洞时提供输出,特别注意CVE(Common Vulnerabilities and Exposures)通用漏洞披露,OSVDB(Open Source Vulnerability Database)开源漏洞数据库,以及各类链接。
②NSE将脚本分为多个类别,包括
授权(Auth)、广播(broadcast)、暴力法(Brute)、默认(Default)
发现(Discovery)、Dos(拒绝服务攻击denial-of-service attack)
漏洞利用(Exploit)、外部(External)、漏洞检查工具(Fuzzer)、漏洞(Vuln)
入侵(Intrusive)、恶意软件(Malware)、安全(Safe)、版本(Version)
7.端口扫描总结
①尽可能使用 < -sV > 参数
②< -T >:改变端口扫描的速度,可选值为0到5,0是最慢,5是最快(扫描速度越快可能造成精确度和隐匿性越低
③< -O >:识别操作系统
④Telent和SSH(最常用,最重要的远程连接服务)
运行命令: telent target_ip
Sshroot@target_ip
8.Nessus(漏洞扫描工具)
① “.deb”文件的安装:“dpkg -i example.deb”
②在Kali Linux上安装Nessus过程
A)apt-get install nessus
B)/opt/nessus/sbin/nessus-adduser(建立一个Nessus用户)
C)/opt/nessus/bin/nessus-fetch --registeryour_reg_key
(输入key,从官网注册获得)
③Nessus的使用
A)/etc/init.d/nessusd start(启动Nessus服务器,每次开机需要手动开启!)
B)通过 https://127.0.0.1:8834 来访问 Nessus的服务器端
C)确保选中“Safe Checks(安全检查)”,避免意外的网络中断
9.如何实践
选择一个子网并在该子网中隐藏一个IP地址,然后想办法找到目标计算机,之后进行全面的端口扫描。
A)使用如下脚本(注意修改IP地址前三个字段以适应自己的网络):
IP_Gen.sh
-------------------------分割线--------------------
#!/bin/bash
echo “Setting up the victim machine, this will take just amoment...”
ifconfig eth0down
ifconfig eth0192.168.18.$((($RANDOM %254) + 1)) up
# uncommentthe following lines by removing the #. To start up services on your victim
# placenote.you may need to change the location/path depending on your distro
#/etc/init.d/sshstart
# note. youmay have to generate your SSH key using sshd-generate
#/etc/init.d/apache2start
#/ect/init.d/atftpdstart echo “This victim machine is now setup.”
echo “The IP address is somewhere in the 192.168.18.0/24network.”
echo “You may now close this window and begin yourattach...Good luck!”
---------------------分割线------------------------
B)修改该文件的属性 “chmod755 IP_Gen.sh”
r=4 w=2 x=1,
755 即 rwx(Owner)-rx(With the Group ofusers)-rx(Public users)
C)运行该脚本 “./IP_Gen.sh”
10.接下来该做什么
①“insecure.org”网站上提供了关于深入学习Nmap的大量资料
②深入研究NSE,最终目标是编写自己的NSE脚本,进一步扩展该框架
③OpenVAS
④NeXpose、Metasploit Pro、 Core Impact、 Canvas
-
渗透测试实践指南必知必会的工具与方法(第八章、渗透测试总结)1.编写渗透测试报告 ①综合报告 ②对渗透测试执行情况的概述(帮助客户理解控制或者入侵系统的成功程度) ③详细报告 ④原始输出(假如需要的话)时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第七章、第七章、维持访问)1.使用Back door(后门)及Rootkit维持访问①Back door:运行在目标计算机上的隐藏进程,使得攻击者随时返回(或连接)到目标计算机上②Rootkit:一类特殊的软件,深嵌在操作系时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第六章、基于Web的漏洞利用)1.常见Web应用入侵框架: ①w3af(Web应用程序审计和攻击框架); ②Burp Suite; ③ZAP(OWASP的Zed攻击代理); ④Websecurify; ⑤Paros时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第五章、社会工程)1.社会工程工具包(Social-Engineer Toolkit)(SET)2.在Kali的文件夹结构中,/usr/bin/<工具名>中放置了二进制文件,真正的应用程序文件在/usr/share/<工具名>中3.SET安装在时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第四章、漏洞利用)1.在线密码破解器(指与SSH或者Telnet 等“活跃服务”交互的一种攻击技术) ①Medusa 命令格式: medusa -h target_ip -u username -Ppassword_dictiona时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第一章、什么是渗透测试)1.白盒渗透测试:不尝试隐身攻击,考虑全面性。2.黑盒渗透测试:模拟攻击者进行攻击。3.APT(AdvancedPackage Tool, 高级打包工具)① apt-get install② apt-update③ apt-c时间:2016-08-03
-
渗透测试实践指南必知必会的工具与方法(第二章、侦查)(建立搜集到的信息与受攻击者IP地址之间的关系)1.在收集目标相关信息上所花的时间越多,后续阶段工作的成功率就越高。2.以彻底地搜索目标的公共信息作为开始(OSNT,开源时间:2016-08-03
-
Jsky网站漏洞扫描工具使用教程(图文)工具描述 Jsky是一款国内知名的网站漏洞扫描工具,不仅能够深入的发现Web应用中存在的安全弱点,同时支持渗透测试功能,即能模拟黑客攻击来评估网站的安全。Jsky基于XML框时间:2014-05-08
-
主机系统类扫描工具功能对比分析Nmap:大多使用命令行模式进行扫描,在功能丰富强大的同时,也需要使用者掌握很多参数的用法,推荐指数为4星。 Nessus:图形化的全英文操作界面,虽然扫描功能强大,但结时间:2014-05-07
-
X-scan教程 图形界面和命令行方式教程(图文)X-scan用法:图形界面和命令行方式。使用GUI方式进行扫描时,勾选下列选项/参数即可。 X-scan说明: /dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGES时间:2014-05-07
-
Nessus工具使用技巧及图解教程(图文)一、使用方法用法:主界面上面有4个按钮,分别是:Reports(报表)、Scans(扫描)、Policies(策略)、User(用户).1. 设置用户:在Add User功能菜单我们能进行用户的管理时间:2014-05-07
-
Rootkit检测类工具功能对比分析Rootkit Unhooker:一款windows系统rootkit检测工具,图形化界面操作,推荐指数为4星; Rootkit Detector:一款windows系统rootkit检测工具,图形化一键检测,使用方便,时间:2014-05-06
-
梧桐雨工具箱使用场景和功能介绍在使用Chrome的基础上,能进行一些渗透测试,以及跨站测试,虽然工具网上都有,但是每次用到的时候都需要访问特定的url,或者打开某个软件,让我觉得步骤颇多。因此,我就开时间:2014-04-12
热门阅读
-
Nessus工具使用技巧及图解教程(图文)
阅读:4410
-
WebScarab使用教程(图文)
阅读:2204
-
工行个人网上银行无法显示此页解决办法(一招搞定)
阅读:835
-
Httprint工具使用方法 自动化的http指纹分析工具
阅读:1974
-
DirBuster使用教程帮助 DirBuster图形界面的操作
阅读:1598