zoukankan      html  css  js  c++  java
  • 20181224蒋嘉豪-exp5

    网络对抗技术Exp5 信息搜集与漏洞扫描20181224jjh


    信息搜集技术与隐私保护——知识点总结

    间接收集

    • 无物理连接,不访问目标,使用第三方信息源
    • 使用whois/DNS获取ip
    • 使用msf中的辅助模块进行信息收集,具体指令可以在auxiliary/gather中进行查询
    • 可以利用搜索引擎进行在线查询

    直接收集

    • msf
    • nmap
      • nmap可以实现网络扫描、主机检测、漏洞探测、安全扫描
      • 常用参数集合
        • -vv 设置对结果详细输出
        • -p 设置扫描的端口号/端口范围
        • sP 设置扫描方式为ping扫描
        • -sU 设置扫描方式为udp扫描
        • --traceroute 设置路由追踪
        • -sP <network address > </CIDR > 扫描一个网段下的ip
        • -O 探测主机所运行的操作系统类型
        • --exclude ip扫描时排除某个ip地址
        • -n不进行DNS解析
        • -R总是进行DNS解析

    社会工程学

    • 主要是针对人为错误,信息以打印输出、电话交谈、电子邮件等形式泄露,通过公开信息寻找蛛丝马迹

    漏洞扫描OpenVas

    • 开放式漏洞评估系统,其核心部分是一个服务器。该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。

    原理与实践说明

    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)
    • 评价下扫描结果的准确性。
      • 在实验过程中有详细记录。

    实践过程记录

    各种搜索技巧的应用

    Google Hacking

    • 进入页面,即可查看到谷歌黑客数据库

      • 温馨提示:如果觉得一直查英语有些麻烦,就使用Google浏览器打开网页之后,进行中英文转换
    • 也可以使用过滤器,进行快速查询

    • 查看shellcode

    • 查看安全文件

    搜索网址目录结构

    • auxiliary/scanner/http/模块下存在暴力猜解的辅助模块,比如dir_scanner dir_listing brute_dirs
    • 进入auxiliary/scanner/http/dir_scanner后输入info查看Description意思大概是识别在给定路径中一些“引人关注的”路径
    This module identifies the existence of interesting directories in a given directory path.
    
    • 实验步骤
    msfconsole
    use auxiliary/scanner/http/dir_scanner
    set RHOSTS www.baidu.com  #设置扫描路径
    set THREADS 20  #设置并发进程数量
    exploit #攻击
    

    • 进入auxiliary/scanner/http/dir_listing后输入info查看Description意思大概是识别在给定路径中的漏洞目录列表
    This module identifies directory listing vulnerabilities in a given directory path.
    
    • 实验步骤同上

    • 进入auxiliary/scanner/http/brute_dirs后输入info查看Description
    This module identifies the existence of interesting directories by brute forcing the name in a given directory path.
    
    • 实验步骤同上

    搜索特定类型的文件

    • 有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找
    • 打开浏览器后输入filetype:pdf site:edu.cn 蒋嘉豪表示在edu.cn这个域内搜索与“蒋嘉豪有关的.pdf文件(当然这些都不是我)

    • 点击其中任何一个搜索结果,即可下载pdf文件

    • 在搜索时,可以根据需求更改域名、关键字、文件格式doc/pdf/xls/ppt/rtf

    搜索Emali

    • metasploit中有auxiliary/gather/search_email_collector模块,可以进行针对性的搜集
    • 实验步骤
    set DOMAIN baidu.com  #设置target
    set SEARCH_YAHOO false #不使用yahoo(因为我使用yahoo报错)
    set SEARCH_GOOGLE false #不使用google(因为我使用google报错)
    set OUTFILE 5312.txt #设置存储文件
    exploit  #攻击
    

    IP路由侦查

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

    • 在windows下进行检验traceroute 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

    除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:

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

    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,如123.127.3.90或110.242.68.4为百度的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 模块
      set RHOSTS 192.168.187.0/24 //用set进行hosts主机段设置(此处为kali的ip段)
      set THREADS 50 //加快扫描速度
      run //执行run进行扫描
      

    如上图,其中192.168.187.2为我电脑主机的IP地址

    • udp_sweep

      use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
      //show options //查询模块参数
      //set RHOSTS 192.168.187.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 192.168.187.0/24

    二、端口扫描

    nmap -PU

    • 原理:nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
    • 方法:输入命令nmap -PU 192.168.187.0/24

    三、版本探测

    1.nmap -O

    • 原理:nmap -O选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
    • 方法:输入命令nmap -O 192.168.187.2

    2.nmap -sV

    • 原理:nmap -sV查看目标主机的详细服务信息
    • 方法:输入命令nmap -sV -Pn 192.168.187.2,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标

    四、具体服务的查点

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

    1.Telnet服务扫描

    • 原理:telnet命令用于登录远程主机,对远程主机进行管理。
    • 方法:
      • msfconsole
      • use auxiliary/scanner/telnet/telnet_version //进入telnet模块
      • set RHOSTS 192.168.187.0/24
      • set THREADS 50 //提高查询速度
      • run

    2.SSH服务

    • 原理:SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
    • 方法:
      • msfconsole
      • use auxiliary/scanner/ssh/ssh_version //进入ssh模块
      • set RHOSTS 192.168.187.0/24 //扫描网段
      • set THREADS 50 //提高查询速度
      • run

    3.Oracle数据库服务查点

    • 方法:
      • msfconsole
      • use auxiliary/scanner/oracle/tnslsnr_version
      • show options
      • set RHOSTS 192.168.187.0/24
      • set THREADS 200
      • run

    漏洞扫描————安装OpenVAS(GVM)

    1.安装

    apt-get update
    apt-get dist-upgrade
    apt-get install gvm
    sudo gvm-setup//等待
    gvm-check-setup
    sudo gvm-start
    
    • 安装完成后会自动生成管理员账号和密码

    • 可以使用openvas-check-setup

    2.登录

    输入生成的账户、密码

    sudo runuser -u _gvm -- gvmd --user=admin --new-password=admin
    

    更改密码,并登录。

    输入网址或者直接点击链接https:127.0.0.1:9392。点击Advanced,然后接受风险并继续。(由于setup时已经自动登录了所以这里9392端口已经被占用,此时start会报错,解决办法时gvm stop或者重启虚拟机)

    3.开始扫描

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

    4. 查看并分析扫描结果

    • 打开该扫描结果的详细信息,并点击其中的“Full and fast”:

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

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

    • 详细描述如下:
      • Summary是该漏洞的描述,意思是该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞。
      • Solution是关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换产品的另一个。

    实验中遇到的问题及解决方法

    (1)此次试验遇到最大的问题是在安装openvas(gvm)时出现的,具体问题已经在评论区中提出:

    -psql: 错误: 无法联接到服务器: 没有那个文件或目录
    服务器是否在本地运行并且在 Unix 域套接字
    "/var/run/postgresql/.s.PGSQL.5432"上准备接受联接?

    image

    解决办法没有找到(无尽套娃),最后删除虚拟机,重装kali(这个过程中操作出现重大错误,毁坏了磁盘、系统文件,重装win10解决所有问题!!!)。出现问题的原因时psql数据库没有安装好,是因为setup时网络中断出的bug。

    (2)

    image

    可以通过安装一个包来使该命令生效 sudo apt-get install dnsutils 我感觉这个比较简单。

    (3)

    image

    第一次安装成功默认是打开gvm的,所以端口被占用,此时如果你再次使用gvm-start命令就会报错,所以可以先关闭gvm,用gvm-stop,再gvm-start,然后复制网址到Firefox打开即可。


    实验总结与体会

    本次试验中,我实际上手操作了许多信息搜集、漏洞扫描的方式方法,受益颇多。试验总体来说难度不大,还要认真仔细,就可以完成。但是一定要注重规范操作!!!!我在删除kali虚拟机中强制多次中断了.vmdk的删除,导致系统文件损坏,内存不能释放,最终重装了win10,(这也难忘的经历,彪哥yyds)。平时在使用计算机时一定不能太随心所欲,要老老实实的操作。

    另外:重装系统后虽然有许多要重新做的工作,但系统干净、简洁了许多!

  • 相关阅读:
    1105 Spiral Matrix (25分)(蛇形填数)
    1104 Sum of Number Segments (20分)(long double)
    1026 Table Tennis (30分)(模拟)
    1091 Acute Stroke (30分)(bfs,连通块个数统计)
    1095 Cars on Campus (30分)(排序)
    1098 Insertion or Heap Sort (25分)(堆排序和插入排序)
    堆以及堆排序详解
    1089 Insert or Merge (25分)
    1088 Rational Arithmetic (20分)(模拟)
    1086 Tree Traversals Again (25分)(树的重构与遍历)
  • 原文地址:https://www.cnblogs.com/jiangjiahao/p/14688695.html
Copyright © 2011-2022 走看看