信息收集概览
渗透测试的流程
信息收集包括的内容
域名信息、IP段、开放的端口、网站架构、文件目录结构、软件版本、WAF、旁站、C段....
域名信息收集
用IP地址来对网站进行访问过于繁琐且不好记忆,域名便是代替了IP。
国际域名:.com(商业公司);.net(网络服务);.org(组织协会等);.gov(政府部门);.edu(教育机构);.mil(军事领域);.int(国际组织)
新顶级域名:biz,info,name,pro,aero,coop,museum.........(原有域名已经快被消耗殆尽)
www.baidu.com——>域名解析服务(DNS)——>220.181.38.148
子域名信息
真实IP:指公网IP地址(大约40亿,xxx.xxx.xxx.xxx,一个xxx代表0-255)
找到真实IP就可以访问这个IP的C段和端口,方便进一步渗透,但是有的网站挂了CDN,我们必须绕过CDN获取真实IP
由于CDN加速需要支付一定的费用,所以很多网站可能只对主站做了CDN加速,而对其子域名没有做,而且子域名和主站很可能在同一个服务器或者同一个C段上,所以可以通过查询子域名的IP来辅助判断主站的IP信息
通过查询DNS与IP绑定的历史记录就有可能发现之前的真实IP信息,一般通过第三方服务网站进行查询:
DNSdb:https://dnsdb.io/zh-cn/
微步在线:微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区
部分国内的CDN加速服务商只对国内线路做了CDN加速,但是对国外的线路没有做加速,这样就可以通过国外的主机来探测真实IP信息
利用网站的漏洞和信息泄露的敏感文件信息,比如(PHPinfo文件,网站源码文件,Github文件泄露)等获取真实IP
邮件信息中会记录邮件服务器的IP信息,有些站点拥有类似于RSS邮件订阅功能。可以利用其发送邮件,通过查看源码的方式查看服务器的真实IP
旁站:与攻击目标在同一服务器的不同网站,在攻击目标没有漏洞的情况下,可以通过查找旁站的漏洞攻击旁站,然后再通过提权拿到服务器的最高权限,拿到服务器的最高权限后攻击目标也就拿下了。
通过站长工具进行同IP的查询:同IP网站查询,同服务器网站查询 - 站长工具
通过引擎查询:通过bing搜索ip:220.181.38.150 - 搜索
C段查询主要是当前的IP攻击不下来的时候,可以攻击它的C段。
fofa等空间探测引擎:domain="baidu.com"
透明证书:当您通过安全连接(HTTPS)访问某个网站时,该网站回想浏览器提供数字证书。此证书用于识别该网站的主机名,由已验证网站所有者的证书授权中心(CA)签发。只要用户信任相应的CA ,便可相信证书中提供的身份证明
聚合工具: 结合了爆破,证书,搜索引擎,DNS解析记录。(oneforall)
Windows:netstat -aon|findstr 3306
子网掩码8位,11111111.00000000.00000000.00000000代表:255.0.0.0(A类IP地址)
CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;
前端技术:比如HTML5、jquery、bootstrap、vue、ace等
开发语言:如PHP,Java,ruby、python、c#等
web服务器:如apache、nginx、IIS、lighttpd等
应用服务器:如tomcat、JBoss、weblogic、websphere等
操作系统信息:如Linux、win2k8、win7、kali、centos等
CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七牛云、阿里云等
WAF(web应用防火墙)信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等
包括:博客系统,微博团购团战、导航网站、信息分类、百科网站.....
wappalyzer:Find out what websites are built with - Wappalyzer
whatruns:WhatRuns — Discover What Runs a Website
TideFinger 潮汐指纹 TideFinger 潮汐指纹
https://github.com/Tuhinshubhra/CMSeek
通过查询CDN解析记录,来获取到别名解析记录,从而有可能会获得CDN的信息
软件型WAF(部署在Apache、Nginx等HTTPServer中)
指纹库:https://github.com/CSecGroup/wafid/blob/master/finger.xml
kali自带:https://github.com/EnableSecurity/wafw00f
nmap URL --script=http-waf-detect.nse
sqlmap -u "URL(动态地址)" --identify-waf
其他:https://github.com/0xlnfection/Awesome-WAF
语法数据库:Google Hacking Database (GHDB) - Google Dorks, OSINT, Recon
https://github.com/BullsEye0/google_dork_list
网络空间(Cyber space),搜索引擎:1996年数字图书馆的成立到1998年谷歌诞生并有了网页,可以非常方便的检索网页内容。 随着网络空间的发展:出现了专门的搜索引擎可以去搜索图片、音乐、声音(电视剧)等等,进一步发展之后可以分为网络系统,如CDN、CMS、IDS、办公软件、数据库服务、杀毒软件、文件服务NFS等,网络设备如:手机、交换机、平板电脑、路由器、网络摄像头、私人网盘、打印机、ATM、物联网家电、机器人等等,工业系统如:交通信号灯、企业大屏幕、公园控制系统、加油站、电网、自来水厂、核电站等等这些个节点,网络空间正是由这些节点组成。
常规的搜索引擎无法对这些节点进行一个全面的搜索,所以导致网络空间搜索引擎的出现。
open source intelligence(开源的网络情报收集)
网络空间搜索引擎可以使用IP地址(域名)、开放端口、操作系统、物理地址、MAC地址、设备类型等去进行标识。
实施威胁地图:https://www.fireeye.com/cyber-map/threat-map.html
基本介绍:地图、截图、监控,新手指引,视频教程,开发者工具,filter过滤器(e.g)Explore
alert Manage the network alerts for your
convert Convert the given input data file
count Returns the number of results for a
download Download search results and
honeyscore Check whether the IP is a
honeypot or not. # 检查 IP 是否为蜜罐
host View all available information for an
info Shows general information about
init Initialize the Shodan command-line #
myip Print your external IP address # 输出
parse Extract information out of
compressed JSON... # 解析提取压缩的JSON信
scan Scan an IP/ netblock using
Shodan. # 使用 Shodan 扫描一个IP或者网段
search Search the Shodan database # 查询
stats Provide summary information about
stream Stream data in real-time. # 实时显示
shodan count vuln:cve-2019-0708
shodan search --fields ip_str,port,org,
shodan download --limit -1 test net:172.67.
GitHub - knownsec/Kunyu: Kunyu, more efficient corporate asset collection
https://github.com/coco413/DiscoverTarget
GitHub - saucer-man/saucerframe: python3批量poc检测工具
在部署的网站上有一些敏感文件,如配置文件(xxx.cfg),数据文件(xxx.sql),特殊的目录(/backup、/conf、/admin)。
由于配置不当导致目录信息外、本地文件包含漏洞也会造成目录扫描。
会泄露数据库用户名和密码,服务器的用户名和密码,数据库的文件。
robots.txt文件:对爬虫机器人的规范和限制。会提示攻击者有某些关键文件
网站的备份文件/数据:不定时的进行备份,虚拟系统在线压缩在指定的路径和文件名下生成一个压缩包(压缩文件),里面存在着网站全部的备份文件。对数据:帝国备份王
Linux:/etc/passwd;/etc/shadow;/etc/sudoers
在域名后直接加上想要查询的文件名,看返回状态码,如果是200,则存在
代码的恢复需要备份。修改仓库难以管理,对整个工程直接打包,占存过大。
发展:本地VCS,当程序员们进行协同开发时,会产生文件冲突的问题,这时就需要一个可以自动合并且不冲突、标记冲突的内容的集成化的工具。
为什么GIt会导致信息泄露: 将私有仓库/隐私文件提交到了GitHub上
部署项目的时候,不小心把.git文件一起打包放在了web网站目录下
kali in:path.file ——搜索路径、文件中包含kali的代码
shodan language:python ——搜索关键字shodan,语言python的代码
filename:config.php language:php ——搜索文件名为config.php,且语言为PHP
通过目录扫描、robots.txt、搜索引擎搜索(intitle:"index of/.git")找到.git