个人收集的信息打点方式整理如下:
信息收集接口及工具
在线端口扫描属于被动信息搜集,优点是扫描目标端口的数据不从你的主机出发,所以目标不会封你的IP
在线端口扫描工具:coolaf.com/tool/port
数据库常见端口:
MySQL: 3306
Oracle: 1521
SQL server:1433
DB2: 5000
PostgreSQL:5432
DM: 5236
Redis: 6379
Memcached:11211
MongoDB: 27017
超级ping:CDN服务识别 多个地点Ping服务器,网站测速 - 站长工具 (chinaz.com)
Masscan:端口扫描,应用协议 https://github.com/robertdavidgraham/masscan
Wafw00f:Web应用防火墙识别 https://github.com/EnableSecurity/wafw00f
Nmap:端口扫描,应用协议,防火墙识别 https://github.com/nmap/nmap
lbd:负载均衡,广域网负载均衡,应用层负载均衡
相关利用项目:
CMS识别:yunsee.cn-2.0
敏感目录文件扫描-7kbscan-WebPathBrute
GitHub - 7kbstorm/7kbscan-WebPathBrute: 7kbscan-WebPathBrute Web路径暴力探测工具
敏感文件泄露
网站备份文件-习惯不好
如果放在网站根目录下那么用户就有权限访问到,如果放在网站根目录上一级就访问不到。但也有访问IP地址解析到上一级的情况
源码泄露——CVS&GIT&SVN&DS_Store
Git泄露-配置不当
开发者为了方便自己启用了云同步功能的.git目录。在目标网站目录后跟/.git。如果报了403也说明文件存在。然后用GitHack脚本获取源码
GIT:https://github.com/lijiejie/GitHack
SVN泄露-配置不当
与Git泄露类似,网站有/.svn/entries目录。然后用SvnHack脚本获取源码
SVN:https://github.com/callmefeifei/SvnHack
DS_Store泄露-配置不当
与前两个类似,网站有/.DS_Store目录。然后用ds_store_exp脚本获取源码
DS_Store:GitHub - lijiejie/ds_store_exp: A .DS_Store file disclosure exploit. It parses .DS_Store file and downloads files recursively.
composer.json泄露-PHP特性
与前三个类似,网站有/composer.json目录,能看到CMS、框架、插件信息
WEB-INF泄露-下载配合
WEB-INF
是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF
主要包含一下文件或目录:
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则. WEB-INF/database.properties : 数据库配置文件 WEB-INF/classes/ : 一般用来存放Java类文件(.class) WEB-INF/lib/ : 用来存放打包好的库(.jar) WEB-INF/src/ : 用来放源代码(.asp和.php等)
通过找到 web.xml 文件,推断 class 文件的路径,最后直接 class 文件,再通过反编译 class 文件,得到网站源码。
GITHUB泄露-资源监控
语法搜索、关键字搜索、社工
对目标网站进行抓包,一般代码中会有开发者注释,注释中一般会有开发者的个人信息,搜集到这些信息后去Github、gitee、必应、谷歌搜索,可能会找到网站使用的CMS等信息。
可以通过开设服务器部署脚本监控Github上的资源。
GITHUB资源搜索语法
in:name test #仓库标题搜索含有关键字
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
stars:>3000 test #stars数量大于3000的搜索关键字
stars:1000..3000 test #stars数量大于1000小于3000的搜索关键字 forks:>1000 test #forks数量大于1000的搜索关键字
forks:1000..3000 test #forks数量大于1000小于3000的搜索关键字 size:>=5000 test #指定仓库大于5000k(5M)的搜索关键字 pushed:>2019-02-12 test #发布时间大于2019-02-12的搜索关键字 created:>2019-02-12 test #创建时间大于2019-02-12的搜索关键字 user:test #用户名搜素
license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字 language:java test #在java语言的代码中搜索关键字
user:test in:name test #组合搜索,用户名test的标题含有test的
关键字配合谷歌搜索语法
site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @126.com
site:Github.com smtp @163.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
site:Github.com String password smtp
端口扫描
Masscan&Nmap:Masscan速度比Nmap快很多
端口渗透总结 - Se7en's Blog|专注渗透测试。 (se7ensec.cn)
主动式探针和被动式探针
主动式探针指打点者通过工具从本地流量出发探针目标信息。
被动式探针指打点者通过网上的一些接口来查询(在线端口扫描工具),或网站已经取到网站信息和历史记录(测绘空间或站长工具等)。
在挖掘一些SRC时会被明令禁止主动式探针,因为会造成网站流量堵塞、应用不能正常运行。所以扫描工具(如Nmap)一定不能乱用!!!即使你不乱搞!!!
还有一点,端口扫描不要扫错了。一些网站是部署了CDN的,需要你找到网站的真实IP后再扫。如何绕过CDN这里不再赘述。如果端口扫描扫不出来有可能是因为服务器挂在了内网或者部署了防火墙。
Web架构-语言&中间件&数据库&系统
1.可以访问网站查看返回头里的信息,一般来说会显示中间件信息
2.可以通过必应、谷歌搜索“site:xxx.com php(jsp)”来确定网站的语言资产
3.可以通过修改网站目录下文件名(注意不要改提交参数大小写)大小写来判断是Windows还是Linux;或者通过ping命令查看TTL值判断系统信息。不过这两种方法得出的结果不一定准确。就算是Windows系统,也可能会受到中间件的影响让大小写失效,还要注意在尝试修改大小写时某些浏览器会自动恢复大小写。TTL值也可以被网站管理员更改设置。 还有大型网站用Linux的居多,因为相较于Windows来说漏洞要少一些
4.注意语言、中间件、数据库和系统之间的配套。一般来说php+MySQL、JSP+mssql、IIS+Windows、Oracle或SQL server+JSP或.Net
5.端口扫描看数据库开放端口
6.Wappalyzer插件 Find out what websites are built with - Wappalyzer
最方便快捷的浏览器插件,点开目标网站后Wappalyzer会自动呈现出网站的各种信息
域名
域名注册网上、搜索引擎上搜索相似域名、二级域名、备案信息、公司名字
WEB服务应用
RDP、FTP、SSH、REDIS各种服务会出现弱口令、未授权访问问题
爆破这类服务强烈推荐使用Hydra
旁注&C段
旁注:同服务器下面的不同WEB应用查询技术
C段:同网段下面的不同服务器IP下的WEB应用查询技术(可以用masscan)
www.webscan.cc
WAF
看图识WAF:看图识WAF——搜集常见WAF拦截页面 - Charon·1937 - 博客园 (cnblogs.com)
WAF指纹识别工具:GitHub - EnableSecurity/wafw00f: WAFW00F allows one to identify and fingerprint Web Application Firewall (WAF) products protecting a website.
负载均衡
负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性
可用ldb工具检测网站是否存在负载均衡
负载均衡和CDN的区别:关于CDN和负载均衡的理解_1柳林听风1的博客-CSDN博客_cdn和负载均衡区别
防火墙
系统防火墙&硬件防火墙
系统防火墙:入站出站策略,阻止一些协议流量的出入。在内网中考虑比较有意义
防火墙识别:防火墙识别_aFa攻防实验室的博客-CSDN博客_防火墙识别