网络安全红队在信息收集阶段主要思路是通过各种手段和渠道,收集目标的详细信息,为后续攻击打下基础。网络安全红队打点打点信息收集思路及教程信息收集的主要内容包括域名、子域名、网站、真实IP、敏感目录文件、开放端口和中间件信息等。这些信息有助于发现渗透点和突破口。具体思路如下:
- 网站管理员信息查询工具:
- 站长之家的Whois反查功能:通过输入域名,可以查询到该域名的注册信息,包括管理员联系方式和邮箱。但请注意,这些信息可能并不总是准确的,因为有些网站可能会使用虚假的联系信息进行注册。
- 第三方查询服务:
- 爱站、微步等平台也提供了类似的Whois反查功能,可以帮助您查询到网站的注册信息。 3- 国际Whois服务:
- 国外的who.is、国内的CNNIC的IP地址查询等服务,都可以帮助您获取到网站的基本信息。
- ICP备案查询:
- 通过ICP备案查询网站,您可以了解到该网站的主办单位和其他备案信息,这有助于您更全面地了解目标网站。
- 企业信用信息查询:
- 国家企业信用信息公示系统可以帮助您查询到企业的注册信息、经营状况等重要数据,对于企业信息的收集和分析非常有帮助。
- SEO查询工具:
- 爱站和站长之家的SEO综合查询功能,可以帮助您收集到特定网站的备案信息、名称、注册人等信息,以及该网站的搜索引擎优化情况。
- 搜索引擎利用:
- 通过Google、Bing等搜索引擎,结合特定的搜索语法,您可以收集到大量的敏感信息和隐藏资产。但请注意,某些搜索结果可能需要额外的步骤来验证其准确性。
- Github搜索技巧:
- GitHub是一个代码托管平台,通过掌握正确的搜索语法,您可以找到泄露的源码和其他有价值的信息。
- 网络安全扫描工具:
- Shodan是一个网络搜索引擎,可以帮助您发现网络上的设备和服务,对于网络安全研究和信息收集非常有帮助。
- 专业信息收集工具:
- 知道创宇的钟馗之眼、360的Quake等工具提供了丰富的搜索语法,可以帮助您在特定领域内进行深入的信息收集。 在使用这些工具和方法时,请务必遵守法律法规和道德规范,不要用于非法用途或侵犯他人隐私。同时,也要注意保护自身的信息安全,避免泄露敏感信息。
同时我们也可以使用相关接口进行信息收集,例如:api平台 在这个平台里面搜素漏洞 可以搜索到相关接口来进行使用,例如将漏洞管理接口使用在工具中,更好的配合工具使用,也是美滋滋的。
通过当前APP查询同开发者应用
当你不确定目标产品是什么时,比如你不知道他是谁家的WAF或者路由器,可以利用查看网站logo地址,然后复制logo地址,点击按图片搜索,到谷歌里面查询;也可以把目标logo下载下来,利用上传图片来查询,通过搜索出来的结果可以判断目标产品和厂商。
首先先来介绍一下什么favicon.ico文件,所谓favicon,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。favicon.ico也被称为 website icon(网页图标)、page icon(页面图标)或url icon(URL图标),具体细节请问度娘。下面这个小东西是 Favicon.ico,我们可以通过在shodan里寻找它的哈希并去查找相关资产,打开shodan页面,或者用shodan插件都行。
点击浏览器网站旁边的小锁,然后点击证书可以查看到该网站的SSL证书了
大厂商的SSL证书一般都是一证多用,根据证书透明日志这个特性,可以得知一些子域名。
如百度:https://www.baidu.com
如搜狐:https://vpn.sohu-inc.com
有时候https证书报错会泄露域名
https://crt.sh/
https://censys.io/
有许多第三方服务聚合了大量的DNS数据集,并通过它们来检索给定域名的子域名。
https://www.virustotal.com/#/home/search
https://dnsdumpster.com/
https://www.dnsdb.io/zh-cn/
robots.txt
crossdomain.xml(跨域策略文件cdx)
从流量中分析提取
搜索引擎查询都会做一些反制爬虫的手段,目前使用google去采集的方法是调用google的官方API,或者调用bing的API去辅助采集。
http://d.ximcx.cn/
http://tool.chinaz.com/subdomain/
DNS服务器(如8.8.8.8和8.8.4.4)可以被利用来验证字典中的子域名是否存在。例如,向114.114.114.114请求www.qq.com的记录,如果返回一条指向182.254.34.74的A记录,这表明该子域名存在;相反,如果没有返回wooyun.qq.com的相关记录,则说明该子域名不存在。
通常,建议使用同一组主副DNS服务器(如8.8.8.8和8.8.4.4),避免混用不同的DNS服务器,这可能导致误报。
虽然可以使用第三方库(如lijiejie的subDomainBrute使用的dnspython库)来发送请求,但这可能会带来封装问题,无法深入了解DNS报文协议,并可能降低效率。特别是泛解析问题,即向DNS请求*记录,然后与枚举子域名的结果进行比对来排除相同结果,这在使用第三方库时无法实现,因为某些包只返回IP而不包括CNAME信息。
Layer子域名挖掘机是一款功能强大的域名查询工具,提供网站子域名查询服务。它具有简洁的用户界面和简单的操作模式,支持服务接口、暴力搜索和同服挖掘三种模式。此外,它还支持多种导出选项,包括域名、IP、CDN信息等。
通过查看WEB服务器信息,可以筛选出版本较低的服务器(如win2003+iis6.0),并检查每个子域名是否开启了常见的端口(如3389、3306、21端口等)。利用爆破工具进行枚举,可以显著提高效率。
DNS服务器(如8.8.8.8和8.8.4.4)可以被利用来验证字典中的子域名是否存在。例如,向114.114.114.114请求www.qq.com的记录,如果返回一条指向182.254.34.74的A记录,这表明该子域名存在;相反,如果没有返回wooyun.qq.com的相关记录,则说明该子域名不存在。
通常,建议使用同一组主副DNS服务器(如8.8.8.8和8.8.4.4),避免混用不同的DNS服务器,这可能导致误报。
虽然可以使用第三方库(如lijiejie的subDomainBrute使用的dnspython库)来发送请求,但这可能会带来封装问题,无法深入了解DNS报文协议,并可能降低效率。特别是泛解析问题,即向DNS请求*记录,然后与枚举子域名的结果进行比对来排除相同结果,这在使用第三方库时无法实现,因为某些包只返回IP而不包括CNAME信息。
Layer子域名挖掘机是一款功能强大的域名查询工具,提供网站子域名查询服务。它具有简洁的用户界面和简单的操作模式,支持服务接口、暴力搜索和同服挖掘三种模式。此外,它还支持多种导出选项,包括域名、IP、CDN信息等。
通过查看WEB服务器信息,可以筛选出版本较低的服务器(如win2003+iis6.0),并检查每个子域名是否开启了常见的端口(如3389、3306、21端口等)。利用爆破工具进行枚举,可以显著提高效率。
四、IP信息收集
首先,我们需要判断目标域名是否使用了CDN(内容分发网络)。可以通过访问在线CDN查询网站(如http://ping.chinaz.com/)来进行检查。如果返回的IP地址多于一个,则这些IP很可能不是服务器的真实地址。具体来说,如果IP数量为2个或3个,且这些IP属于同一地区的不同运营商,那么这些可能是服务器的出口地址,服务器位于内网中,通过不同运营商的NAT映射供互联网访问,同时使用多个运营商可以实现负载均衡和热备份。若IP数量更多,且分布在不同地区,则很可能是采用了CDN服务。
- CDN概念 内容分发网络(CDN)是一种通过互联网互相连接的计算机网络系统,利用靠近用户的服务器,更快、更可靠地传输音乐、图片、视频、应用程序及其他文件给用户。CDN的主要目的是提供高性能、可扩展性及低成本的网络内容传输。
- 判断是否为真实IP
- nslookup:使用命令行工具或在线平台(如http://tools.bugscaner.com/nslookup/)进行查询,CDN通常会返回多个IP地址。
- 多地ping测试:检查IP地址是否一致,可用的在线工具包括http://ping.chinaz.com/和http://ping.aizhan.com/。
- IP反查:如果一个IP绑定了多个域名,那么这个IP可能不是真实的服务器IP。
- 绕过CDN寻找真实IP
- 子域名探测:由于CDN成本较高,很多网站仅对主站使用CDN,而子站点可能没有使用。因此,可以通过之前收集到的子域名来查找真实的IP地址,进而确定网站的真实C段IP。
- 历史DNS解析记录:查询未使用CDN前的DNS服务器解析记录,可能会找到使用CDN前的IP与域名绑定记录。可使用的资源包括https://dnsdb.io/zh-cn/、https://x.threatbook.cn/、http://toolbar.netcraft.com/site_report?url=和http://viewdns.info/。
五、基本目录、敏感目录及文件
在信息收集过程中,需要关注可能因服务器配置不当而导致的目录浏览功能开放,这会引发信息泄露和安全隐患。需要收集的敏感目录/文件信息包括:
- robots.txt
- crossdomin.xml
- sitemap.xml
- 后台管理目录
- 网站安装包
- 网站上传目录
- mysql管理页面
- phpinfo
- 网站文本编辑器
- 测试文件
- 网站备份文件(.rar、zip、.7z、.tar.gz、.bak)
- .DS_Store 文件
- vim编辑器备份文件(.swp)
- WEB-INF/web.xml文件
目录扫描对于信息收集极为重要,例如,robots文件中可能泄露网站的后台或CMS信息;安装包中可能包含网站源码;phpinfo可能透露服务器配置信息;编辑器和上传页面可能存在可以利用的漏洞;mysql管理界面和后台管理页面可能存在弱口令或可通过爆破尝试登录。
此外,robots.txt文件是针对搜索引擎机器人编写的纯文本文件,可以指定不允许robot访问的目录,从而保护网站的部分或全部内容不被搜索引擎收录。
工具地址:https://github.com/maurosoria/dirsearch
002目录信息dirsearch
工具地址:https://downloads.sourceforge.net/project/dirbuster/DirBuster%20%28jar%20%2B%20lists%29/1.0-RC1/DirBuster-1.0-RC1.zip?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fdirbuster%2Ffiles%2FDirBuster%2520%2528jar%2520%252B%2520lists%2529%2F1.0-RC1%2F&ts=1491212671&use_mirror=jaist
当使用扫描工具对站点进行扫描,网站存在WAF后,会给我们的工具进行拦截,这时候我们需要修改User Agent值来绕过WAF的拦截,而DirBuster这款扫描工具便可以修改User Agent值
Mozilla/5.0 (compatible; Baiduspider/2.0; http://www.baidu.com/search/spider.html) 百度蜘蛛抓取欺骗
Mozilla/5.0 (compatible; Googlebot/2.1; http://www.google.com/bot.html) 谷歌蜘蛛抓取欺骗
Firefox 3.6 Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8;baidu Transcoder) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729) 百度转码浏览欺骗
Chrome Mozilla/5.0 (en-us) AppleWebKit/534.14 (KHTML, like Gecko; Google Wireless Transcoder) Chrome/9.0.597 Safari/534.14 谷歌转码浏览欺骗
通过端口扫描可以判断出网站开启的服务,从而通过爆破枚举或者漏洞利用进行突破,进一步提升网站权限,常见的如 135 、137 、138 、139 、445,这几个端口经常爆发漏洞。
扫描到的端口也许是网站的一个旁站,可以尝试对旁站进行漏洞探测,但是有些服务开启的端口可能被管理员修改,通过手工判断分析即可(例如开启了8888端口,通过尝试远程桌面连接确定该端口为3389修改过的端口)。
显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ),也包括监听连接请求(LISTENING )的那些连接,
断开连接(CLOSE_WAIT )或者处于联机等待状态的(TIME_WAIT )等 :netstat -a
以数字形式显示地址和端口号,显示所有已建立的有效连接:netstat -n
列出所有端口的情况:netstat -ano
查看被占用端口80对应的应用的PID:netstat -ano|findstr “80”
查看80端口被哪个进程或程序占用:tasklist|findstr “80”
结束该进程或程序:taskkill /f /t /im XX.exe
http://coolaf.com/tool/port
https://tool.lu/portscan/index.html
端口扫描工具常见有nmap和masscan。nmap扫描的准确性较高,但是扫描的比较慢。masscan扫描的比较快,但是准确性较低,如果网站存在WAF可以通过调节扫描线程或者利用FTP连接工具、SSH连接工具、Mysql连接等工具进行手工探测
Nmap扫描中一些常见的服务
msmq? :默认对于的是1801端口,是 MSMQ Microsoft Message Queuing微软消息队列的简称,是windows系统提供的一个功能,开启了该功能,则默认1801端口打开。该服务暂未发现漏洞。
msrpc:Microsoft Remote Procedure Call微软远程过程调用,是 Windows 操作系统使用的一个协议。RPC 提供一种内部进程通讯机制,允许在一台电脑上运行的程序无缝的执行远程系统中的代码。
tcpwrapped:端口状态后经常标记tcpwrapped。tcpwrapped表示服务器运行 tcp_wrappers服务。tcp_wrappers是一种应用级防火墙。它可以根据预设,对SSH、Telnet、FTP服务的请求进行拦截,判断是否符合预设要求。如果符合,会转发给对应的服务进程;否则,会中断连接请求。这说明tcp三次握手已经完成,但是并没有和目标主机建立连接。这表明,虽然目标主机的某项服务是可提供的,但你不在允许访问主机的名单列表中。当大量的端口服务都为tcpwrapped时,这说明可能是有负载均衡或者防火墙阻断了你的连接请求。
Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP):这是SQL Server中的SQL Reporting Service 服务使用的Microsoft HTTPAPI。
旁站:是和目标网站在同一台服务器上的其它网站
C端:是和服务器IP处在一个C段的其他服务器
对于防护比较强的主站,通常是很难挖掘到漏洞的,这时需要查看该站点的旁站,通过探测旁站的漏洞进行利用,从而拿下主站的权限。
当网站不存在旁站时,需要进行C段探测(有些网站买断了相邻的几个IP做为分站,如果拿到分站的管理员敏感信息,如密码之类的,可以尝试对主站进行撞库),通过拿下C段中服务器进行ARP欺骗达到劫持域名的效果
对于红蓝对抗和护网,C段扫描比较有意义。对于单独网站的渗透测试,C段扫描意义不大。C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段是192,B段是168,C段是0,D段是1,而C段嗅探的意思是拿下它同一C段中的其中一台服务器,也是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
http://s.tool.chinaz.com/same
https://dns.aizhan.com/
site:125.125.125.*
http://cn.bing.com/search?q=ip:111.111.111.111
fofa、shodan在线工具 语法:ip=”106.15.141.18/24″
nmap -p 22,21,443,8080-Pn 172.178.40.0/24
nmap -p 80,8080 –open ip/24
masscan -p 22,21,443,8080-Pn –rate=1000172.178.40.0/24
服务器信息包括服务器用的操作系统:Linux 还是 Windows 。现在企业网站服务器的操作系统有百分之九十以上用的是Linux操作系统。知道了服务器的操作系统之后,还需要知道操作系统使用的具体版本。因为很多低版本的操作系统都存在已知的漏洞。
判断是Linux还是Windows最简单是通过ping来探测,Windows的TTL值都是一般是128,Linux则是64。所以大于100的肯定是Windows,而几十的肯定是Linux。但是,通过TTL值来判断服务器类型也不是百分之百准确的,有些windows服务器的TTL值也是几十,而且有的服务器禁止ping。
而判断目标网站服务器的具体的版本的话,可以采用 nmap 进行扫描, -O 和 -A 参数都能扫描出来
检测服务器平台、版本等,获取后可以制定漏洞挖掘方案(如IIS6.0存在解析漏洞等)。
将首页或者其他页面通过修改大小写辨别网站所使用的系统:
区分大小写(页面报错)–Linux
不区分大小写(页面正常)–Windows
http://www.yunsee.cn/,根据IIS版本判断Windows系统,系统对应版本通过搜索引擎查找。
注:使用AppScan、WVS等扫描工具也可以判断。
我们需要知道网站用的脚本类型:php 、Jsp 、Asp 、Aspx 。
1)可以根据网站URL来判断
2)site:xxx filetype:php
3)可以根据Firefox的插件来判断
通过修改index.xxx后缀内容(为ASPASPXPHPJSP),查看页面返回情况,页面返回正常便可以判断脚本类型,判断脚本类型是信息收集中最基本的工作之一。
在网站搜索框中输入任意字符,查询后,通过浏览器上的URL判断网站脚本类型。
Webrobot
在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。这是我们想要识别这些网站的指纹,我们可以利用以下一些指纹识别在线网站。
识别dedecms、phpcms、emlog、帝国cms等,通过网站使用的CMS找取该CMS已经公布的漏洞进行利用,进一步渗透网站。
https://www.yunsee.cn/
https://www.wappalyzer.com/
http://whatweb.net/
http://whatweb.bugscaner.com/
http://finger.tidesec.net/
我们需要知道网站用的是哪种类型的数据库:Mysql、Oracle、SqlServer 还是 Access 。虽然这几种数据库的语法大体上相同,但是还是有区别的。所以我们还是要知道目标网站用的是哪种数据库,并且数据库是哪个版本的
各端口对应数据库类型:
sql server–1433
oracle–1521
mysql–3306
postgresql–5432
access–默认不开放连接端口,数据库存储在FTP服务器上。
几种数据库的区别:
Access 全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能会下降。数据库后缀名: .mdb 一般是asp的网页文件用access数据库
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf
MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面。默认端口是3306
Oracle又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521
首先,成本上的差距,access是不要钱的,mysql也是开源的,sql server 是收费的一般也几千,Oracle的费用则数万。其次,处理能力,access支持千以内的访问量,sql server支持几千到上万的访问,而Oracle则支持海量的访 问。再次,从数据库的规模来看,access是小型数据库,,mysql 是中小型数据库,sql server是中型数据库,Oracle是大型数据库。
通常情况:access–asp mysql–php oracle–jsp sqlserver–aspx
postgresql–php,常见搭配:
ASP 和 ASPX:ACCESS、SQL Server
PHP:MySQL、PostgreSQL
JSP:Oracle、MySQL
端口扫描判断数据库类型的方法较为准确,但是管理员也可能选择不开放外网数据库端口,开放内网的数据库端口,也有些管理员喜欢使用站库分离的方法或者使用WAF进行拦截端口扫描来防护站点,这样我们通过端口扫描判断数据库类型的方法便有些失效了。
判断安全狗、阿里云云盾、360网站卫士、护卫神等WEB应用程序防火墙,便于采取绕过WAF的办法。
Nmap探测WAF有两种脚本。
一种是http-waf-detect。
命令:nmap -p80,443 –script=http-waf-detect ip
一种是http-waf-fingerprint。
命令:nmap -p80,443 –script=http-waf-fingerprint ip
WAFW00F探测WAF
命令:wafw00f -a 域名
云悉WEB资产梳理
在搜索框中输入XSS弹窗代码<script>alert(‘XSS’)</script> ,WAF拦截后判断WAF。
在可能存在的注入页面输入检测注入漏洞代码and 1=2,被WAF拦截后判断WAF。
·1弱口令默认后台:admin,admin/login.asp,manage,login.asp等等常见后台
·2查看网页的链接;一般来说,网站的主页有管理登陆类似的东西,大多数在网站底部版权处或鲁在冒页导肌程等,有些可能被管理员删掉
·3查看网站图片的属性有可能图片是上传大管理后台目录,但是是在前台显示
·4查看网站使用的管理系统,从而确定后台
·5用工具查找:wwwscan,intellitamper,御剑,进行爬虫、字典穷举扫描
·6robots.txt的帮助:robots.txt文件告诉蜘蛛程序在服务器上什么样的文件可以被查看
·7 GoogleHacker通过语法查找后台
·8查看网站使用的编辑器是否有默认后台,FCK、ewb等默认后台
·9短文件利用短文件漏洞进行猜解
·10、子域名有可能管理后台为admin.xxxxx.com、login.xxxxx.com
·11sqlmap-sql-shell load_file(’d:/wwroot/index.php’);利用sql注入查看文件源码获取后台