当前位置:   article > 正文

安全测试:史上最全的攻防渗透信息收集方法、工具!

安全测试:史上最全的攻防渗透信息收集方法、工具!

信息收集的意义

信息收集对于渗透测试前期来说是非常重要的。正所谓,知己知彼百战不殆,信息收集是渗透测试成功的保障,只有我们掌握了目标网站或目标主机足够多的信息之后,才能更好地进行渗透测试。

信息收集的方式可以分为两种:主动和被动。

  • 主动信息收集

    通过直接访问网站,在网站上进行操作,对网站进行扫描等。这种是有网络流量经过目标服务器的信息收集方式。

  • 被动信息收集

    基于公开的渠道,比如搜索引擎等,在不与目标系统直接交互的情况下获取信息,并且尽量避免留下痕迹。

这两种方式各有优势,主动信息收集你能获取更多的信息,但是目痕迹较为明显,容易被溯源。被动信息收集因为不是针对网站进行特定的扫描,所以一般来说收集的信息会相对较少,但是你的行动并不会被目标主机发现。所以我们要灵活运用不同的收集方式,才能保证信息收集的完整性。

网站信息收集

操作系统

服务器常用的操作系统基本上只有两种:windows和linux,不过在企业服务器中linux系统占大多数,常用的判断方法有三种

  • ping 判断,windows的TTL值一般为128,Linux则为64。所以TTL大于100的一般为windows,几十的一般为linux,但是,通过TTL值来判断服务器类型也不是百分之百准确的,有部分windows服务器的TTL值也是几十,而且有的服务器禁止ping,无法通过该方式探测

  • nmap扫描,可以通过-O或者-A参数来扫描操作系统,优点就是可以扫描到具体的操作系统版本,缺点就是扫描痕迹明显,容易被发现

  • windows大小写不敏感,linux则区分大小写,也可以把这个作为判断操作系统的依据,我们在访问的时候可以尝试把路径部分改成大写,然后去访问,看能否请求成功。

网站服务/容器类型

网站常用的web服务器有:Apache、Nginx、Tomcat 、 IIS。知道了web服务器是哪种类型后,我们还要探测web服务器具体的版本。比如Ngnix版本<0.83会有解析漏洞 ,IIS6.0会有文件名解析漏洞、IIS7.0会有畸形解析漏洞等。不同的web服务器版本,存在着不同漏洞。

  • F12查看响应头Server字段

  • whatweb

    https://www.whatweb.net/

  • wappalyzer插件

    https://www.wappalyzer.com/

脚本类型

网站常见的脚本类型:php 、Jsp 、Asp 、Aspx 、python。

  • 根据网站URL来判断

  • 利用google判断,site:xxx filetype:php

  • 利用wappalyzer插件插件来判断

  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙
  5. 可以免费学习!划重点!开源的!!!
  6. qq群号:691998057【暗号:csdn999

数据库类型

常见的数据库类型

  • Mysql  是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的应用软件之一,MySQL数据库大部分是php的页面。默认端口是3306

  • Sql Server  是由Microsoft开发和推广的关系数据库管理系统(DBMS),是一个比较大型的数据库。端口号为1433。数据库后缀名 .mdf

  • Access  全名是Microsoft Office Access,是由微软发布的关联式数据库管理系统。小型数据库,当数据库达到100M左右的时候性能就会下降。数据库后缀名:.mdb  一般是asp的网页文件用access数据库

  • Oracle 又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。常用于比较大的网站。默认端口是1521

常见搭配:

  • ASP 和 ASPX:ACCESS、SQL Server  + win

  • PHP:MySQL + win/linux、PostgreSQL + linux

  • JSP:Oracle、MySQL   + win/linux

CMS识别

常见CMS:dedecms(织梦)、Discuz、phpcms等。

  • 在线识别工具:

    • http://whatweb.bugscaner.com/look/

    • https://www.yunsee.cn/

  • Onlinetools:

    • https://github.com/iceyhexman/onlinetools

    • https://pentest.gdpcisa.org/

  • Ehole

    • https://github.com/EdgeSecurityTeam/EHole

  • Glass

    • https://github.com/s7ckTeam/Glass

敏感目录,后台

常见目录类型

  • 后台目录:弱口令,万能密码,爆破

  • 备份文件:获取数据库信息,甚至是网站源码

  • 上传目录:截断、上传图片马等

  • mysql管理接口:弱口令、爆破,万能密码,然后获得数据库信息

  • 安装页面 :可以二次安装进而绕过

  • phpinfo:会把你配置的各种信息暴露出来

  • 编辑器:fck、ke等

常用工具

  • dirsearch:   https://github.com/maurosoria/dirsearch

  • 御剑后台扫描工具  https://03w43c.lanzous.com/ivPY5ohubda    密码:gw3m

  • 7kbscan  https://github.com/7kbstorm/7kbscan-WebPathBrute

  • dirmap:    https://github.com/H4ckForJob/dirmap

  • .git泄露      https://github.com/lijiejie/GitHack

  • .svn泄露    https://github.com/admintony/svnExploit

  • js文件:  https://github.com/Threezh1/JSFinder

