• 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)。平时在使用计算机时一定不能太随心所欲,要老老实实的操作。

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

  • 相关阅读:
    微信开放平台(公众号第三方平台) -- 全网发布
    SQL 邮件配置篇
    让BI告诉你:圣诞老人去哪了?
    锁定和行版本控制
    数据库质疑修复总结(转)
    抢救损坏数据库中的数据
    将 PAGE_VERIFY 数据库选项设置为 CHECKSUM
    replicate复制函数
    @@IDENTITY与SCOPE_IDENTITY()
    RESTORE DATABASE的standby选项
  • 原文地址:https://www.cnblogs.com/jiangjiahao/p/14688695.html
Copyright © 2020-2023  润新知