目录
概述
渗透的本质是信息收集,目标资产信息的收集程度就决定了渗透测试过程中的复杂程度。信息收集也叫踩点,是通过各种方式获取所需要的信息,以便在后续的渗透测试更好的进行。信息收集可以提高我们的攻击面,只有收集的目标信息够多,我们就可以从不同的角度来对目标进行渗透。
信息收集内容
域名信息、子域名信息、目标网站真实IP、敏感目录、开放的端口和服务、中间件信息、使用的脚本语言、防火墙或wab应用防火墙的使用、数据库等
信息收集的方式
主动收集:通过与目标主机的直接交互获取目标信息,通过该方法获取信息会被对方服务器获取操作信息。例如ping目标主机等
被动收集:不通过与目标主机的交互来获取目标信息。通过该方法目标无法获取我们的信息。例如通过搜索引擎和社工等方式
信息收集
域名收集
域名相关的信息
URL、IP、注册商家、备案信息、注册人联系方式、子域名等
收集方法
1. Whois查询:通过Whois来对域名信息进行查询,可以获取注册商、注册人等相关信息
2. 备案信息查询:国内网站注册需要向国家相关部门申请备案,防止网站从事非法活动,国外不需要
3. IP反查:通过目标组织的域名查询IP,然后再通过IP反查询域名的方式,查询此主机IP是否存在其他网站
4. 浏览器插件:通过Chrome、火狐等浏览器插件的使用,来收集域名信息。
5. 子域名收集方式
- 枚举:通过子域名爆破工具通过字典进行爆破。搜集的完整性取决于字典包含的内容
- 通过搜索引擎:Google Hack语法、鹰图、钟馗之眼、shodan等
- 第三方聚合服务:第三方服务聚合了大量的DNS数据集,并通过他们来检索给定域名的子域名
- 全国政府网站基本数据库:针对特定性质网站可通过全国政府网站剧本数据库进行子域名发现:全国政府网站
- 其他:证书透明度、DNS域传输、文件泄露等
CDN识别和绕过
CDN判断
1. ping/nslookup:查看不同时段不同地域下ping或nslookup结果不同,则可能存在CDN
2. 在线平台
3. phpinfo等探针找到真实ip
CDN绕过
1. Email服务器找真实IP
2. 域名历史解析寻找真实IP
3. 利用空间搜索引擎查找真实IP
常见WAF测试方法
- 手工提交恶意数据
- 工具测试
- namp等
端口探测
说明
- 开放端口:开放代表可通信,端口决定服务
- 服务类型探测:服务类型决定了该服务可能存在的漏洞
- 端口协议:自定义端口可迷惑扫描器,需要根据返回信息判断协议
常见端口
端口信息
服务类型 | 端口号 | 说明 | 攻击利用 |
文件共享服务端口 | 21/69 | FTP/TFTP文件传输协议 | 允许匿名上传、下载、爆破和嗅探操作 |
2049 | NFS服务 | 配置不当导致可导出文件 | |
139 | Samba服务 | 爆破、未授权访问、远程代码执行 | |
389 | Ldap目录访问协议 | 注入、匿名访问。弱口令 | |
远程连接服务端口 | 22 | SSH远程连接 | 爆破、SSH隧道及内网代理转发、文件传输 |
23 | Telnet远程连接 | 爆破、嗅探、弱口令 | |
3389 | RDP远程桌面连接 | Shift后门、爆破 | |
5900 | VNC | 弱口令爆破 | |
5632 | PyAnywhere服务 | 密码抓取、代码执行 | |
Web应用服务端口 | 80/443/8080 | 常见的Web服务端口 | Web攻击、爆破、对应服务器版本漏洞 |
7001/7002 | WebLogic控制台 | Java反序列化、弱口令 | |
8080/8089 | Jboss/Resin/Jetty/Jenkins | 反序列化、控制台弱口令 | |
9090 | WebSphere控制台 | Java反序列化、弱口令 | |
4848 | GlassFish控制台 | 弱口令 | |
1352 | Lotus domino邮件服务 | 弱口令、信息泄露、爆破 | |
10000 | Webmin-Web控制面板 | 弱口令 | |
数据库服务端口 | 3306 | MySQL | 注入、提权、爆破 |
1433 | MSSQL | 注入、提权、SA弱口令、爆破 | |
1521 | Oracle | TNS爆破、注入、反弹Shell | |
5432 | PostgreSQL | 爆破、注入、弱口令 | |
27017/27018 | MongeDB | 爆破、未授权访问 | |
6379 | Redis | 可尝试未授权访问、弱口令爆破 | |
5000 | SysBase/DB2 | 爆破、注入 | |
邮件服务协议端口 | 25 | SMTP邮件服务 | 邮件伪造 |
110 | POP3协议 | 爆破、嗅探 | |
143 | IMAP协议 | 爆破 | |
网络常见协议端口 | 53 | DNS域名系统 | 允许区域传送、DNS劫持、缓存投毒、欺骗 |
67/68 | DHCP服务 | 劫持、欺骗 | |
161 | SNMP协议 | 爆破、搜集目标内网信息 | |
特殊服务端口 | 2181 | Zookeeper服务(分布式应用程序协调服务) | 未授权访问 |
8069 | Zabbix服务 | 远程执行、SQL注入 | |
9200/9300 | Elasticsearch服务 | 远程执行 | |
11211 | Memcache服务 | 未授权访问 | |
512/513/514 | Linux Rexec服务 | 爆破、Rlogin登录 | |
873 | Rsync服务 | 匿名访问、文件上传 | |
3690 | Svn服务 | Svn泄露、未授权访问 | |
50000 | SAP Management Console | 远程访问 |
探测方式
- 在线工具
在线端口检测,端口扫描,端口开放检查-在线工具-postjson
- 工具扫描
- nmap
- masscan
参数
参数 | 说明 |
-p | 自定义端口 |
-rate | 自定义发包个数 |
-oL | 定义输出的文件 |
-banners | 探测banner信息 |
-adapter-ip | 指定发包的IP地址 |
-adapter-port | 指定发包的源端口 |
-adapter-mac | 指定发包的源mac地址 |
-router-mac | 只当网关的mac地址 |
-exclude | 指定ip地址黑名单,防止masscan扫描 |
-excludefile | 指定ip地址黑名单文件 |
-includefile | 读取一个范围列表进行扫描 |
-wait | 指定文件的目标进行扫描 |
-readscan | 读取文件的目标进行扫描 |
masscan -p1-10000 192.168.111.1 -rate=10000 -oL out.txt -echo >scan.conf | 将扫描信息导入文件中 |
masscan -c scan.conf | 开始扫描 |
指纹探测
指纹识别常见的探测对象
常见指纹
指纹类型 | 内容 |
CMS(内容管理系统)信息 | dede织梦、worepress、phpcms、thinkphp、ezcms、ecshop、帝国、大喊CMS、discuz、魅力、海洋cms、逐浪CMS、Zoomla、drupal、EarCMS、思途CMS |
前端技术 | HTML5、jquery、bootstrap、pure、ace、ajax等等 |
中间件和容器 | apache、IIS、Nginx、lighttpd、tomcat、weblogic、jboss、websphere等等 |
开发语言 | php、java、ruby、go、python、c#、Jsp、asp、aspx等等 |
操作系统 | Windows NT、类UNIX |
CDN | cloudflare、360CDN、365cyd等等 |
端口或者服务 | 80、443、25、3306、53 |
IP或者域名信息 | |
WAF | 云盾、云锁、安全狗、IPS/IDS等等 |
常见指纹探测方法
注:
- 特定文件的MD5:速度比较快、误报率相对较低,但存在二次开发的CMS会修改这些文件
- 正常页面或报错网页中包含的关键字:格局报错信息来判断使用的CMS或者中间件信息。比较常见的如tomcat的报错页面
- 请求头信息的关键字匹配:banner信息有些容易改掉
- 根据response header识别
- 查看http响应报头的X-Powered-By字段识别
- 根据Cookies来判断,一些wad会在返回投中包含一些信息,如360wzws、安全狗、云锁
- 根据header中的Server信息判断:DVRDVS-Webs、yunjiasu-nginx、Mod_Security、nginx-wallarm等
- 根据WWW-Authenticate进行判断,一些路由交换设备可能存在这个字段,如NETCORE、huawei、h3c等设备。
- 根据response header识别
- 部分URL中包含的关键字中例如wordpress默认存在wp-includes和wp-admin目录;织梦默认管理后台的dede目录;solr平台可能使用/solr目录;weblogic可能使用wls-wsat目录等。
本地化工具
- 御剑web指纹识别程序
- cmseek
目录、敏感文件探测
目录、敏感文件探测说明
扫描站点的目录,寻找敏感文件,如目录名、探针文件、后台、robots.txt、备份文件等
目录、敏感文件探测内容
- 目录:站点结构,权限控制不严格
- 探针文件:服务器配置信息。1.php、phpinfo.php、readme.txt、config.txt等
- 后台:管理整个网站的入口。admin.php、index.php/s=admin、administrator等等
- Robots.txt:一般存放在站点根目录,如果管理员对robots.txt配置不合理就会造成信息泄露
- 备份文件:数据库备份、网站备份文件等。
- 敏感JS文件:网页中可能嵌套的JS存在敏感信息,如后台的入口、登录评估
- API:网页中可能存在嵌套的应用程序接口
- 网页链接:收集页面中包含所有的链接
常见扫描利用工具
是否成功取决于字典是否强大
Dirsearch(kali自带)
御剑后台扫描工具
源码信息收集
- 利用JS文件信息收集,在JS文件中搜索关键字API,Swagger UI等等,尝试寻找API接口地址
- 利用APK、jar等移动应用提取,通过AndroidKiller、apktool、jd-gui、jadx、jad等反编译工具。静态分析:IDA Pro分析dex文件反汇编生成的Dalvik字节码,或者使用文本编辑器阅读baksmali反编译生成的smali文件。另一种是阅读反汇编生成的Java源码,可以使用dex2jar生成jar文件,然后再用jd-gui阅读的代码
- 利用在线源码托管平台
旁站及C段探测
简介
- 旁站:指同一服务器上的其他网站,在目标网站不容易入侵,可以通过获取旁站的webshell,然后再提权拿到服务器的权限
- C段:C段嗅探就是拿到它同一C段中的其中一台服务器,然后利用工具嗅探拿下目标服务器
常见在线平台
历史漏洞信息
说明
通过查看目标服务器历史存在的漏洞,如果该服务器上的漏洞没有及时修补,就能利用漏洞获取权限
在线网站
国内
国外
- Routerpwn - One click exploits, generators, tools, news, vulnerabilities, poc, alerts :路由器漏洞搜索
- Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers :Exploit-db
- CVE security vulnerability database. Security vulnerabilities, exploits, references and more :CVE security vulnerability database