渗透测试思路总述
1.数据库对应语言:
Asp+Access 不需要端口
PHP+MYSQL 3306
ASPX+mssql 1433
2.常见端口:(后续再补充)
PHP+MYSQL 3306
ASPX+mssql 1433
Web 80Oracle 1521
ftp 21
SSH 22
远程桌面连接 3389
3.常见的网站服务器容器:IIS Apache Nginx Lighttpd Tomcat
4.如何判断服务器是Linux or Windows:
1.Linux对大小写敏感 A a Windows对大小写不敏感 .Php .php
2.通过ping返回的ttl判断,一般Windows的ttl默认是128,Linux的为64。
3.看网站选取的语言,如果是asp建设的网站,就是Windows主机,因为Linux不支持asp系列的语言;如果是PHP语言建设的网站,90%的可能是Linux,标配,但是这种方法有时候会不准确,因为php轻量级网站也可能是选择Windows系统。
4.根据Telnet判断,Linux:Telnet ip 22 Windows:telnet ip 3389
5.渗透测试流程:
1.信息收集:方法总述:
-
服务器相关信息:真实IP、系统类型、版本、开放端口、查看waf是什么。
-
指纹识别。
-
站长工具:whois信息、站长姓名、域名备案、电话反查、邮箱...
-
子域名收集、旁站、c段。
-
Google Hacking针对这个网站进行搜索(中大型)、中间件版本、弱口令尝试。
-
扫描网站目录结构、扫后台、网站banner、测试文件、备份文件等。
方法分述:①获取真实IP:
很多网站可能会挂cdn:使用超级ping工具,去查看返回的ip是不是同一个ip,如果返回的是同一ip,则为真实ip。
1.扫描网站测试文件:phpinfo
2.去子域名挖掘,获取分站。Layer子域名挖掘机
3.国外访问(挂vpn)。一般中型网站不会挂国外的cdn,所以从国外访问会直接访问到真实ip。
4.查询域名的解析记录:www.netcraft.com。如果网站开始没有使用cdn,后来才使用cdn,通过查以前的域名解析记录就能得到真实ip或ip段。
cdn原理:未使用CDN:
在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:
用户提交域名→浏览器对域名进行解释→得到目的主机的IP地址→根据IP地址访问发出请求→得到请求数据并回复
由上可见,用户访问未使用CDN缓存网站的过程为:
1.用户向浏览器提供要访问的域名;
2.浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;
3.浏览器使用所得到的IP地址,向域名的服务主机发出数据访问请求;
4.浏览器根据域名主机返回的数据显示网页的内容。
通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。CDN网络是在用户和服务器之间增加Cache层,如何将用户的请求引导到Cache上获得源服务器的数据,主要是通过接管DNS实现。
使用CDN:
通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:
1.用户向浏览器提供要访问的域名;
2.浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
3.此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
4.缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
5.缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,另一方面把获取的数据返回给客户端,完成数据服务过程;
6.客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以后用户客户端无需进行任何设置,直接使用被加速网站原有的域名即可访问,又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程中的域名解析部分,以实现透明的加速服务,下面是CDN网络实现的具体操作过程:1.作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。2.作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;3.当需要进行sortlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;4.由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;5.在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。
②对应端口讲解:
MYSQL 3306mssql 1433
Web 80Oracle 1521
ftp 21
SSH 22
详细端口及对应端口的漏洞利用可自行查阅资料
③子域名扫描:
Layer子域名挖掘机
Site:xxx.com(Google hack)
④指纹识别:
识别web是什么程序,识别计算机操作系统,web容器
WordPress wp-admin
Power by
Dedecms PHPCMS 帝国 Z-BLOG WordPress ASPCMS
⑤敏感文件扫描:后台地址、网站备份wwwroot.rar、phpinfo.....,说明.txt(小型网站,下载对应代码进行审计)。
⑥Google Hack:
目标:敏感信息:员工的电子邮箱 具备特殊URL关键字的目标地址--后台管理 ?id=1 搜索已有的攻击结果搜索子站 小技巧:利用快照能有意想不到的收获 符号:- 强制不出现:电影-黑客 强制不出现含有黑客关键词的网页 * 模糊搜索:强调结果中包含此关键词 天云*教育* 双引号:强制出现 电影“黑客” 语法:Site:搜索指定域名(限制站内搜索) Inurl:搜索url网站(php?id=1) Intitle:搜索标题存在特定关键字的网站 Filetype:指定文件类型 Intext:把网页中的正文内容作为搜索条件 Catch:搜索引擎关于某些内容的缓存 常见组合:管理:Site:xxx.com intext:管理|后台|用户名|密码|系统|账号 上传:Site:xxx.com inurl:upload 注入:Site:xxx.com inurl:php?id= 编辑器漏洞:Site:xxx.com inurl:ewebeditor 详细Google hack语法可自行搜索学习。
⑦社会工程学(自行学习)
⑧黑暗引擎:
Shodan Hacking(国外,一定要注册使用) Port:端口 Ip: Vuln: 指定漏洞cve Country:国家(CN) OS:操作系统 City:城市 Zoomeye(国内)详细黑暗引擎语法可自行搜索学习。
Cracer渗透视频课程学习笔记:
https://blog.csdn.net/qq_21449473/article/details/98490499
2.漏洞扫描
3.漏洞利用:利用漏洞拿到webshell,或者权限。
4.权限提升
5.日志清理
6.写渗透测试报告