信息收集
横向信息收集
域名信息
whois
- whois的作用
whois信息可以获取关键注册人的信息,包括注册公司、注册邮箱、管理员邮箱、管理员联系手机等,对后期社工很有用。同时该工具还可以查询同一注册人注册的其他的域名,域名对应的NS记录、MX记录,自动识别国内常见的托管商(万网、新网等)
- 常用的工具
- 国外的who.is:https://who.is/
- 站长之家:http://whois.chinaz.com/
- 爱站:https://whois.aizhan.com/
- 微步:https://x.threatbook.cn/
- 天眼查:https://www.tianyancha.com/
- ICP备案查询网:http://www.beianbeian.com/
- 国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html
子域名
google hacking
- 一些常用的搜索语法
- intext:关键字
- 将网页中某个关键字作为搜索条件
- allintext:关键字
- 功能相同
- intitle:关键字
- 将网页标题中的某个关键字作为搜索条件
- allintitle:关键字
- 功能相同
- cache:url
- 搜索服务器中缓存的内容
- define:关键字
- 搜索关键字的定义
- filetype:文件名.后缀名
- 搜索特定的文件
- info:关键字
- 搜索指点站点的一些基本信息
- inurl:关键字
- 搜索含有关键字的URl.
- allurl:关键字
- 更加精确
- link:查找与关键字做了链接的url地址
- site:返回域名中所有的URL地址,可以坦诚网站的拓扑结构。
- related:url
- 搜索与指点URL相关的页面。
- stocks:搜索有关一家公司股票市场信息
- author:搜索新闻组贴子的作者
- Google搜索多个关键字时之间用间隔。空格表示逻辑与操作
- Google中的逻辑非操作:A-C 表示搜索有A没有C。
- Google中精确搜索用双引号
- Google中的通配符:*表示一连串字符,?代表单个字符
- 关键字强制搜索则要在关键字前面加上“”+“”号
- intext:关键字
搜索引擎
-
ZoomEy:https://www.zoomeye.org/
钟馗之眼搜索引擎是偏向于web应用层面的搜索
- 上网找到的一些钟馗之眼的常用语法
- app:nginx 组件名
- ver:1.0 版本
- os:windows 操作系统
- country:”China” 国家
- city:”hangzhou” 城市
- port:80 端口
- hostname:google 主机名
- site:thief.one 网站域名
- desc:nmask 描述
- keywords:nmask’blog 关键词
- service:ftp 服务类型
- ip:8.8.8.8ip地址
- cidr:8.8.8.8/24ip地址段
- 上网找到的一些钟馗之眼的常用语法
-
FoFa:https://fofa.so/
FoFa搜索引擎偏向资产搜索
- 上网找到的一些常用语法
- title=”abc” 从标题中搜索abc。例:标题中有北京的网站。
- header=”abc” 从http头中搜索abc。例:jboss服务器。
- body=”abc” 从html正文中搜索abc。例:正文包含Hacked by。
- domain=”qq.com” 搜索根域名带有qq.com的网站。例:根域名是qq.com的网站。
- host=”.gov.cn” 从url中搜索.gov.cn,注意搜索要用host作为名称。
- port=”443” 查找对应443端口的资产。例:查找对应443端口的资产。
- ip=”1.1.1.1” 从ip中搜索包含1.1.1.1的网站,注意搜索要用ip作为名称。
- protocol=”https” 搜索制定协议类型(在开启端口扫描的情况下有效)。例:查询https协议资产。
- city=”Beijing” 搜索指定城市的资产。例:搜索指定城市的资产。
- region=”Zhejiang” 搜索指定行政区的资产。例:搜索指定行政区的资产。
- country=”CN” 搜索指定国家(编码)的资产。例:搜索指定国家(编码)的资产。
- cert=”google.com” 搜索证书(https或者imaps等)中带有google.com的资产。
- 上网找到的一些常用语法
-
Shodan:https://www.shodan.io/
shodan网络搜索引擎偏向网络设备以及服务器的搜索
- 上网找到的一些关于ShOdan语法
- hostname: 搜索指定的主机或域名,例如 hostname:”google”
- port: 搜索指定的端口或服务,例如 port:”21”
- country: 搜索指定的国家,例如 country:”CN”
- city: 搜索指定的城市,例如 city:”Hefei”
- org: 搜索指定的组织或公司,例如 org:”google”
- isp: 搜索指定的ISP供应商,例如 isp:”China Telecom”
- product: 搜索指定的操作系统/软件/平台,例如 product:”Apache httpd”
- version: 搜索指定的软件版本,例如 version:”1.6.2”
- geo: 搜索指定的地理位置,例如 geo:”31.8639, 117.2808”
- before/after: 搜索指定收录时间前后的数据,格式为dd-mm-yy,例如 before:”11-11-15”
- net: 搜索指定的IP地址或子网,例如 net:”210.45.240.0/24”
- 上网找到的一些关于ShOdan语法
DNS查询
DNS (Domain Name System, 域名系统 ),万维网上作为域名和IP地址相互映射的一个 分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)
- 一些在线dns查询工具
- VirusTotal:https://www.virustotal.com/#/home/search
- DNSdumpster:https://dnsdumpster.com/
基于SSL证书的查询
- 一些常用的查询地址
爆破枚举
- 在线子域名收集
- orangescan:https://github.com/0xbug/orangescan
- 离线子域名收集
- layer子域名挖掘机
- 用来挖掘子域名,输入域名,点击启动即可查询
- subDomainsBrute
- 用来挖掘子域名,使用Python2运行得到一个子域名文本
- layer子域名挖掘机
社工信息收集
邮箱账号
- 通过说明文档以及网站页面收集,或者网站发表者以及留言板信息处收集账号
- 通过 teemo,metago,burpusit,awvs,netspker 或者 google 语法收集
- 搜索相关 QQ 群收集相关企业员工的社交账号
QQ号
- 社工一个qq号: http://www.qqzywang.com/
手机号
各类身份相关信息
身份证
旁站、C段信息
- 旁站:是和目标网站在同一台服务器上的其它的网站。
- C段:是和目标服务器ip处在同一个C段的其它服务器
- 旁站、C段常用的查询方式
- 利用Bing.com,语法为:http://cn.bing.com/search?q=ip:111.111.111.111
- 站长之家:http://s.tool.chinaz.com/same
- 利用Google,语法:site:125.125.125.*
- 利用Nmap,语法:nmap -p 80,8080 –open ip/24
- K8工具、御剑、北极熊扫描器等
- 在线:http://www.webscan.cc/
ip信息收集
真实IP
- CDN介绍
CDN的全称是Content Delivery Network,即内容分发网络。一般只存在于某些用户量特别大的站点,通过此种方式来解决服务器性能的瓶颈。
- 判断CDN存在
- 通过Ping判断是否存在CDN。
- 通过设置代理或者利用在线ping网站来使用不同地区的Ping服务器来测试目标。http://ping.chinaz.com/
- 绕过CDN
如果目标没有使用CDN,可以直接利用ping获得IP地址。或者利用在线网站:http://www.ip138.com/
- 如果目标使用CDN,需要绕过CDN来获取真实IP地址。
- 内部邮箱资源 收集到内部邮箱服务器IP地址
- 网站phpinfo文件phpinfo.php
- 分站IP地址,查询子域名 CDN很贵,很有可能分站就不再使用CDN.
- 国外访问 https://asm.ca.com/en/ping.php
- 查询域名解析记录 https://viewdns.info/
- 利用IP地址对Web站点进行访问,如果正常表明是真实IP地址。否则不为真。
ip段
- 一般IP的话,我们在收集子域名的时候,就大概知道目标网站的IP段了。
- 也可以通过whois命令获取。即通过中国互联网信息中心进行查询
纵向信息收集
端口扫描
- nmap扫描
- nmap扫描后常见端口状态
- open: 端口是开放的。
- closed: 端口是关闭的。
- filtered: 端口被防火墙IDS/IPS屏蔽,无法确定其状态。
- unfiltered: 端口没有被屏蔽,但是否开放需要进一步确定。
- open|filtered: 端口是开放的或被屏蔽。
- closed|filtered : 端口是关闭的或被屏蔽
- nmap常用命令
- -A 综合扫描,包括系统探测,版本探测,脚本探测
- 例: nmap -A 127.0.0.1
- -e 指定网络接口,扫描使使用哪个网卡
- 例: nmap -e 127.0.0.1
- -iL 扫描指定文件中的ip
- 例: nmap -iL 1.txt
- -iR 全网扫描
- 例: nmap -iR 扫描数量
- -O 扫描探测主机操作系统
- 例: nmap -O 127.0.0.1
- -oN 将扫描的信息标准输出写到指定文件中
- 例: nmap -oN F:\a\test.txt 127.0.0.1
- -p 指定端口扫描
- 例: nmap -p80,306 127.0.0.1
- -PO 有些主机关闭了ping检测所以使用这条命令可以跳过ping的探测加快扫描
- 例: nmap -PO 127.0.0.1
- -PS 探测目标主机开放的端口,可以指定一个以逗号分隔的端口 (SYN)
- 例: nmao -PS80,3306,443 127.0.0.1
- -PU 探测目标主机开放的端口,可以指定一个以逗号分隔的端口 (UDP)
- 例: nmao -PU80,3306,443 127.0.0.1
- -sA 向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏。该方式 只能用于确定防火墙是否屏蔽某个端口
- 例: nmap -sA 127.0.0.1
- -sF tcp的扫描一种,发送一个FIN标志的数据包
- 例: nmap -sF 127.0.0.1
- -sL 仅列出指定网段上的每台主机,不发送任何报文到目录 主机
- 例: nmap -sL 127.0.0.1
- -sn 探测网段主机的在线情况返回主机ip和MAC地址
- 例: nmap -sn 127.0.0.1
- -sO 探测主机支持哪些IP协议
- 例: nmap -sO 127.0.0.1
- -sP 对对应主机端的主机发送ICMP报文,查询哪些主机是存活的
- 例: nmap -sP 127.0.0.1/24
- -sS 使用SYN半开放扫描(隐蔽扫描)
- 例: nmap -sS 127.0.0.1
- -sT 扫描开放了TCP端口的设备 三次握手方式的TCP扫描
- 例: nmap -sT 127.0.0.1 == nmap 127.0.0.1
- -sU 扫描开放了UDP端口的设备
- 例: nmap -sU 127.0.0.1
- -sV 用于扫描目标主机服务版本号和端口运行的软件的版本 (版本检测)
- 例: nmap -sV 127.0.0.1
- -sW 窗口扫描,得出一些端口信息
- 例: nmap -sW 127.0.0.1 -p80
- -v 表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态
- 例: nmap -v 127.0.0.1
- -A 综合扫描,包括系统探测,版本探测,脚本探测
- nmap扫描后常见端口状态
- Router Scan2.53
- 加一个ip的范围,开启扫描
网站架构探测
系统级层面,应用级层面
- 系统级层面包含操作系统,中间件,脚本语言,数据库,服务器,web容器
- 应用级层面开发语言,CMS,编辑器
- 使用的方法查询
- wappalyzer插件——火狐插件
- 云悉:http://www.yunsee.cn/info.html
- 查看数据包响应头
- CMS指纹识别:http://whatweb.bugscaner.com/look/
- 指纹识别
- 云悉指纹
- whatweb 查看一下是不是dedecms,然后使用cms的漏洞进行攻击
- wappalyer google的插件
- 指纹识别
WAF探测
Waf也叫Web应用防火墙,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
- 一些方式
- 手工(提交恶意数据,简单粗暴)
- Kaili工具(WAFW00F、Nmap)
- Nmap探测WAF有两种脚本
- 一种是http-waf-detect。
- 命令:nmap -p80,443 --script=http-waf-detect ip
- 一种是http-waf-fingerprint。
- 命令:nmap -p80,443 --script=http-waf-fingerprint ip
- 一种是http-waf-detect。
- WAFW00F探测WAF
- 命令:wafw00f -a 域名
- Nmap探测WAF有两种脚本
敏感文件、目录
-
敏感文件、敏感目录大概有以下几种:
- Git
- hg/Mercurial
- svn/Subversion
- bzr/Bazaar
- Cvs
- WEB-INF泄露
- 备份文件泄露、配置文件泄露
-
敏感文件、敏感目录挖掘一般都是靠工具、脚本来找。
- 一些工具
- 御剑
- 爬虫(AWVS、Burpsuite等)
- 搜索引擎(Google、Github等)
- wwwscan
- BBscan(一位大佬写的python脚本:https://github.com/lijiejie/BBScan )
- GSIL(一位大佬写的python脚本:https://github.com/FeeiCN/GSIL )
- 一些工具