服务器信息收集
附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!
一、服务器信息
-
引子:作为信息收集篇的第一篇文章,本篇主要讲测试者在面对服务器时该收集什么样的信息,以及这些信息的收集方法。
-
IP信息
前提:已知目标某一资产ip- ip段查询
通过某一ip,查询该ip所属段的全部ip。一般情况下,企业往往会为其资产购买同一段下的很多ip。若某资产ip为192.168.198.1,则可以通过查询192.168.198.1/24下的所有ip来获取更多资产。 - ip反查域名
通过资产ip获取其绑定域名,再通过域名获取更多资产信息。 - ip反查企业
通过ip去查绑定该ip的企业,再通过其企业名获取更多资产。 - 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/ 。
- ip段查询
-
OS信息
这里主要列举常见辨别目标OS的几种方式。-
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系统
-
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
-
端口服务特征,根据目标服务器开放端口判断。
常见的如,Windows往往会开放3389端口,Linux则为22端口。
-
-
端口信息
一般情况下,一个端口对应着一个服务,服务器每开放一个端口意味着其开启了一个服务。通过收集目标服务器所开放的端口信息,获取其服务器上的更多资产。这里列举几个常见服务器端口信息获取方式:-
网络空间测绘平台,借助在线平台获取目标端口信息。
-
工具,借助本地工具获取目标端口信息。
-
Yakit
-
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
-
TscanPlus(无影)
与Yakit类似,可视化UI。门槛低,扫描速度快,且相较于Yakit配置选项更多。
-
-
-
实验
实验内容:本地搭建Linux操作系统靶机,部署蜜罐如Hfish,并通过蜜罐模拟多个服务。随后对该靶机OS,开放端口&服务进行信息收集。-
使用Ubuntu20.04版本部署Hfish
# 安装Hfish bash <(curl -sS -L https://hfish.net/webinstall.sh) # 部署完成后访问 https://192.168.198.147:4433/web/ # 默认账户&密码:admin & HFish2021
放通Hfish上所有模拟服务
-
使用Yakit进行端口扫描
emmm。。。Yakit好像扫不了内网ip(ps:扫xiaodi8倒是挺快🤭) -
使用Nmap进行端口扫描
nmap -p- -sSV -O 192.168.198.147
有点慢,展示扫描结果。(也可以使用 -v 参数,展示扫描过程)
-
使用无影进行端口扫描
全端口扫描,扫描速度相较于nmap更快,不过好像扫不了OS。
-
实验结束!
-
附:常见服务映射端口表
类别 | 服务 | 端口号 | 协议 |
---|---|---|---|
常见网络服务 | 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 |