网站Waf识别

Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

功能:

  • 防止常见的各类网络攻击,如:SQL注入,XSS跨站,CSRF,网页后门等。

  • 防止各类自动化攻击,如:暴力破解,撞库,批量注册,自动发帖等。

  • 阻止其他常见威胁,如:爬虫,0DAY攻击,代码分析,嗅探,数据篡改,越权访问,敏感信息泄露,应用层DDOS、远程恶意包含,盗链,越权,扫描等。

识别方式:

  • wafw00f   https://github.com/EnableSecurity/wafw00f

  • whatwaf   https://github.com/Ekultek/WhatWaf

  • nmap 识别waf  

    nmap -p 80,443 --script http-waf-detect ip
    nmap -p 80,443 --script http-waf-fingerprint ip
  • 看图识waf,常见WAF拦截页面总结

    https://mp.weixin.qq.com/s/PWkqNsygi-c_S7tW1y_Hxw

域名信息收集

域名介绍

域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串。

域名分类

  • 顶级域名:

    • 政府域名:.gov

    • 商业域名:.com

    • 教育域名:.edu

  • 二级域名:baidu.com

  • 三级域名:www.baidu.com

Whois

whois是用来查询域名的IP以及所有者等信息的传输协议。就是一个用来查询域名是否被注册,以及注册域名的详细信息的数据库(如:域名所有人、域名注册商),一般情况下对于中小型网站域名注册者就是网站管理员。通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间。

Whois协议。基本内容是,先向服务器的TCP端口43建立一个连接发送查询关键字并加上回车换行,然后接收服务器的查询结果。

whois查询方式:

  • web接口查询

    • 阿里云域名信息查询:https://whois.aliyun.com/

    • 全球whois查询:https://www.whois365.com/cn/

    • 微步情报社区:https://x.threatbook.cn/

    • 站长之家:http://whois.chinaz.com/

  • whois命令行查询

    • whois baidu.com

备案信息查询方法

ICP备案介绍:Internet Content Provider 网络内容提供商。国家对经营性互联网信息服务实行许可制度;对非经营性互联网信息服务实行备案制度。

查询方式:

  • https://beian.miit.gov.cn/#/Integrated/recordQuery

  • http://icp.chinaz.com/

Whois反查(注册人/邮箱反查)

先通过whois获取注册人和邮箱,再通过注册人和邮箱反查域名。

缺点:很多公司都是DNS解析的运行商注册的,查到的是运营商代替个人和公司注册的网站信息。

  • https://whois.chinaz.com/reverse?ddlSearchMode=1

  • http://whois.4.cn/reverse

  • https://whois.aizhan.com/

子域名收集

子域名指二级域名,二级域名是顶级域名(一级域名)的下一级。

比如:mail.baidu.com和bbs.baidu.com是baidu.com的子域,而baidu.com则是顶级域名.com的子域。

  1. 搜索引擎:google hacking

    site:hetianlab.com
  2. 第三方web接口查询

    • https://dnsdumpster.com/

    • http://tool.chinaz.com/subdomain/

  3. 网络空间安全搜索引擎

    • Fofa:  https://fofa.so/

      domain="baidu.com"
    • Zoomeye:  https://www.zoomeye.org/

      site:"baidu.com"
    • shodan: https://www.shodan.io/

      hostname:baidu.com
  4. ssl证书查询

    • https://crt.sh/

    • https://developers.facebook.com/tools/ct/search/

  5. 工具扫描

    • 子域名挖掘机:https://03w43c.lanzous.com/i8pn2ohw5ha     密码:hmuv

    • Subdomainsbrute  :https://github.com/lijiejie/subDomainsBrute

    • oneforall:https://github.com/shmilylty/OneForAll

    • jsfinder: https://github.com/Threezh1/JSFinder

    • wydomain: https://github.com/ring04h/wydomain

ip信息收集

判断cdn

CDN即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

方法一:

使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:

  • http://ping.chinaz.com/

  • http://ping.aizhan.com/

  • http://ce.cloud.360.cn/

  • http://www.webkaka.com/Ping.aspx

方法二:

使用 nslookup 进行检测,原理同上,如果返回域名解析对应多个 IP 地址多半是使用了 CDN

绕过cdn

  • 国外访问

    因为cdn的设置是需要成本的,因此好多网站设置CDN时没有把国外的访问包含进去,所以可以通过外网访问进行绕过。

    • http://asm.ca.com/en/ping.php

  • 查询子域名的IP

    • https://ip.tool.chinaz.com/ipbatch

      CDN流量收费高,所以很多站长可能只会对主站或者流量大的子站点做了CDN,而很多小站、子站点又跟主站在同一台服务器或者同一个C段内,此时,就可以通过查询子域名对应的IP来辅助查找网站的真实IP

  • phpinfo文件

  • 查看SERVER_ADDR

  • Mx记录邮件服务

  • 网络空间搜索引擎

    • https://fofa.so/

      通过fofa查询网站证书序列号,将16进制转为10进制

      cert="17144636119767802547749573191550762477"

    • https://censys.io/

      443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:hetianlab.com
  • 查询历史DNS记录

    • https://dnsdb.io/zh-cn/

    • https://securitytrails.com/

    • https://viewdns.info/iphistory/

    • https://www.ip138.com/

