2018-2019-2 网络对抗技术 20165304 Exp6 信息搜集与漏洞扫描

原理与实践说明

1.实践原理
信息搜集:渗透测试中首先要做的重要事项之一,搜集关于目标机器的一切信息

间接收集
DNS记录扫描和枚举
CorpWatch:auxiliary/gather/corpwatch_lookup_name
搜索引擎子域名搜集器:auxiliary/gather/searchengine_subdomains_collector
在线搜索工具
GHDB
设备搜索:shodan,censys,zoomeye
viewdns
直接收集
主机扫描:发现网络上的活动主机,modules/auxiliary/scanner/discovery
端口扫描:发现主机上的开放端口,通过search portscan 命令查看MSF中的端口扫描模块
版本探测:探测端口上的运行服务
SMB(auxiliary/scanner/smb/smb_)一种在 Microsoft Windows系统中使用网络文件共享的协议,已被证明是最容易被攻击的协议之一,它允许攻击者枚举目标文件和用户,甚至远程代码执行。
SSH(auxiliary/scanner/ssh)一个广泛使用的远程登录程序。
FTP(auxiliary/scanner/ftp)
SMTP(auxiliary/scanner/smtp/smtp_)
SNMP(auxiliary/scanner/snmp/snmp_enum)用于管理网络设备的协议,比如监控设备的状态信息,接口信息,网络接口的数据吞吐量等,通过SNMP扫描器可以找到特定系统的大量信息。如果目标系统为Windows且配置了SNMP(通常是RO/RW团体字符串),我们可以提取系统重启时间,系统上的用户名,系统网络信息,运行的服务等各种有价值的信息。
HTTP(auxiliary/scanner/http/)
漏洞探测:探测服务是否有相应漏洞
NMAP:也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。
社会工程学
漏洞扫描与Openvas

2.实践内容概述
各种搜索技巧的应用

DNS IP注册信息的查询

基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点

漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞

3.基础问题回答
哪些组织负责DNS,IP的管理。
全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
地址支持组织(ASO)负责IP地址系统的管理
域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
全球一共有5个地区性注册机构:
ARIN主要负责北美地区业务
RIPE主要负责欧洲地区业务
APNIC主要负责亚太地区业务
LACNIC主要负责拉丁美洲美洲业务
AfriNIC负责非洲地区业务
什么是3R信息。
注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)
评价下扫描结果的准确性。
在实验过程中有详细记录。

实践过程记录

各种搜索技巧的应用
1.搜索网址目录结构
原理:暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。因为理论上来说,只要字典足够庞大,枚举总是能够成功的!(本实验以dir_scanner模块为例,获取网站目录结构)

方法:
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 20
set RHOSTS www.baidu.com
exploit
可以找到以下这些目录

2.检测特定类型的文件
原理:
filetype能对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”
-能在检索结果中获取检索词的补集,格式为“检索词 -词语”
site能限制检索结果的来源,格式为“检索词 site:限制域名”(不要在“:”后的域名中输入“http:”和“www.”)
inurl能在网址中进行搜索,格式为“检索词inurl:检索词”
|表示布尔逻辑中的或者(or)关系,使用格式为“关键词1 | 关键词2”
` `空格表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
高级搜索界面,高级搜索界面的入口在搜索引擎首页右上角“设置”->“高级搜索”。

方法:
使用site:edu.cn filetype:xls 身份证号

3.使用traceroute命令进行路由侦查
原理:traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。本实验以侦查百度为例。

方法:输入命令tracert www.baidu.com

DNS IP注册信息的查询
1.whois查询
原理:whois用来进行域名注册信息查询。

方法:在终端输入whois gitee.com可查询到3R注册信息,包括注册人的姓名、组织和城市等信息。

注:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。

2.nslookup,dig域名查询
nslookup
原理:nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。

方法:在终端输入nslookup gitee.com

dig
原理:dig可以从官方DNS服务器上查询精确的结果。

方法:在终端输入dig gitee.com

3.IP2Location 地理位置查询
www.maxmind.com
原理:www.maxmind.com网站可以根据IP查询地理位置。

方法:利用ping www.baidu.com的查看网站的IP地址 -> 打开网站网页www.maxmind.com->在网站下方输入IP->点击前往查看结果

