5.kali信息收集

渗透第六章

Posted by Sprint#51264 on September 26, 2021

引言

根据苑房弘老师讲的安全牛KALI渗透过程总结

FANGHONG.YUAN@163.COM

被动信息收集

  • 概念

    基于公开渠道,非机密信息,搜索目标系统相关信息,不直接进行接触访问

    所有的收集过程都是被视为正常行为,没有大量扫描

OSINT(开源智能opensourceintelligence)

美国军方开源智能[](http://www.fas.org/irp/doddir/army/atp2-22-9.pdf)

北大西洋公约组织[](http://information-retrieval.info/docs/NATO-OSINT.html)

主要内容

  • IP地址段
  • 域名信息
  • 邮件地址
  • 文档图片数据

    主要指内部图片文件,透漏内部信息

  • 公司地址

    无线网络,物理渗透

  • 公司组织架构

    针对不同部门不同社会工程学

  • 联系电话/传真号码
  • 人员姓名/职务
  • 目标系统使用的技术架构

    搜索引擎发现,历史信息发现

  • 公开的商业信息

    公司之间的设备交互,可以从侧面攻击

信息用途

  • 用信息描述目标

    怎样的公司,怎样的运作

  • 发现服务和系统
  • 社会工程学攻击
  • 物理缺口

信息收集-DNS

DNS概念

  • 域名解析成为IP地址

    sina.com是域名,www.sina.com是FQDN(完全限定域名)

  • 域名记录

    NS:域名服务器地址 MX:邮件交换记录 ptr:IP地址解析为域名\另外一个域名 Acname:主机名解析为IP

  • DNS解析过程

    本地DNS缓存>hosts>本地DNS服务器>根域服务器

    本地到DNS服务器是递归查询 DNS到根域是迭代查询

    从.域(根域)到com域,逐级往下递归查询到目标域名

DNS信息收集–NSLOOKUP

  • 概念

    跨平台工具

使用方法

  • nslookup不带参数

    输入网址直接回显解析结果,如果没有直接显示IP,而是显示了另一个域名,那就说明这是一个CNAME记录,我们就要对后面的域名继续进行nslookup

    不过nslookup已经代替我们做了这些过程,在address项显示最后的IP

  • type

    • 设定查询指定类型记录
    • set type=xxx或者set q=xxx

      eg:set type=mx 显示邮箱交换记录,查到三条记录,最小权重先发邮件

      eg:set type=ns 显示域名服务器地址 >sina.com

      eg:set q=ptr 显示ip对应的主机

        但是一个域名可以一对多主机名和CNAME,可能不准
      
  • server

    • 指定不同的域名服务器,对同一域名进行解析会不一样

    • 多数网站会使用智能DNS,CDN?优化互联网流量

  • any

    • set q=any目标域名的所有记录都会被解析出来
  • nslookup xxx.xx.com -type=any

DNS信息收集–DIG

  • 概念

    很多方面和nslookup很相似,但功能更强大

使用方法

  • dig xxx.xxx.com any @ 8.8.8.8

    不用加-type参数 用@指定域名服务器 不使用域名服务器就会使用本机默认域名服务器

    建议信息收集多使用不同的域名服务器

  • +noall +answer

    dig可以附加参数 不显示任何回显、只看answer

  • IP地址反查

    -x参数

    dig -x 220.181.14.157

  • 查DNS服务器bind版本

    • linux下提供dns服务的通常都是基于bind软件包

    • 查到一个域名的所有主机信息DNS记录都查到

      攻破它的DNS服务器,就知道所有的DNS记录,就知道所有的主机名

    • bind版本有助于漏洞发现,攻击DNS服务器

    • dig +noall +answer txt chaos VERSION.BIND @ns3.dnsv4.com

      +answer 每个回显都会有自己的类IN,internet类,而bind是属于chaos

      bind信息对于dns使用者来说没有太大用处,所以维护DNS服务的时候建议去掉这种信息,防止为黑客留下可乘之机

  • DNS记录追踪trace

    • DNS服务器选择

      不能将本地DNS服务器配置为sina的DNS服务器,因为这样做只能解析sina下的其他服务器,而不能解析除此之外的其他服务器

    • DNS迭代查询,trace将每一层查询都记录

      通过查看trace记录可以了解DNS服务器查询路径,辨别DNS服务器是否被劫持

    dig +trace example.com

  • DNS区域传输

    存在于DNS服务器之间的记录,同步到所有的DNS服务器,利用区域传输配置错误得到所有解析记录

    • dig @ns1.example.com example.com axfr查看sina.com的所有记录

    • host -T -l sina.com 8.8.8.8

      -l 就是进行axfr全区域传输

    • DNS53端口

      UDP使用53端口用来查询 TCP用53端口用来同步数据

    • man命令

      manu 缩写 其实是使用手册,man host会显示该命令的详细使用方法

    • info命令

      也是帮助型手册

DNS信息收集–DNS字典爆破

熟练掌握一个就可以了,字典越全越好

fierce

  • 用法

    fierce -dnsserver 8.8.8.8 -dns sina.com.cn -wordlist a.txt

dnsdict6

  • 用法

    dnsdict6 -d4 -t 16 -x sina.com

dnsenum

  • 用法

    dnsenum -f dnsbig.txt -dnsserver 8.8.8.8 sina.com -o sina.xml

dnsmap

  • 用法

    dnsmap sina.com -w dns.txt

dnsrecon

  • 用法

    dnsrecon -d sina.com --lifetime 10 -t brt -D dnsbig.txt

    dnsrecon -t std -d sina.com

DNS信息收集–DNS注册信息

whois

了解域名注册的信息,注册者,更新时间,注册邮箱等

信息收集-搜索引擎

搜索引擎在对网站进行不断地爬取,所以可以找到很多有用的信息

搜索引擎一般都有保护机制,如果搜索次数过多就会触发策略,输验证码进行人机识别

搜索引擎–SHODAN

只爬取互联网上的各种设备,联网设备,收集baner信息,对设备系统进行识别

  • 常见filter:

    • net:8.8.8.8查找对应ip地址

      x.x.x.0/24也可以查整个地址段

    • country:国家
    • city:城市
    • port:端口
    • HTTP/1.1 200筛选200ok的网站
    • os:windows筛选操作系统
    • server: 筛选服务器
    • user:admin pass:password
  • API调用

    • 从SHODAN账号中找到apikey,可以编程直接调用SHODAN的API

搜索引擎–GOOGLE

搜索网页信息网页特征 http://exploit-db.com/google-dorks

  • 语法
* 符号

    `+支付 -充值`搜索含有*支付*过滤掉有*充值*字样的页面

    `"双引号括住搜索内容"`会搜索绝对的字符串

* 语义词

    `intitle:关键字`标题搜索关键字
    `intext:关键字`正文搜索关键字
    `site:关键字`对某个站点进行所有搜索
    `inurl:关键字`对url关键字搜索
    `filetype:`对文档类型进行搜索

搜索引擎–YANDEX

世界第四大搜索引擎https://www.yandex.com/

可以和GOOGLE交替使用,搜索结果有时更准确

信息收集-工具

工具–the harvester(邮箱挖掘)

利用theHarvester进行信息收集 疏桐

  • 简要介绍

    TheHarvester能够收集电子邮件账号、用户名、主机名和子域名等信息。它通过Google、Bing、PGP、LinkedIn、Baidu、Yandex、People123、Jigsaw、Shodan等公开资源整理收集这些信息。

  • 举例

    theharvester -d sina.com -l 300 -b google用google搜索引擎搜索sina.com的信息,返回300条信息

  • 注意

    theharvester自己没有代理功能,所以使用proxychain来进行代理

工具–metagoofil(文件挖掘)

  • 简介

    利用python实现的集成于kali的利用google搜索的文件挖掘工具

  • 用法

    ` metagoofil -d microsoft.com -t pdf -l 200 -o test -f 1.html`查询目标域中的指定类型的文件输出200条下载到test目录

工具–Maltego(综合信息收集软件)

https://www.maltego.com/ Maltego详细使用教程

  • 简介
kali十大工具之一,有GUI界面,综合性强,所有的信息收集都会自动完成
  • 用法

    创建账号 先创建新的项目,然后放入已知的信息,然后右键,选相应的功能,就会自动生成对应的拓扑图(关系图)

信息收集-其他途径

其他途径–网站历史

  • 概念

    有一些网站负责收集互联网上其他网站的信息,每隔一段时间就搜索一下并进行保存,这对于我们回溯收集目标信息有很大的帮助

  • archive.org

    https://archive.org/

  • 缓存

    如果想要浏览的网页被删除,可以尝试在搜索结果点下三角查看搜索引擎对该网页的缓存记录

其他途径–个人专属密码字典

  • 简介

    将收集到的信息进行集合,为个人定制一个专属密码

  • CUPP--Common User Password Profile

    git clone https://github.com/Mebus/cupp.git

    python cup.py -i开始输入目标人物信息

其他途径–METADATA(元数据)

  • 简介

    相机拍摄图片是会记录照片信息的,默认是打开,通过这种信息能获取到地理位置

    这种类型的信息就是Exif信息,记录了照片拍摄时候的参数

    GPS信息,设备信息

  • exiftoolkali自带的图片Exif信息查询

    exiftool xxx.jpg

  • 属性

    右键图片看属性也可以

  • Focawindows下查看元数据工具

信息收集-RECON-NG

https://blog.csdn.net/smli_ng/article/details/105955435

  • 简介
`全特性web侦察框架`,具备所有信息收集的特性,由python编写

使用不同的模块实现不同的功能,将查询的结果存在数据库中,然后可以导出为信息收集报告

框架可以被个人不断地细化完善,只是一个标准
  • 使用方法

    使用不同模块就会直接进入到相应模块下的命令行,返回输入back

    两下tab可以查看可用参数

  • 参数

    选项 描述
    add #添加一条记录到数据库
    back #返回上一层
    del #删除一个记录
    exit #退出
    help #帮助
    keys #调用外部KPI
    load #加载模块
    pdb #python DEBUG
    query #SQL语句
    record #记录命令历史
    reload #重新加载所有模块
    resource #从执行文件执行命令
    search #查找可用模块
    set #设置
    shell #使用shell环境
    show #展示
    snapshots #为workplace快照
    spool #划分资源池
    unset #取消设置
    workspace #设定工作区域
    use #使用某个模块
  • 流程

      search xxxx     #寻找
      use xxxxx       #使用
      show options    #tab tab
      show info       #详细信息
      set XXXX xxxxx  #设置参数
      run             #运行
    

小工具

小工具–TMUX(Terminal MultipleXer)

终端复用器 阮一峰的网络日志 允许一个终端窗口操作多个会话,不用再重复打开新的终端窗口