详细绕过方式可以参考文章https://www.cnblogs.com/tomyyyyy/p/13699134.html

IP反查域名

  • http://stool.chinaz.com/same

  • https://tools.ipip.net/ipdomain.php

如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服务器上面可能运行多个虚拟主机。这些虚拟主机有不同的域名,但通常公用一个IP地址。如果你知道有哪些网站共用这台服务器, 就有可能通过此台服务器上其他网站的漏洞获取服务器控制权,进而迂回获取渗透目标的权限,这种技术也称为“旁注”。

C段存活主机探测

  • Nmap

    nmap -sP www.XXX.com/24
    nmap -sP 192.168.1.*
  • https://github.com/se55i0n/Cwebscanner

  • 通过物联网搜索引擎搜索c段ip信息

端口信息扫描

在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择,从而顺利地将数据包传送给目标主机。

协议端口

根据提供的服务类型不同,端口可分为以下两种:

  • TCP端口:TCP是一种面向连接的可靠的传输层通信协议。

  • UDP端口:UDP是一种无连接的不可靠的传输层协议。

  • TCP协议和UDP协议是独立的,因此各自的端口号也互相独立。

端口类型

  • 周知端口:众所周知的端口号,范围:0-1023,如:80端口是WWW服务。

  • 动态端口:一般不固定分配某种服务,范围:49152-65535

  • 注册端口:范围1024-49151,用于分配给用户进程或程序。

渗透常见端口

FTP-21

FTP:文件传输协议,使用TCP端口20、21,20用于传输数据,21用于传输控制信息。

  • ftp基础爆破:owasp的Bruter,hydra以及msf中的ftp爆破模块。

  • ftp匿名访问:用户名:anonymous 密码:空或任意邮箱

  • vsftpd后门:vsftpd2到2.3.4版本存在后门漏洞,通过该漏洞获取root权限。

  • 嗅探:ftp使用明文传输,使用Cain进行渗透。(但是,嗅探需要在局域网,并需要欺骗或监听网关)

  • ftp远程代码溢出。

  • ftp跳转攻击。

SSH-22

SSH:(secure shell)是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。

  • 弱口令,可使用工具hydra,msf中的ssh爆破模块。

  • SSH后门

  • openssh用户枚举CVE-2018-15473

HTTP-80

超文本传输协议(HTTP)开放的端口,主要用于万维网传输信息的协议。

  • 中间件漏洞,如IIS、apache、ngnix等

  • 80端口一般通过web应用程序的常见漏洞进行攻击。

NetBIOS SessionService-139/445

139用于提供windows文件和打印机共享及UNIX中的Samba服务。

445用于提供windows文件和打印机共享。

  • 对于开放139/445端口,尝试利用MS17010溢出漏洞进行攻击。

  • 对于只开放445端口,尝试利用MS06040、MS08067溢出漏洞攻击

  • 利用IPC$连接进行渗透。

MySQL-3306

3306是mysql数据库默认的监听端口

  • mysql弱口令破解

  • 弱口令登录mysql,上传构造的恶意UDF自定义函数代码,通过调用注册的恶意函数执行系统命令。

  • SQL注入获取数据库敏感信息,load_file()函数读取系统文件,导出恶意代码到指定路径。

RDP-3389

3389是windows远程桌面服务默认监听的端口

  • RDP暴力破解攻击

  • MS12_020死亡蓝屏攻击

  • RDP远程桌面漏洞(CVE-2019-0708)

  • MSF开启RDP、注册表开启RDP

Redis-6379

开源的可基于内存的可持久化的日志型数据库。

  • 爆破弱口令

  • redis未授权访问结合ssh key提权

  • 主从复制rce

Weblogic-7001

Weblogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用,网络应用和数据库应用的Java应用服务器。

  • 弱口令、爆破,弱密码一般为weblogic/Oracle@123 or weblogic

  • 管理后台部署 war包后门

  • weblogic SSRF

  • 反序列化漏洞

Tomcat-8080

Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP程序的首选

  • Tomcat远程代码执行漏洞(CVE-2019-0232)

  • Tomcat任意文件上传(CVE-2017-12615)

  • Tomcat管理页面弱口令getshell

历史漏洞信息

  • 乌云镜像站

    • http://wy.zone.ci/

  • 乌云知识库

    • https://wooyun.kieran.top/#!/

  • exploit-db

    • https://www.exploit-db.com/

  • 知道创宇seebug

    • https://www.seebug.org/

  • [[红队中易被攻击的一些重点系统漏洞整理]]

    • https://www.cnblogs.com/tomyyyyy/p/14701925.html

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/130906
推荐阅读
相关标签
  

闽ICP备14008679号