网站渗透测试的基本流程

 

https://www.freebuf.com/column/179519.html

1.1信息搜集

1.1.1 网站指纹识别

  •  常见的CMS有wordPress/dedecms/discuz/phpwind/dvbbs/phpcms/ecshop/帝国cms等。
  •   在线指纹识别网站:

    云悉指纹:http://www.yunsee.cn/finger.html   需要注册

          Whatweb:https://whatweb.net/  免费

  • Web服务,有以下几层

      操作系统

      存储:数据库存储、内存存储、文件存储

      Web容器:apache/iis/Nginx

      Web服务端语言:Django/rails/thinkphp

      Web应用:BBS/CMS/BLOG    (论坛/网站/博客)

      WEB前端框架:jQuery/Bootsrap/html5

      第三方内容:广告、mockup

1.1.2 端口开放情况

  • 端口扫描工具有nmap和masscan,nmap扫描的准确性较高,但是扫描的比较慢,masscan扫描的比较快,但是准确性较低
  • 常见的高危端口:

      21---ftp   

      22---ssh   (可连接,如ssh  192.168.12.254)

      参考:https://www.cnblogs.com/keerya/p/7612715.html

 

可利用做本地转发

命令:-L localport:remotehost:remotehostport sshserver

说明:localport  本机开启的端口号

Remotehost  最终连接机器的IP地址

Remotehostport  转发机器的端口号

Sshserver  转发机器的IP地址

选项:-f 后台启用

-N 不打开远程shell,处于等待状态(不加-N则直 接登录进去)

-g 启用网关功能

  Ss -nt   查看接口连接情况

(可利用做跳板)

 

  •   Nmap可扫描单一主机(域名或IP);

    可扫描整个子网;

    可扫描多个目标;

    可扫描一个IP c段范围内的目标;

    可将ip地址列表保存为txt文件,然后扫描这个文件

    可查看扫描的所有主机的列表

    可扫描除过一个ip外的所有子网主机

    可扫描除过某一个文件中的ip外的子网主机

    可扫描特定主机的80,21,23端口

    445---smb  可远程登录  

        smbclient -L 192.168.253.20**﷑

        smbclient ‘\192.168.253.20$share’
        get(下载) wp_config.php(敏感文件)**1433---mssql

    3306---mysql

    3389---远程桌面

    6379---redis   (可远程连接)

          参考: https://lionking.top/2018/11/01/Redis%E6%9C%8D%E5%8A%A1%EF%BC%886379%E7%AB%AF%E5%8F%A3%EF%BC%89%E5%85%A5%E4%BE%B5/

1.1.3 C段和旁站

旁站:同一服务器上的其他网站

C段:同一内网段内的其他服务器,获取c段可以选择最容易攻击的服务器攻击,可作为跳板到目的服务器

旁站和C段在线查询地址:

https://fofa.so/

https://community.riskiq.com/

https://x.threatbook.cn/(微步)

  • 组织机构

大型机构一般会有下属公司以及收购的子公司,可能其子公司或者分部门有专线连接总部网络,可以从子公司或者合作伙伴方入手。

爬取主战所有的关联网站,分析是否属于目标组织

1.1.4 子域名

  • 常用的子域名收集工具:

https://github.com/withgallantry/OneForAll

