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


    一.原理与实践说明

    1.实践内容

    本实践的目标是掌握信息搜集的最基础技能。具体有:
    1、各种搜索技巧的应用
    2、DNS IP注册信息的查询
    3、基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
    4、漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞

    2.基础问题

    • 问:哪些组织负责DNS,IP的管理?
      *全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
      • 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
      • 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
    • 问:什么是3R信息?
      • 注册人-注册商-官方注册局
      • 注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)

    二.实践过程记录

    1.信息收集

    1.1通过DNS和IP挖掘目标网站的信息

    『whois查询』

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

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

    『nslookup,dig域名查询』

    nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果。

    除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
    * [no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
    * [no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
    * [no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
    * [no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
    * ......

    『IP2Location 地理位置查询』
    www.maxmind.com该网址可以根据IP查询地理位置:

    emm查询要钱的,算了算了

    IP-ADDRESS这个网站上,可以查询到更详细的关于某共有IP的信息,如:

    除此之外,还可以在国内的站长工具进行相关查询。

    1.2通过搜索引擎进行信息搜集

    『Google Hacking』

    Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串。其中包含了很多常用的模块,还有我们之前使用过的各个平台下的shellcode,也可以从这里获取。

    『搜索网址目录结构』

    自动化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要是暴力猜解。以dir_scanner为例,依次输入以下命令:

    msf > use auxiliary/scanner/http/dir_scanner
    msf auxiliary(scanner/http/dir_scanner) > set THREADS 50
    msf auxiliary(scanner/http/dir_scanner) > set RHOSTS www.phpluntan.com
    msf auxiliary(scanner/http/dir_scanner) > exploit
    

    可以查询到网站的目录结构:

    其中,如果服务器返回403,表明没有开放浏览权限。

    『检测特定类型的文件』

    有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找,比如百度site:edu.cn filetype:xls 直博:

    打开下载的文档,显示信息如下:

    手工打码✔

    『使用traceroute命令进行路由侦查』

    在Linux下使用traceroute www.baidu.com对经过的路由进行探测:

    由于虚拟机使用的是nat连接,traceroute返回的TTL exceeded消息无法映射到源IP地址、源端口、目的IP地址、目的端口和协议,因此无法反向NAT将消息路由传递回来。

    改在Windows下使用tracert www.baidu.com重新检测:

    从左到右的5条信息分别代表了“生存时间”(每途经一个路由器结点自增1)、“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)和“途经路由器的IP地址”(如果有主机名,还会包含主机名)。其中带有星号(*)的信息表示该次ICMP包返回时间超时。

    1.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_sweep使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器 udp_sweep 使用UDP数据包探测。

    打开msfconsole,依次输入:

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

    扫描结果如下图所示:

    1.4nmap的使用

    1.探索活跃的主机

    在Linux下使用nmap -sn 192.168.1.0寻找该网段下的活跃主机:

    2.使用-O选项让Nmap对目标的操作系统进行识别

    在Linux下使用nmap -O 192.168.1.107获取目标机的操作系统等信息:

    3.使用-sS选项进行TCP SYN扫描

    在Linux下使用nmap -sS -Pn 192.168.1.107命令,其中-sS是TCP SYN扫描,-Pn是在扫描之前,不发送ICMP echo请求测试目标:

    1.5网络服务扫描

    1.Telnet服务扫描

    msf > use auxiliary/scanner/telnet/telnet_version //进入telnet模块
    msf auxiliary(telnet_version) > set RHOSTS 192.168.1.0/24 //扫描192.168.1.0网段
    msf auxiliary(telnet_version) > set THREADS 100 //提高查询速度
    msf auxiliary(telnet_version) > run
    

    2.SSH服务扫描

    msf > use auxiliary/scanner/ssh/ssh_version
    msf auxiliary(ssh_version) > show options
    msf auxiliary(ssh_version) > set RHOSTS 192.168.1.0/24
    msf auxiliary(ssh_version) > set THREADS 200
    msf auxiliary(ssh_version) > run
    

    3.Oracle数据库服务查点

    msf > use auxiliary/scanner/oracle/tnslsnr_version
    msf auxiliary(scanner/oracle/tnslsnr_version) > show options
    msf auxiliary(scanner/oracle/tnslsnr_version) > set RHOSTS 192.168.130.0/24
    msf auxiliary(scanner/oracle/tnslsnr_version) > set THREADS 200
    msf auxiliary(scanner/oracle/tnslsnr_version) > run
    

    4.口令猜测与嗅探

    msf > use auxiliary/scanner/ssh/ssh_login //进入ssh_login模块
    msf auxiliary(scanner/ssh/ssh_login) > set RHOSTS 192.168.1.1.107 //设置目标IP或IP段
    msf auxiliary(scanner/ssh/ssh_login) > set USERNAME root //设置目标系统的管理员账号
    msf auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /root/password.txt //设置破解的字典
    msf auxiliary(scanner/ssh/ssh_login) > set THREADS 200 //提高查询速度
    msf auxiliary(scanner/ssh/ssh_login) > run
    

    其中,破解的字典可以去网上社工库下载。

    2.漏洞扫描

    1.安装

    apt-get update
    apt-get dist-upgrade
    apt-get install openvas
    openvas-setup
    

    安装完成后会自动生成管理员账号和密码
    可以使用openvas-check-setup

    2.登录
    输入生成的账户、密码

    3.新建Target,开始扫描
    在菜单栏选择"Scans"->"Tasks"
    进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"172.20.10.2",并单击"Start Scans"确认,开始扫描

    1. 查看并分析扫描结果
      打开该扫描结果的详细信息,并点击其中的“Full and fast”:

    点击进入Buffer overflow查看详细结果,其中标注了漏洞的危险等级:

    点开一个危险等级较高的漏洞:

    详细描述如下:

    • 该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞。

    • 关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换另一个产品。

    实验感想与心得

    这个实验太无聊了就不写了吧

  • 相关阅读:
    python内置模块collections介绍
    Python的set集合详解
    不同 Python 数据类型的搜寻
    Python 分支、循环、条件与枚举
    ssrf爆破mysql
    php反序列化
    thinkphp历史漏洞
    Thinkphp 缓存RCE
    绕WAF文章收集
    mssql手工盲注
  • 原文地址:https://www.cnblogs.com/zhangshuai9345/p/10787639.html
Copyright © 2020-2023  润新知