网络攻防之信息收集和社工技巧 工欲善其事必先利其器,在发起网络攻击之前,通过各种渠道收集信息,建立起针对渗透目标相对完善的信息库是首要任务,这里给大家分享几种信息收集的方式。
第一章 网站资产探测 1.1查询域名和子域名 Google、baidu、Bing等传统搜索引擎 Censys:https://www.censys.io Dnsdb搜索引擎:https://www.dnsdb.io www.virustotal.com https://dnsdumpster.com/ https://www.dnsgrep.cn/subdomain/ 1.2HTTPS证书 https://csr.chinassl.net/ssl-checker.html https://www.chinassl.net/ssltools/ssl-checker.html https://myssl.com/ https://crt.sh/ https://search.censys.io/ 基于 HTTPS 证书的子域名收集小程序 :GetDomainsBySSL.py 参考链接:http://www.freebuf.com/articles/network/140738.html 1.3 综合搜索 提莫:https://github.com/bit4woo/teemo 主要有三大模块:搜索引擎 第三方站点 枚举 利用全网IP扫描http端口 在访问IP的80或者8080端口的时候,可能会遇到配置了301跳转的,可以在header里获取域名信息。
全网扫描结果如下:https://scans.io/study/sonar.http 1.4同IP网站及C段查询
1.4.1C段扫描原因 (1)收集C段内部属于目标的IP (2)内部服务只限IP访问,没有映射域名 (3)更多的探测主机目标资产 1.4.2C段扫描方法 1.4.2.1 NMAP 1)快速扫描大型网络 2)可以获得主机运行的端口、服务、系统指纹 3)上百个扩展脚本提供日常支持 A.Nmap-扫描C段主机存活 nmap -sn -PE -n 192.168.1.1/24 -oX out.xml -sn 不扫描端口,只查看主机是否存活 -PE 不进行ICMP扫描 -n 不进行DNS解析 -oX 将结果输出到某个文件 B.Namp-定向端口扫描 nmap -sS -Pn -p 3389 -sS 扫描方法:半开放扫描 -Pn 不进行主机存活探测 -p 端口 C.Nmap-全端口扫描 nmap -sS -Pn -p 1-65535 -n D.Nmap-服务扫描 nmap -sS -sV -p 1-65535 -n 显示出端口开发的服务 1.4.2.2MSSCAN Masscan允许任意地址范围和端口范围,速度很快。
masscan -p 80 /24 -rate 10000 -oL ouput.txt -p 设置端口 -rate 发包速率 -oL 输出位置 绕过特定ip地址语法: masscan -p 80 --excludefile special.txt 1.5 行业系统 同行业可能存在类似的系统,甚至于采用同一家厂商的系统,可互做对比 通用:办公OA、邮件系统、VPN等 医院:门户、预约系统、掌上医院、微信公众平台等 第二章网站信息收集 主要是针对单个站点的信息收集技巧,主要围绕服务器IP、域名、网站。
2.1 服务器IP 2.1.1确定厂商是否有用到CDN服务 在线查询: https://tool.chinaz.com/ http://tools.ipip.net/cdn.php https://www.17ce.com/ 工具查询 Best trace
浏览器查询 各厂家http header自定义字段汇总
2.1.2绕过DNS查询真实IP 1、查询历史DNS记录: 查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有: https://dnsdb.io/zh-cn/ https://x.threatbook.cn/ 微步在线 http://toolbar.netcraft.com/site_report?url= http://viewdns.info/ 2、xcdn https://github.com/3xp10it/xcdn Tips:找到真实ip,绑定host ,是否可以打开目标网站,就是真实IP,对真实IP进行入侵测试,DDOS流量攻击,CC等等,实现无视CDN防御,但是源站如果做了黑白名单策略,只允许CDN节点IP地址访问,这种绕过CDN的方式就无效。
2.1.3识别服务器及中间件类型 远程操作系统探测 用 NMAP 探测操作系统 Nmap -O 192.168.100.101 2.1.4端口及服务 Nmap 1-65535端口扫描,探测端口服务 2.1.5查询IP所在位置 http://www.hao7188.com
http://www.882667.com
2.2域名 在whois查询中,获取注册人姓名和邮箱、电话信息,可以通过搜索引擎,社交网络,进一步挖掘出更多域名所有人的信息 DNS服务器 http://whois.chinaz.com https://whois.aliyun.com 域名注册邮箱,可用于社工或是登录处的账号。
2.3站点 2.3.1网站架构 网站语言、数据库,网站框架、组件框架历史漏洞 常用的网站架构如:LAMP/LNMP PHP框架:ThinkPHP 2.3.2Web目录结构 2.3.2.1目录扫描原因 (1)寻找网站后台管理 (2)寻找未授权界面 (3)寻找网站更多隐藏信息 2.3.2.2目录扫描方法 (1)robots.txt Robots协议(网络爬虫排除标准),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
同时也记录网站所具有基本的目录。
(2)搜索引擎 搜索引擎会爬取网站下目录,并且不需要触碰网站任何防御设备 site:www.baidu.com (3)爆破 通过字典匹配网站是否返回相应正确状态码,然后列出存在的目录。
爆破可能会触发网站防火墙拦截规则,造成IP封禁。
工具: 1)dirb DIRB是一个Web内容扫描程序 通过字典查找Web服务器的响应 DRIB只能扫描网站目录,不能扫描漏洞 语法: dirb http://www.baidu.com 参数: -a 设置User-Agent,告诉服务器,本地的一些信息。
-b 不扫描…/或者./ -c 设置Cookie -E 设置证书文件 -o outfile 保持扫描文件 前面出现+号,表示存在文件 前面出现==>,表示存在文件夹 2)dirbuster DirBuster多线程Java应用程序,主要扫描服务器上的目录和文件名,扫描方式分为基于字典和纯爆破,OWASP 下开源项目 语法: 命令行下输入:disbuster,出现窗口界面 字典爆破使用步骤: 1.Target URL 输入URL 2.work method 选择Auto Switch 3.Number of Threads 线程数,根据环境设定 4.select scaning type 选择List based brute force 5.File with list of dirs/files 点击browse选择字典文件 6.select starting options 选择URL fuzz 7.URL to fuzz 输入 /{dir} 8.start 2.3.3敏感文件信息泄露 备份文件、测试文件、Github泄露、SVN源码泄露 2.3.4Web指纹 2.3.4.1在线收集 云悉在线WEB指纹CMS识别平台:http://www.yunsee.cn 浏览器插件:wappalyzer 2.3.4.2工具收集 2.3.4.2.1系统指纹识别 (1)方式1:通过发送TCP/IP数据包到目标主机,由于每个操作系统处理TCP/IP数据包都不相同,所以可以通过它们之间的差别判定操作系统。
语法: nmap -sS -Pn -O -O 启用操作系统探测 nmap识别操作系统指纹必须使用端口,所以不允许添加-sn参数。
Nmap -sV 192.168.100.101 显示该资产的版本信息 (2)方式2:端口服务识别,每个操作系统都有特有的服务和端口,如:windows桌面连接使用的3389 RDP协议;windows的smb协议开启端口445;iis 80端口 方法 nmap -sS -sV 2.3.4.2.2中间件指纹识别 (1)方式1:通过http返回消息中提取server字段 Response Headers view source Content Type:text/html;charset=ISO-8859-1 Date:Wed, 15 Aug 2020 08:25:12 GMT Server:Apache-Coyote/1.1 Transfer-Encoding:chunked (2)方式2:通过端口服务探测中间件 常用端口:Tomcat、Jboss 8080,weblogic 7001 方法 nmap -sS -Pn -sV (3)方式3:通过构造错误界面返回信息查看中间件 主要通过构造不存在的路径和畸形数据
2.3.4.2.3Web程序指纹识别 识别目标:开发语言、开发框架、第三方组件、CMS程序、数据库 (1)开发语言 1.后缀名识别:.asp、.php、.jsp 2.抓包查看与后台交互点,如:登录、查询等 3.http返回消息头:X-Powered-By字段 4.cookie信息:PHPSESSIONID -> php、JSPSESSIONID -> jsp、ASPSESSIONIDAASTCACQ -> asp (2)开发框架 1.php的thinkphp框架识别方法:拥有特定ico图标 2.Action后缀90%几率为struts2或者webwork 3.do后缀50%几率spring mvc 4.url路径 /action/xxx 70%几率struts2 5.form后缀 60%几率spring mvc 6.Vm后缀90%几率VelocityViewServlet 7.jsf后缀99%几率Java Server Faces (3)第三方组件 一般包括流量统计、文件编辑器、模板引擎 识别方法:一般为目录扫描 FCKeditor CKEditor (4)CMS程序 1.特定文件夹:dede/、admin/admin_Login.aspx 2.Powered by *** 3.网站favicon图标 (5)数据库 1.常规判断:asp -> sql server,php -> mysql,jsp -> oracle 2.网站错误信息 3.端口服务:1443 -> sql server,3306 -> mysql,1521 -> oracle 2.3.4.2.4防火墙指纹识别 识别方法: 1.nmap -p 80 -srcript http-waf-fingerprint 2.sqlmap -u <域名> -identify-waf 2.3.5安全防护摸底 安全防护,云waf、硬件waf、主机防护软件、软waf 第三章社工方式 寻找指定目标的已经泄露的数据 // 撞库、用户名、密码。
构建社工库 https://raidforums.com/Announcement-Database-Index-CLICK-ME (1)app 隐私信息未做加密直接存放本地 前端信息正常,抓包发现过多信息返回,前后端开发不一致 (2)微信公众号 (3)目标qq群 群文件,群消息记录 (4)威胁情报 已知的某些漏洞如何利用 (5)网站开发者角度 (6)运维角度 (7)架构师角度去获得目标相关信息 (8)web方面-评论处 评论处部分信息未加密 追加评论和商家回复,抓包获取未加密的数据 (9)web方面-搜索处 数据存放未设权限或者防爬处理造成搜索引擎爬取 例:wooyun-2014-069909 (10)web方面-转账 一般在转账处输入手机号或邮箱账户的旁边,有一个历史转账信息,点击以后可以看到转账信息,由于加密不全,可以抓包查看真实姓名 转账越权造成信息泄露 例:wooyun-2016-0168304 (11)web方面-客服处 客服未经过系统安全培训,当客户询问用户手机号,没有经过验证直接返回给用户 (12)越权-任意查看 平台没有对上传的文件进行复杂格式化处理。
例:XXX.com/xxx/xx/012313.jpg 文件极易造成任意读取或者爆破 (13)越权-任意修改 用户在进行订单交易时可以将ID修改成任意ID,然后服务器返回可以查看其他用户信息,如:收货地址 例:wooyun-2016-0203940 (14)接口-测试接口用户信息泄露 网站在上线的时候都忘记把测试时的接口进行关闭,从而导致这个接口可以查询大量用户信息 例:wooyun-2015-0116563 (15)员工信息泄露 各第三方平台 Github wooyun-2016-0177720 (16)弱密码问题 内部系统员工密码为弱口令或默认密码 后台管理密码为开发密码 材料引用: https://blog.csdn.net/Fly_hps/article/details/82755336 https://blog.csdn.net/Dajian1040556534/article/details/124681544