微步

  • 物理定位获取附近ip,通过shodan(需登录)大概定位

    附近ip:geo:”31.584,65.5487”

  •  Txt记录

    Txt记录主要用于邮件保护,会记录收信人的地址。有的会包含相关的资产地址。

    命令:nslookuo -type=TXT 360.CN

  •  Cdn获取真实ip
  1.  通过子域名所在的网段推测主网段进而判断主站地址,一般子站没有假如cdn防护。
  2.  查找域名历史解析记录(如百度快照),在加入cdn有个加入和未加入的过程,可能暴露真实IP
  3.   全球进行ping测试,可能部分地区未有CDN节点,暴露真实地址(效率低,不准确)
  4.   如果是cloudflace保护的,可通过 http://crimeflarc.com/cfssl.html尝试。
  5.   如果站点提供邮箱注册后者找回密码功能,通过注册功能让服务器发送一封邮件,本地可通过邮件头查看到真实地址(但可能邮件服务器和网站是分开的)
  6.  通过信息泄露获取:phpinfo()
  7.  如果站点有插入保存远程图片的功能,可以通过插入远程图片的方法,查看服务器的来源
  8.  大范围扫描80,绑定host批量访问,正常则是真实IP
  9.  DDOS把cdn流量打完,cdn商不提供防护真实地址(难度大)
  10.  社工信息收集进行所在CDN商的账户密码进行猜测

1.1.5 网站敏感目录和文件

备份文件   1.zip  1.rar  1.bak

后台目录   admin.php

Mysql管理接口   phpMyAdmin

安装页面   install.php

Phpinfo页面

扫描工具:cansina,御剑,Dirbuster,dirmap

1.1.6 网站web容器

Apache/nginx/tomcat/iis

识别软件:浏览器插件,在线识别网站(微步,http://fofa.so/)

1.1.7 网站脚本类型

常见脚本类型:asp  php  aspx  jsp  jspx

识别软件:chrome浏览器插件wappalyzer

1.1.8 网站数据库类型

  • Access+asp,aspx 小型数据库,当数据库达到100M左右性能就会下降,数据库后缀名:.mdb   一般是asp的网页文件用Access数据库
  • Sql server+java,asp,aspx  比较大型的数据库,端口号为1433,数据库后缀名 .mdf
  • Mysql+php  最流行的关系型数据库管理系统,默认端口3306
  • Oracle+jsp  默认端口1521

 

2.突防提权

2.1. 提权

2.1.1 系统漏洞提权

Windows:Ms漏洞

Linux:Dirtycow(脏牛)

2.1.2 数据库提权

  •  Mysql

udf提权(用户定义函数)

  •  Mssql

Xp_cmdshell函数执行命令

通过备份文件到启动项提权

  • Redis(数据库)

高权限启动redis并且存在redis版本大于4.0

  •  第三方组建提权,mysql/mssql/server-u
  •  内核漏洞提权

常见的各种版本提权代码:http://github.com/SecWiki/

  • 其他:环境变量,启动项等

2.1.3 系统权限配置不当

3.内网渗透

横向移动:在内网中一个密码可以登录许多机器,我们可以利用获取的密码进行横向移动。

Pass-the-hash:原理就是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不提供明文密码。

4.隐蔽控守

  • 权限维持:

    1,Windows

      Msdtc的oci.dll;

      开机自启马。

    2, linux

      常见简单安全漏洞,如弱口令 ,xss漏洞,csrf漏洞,反序列化漏洞;
      渗透测试常用工具的典型使用场景及操作方法 ;
      网页木马(Webshell)的使用。

 

-----------------------------------------------

  • webshell是web入侵的脚本攻击工具


    HTTP

(1)HTTP 协议 HTTP 协议的原理及特征,具有对 HTTP 协议类型网站 进行信息搜集、扫描。

http工作原理

超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议,它通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器 (常称Web服务器)。这两个通常运行在不同的主机上,通过交换报文来完成网页请求和响应,报文可简单分为请求报文和响应报文。

http特点:

1. 支持C/S(客户/服务器)模式。

2. 不安全

3. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

4. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

5. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

6. 无状态:HTTP协议是无状态协议,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。


    (2) HTTPS 协议 HTTPS 协议的原理及特征,具有对 HTTPS 协议类型网 站进行信息搜集、扫描。 

https:

传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息

特点:安全的
    (3) 浏览器安全 典型浏览器的安全机制,及相关安全机制对网站渗透的 影响。

 

posted @ 2021-06-11 15:58  A思  阅读(501)  评论(0编辑  收藏  举报