服务器信息收集

附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!

一、服务器信息

  1. 引子:作为信息收集篇的第一篇文章,本篇主要讲测试者在面对服务器时该收集什么样的信息,以及这些信息的收集方法。

  2. IP信息
    前提:已知目标某一资产ip

    1. ip段查询
      通过某一ip,查询该ip所属段的全部ip。一般情况下,企业往往会为其资产购买同一段下的很多ip。若某资产ip为192.168.198.1,则可以通过查询192.168.198.1/24下的所有ip来获取更多资产。
    2. ip反查域名
      通过资产ip获取其绑定域名,再通过域名获取更多资产信息。
    3. ip反查企业
      通过ip去查绑定该ip的企业,再通过其企业名获取更多资产。
    4. ip反查归属地。
      通过归属地确认该ip是否属于核心资产。如某一公司总部在北京,且所获知资产ip归属地也为北京,那该资产ip的价值相较于其他资产是不是会更高呢。
      在线工具:https://www.ip138.com/

    有很多在线平台能同时实现这些资产的信息搜集,如网络空间测绘平台,fofa:https://fofa.info/ 、hunter:https://hunter.qianxin.com/ 、quake:https://quake.360.net/quake/#/index 等,微步在线:https://x.threatbook.com/

  3. OS信息
    这里主要列举常见辨别目标OS的几种方式。

    1. URL访问时是否区分大小写。Windows不区分,Linux区分。
      举两个栗子:

      # 这是孙笑川吧的url
      https://tieba.baidu.com/f?kw=%E5%AD%99%E7%AC%91%E5%B7%9D
      # 当修改f为F时
      https://tieba.baidu.com/F?kw=%E5%AD%99%E7%AC%91%E5%B7%9D
      # 其网页会重定向至
      https://tieba.baidu.com/
      # 很明显,百度服务器是严格区分大小写的
      
      # 这是xiaodi的博客
      http://xiaodi8.com/hack/
      # 当修改hack为HACK时
      http://xiaodi8.com/HACK/
      # 其页面并未发生变化,则其操作系统为一个典型的Windows系统
      
    2. TTL返回值判断,一般Windows返回值较大,Linux返回值较小。
      TTL:Time To Live,报文在网络中存活的时间,现在常被意味着报文在网络中存活的跳数。
      每经一个路由点,其TTL值减一。Windows默认ttl值为128,Linux为64。
      同样以baidu & xiaodi8为例

      ping Www.baidu.com
      # 来自 183.2.172.42 的回复: 字节=32 时间=39ms TTL=53
      ping www.xiaodi8.com
      # 来自 47.75.212.155 的回复: 字节=32 时间=54ms TTL=113
      # 可以很明显的看到xiaodi8的ttl值远大于baidu
      
    3. 端口服务特征,根据目标服务器开放端口判断。
      常见的如,Windows往往会开放3389端口,Linux则为22端口。

  4. 端口信息
    一般情况下,一个端口对应着一个服务,服务器每开放一个端口意味着其开启了一个服务。通过收集目标服务器所开放的端口信息,获取其服务器上的更多资产。这里列举几个常见服务器端口信息获取方式:

    1. 网络空间测绘平台,借助在线平台获取目标端口信息。

    2. 工具,借助本地工具获取目标端口信息。

      1. Yakit
        image-20241214132645280

      2. Nmap
        什么是Nmap?Nmap: the Network Mapper - Free Security Scanner(翻译过来就是,网络映射器-免费的安全扫描器)。说白了就是一款功能很多的扫描器,既能实现同一子网下的多设备扫描,又能识别设备OS,还可以获取端口以及服务版本等信息。
        Next,这里列举一些Nmap的常用命令

        # TCP连接扫描,即nmap与目标建立完整的TCP连接
        namp -sT 192.168.198.1
        # 特点:1. Nmap默认使用-sT扫描 2. 扫描速度慢。
        # SYN半开放扫描,即nmap仅向目标发送SYN包进行端口扫描,扫描速度快
        nmap -sS 192.168.198.1
        # UDP扫描,相较于TCP扫描,UDP更慢,但能获取更多信息
        nmap -sU 192.168.198.1
        # 对端口服务&版本信息进行扫描
        nmap -sV 192.168.198.1
        
        # 对指定端口进行扫描
        nmap -p 22 192.168.198.1
        # 对指定范围端口扫描
        nmap -p 22-3389 192.168.198.1
        # 对全端口进行扫描
        nmap -p- 192.168.198.1
        # 对指定TCP、UDP端口扫描
        nmap -p U:53,111,T:22,80-443 192.168.198.1
        # 若不指定扫描端口,nmap默认扫描1-1024 & nmap-services文件所列更高端口
        
        # 扫描单个ip
        nmap 192.168.198.1
        # 扫描多个ip
        nmap 192.168.198.1 192.168.198.2 192.168.198.3
        # 扫描子网
        nmap 192.168.198.0/24
        
        # 输出扫描结果至指定文件
        nmap -oN scan_results.txt 192.168.198.1
        
        # 对目标操作系统进行扫描
        nmap -O 192.168.198.1
        
        # 显示扫描流程
        nmap -v 192.168.198.1
        
      3. TscanPlus(无影)
        image-20241214132404999
        与Yakit类似,可视化UI。门槛低,扫描速度快,且相较于Yakit配置选项更多。

  5. 实验
    实验内容:本地搭建Linux操作系统靶机,部署蜜罐如Hfish,并通过蜜罐模拟多个服务。随后对该靶机OS,开放端口&服务进行信息收集。

    1. 使用Ubuntu20.04版本部署Hfish

      # 安装Hfish
      bash <(curl -sS -L https://hfish.net/webinstall.sh)
      # 部署完成后访问 https://192.168.198.147:4433/web/
      # 默认账户&密码:admin & HFish2021
      

      放通Hfish上所有模拟服务
      image-20241214192153102

    2. 使用Yakit进行端口扫描
      emmm。。。Yakit好像扫不了内网ip(ps:扫xiaodi8倒是挺快🤭)

    3. 使用Nmap进行端口扫描

      nmap -p- -sSV -O 192.168.198.147
      

      有点慢,展示扫描结果。(也可以使用 -v 参数,展示扫描过程)
      image-20241214200643984

    4. 使用无影进行端口扫描
      image-20241214223556017

      全端口扫描,扫描速度相较于nmap更快,不过好像扫不了OS。

    5. 实验结束!

附:常见服务映射端口表

类别 服务 端口号 协议
常见网络服务 FTP 20/21 TCP
SSH 22 TCP
Telnet 23 TCP
SMTP 25 TCP
DNS 53 TCP/UDP
HTTP 80 TCP
POP3 110 TCP
NetBIOS 139 TCP/UDP
HTTPS 443 TCP
SMB/CIFS 445 TCP
RDP 3389 TCP
------------------- -------------------- -------------- --------------
数据库服务 Microsoft SQL Server 1433/1434 TCP/UDP
MySQL 3306 TCP
PostgreSQL 5432 TCP
Oracle Database 1521 TCP
MongoDB 27017/27018 TCP
Redis 6379 TCP
Elasticsearch 9200/9300 TCP
IBM Db2 50000 TCP
------------------- -------------------- -------------- --------------
Web应用服务 WebLogic 7001/7002 TCP
Apache AJP 8009 TCP
Apache Tomcat 8080 TCP
ActiveMQ Web Console 8161 TCP
HTTPS(备用端口) 8443 TCP
RabbitMQ Management 15672 TCP
------------------- -------------------- -------------- --------------
分布式系统及大数据 Hadoop NameNode Web UI 50070 TCP
YARN ResourceManager 8088 TCP
Apache Kafka 9092 TCP
Zookeeper 2181 TCP
------------------- -------------------- -------------- --------------
虚拟化与容器服务 Docker 2375/2376 TCP
Libvirt 16509 TCP
VNC 5900-5999 TCP
------------------- -------------------- -------------- --------------
工业控制与物联网 Modbus 502 TCP
BACnet 47808 UDP
MQTT 1883 TCP
------------------- -------------------- -------------- --------------
邮件及版本控制 SMTP 25 TCP
POP3 110 TCP
IMAP 143 TCP
Git 9418 TCP
------------------- -------------------- -------------- --------------
其他常见服务 NFS 111 TCP/UDP
RDP 3389 TCP
IRC 6667 TCP
posted @ 2024-12-15 00:33  1999er  阅读(36)  评论(0编辑  收藏  举报