www.ip-adress.com
原理:IP-ADDRESS这个网站可以查询到更详细的关于IP的信息

方法:网页初始界面会显示自己本机的IP地址,在左上角的框框里可以输入想要查询的IP,如61.135.169.125或61.135.169.121为百度的IP

4.IP2反域名查询
原理:shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型.

方法:打开网站,输入IP地址,可以看到地理位置,端口号和提供的服务具体信息

基本的扫描技术

一、主机发现
1.PING
原理:ping命令用发送ICMP报文的方法检测活跃主机

方法:输入命令ping www.baidu.com

2.metasploit中的arp_sweep模块和 udp_sweep 模块
原理arp_sweep和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块。arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

arp_sweep
msfconsole
use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
show options //查询模块参数
set RHOSTS 10.1.1.0/24 //用set进行hosts主机段设置
set THREADS 50 //加快扫描速度
run //执行run进行扫描

udp_sweep
msfconsole
use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
show options //查询模块参数
set RHOSTS 10.1.1.0/24 //用set进行hosts主机段设置
set THREADS 50 //加快扫描速度
run //执行run进行扫描

3.nmap -sn
nmap相关参数如下:

-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;
原理:nmap -sn参数可以用来探测某网段的活跃主机

方法:输入命令nmap -sn 10.1.1.0/24

二、端口扫描

nmap -PU
原理:nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。

方法:输入命令nmap -PU 10.1.1.0/24

三、版本探测

1.nmap -O
原理:nmap -O选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息

方法:输入命令nmap -O 10.1.1.149

2.nmap -sV
原理:nmap -sV查看目标主机的详细服务信息

方法:输入命令nmap -sV -Pn 10.1.1.149,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标

四、具体服务的查点

metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。

1.Telnet服务扫描
原理:telnet命令用于登录远程主机,对远程主机进行管理。

方法:
msfconsole
use auxiliary/scanner/telnet/telnet_version //进入telnet模块
set RHOSTS 10.1.1.0/24 //扫描10.1.1.0网段
set THREADS 50 //提高查询速度
run

2.SSH服务
原理:SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。

方法:
msfconsole
use auxiliary/scanner/ssh/ssh_version //进入ssh模块
set RHOSTS 10.1.1.0/24 //扫描网段
set THREADS 50 //提高查询速度
run

3.Oracle数据库服务查点
方法:
msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
show options
set RHOSTS 10.1.1.0/24
set THREADS 200
run

漏洞扫描————安装OpenVAS

1.安装
apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup
安装完成后会自动生成管理员账号和密码
2.登录
输入生成的账户、密码
3.新建Target,开始扫描
在菜单栏选择"Scans"->"Tasks"
进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"172.20.10.2",并单击"Start Scans"确认,开始扫描

  1. 查看并分析扫描结果

实验总结与体会

本次实验从一个攻击者的角度审视了自己主机的漏洞,同时也让我体验到了校园网的安全策略的强大。

其实让我印象最深刻的还是最简单的信息收集,只要知道方式,一个略懂电脑的人就可以从网上收集到如此之多的信息,其中有必须公开的,有个人隐私的,但大部分是受害者都无法预料到的,灰色地带的信息,攻击者通过这些信息加以有效的分析,可以很简单的进行社工攻击,个人信息保护迫在眉睫。

