信息收集 - 搜索引擎
这里要说的除了常见的Google高级搜索语法外,还有Shodan,ZoomEye等网络资产扫描引擎
常见Google语法指令大全
基础语法
"xxx": 将要搜索的关键字用引号括起来 (表示完全匹配,即关键词不能分开,顺序也不能变
+:"xxx"+baidu.com
搜索xxx与baidu.com 相关的内容
-:"xxx"-baidu.com
搜索结果里面除去baidu.com 相关的内容
site:
指定域名,如:site:edu.cn 搜索教育网站
inurl:
用于搜索包含的url关键词的网页,如:inurl:uploads 文件上传
intitle:
搜索网页标题中的关键字,如:intitle:“robots.txt”
intext:
搜索网页正文中的关键字,如:intext:登陆/注册/用户名/密码
filetype:
按指定文件类型即文件后缀名搜索,如:filetpye:php/asp/jsp
cache:
已经删除的缓存网页,推荐组合使用
语法扩展
查找后台
site:xx.com intext:管理|后台|登陆|用户名|密码|系统|帐号|admin|login|sys|managetem|password|username
site:xx.com inurl:login|admin|manage|member|admin_login|login_admin|system|login|user
查找sql注入漏洞
inurl:.php?id=
inurl:.asp?id=
查找文件上传点:
site:xx.com inurl:file| uploadfile
site:xx.com inurl:file| uploadfile
intitle:“Index of /admin”
intitle:“Index of /root”
intitle:“Index of /” +password.txt
intitle:phpinfo()或者inurl:phpinfo.php
查找未授权访问phpmyadmin
inurl:.php? intext:CHARACTER_SETS,COLLATIONS, ?intitle:phpmyadmin
空间搜索引擎
SHODAN
基本语法
hostname:"主机或域名"
如 hostname:"google''
port:"端口或服务"
如 port:"21"
ip : "ip地址"
如 ip : "168.205.71.64"
net:"IP地址或子网"
如 net:"210.45.240.0/24"
vuln :指定漏洞的cve
如 vuln:CVE-2015-8869但是这个命令最好搭配起来使用,如 country:CN vuln:CVE-2014-0160
os :"操作系统"
如 os:"centOS"
isp:"ISP供应商"
如 isp:"China Telecom"
product:"操作系统/软件/平台"
如 product:"Apache httpd"
version:"软件版本"
如 version:"3.1.6"
geo:"经纬度"
如 geo:"39.8779,116.4550"
country`:"国家"
如 country:"China"
country:"UN"
city:"城市"
如 city:"Hefei"
org:"组织或公司"
如 org:"google"
before/after:"日/月/年"
如 before:"25/09/2017"
after:"25/09/2017"
asn : "自治系统号码"
如 asn:"AS2233"
使用时可以查看shodan中文文档
BINARYEDGE
是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。
ZoomEye 是一款针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息。
ZoomEye 拥有两大探测引擎:Xmap 和 Wmap,分别针对网络空间中的设备及网站, 通过 24
小时不间断的探测、识别,标识出互联网设备及网站所使用的服务及组件。 研究人员可以通过 ZoomEye
方便的了解组件的普及率及漏洞的危害范围等信息。虽然被称为 “黑客友好” 的搜索引擎,但 ZoomEye 并不会主动对网络设备、网站发起攻击,收录的数据也仅用于安全研究。ZoomEye
更像是互联网空间的一张航海图。
信息收集 - 资产扫描
资产扫描包括如下内容:扫描子域名和扫描 C 段和旁站
旁站:同服务器不同站点
C 段:同网段不同服务器
扫描子域名
- 经典的搜索引擎
直接 site:xx.com 即可
但是比较大的企业的子域名都是成百上千的
此方法仅对小站点有效,故衍生出了子域名查询工具和网站
- 域名注册人反查
一般大企业都是用企业邮箱注册大批量的二级域名,那么我们直接用企业邮箱反查即可
使用站长whois即可
可以先查询
ICP备案号查询
公网安信息查询
然后再进行whois反查
也可以使用云悉资产查询 再进行whois反查
- 在线网站查询
phpinfo.me 大佬的在线子域名查询
子成君大佬的在线子域名查询
- 几个子域名扫描工具和脚本
layer子域名挖掘机5.0
链接:https://pan.baidu.com/s/1kpPiymBuDDcOvJmwzPYWlw
提取码:m1ka
subDomainsBrute
lijiejie 大佬写的子域名收集工具
GitHub地址:https://github.com/lijiejie/subDomainsBrute
源码下载下来是 python 文件,环境为 Python2,需要安装一个包:
pip install dnspython gevent
猪猪侠:https://github.com/ring04h/wydomain
子域名枚举与地图标记:https://github.com/le4f/dnsmaper
高效精准的子域名爆破工具:https://github.com/TheRook/subbrute
- 扫描 C 段 / 旁站
phpinfo.me 除了子域名,也搞 C 段 / 旁站:https://phpinfo.me/bing.php
0x4i 大佬的网站:http://www.webscan.cc/
NTscan(变态扫描器)
链接:https://pan.baidu.com/s/122RU12kpuueLeyX2vayjmw
提取码:m1ka
K8Cscan
K8Team 出品,截至写这篇文章时,这个工具最后更新时间为 2019-05-06
详细介绍:https://www.cnblogs.com/k8gege/p/10519321.html
这个工具可配合插件使用:
插件教程:
插件9: Weblogic漏洞扫描&GetShell Exploit
https://www.cnblogs.com/k8gege/p/10779728.html
插件8:K8Cscan插件之Cisco思科设备扫描
https://www.cnblogs.com/k8gege/p/10679491.html
插件7: K8Cscan插件之多种方式操作系统版本探测
https://www.cnblogs.com/k8gege/p/10673707.html
插件6: K8Cscan插件之Wmi爆破Windows密码
https://www.cnblogs.com/k8gege/p/10650659.html
插件5: K8Cscan插件之Mysql密码爆破
https://www.cnblogs.com/k8gege/p/10650642.html
插件4: K8Cscan插件之FTP密码爆破
https://www.cnblogs.com/k8gege/p/10650630.html
插件3: K8Cscan新增C段旁站扫描插件\子域名扫描插件
https://www.cnblogs.com/k8gege/p/10626465.html
插件2: 调用c#编写的DLL扫描内网WEB主机Banner以及标题
DLL源码 https://www.cnblogs.com/k8gege/p/10519512.html
已编译:https://www.cnblogs.com/k8gege/p/10650610.html
插件1: 配置Cscan.ini 调用外部程序S扫描器扫描C段主机开放端口
配置Cscan.ini
[Cscan]
exe=s.exe
arg=TCP $ip$ 21,80,3306,3389,1521
命令行下执行cscan
姿势太多,后面用到再现学现卖
nmap
此部分只简单介绍 nmap 的主机解析部分,nmap 的详细介绍到端口扫描那篇去看。
nmap 主机发现部分主要有如下参数:
-Pn 将所有指定的主机视为已开启状态,跳过主机发现过程
-PS TCP SYN ping,发送一个设置了SYN标志位的空TCP报文,默认端口为80,也可指定端口
-PA TCP ACK ping,发送一个设置了ACK标志位的空TCP报文,默认端口为80,也可指定端口
-PU UDP ping,发送一个空的UDP报文到指定端口,可穿透只过滤TCP的防火墙
-PR 使用ARP ping
扫描主机用到的 -Px 和扫描端口用到的 -sx 基本是一样的功能:
此处我们想要实现以最快速度最全面的扫描指定 C 段内的所有存活主机但是不扫描端口:
nmap -v -sn -Pn -PS -n x.x.x.1/24
信息收集 - 目录扫描
工具很多就不一一列举了
御剑专业版1.0
链接:https://pan.baidu.com/s/14LiBH8wSbfcIn0QMoqNMoA
提取码:m1ka
BBScan
Github:https://github.com/lijiejie/BBScan
dirsearch
Github:https://github.com/maurosoria/dirsearch
参考链接
GitHack
GitHack 是一个.git 泄露利用脚本,通过泄露的.git 文件夹下的文件,重建还原工程源代码。
渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL 注射等 web 安全漏洞。
GitHub:https://github.com/lijiejie/GitHack
Dirmap
An advanced web directory & file scanning tool that will be more powerful than DirBuster, Dirsearch, cansina, and Yu Jian. 一个高级web 目录、文件扫描工具,功能将会强于 DirBuster、Dirsearch、cansina、御剑。
Github:https://github.com/H4ckForJob/dirmap
参考链接
7kbscan-WebPathBrute
Github:https://github.com/7kbstorm/7kbscan-WebPathBrute
信息收集 - CMS识别
Webfinger
这是一款很小巧的工具,由Python2编写,使用Fofa的指纹库
Github地址:https://github.com/se55i0n/Webfinger
御剑WEB指纹识别系统
链接:https://pan.baidu.com/s/1r2fNa1doShnPdM57fPyVWA
提取码:m1ka
Cmscan
一款小巧的工具
Github:https://github.com/ldbfpiaoran/cmscan
Gwhatweb
使用协程技术,大大提高IO操作较多的程序的效率
Github:https://github.com/boy-hack/gwhatweb
FingerPrint
Perl语言编写,使用Wappalyzer工具的库。
Github:https://github.com/tanjiti/FingerPrint
Test404轻量CMS指纹识别
暂无资源
whatweb
kali2021自带工具
Github:https://github.com/urbanadventurer/WhatWeb/releases/tag/v0.5.5
WebEye
指纹库不是基于 md5 之类的,而是类似于 fofa 通过 http 头信息、关键字等进行快速识别。
GitHub 地址:https://github.com/zerokeeper/WebEye/
云悉在线 WEB 指纹识别
上面资产扫描有提到噢
信息收集 - 端口扫描及服务识别
zmap
是一个开源网络扫描工具,可以帮助研究人员快速的进行全网检测。只需要一台机器和足够上行网络速度,就可以以达到千兆以太网的理论值速度并在 45分钟内扫描全网络 IPv4 地址。
GitHub:https://github.com/zmap/zmap
kali执行:sudo apt install zmap -y 即可完成安装
常用参数如下:
-p, –target-port=port:需要扫描的TCP 端口号 (比如443)
-o, –output-file=name:将扫描结果输出到文件
-b, –blacklist-file=path:黑名单文件,即排除在扫描范围外的地址。在conf/blacklist.example文件中有实例,每同一行写一个网段,比如192.168.0.0/16。
-n, –max-targets=n,检测的上限范围,可以是一个数字如-n 10000,也可以是扫描地址空间中的百分比
-N, –max-results=n:接收到一定数量的结果后退出扫描
-t, –max-runtime=secs:最大扫描(发包)时间
-r, –rate=pps:设置发包速率(packets/sec)
-B, –bandwidth=bps:设置发包带宽(bits/second
-c, –cooldown-time=secs:接受返回的时间(default=8)
-T, –sender-threads=n:发包的线程数 (默认为1):-P, –probes=n 送达每个IP的探测器数量(默认为1):网络选项
-s, –source-port=port|range:发包的源端口(s)
-S, –source-ip=ip|range:发包的源IP,也可以是IP地址段
-G, –gateway-mac=addr:发包的网关MAC地址
-i, –interface=name:网络端口 –list-probe-modules:列出可用的探测器模块
-M, –probe-module=name:选择探测器模块 (默认为tcp_synscan) –probe-args=args:设置探测器模块的参数 –list-output-fields:列出所选择的探测器模块 输出选项:ZMap
允许用户定义和编写自己的输出模块。输出模块负责处理探测器模块的返回结果并且展示给用户。
–list-output-modules:列出所有输出模块
-O, –output-module=name:设置输出模块 –output-args=args:设置输出模块的参数
-f, –output-fields=fields 列出所选择的输出模块:–output-filter 输出模块过滤器:附加选项
-C, –config=filename:读一个配置文件,其中可以包含特殊的选项
-q, –quiet:安静模式
-g, –summary:在扫描结束后,打印配置和结果汇总
-v, –verbosity=n:log的等级 (0-5, 默认为3)
-h, –help:显示帮助
-V, –version:打印版本 虽然 zmap 的 -p 选项是指定端口,但是不能用 1-65535 这样的参数
zmap 的用途更多的偏向于扫描指定范围内主机的某个指定端口是否开放,比如:
zmap -p 80 1.2.3.4 10.0.0.3:扫描1.2.3.4,10.0.0.3这两个ip的80端口 zmap -p 80
10.0.0.0/8 192.168.0.0/16:
扫描扫描两个子网的80端口 zmap -p 80:
在Internet上查找tcp/ 80上的主机并输出到stdout zmap -N 5
-B 10M -p 80: 找到5个HTTP服务器,以10 Mb/s扫描
myscan
很好搜索到 我就不放资源了
nmap
这个工具我很早就想仔细学习 就趁着这次机会仔细学习一下
namp语法即常用命令
nmap语法格式: nmap [空格] [选项/多选项/协议] [空格] [目标]
例: nmap -A ip , 或 nmap -A ip -p 1-65535 (对一个ip范围进行全面扫描)
- -A :全面扫描. 综合扫描. 是一种完整扫描目标信息的扫描方式.
- --exclude : 排除指定的地址 例: nmap 192.168.205.0/24 --exclude ip 那么就不会对ip进行扫描,
- --excludefile : 排除指定的地址列表 例: nmap 192.168.205.0/24 --excludefile list.txt 那么就不会对list.txt里面的地址进行扫描,
- -iL : 扫描一个列表文件 例 nmap -iL list.txt
- -sP : Ping扫描,效率高,返回信息少. 例: nmap -sP ip
- -P0(Pn) :无Ping扫描,可以躲避防火墙防护,可以在目标主机禁止ping的情况下使用
- -PS :TCP SYN Ping扫描
- -PA :TCP ACK Ping扫描
- PR : ARP Ping扫描
- -n : 禁止DNS反向解析
- -T : 时序选项, -TO-T5. 用于IDS逃逸,0=>非常慢,1=>缓慢的,2=>文雅的,3=>普通的,4=>快速的,5=>急速的
- -p : 指定端口扫描
- -F : 快速扫描
- -f : 报文分段
- -D : ip地址欺骗 例 nmap -D RND:5 ip10 RND:为生成随机ip地
址
- -sS : TCP SYN 扫描,速度快, 1秒1000次左右. 较为隐蔽.
- -sT : TCP连接扫描
- -sU : UDP扫描,扫描非常慢,容易被忽视
- -sN,-sF : 隐蔽扫描
- -sI : 空闲扫描,允许端口完全欺骗,可以允许不使用自身ip的情况下发起扫描,非常之隐蔽的扫描.但得先寻找空闲主机,指令为 nmap -p80
-open -script ipidseq 192.168......,第二种是往事随机寻找, nmap -p80 -open -script ipidseq -iR 2000 (iR选项代表随机选择目标.2000带表选择的数量,-open代表只选择端口开放的空闲主机) - -p : 扫描所有端口 1-65535
- -top-ports : 只扫描开发概率最高的端口 后面跟上数值 例 nmap -top-ports 100 , 就是扫描概率最高的前100个端口
<版本探测相关>:
- -sV : 版本探测 ,通过相应的端口探测对应的服务,根据服务的指纹识别出相应的版本.
- -sV --allports : 只有使用--allports才能扫描所有的端口,默认情况下回跳过如 TCP9100端口(hp打印机专用端口)
- --version-intersity : 设置扫描强度 0-9 ,数值越大越有可能被识别,花费时间越多,默认是7
- --version-ligth : 扫描强度,轻量级扫描(2) ,等用于--version-intersity 2
- --version-all :扫描强度,重量级扫描(9) ,等同于--version-intersity 9
- --version-trace : 获取详细的版本信息
- -sR : 判断开放端口是否为RPC端口, 如果是返回程序和版本号.
- --resaon : 显示主机存活原因
- -T(0-5) , 默认为3,
0 即Paranoid模式, 为了避开IDS的检测使扫描速度非常慢,nmap串所有的扫描.每隔最少5分钟才发送一个包.
1 即Sneaky模式,和0也差不多,区别就是发送数据包的间隔为15秒.
2 即Polite模式,不增加太大的网络负载.串行每个探测,并使每个探测间隔0.4秒
3 即Normal模式,nmap的默认选项,在不使网络过载或者主机/端口丢失的情况下尽可能快速的扫描.
4 即Aggressive模式,设置5分钟的超时限制,对每台主机的扫描时间不超过5分钟,并且对每次探测回应的等待时间不超过1.5秒.
5 即Insane模式, 只适合快速的网络或者不在意丢失默些信息,对每台主机的超时限制为75秒,对每次探测只等待0.3秒.
nmap支持多元化的语法格式
- nmap 192.168.205.22 单个目标扫描
- nmap 192.168.205.22 192.168.205.33 多个目标扫描
- nmap 192.168.205.10,20,30 多个目标扫描简写
- nmap 292.168,205.1-30 指定范围段扫描
具体的用法可以去看看这篇文章:https://www.cnblogs.com/php09/p/10530057.html#autoid-7-0-0
参考链接
声明:本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担! 本网站采用BY-NC-SA协议进行授权!转载请注明文章来源! 图片失效请留言通知博主及时更改!