2019-2020-2 20175319江野《网络对抗技术》Exp5 信息搜集与漏洞扫描

1 实践目标

掌握信息搜集的最基础技能与常用工具的使用方法。

2 实践内容

  • (1)各种搜索技巧的应用
  • (2)DNS IP注册信息的查询
  • (3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
  • (4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

2.1 各种搜索技巧的应用——通过搜索引擎进行信息搜集

Google Hacking

  • Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串。点击查看GHDB的内容
  • intitle:"webcam 7" inurl:'/gallery.html'
    intitle:从网页标题中搜索指定的关键字.inurl:从url中搜索指定的关键字

搜索网址目录结构

自动化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块
以dir_scanner为例:

use auxiliary/scanner/http/dir_scanner
set THREADS 50
set RHOSTS www.baidu.com
exploit

搜索特定类型的文件

有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找, 如秘迹
搜索site:edu.cn filetype:xls 排名
site:在某个指定的网站内搜索指定的内容.filetype:搜索指定的文件后缀

点击任意一个链接下载后打开

搜索E-Mali

metasploit中有search_email_collector,进行针对性的搜集。

use auxiliary/gather/search_email_collector
set DOMAIN www.baidu.com
set SEARCH_GOOGLE false
set SEARCH_yahoo false
run

IP路由侦查

工具:traceroute
traceroute www.baidu.com

生存时间、三次发送的ICMP包返回时间、途经路由器的IP地址,*表示该次ICMP包返回时间超时。

2.2 DNS IP注册信息的查询

whois域名注册信息查询

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

nslookup,dig域名查询

  • nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。
nslookup
set type=A
baidu.com

  • dig可以从官方DNS服务器上查询精确的结果
    dig @dns.baidu.com baidu.com,dns.baidu.com为DNS服务器

IP2Location地理位置查询

www.maxmind.com
可以根据IP查询地理位置,使用自己的IP地址进行查询

netcraft提供的信息查询服务

http://www.netcraft.com/
搜索www.baidu.com可查询到域名下的子站点域名,还有地理位置、域名服务器地址、服务器操作系统、服务器运行状况等详细信息。

IP2反域名查询

通过IP反查到域名,即旁注的第一步。
http://www.ip-adress.com/reverse_ip/
输入百度的IP地址

2.3 基本的扫描技术

主机扫描

ICMP Ping命令

检查目标主机是否活跃
ping www.baidu.com

metasploit中的模块

位于modules/auxiliary/scanner/discovery 主要有 arp_sweep, ipv6_multicast_ping, ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe,udp_sweep.
arp_sweep使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器。

use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.1.103/24
set THREADS 50
run

Nmap探测

nmap -sP 192.168.1.0/24通过arp包判断局域网内的主机状态

端口扫描与服务探测

metasploit的端口扫描模块

search portscan找到相关模块

  • 使用auxiliary/scanner/portscan/tcp模块,进行TCP端口扫描
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.1.101
set THREADS 50
run

  • 使用auxiliary/scanner/portscan/syn模块,进行TCP SYN扫描
use auxiliary/scanner/portscan/syn
set RHOSTS 192.168.1.101
set THREADS 50
run

Nmap端口扫描

一般用到的参数如下:
-sS/sT/sA/sW/sM:使用SYN、TCP三次握手全连接、ACK、Window、Maimon来进行扫描
-sN/sF/sX:使用TCP Null(无flag)、FIN、Xmas(FIN+Push+Urgent)扫描
-sU:指定使用UDP扫描方式确定目标主机的UDP端口状况
-p:扫描指定的端口
-F:Fast mode快速模式,仅扫描TOP 100的端口
-Pn:跳过主机发现,将所有指定的主机视作开启的

  • TCP端口扫描nmap -sT 192.168.1.101
  • TCP端口半开扫描nmap -sS 192.168.1.101

OS及服务版本探测

操作系统侦测

Nmap -O 192.168.1.1/24-O: 指定Nmap进行OS侦测。

想通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项, –osscan-guess猜测认为最接近目标的匹配操作系统类型
nmap -O –osscan-guess 192.168.1.101

版本侦测

用于确定目标主机开放端口上运行的具体的应用程序及版本信息
nmap –sV 192.168.1.103,-sV: 指定让Nmap进行版本侦测

具体服务的查点

telent服务扫描

use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.1.0/24
set THREADS 100
run

SSH服务扫描

use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.101/24
set THREADS 50
run

Oracle数据库服务查点

use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 192.168.1.101/24
set THREADS 100
run

开放代理探测

use auxiliary/scanner/http/open_proxy
set RHOSTS 192.168.1.101/24
set THREADS 100
run

2.4 漏洞扫描

  • 安装OpenVAS
    • 更新软件包列表。
      apt-get update
    • 获取到最新的软件包。
      apt-get dist-upgrade
    • 重新安装OpenVAS工具。
      apt-get install openvas
  • 配置OpenVAS服务
    重复运行openvas-check-setup,根据FIX提示进行修改
    具体过程见实验中遇到的问题部分
    配置成功后:
  • 查看各服务使用的端口netstat -aptn

    gsad使用的端口是9392,因此登陆界面为https://127.0.0.1:9392
  • 在浏览器输入https://127.0.0.1:9392进入登录界面;或者在终端输入openvas-start等待登录界面自动弹出
  • 使用配置过程中创建的用户进行登录
  • 点击scans>task
  • 点击task wizard
  • 输入主机IP,点击start scan
  • 查看扫描结果



3 实验中遇到的问题

配置OpenVAS服务时遇到如下问题

  • 1
ERROR:The NVT collection is very small.
FIX:RUN A synchronization script like green-nvt-sync.

解决方案:更新nvtsudo greenbone-nvt-sync

  • 2
ERROR:redis-server isnot running ornot listening on socket:/tmp/redis.sock
FIX:You should start the redis-server or configure it to listen onsocket:/tmp/redis.sock

解决方案:进入redis安装目录,编辑redis配置文件vim redis.conf,取消下面两个参数的注释

unixsocket /usr/redis/redis.sock #将路径改为这个路径 /usr/redis/redis.sock
unixsocketperm 700

然后在终端输入vi /etc/openvas/openvassd.conf,最后面添加一行
kb_location =/usr/redis/redis.sock #地址跟unixsocket的一样
改完后重启一下redis命令:
redis-cli shutdown停止redis服务
redis-server /usr/redis/redis.conf &加&表示在后台运行

  • 3
It is recommended to have at least one user with role Admin.
FIX:create a user by running 'openvasmd --create-user=<name> --role=Admin && openvasmd --user=<name> --new-password=<password>'

解决方案:
创建用户,类型为管理员openvasmd --create-user=admin --role=Admin
设置用户密码openvasmd --user=admin --new-password=0000

  • 4
ERROR:No OpenVAS SCAP database found. (Tried: /var/lib/openvas/scap-data/scap.db)
FIX:Run a SCAP synchronization script like greenbone-scapdata-sync.

解决方案:建立本地scapdata数据库greenbone-scapdata-sync

  • 5
ERROR:No OpenVAS CERT database found. (Tried: /var/lib/openvas/cert-data/cert.db)
FIX:Run a CERT synchronization script like greenbone-certdata-sync.

解决方案:获取证书文件greenbone-certdata-sync

4 实验后回答问题

  • (1)哪些组织负责DNS,IP的管理。
    根服务器主要用来管理互联网的主目录,全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、DNS和IP地址等的管理。
  • (2)什么是3R信息。
    注册人Registrant,注册商Registrar,官方注册局Registry
  • (3)评价下扫描结果的准确性。
    总体而言,没有太大的误差,我觉得还是比较准确的。

5 实验收获与感想

本次实验整体来说并不是非常困难,只有在安装配置OpenVAS的时候遇到了不小的难题,这也锻炼了我的动手能力和探索能力。这次实验也加深了我对信息收集和漏洞扫描的认识。

posted @ 2020-04-24 20:27  20175319江野  阅读(303)  评论(0编辑  收藏  举报