2018-2019-2 网络对抗技术 20165304 Exp6 信息搜集与漏洞扫描的更多相关文章

  1. 2018-2019-2 20165232 《网络对抗技术》 Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165232 <网络对抗技术> Exp6 信息搜集与漏洞扫描 一.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实践内容. 各种搜索技巧的应 D ...

  2. 2018-2019-2 网络对抗技术 20165237 Exp6 信息搜集与漏洞扫描

    2018-2019-2 网络对抗技术 20165237 Exp6 信息搜集与漏洞扫描 实验目标 1 各种搜索技巧的应用: 2 DNS IP注册信息的查询: 3 基本的扫描技术: 主机发现.端口扫描.O ...

  3. 2018-2019-2 20165221 【网络对抗技术】-- Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165221 [网络对抗技术]-- Exp6 信息搜集与漏洞扫描 目录 1. 实践目标 2. 实践内容 3. 各种搜索技巧的应用 a. 搜索网址的目录结构 b.使用IP路由 ...

  4. 2018-2019-2 20165325 《网络对抗技术》 Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165325 <网络对抗技术> Exp6 信息搜集与漏洞扫描 实验内容(概要) 1 各种搜索技巧的应用: 2 DNS IP注册信息的查询: 3 基本的扫描技术 ...

  5. 2018-2019-2 网络对抗技术 20165206 Exp6 信息搜集与漏洞扫描

    - 2018-2019-2 网络对抗技术 20165206 Exp6 信息搜集与漏洞扫描 - 实验任务 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口 ...

  6. 2018-2019-2 20165235 《网络对抗技术》 Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165235 <网络对抗技术> Exp6 信息搜集与漏洞扫描 1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应 ...

  7. 网络对抗技术 20165220 Exp6 信息搜集与漏洞扫描

    网络对抗技术 20165220 Exp6 信息搜集与漏洞扫描 实验任务 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服 ...

  8. 2018-2019-2 网络对抗技术 20165225 Exp6 信息搜集与漏洞扫描

    2018-2019-2 网络对抗技术 20165225 Exp6 信息搜集与漏洞扫描 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.O ...

  9. 2018-2019-2 20165336 《网络对抗技术》 Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165336 <网络对抗技术> Exp6 信息搜集与漏洞扫描 一.原理与实践说明 1.实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 各种搜索技巧的 ...

随机推荐

  1. P2930 [USACO09HOL]假期绘画Holiday Painting

    线段树水题,考虑到只有15列,所以我们对于每一列,我们都去维护一个线段树. 现在来考虑一下修改操作,因为每次修改的时候,我们都是将黑的改成白的,白的改成黑的,所以我们对线段树的每个节点维护当前这段区间 ...

  2. ECharts 从后台动态获取数据 (asp.net)

    (一) 使用工具 visual studio 2017:Web开发:asp.net (代码中的js引用路径以及ajax方法调用的url,记得修改哦) (二) 准备工作(此处写给和我一样小白) 1.动态 ...

  3. 货币转换 I

    描述 人民币和美元是世界上通用的两种货币之一,写一个程序进行货币间币值转换,其中: 人民币和美元间汇率固定为:1美元 = 6.78人民币. 程序可以接受人民币或美元输入,转换为美元或人民币输出.人民币 ...

  4. sql注入-推断是否存在SQL注入-单引号

    来自:https://www.cnblogs.com/ichunqiu/p/5749347.html 首先我们需要了解数据是通过什么方式进行输入,这里我总结了三个: GET请求:该请求在URL中发送参 ...

  5. TensorFlow机器学习实战指南之第二章

    一.计算图中的操作 在这个例子中,我们将结合前面所学的知识,传入一个列表到计算图中的操作,并打印返回值: 声明张量和占位符.这里,创建一个numpy数组,传入计算图操作: import tensorf ...

  6. 游戏编程模式 Game Programming Patterns (Robert Nystrom 著)

    第1篇 概述 第1章 架构,性能和游戏 (已看) 第2篇 再探设计模式 第2章 命令模式 (已看) 第3章 享元模式 (已看) 第4章 观察者模式 (已看) 第5章 原型模式 (已看) 第6章 单例模 ...

  7. 解决解决httpd: Could not reliably determine the server's fully qualified domain name

    vi /etc/httpd/conf/httpd.conf   加入一句  ServerName  localhost:80 参考:https://www.cnblogs.com/52linux/ar ...

  8. Spring众多jar包的特点,及Spring jar包官网下载方法

    下面给大家说说spring众多jar包的特点吧,无论对于初学spring的新手,还是spring高手,这篇文章都会给大家带来知识上的收获,如果你已经十分熟悉本文内容就当做一次温故知新吧.spring. ...

  9. Getting Started with XlsxWriter

    下面是一些关于使用XlsxWriter模块的简单介绍. 安装XlsxWriter 下面的是几个安装XlsxWriter模块的方法: 1.使用Pip 使用pip 方式是最推荐的从PyPi安装Python ...

  10. JavaBean找到项目下的文件这里是\WEB-INF\classes\下面的属性文件

    String baseinfo="/com/Bean/DBhelp.properties"; filename=getClass().getClassLoader().getRes ...