端口服务收集

在已经获取到企业对应的IP之后,便可以对其进行端口扫描查看对应开放的服务。

1、扫描器


速度相对于直接搜素引擎查询速度慢,但是更全面。

可以自己使用扫描器进行扫描开发服务,最常见的是用nmap:

nmap常用组合

快速检测一个网段中的存活主机

nmap -sP x.x.x.x/24

从文本中读取相关IP,进行端口扫描,同时识别服务

nmap -p80,22 -sV -iL ip.txt

只显示开放该端口的主机

nmap -p80 --open 1.1.1.0/24

不使用反向解析,扫描80端口开放的主机,同时保存为xml文件

nmap -n -p80 -iL ip.txt -sV --open -oX 80.xml

识别一台主机的操作系统

nmap -O 1.1.1.1

在不检测一个存活主机的情况下,进行全端口扫描,识别服务

nmap -Pn -p1-65535 -A -sV 1.1.1.1

扫描mysql的空口令:

nmap -p3306 --script=mysql-empty-password.nse 192.168.5.1

暴力破解mssql的账户密码

nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.5.1

具体原理性的东西可以参考以下的文章

NMAP 基础教程

Nmap速查手册

nmap脚本使用总结

Nmap参考指南(Man Page)

快速扫描某一个端口建议使用masscan:

github地址:https://github.com/robertdavidgraham/masscan

全网扫描:

masscan 0.0.0.0/0 -p0-65535

扫描对应IP开放的对应端口:

masscan -p80,8000-8100 10.0.0.0/8

把扫描的信息保存:

masscan 0.0.0.0/0 -p0-65535 -oX scan.xml

2、搜索引擎


这里使用搜索引擎就不是指Google、百度,而是shodan,zoomeye和fofa。

2.1 shodan

基础语法: City:用于寻找位于指定城市的设备。例:

iis city:beijing

County:用于寻找位于指定国家的设备。例:

iis country: China

os:用于查询指定系统

Apache os:Linux

Net:用于寻找指定ip地址和子网掩码的设备。例:

iis net:216.0.0.0/16

Hostname:用于搜索包含指定域名的主机。例

#误报较高
qq hostname:.com

exp搜索地址:

https://exploits.shodan.io/welcome

测试的例子:

查找redis:

port:6379

也可以直接搜索,会根据banner来匹配

redis

网络摄像头:

Android Webcam Server -Authenticate

查找openssl版本为1.0.0服务器

openssl/1.0.0

Shodan搜索引擎介绍

由于Shodan搜索出来的数据是之前扫描存储的,而非实时扫描,所以搜索到的结果不一定100%准确。

2.2 zoomeye(钟馗之眼)

网址:

zoomeye

常用语法 组件名称:

#组件名
app:"Apache httpd"
#组件版本
ver:"2.2.16"

端口:

#ssh的22端口
port:22

操作系统:

#linux操作系统
os:linux

服务:

#公网摄像头
service:webcam

IP地址:

#google的DNS
ip:8.8.8.8

子网搜索:

cidr:8.8.8.8/24

网站域名:

site:google.com

关键字:

#<meta name="Keywords">定义的页面关键词
keywords:Nginx

描述:

#<meta name="description">定义的页面说明
desc:Nginx

标题:

#页面标题,在<title>
title:Nginx

更完整的语法手册:

官网手册

常见的一些搜索组合都列在这里:

常见组合

2.3 fofa

网址:

fofa

查询语法

标题中搜索:

title=test

http头部中搜索:

header=linux

从html中搜索:

host=".gov.cn"

根据IP搜索:

ip="1.1.1"

同时支持括号和&& || !=等等,可以灵活的自由组合

常用的组件识别列表:

常用组件识别

网站识别:

网站识别

常见的可利用端口

21           ftp文件传输协议
22           SSH远程登录协议
23           telnet终端仿真协议
25           smtp
110          Pop3
1433         Microsoft SQL Server远程端口
3306         MySQL远程端口
3389         win远程登入
7500-10000   常用的web后台端口