文章目录
- 域名信息
- IP信息
-
- [1. 域名解析流程](#1. 域名解析流程)
- [2. IP归属](#2. IP归属)
- [3. 如何获取CDN后面的真实IP](#3. 如何获取CDN后面的真实IP)
-
- CDN实现流程
- [1. 超级ping](#1. 超级ping)
- [2. 历史DNS](#2. 历史DNS)
- [3. 通过子域名查询IP](#3. 通过子域名查询IP)
- [4. 通过国外的主机来解析](#4. 通过国外的主机来解析)
- [5. 邮件、SSL证书、手机App抓包、网络空间搜索引擎](#5. 邮件、SSL证书、手机App抓包、网络空间搜索引擎)
- 端口服务信息
-
- [1. 本机端口号查看](#1. 本机端口号查看)
- [2. 远程端口号查看](#2. 远程端口号查看)
- [3. 常用端口号及用途](#3. 常用端口号及用途)
-
- [1. 文件共享服务端口](#1. 文件共享服务端口)
- 2.远程连接服务端口
- [3. web应用端口号](#3. web应用端口号)
- [4. 数据库端口号](#4. 数据库端口号)
- [5. 邮件端口号](#5. 邮件端口号)
- [6. 网络常见协议端口号](#6. 网络常见协议端口号)
- [7. 特殊服务端口](#7. 特殊服务端口)
- [4. 端口扫描工具------nmap](#4. 端口扫描工具——nmap)
- [5. 端口扫描可视化工具------zenmap](#5. 端口扫描可视化工具——zenmap)
- 指纹识别
- CMS指纹识别
-
- [1. CMS识别思路](#1. CMS识别思路)
-
- [1. 版权信息](#1. 版权信息)
- [2. 特定文件MD5值](#2. 特定文件MD5值)
- [3. 查看网页源代码](#3. 查看网页源代码)
- [4. 通过特定文件分析](#4. 通过特定文件分析)
- [2. cms识别工具](#2. cms识别工具)
- CDN指纹识别
- WAF指纹识别
- 搜索引擎收集
-
- [1. 运算符](#1. 运算符)
- [2. 高级语法](#2. 高级语法)
- [3. 谷歌语法数据库](#3. 谷歌语法数据库)
- 网络空间搜索引擎
-
- 1.shodan
- [2. Censys](#2. Censys)
- [3. ZoomEye](#3. ZoomEye)
- [4. fofa](#4. fofa)
- [5. 工具](#5. 工具)
- 目录扫描
-
- [1. 简介](#1. 简介)
- [2. 常见敏感目录和文件](#2. 常见敏感目录和文件)
- [3. 文件扫描思路](#3. 文件扫描思路)
- [4. 工具](#4. 工具)
- [5. 注意事项](#5. 注意事项)
- [6. 防御](#6. 防御)
- GIT
-
- [1. 为什么GIT会导致信息泄露](#1. 为什么GIT会导致信息泄露)
- [2. github搜索技巧](#2. github搜索技巧)
- [3. git泄露利用方式](#3. git泄露利用方式)
- [4. 懒人工具](#4. 懒人工具)
- [5. 案例](#5. 案例)
域名信息
1. whois
whois命令查看域名信息。
shell
┌──(kali㉿kali)-[~]
└─$ whois collshell.cn
Domain Name: collshell.cn
ROID: 20240604s10001s57799689-cn
Domain Status: ok
Registrant: 李强
Registrant Contact Email: qqiangqiang700@gmail.com
Sponsoring Registrar: 阿里云计算有限公司(万网)
Name Server: hasslo.ns.cloudflare.com
Name Server: dara.ns.cloudflare.com
Registration Time: 2024-06-04 10:52:09
Expiration Time: 2025-06-04 10:52:09
DNSSEC: unsigned
可以得到一些姓名、邮箱、手机的信息
-
爆破密码,根据以上的信息,做一个自定义的字典,去爆破他的密码
-
邮箱。用来钓鱼,做一个假的页面,发到邮箱,让他登录。
2.域名反查
有时候想做渗透想看某个邮箱另外注册了哪几个域名,就可以用到域名反查。
域名反查_邮箱反查域名_邮箱Whois反查 - 站长工具 (chinaz.com)
可以通过邮箱查询这个邮箱用来注册了几个域名。
作用:
- 一般来说,主站的安全级别最高,其他站点比较薄弱,如果得到另外注册的域名,可以从这些薄弱的地方入手。
但是这些信息可能会被隐藏起来。
3. ICP备案查询
有些域名信息被隐藏了,可以到这个ICP备案进行查询。
ICP/IP地址/域名信息备案管理系统 (miit.gov.cn)
4.天眼查
根据公司名称获取企业的邮箱等联系信息
5. 子域名信息
1. 暴力枚举
- layer子域名挖掘机软件
- 字典枚举
仓库
GitHub - lijiejie/subDomainsBrute: A fast sub domain brute tool for pentesters
6. 域名DNS信息
CNAME记录
2、CNAME:
CNAME( Canonical name )即:别名记录。
- CNAME的目标主机地址只能使用主机名,不能使用IP地址;
- 主机名前不能有任何其他前缀,如:http://等是不被允许的;
- A记录优先于CNAME记录。即如果一个主机地址同时存在A记录和CNAME记录,则CNAME记录不生效。
两种域名解析方式
最常见的两种域名解析方式为A记录域名解析和CNAME域名解析。ALB对外提供域名,只支持CNAME域名解析。
- A记录域名解析
A记录域名解析又称IP指向,您可以设置子域名并指向到自己的目标主机IP上,从而实现通过域名找到指定IP。应用型负载均衡ALB默认对外提供公网IP访问,如需通过域名访问主机,可以配置A记录域名解析,具体实现方案如下图所示:
- CNAME域名解析
CNAME域名解析又称别名解析,您可以设置子域名并指向到其他域名,从而实现将一个域名指向另一个域名。应用型负载均衡ALB默认对外提供域名访问,如果通过其他域名访问请配置CNAME域名解析,具体实现方案如下图所示:
MX记录
- MX记录(Mail Exchange):邮件路由记录
在DNS上设定,用于将邮箱地址@符号后的域名指向邮件服务器。 - 示例:example.com. IN MX 10 mail.example.com.
- 解释:【domain】 IN MX 【优先度】 【邮件服务器】
作用:
当发信侧服务器给受信侧发邮件时,首先会要求DNS服务器解析受信侧邮箱地址中@后面部分的域名对应的MX记录(DNS的写法可以理解成example.com 的A记录下面,有一行上面示例的MX记录,当然邮箱服务器也有对应的A记录)。
这样,邮件就直接发到对应的MX记录的A记录里的IP了。
例子:给test@exmaple.com发邮件的话,
DNS会返回给发信侧198.51.100.3这个IP
exmaple.com. IN A 198.51.100.2
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 198.51.100.3
TXT记录
主要用于域名验证,域名解析服务商会要求你把一段文本填到TXT,如果能填上,服务商就会知道这个域名确实是你的。
- 示例:ns1.exmaple.com. IN TXT "联系电话:XXXX"
- 解释:【domain】 IN TXT 【任意字符串】
一般指某个主机名或域名的说明,或者联系方式,或者标注提醒等等。
哪里可以查这些信息
- 直接百度搜域名解析查询
- What's that site running? | Netcraft
这个netcraft非常强大
IP信息
1. 域名解析流程
- 查询对应IP
ping baidu.com
nslookup baidu.com
2. IP归属
通过IP查找它归属哪个运营商等信息
iP地址查询--手机号码查询归属地 | 邮政编码查询 | iP地址归属地查询 | 身份证号码验证在线查询网 (ip138.com)
3. 如何获取CDN后面的真实IP
CDN实现流程
1. 超级ping
2. 历史DNS
查找历史的DNS可以知道之前是哪个IP(也就是没用CDN之前)
- DNS History
- What's that site running? | Netcraft
- 直接百度搜下【历史DNS记录查询】就能找到一些网站来搜索。
3. 通过子域名查询IP
可能只有主站用了CDN,但是流量少的子站没用,这样就可以查找子域名对应的IP,看看是不是只有一个。
4. 通过国外的主机来解析
一般国内的CDN不会考虑国外的主机,所以直接用国外主机往往能访问到对应的真实IP.
5. 邮件、SSL证书、手机App抓包、网络空间搜索引擎
有的公司的邮件上面会显示真实ip
SSL证书
有些网站的SSL证书是绑定IP的,可以直接查看到。
手机APP抓包
有可能网页的前端用了CDN,但是手机APP没有,对APK进行逆向
端口服务信息
1. 本机端口号查看
netstat -an|grep 3306
2. 远程端口号查看
telnet 192.168.142.137 80
wget 192.168.142.137 80
nc -vz 192.168.142.137 445
nc -vz 192.168.142.137 80-9000 扫描80-9000端口
3. 常用端口号及用途
1. 文件共享服务端口
2.远程连接服务端口
3. web应用端口号
4. 数据库端口号
5. 邮件端口号
6. 网络常见协议端口号
7. 特殊服务端口
4. 端口扫描工具------nmap
- 最基础的工具,一定要掌握,作用
1)扫描主机(Host Discovery)
2)扫描端口(Port Scanning)
3)探测操作系统、软件版本 (Operating System
Detection、Version Detection)
- nmap自带脚本
/usr/share/nmap/scripts
以下网址可以查看每个脚本的用途
NSEDoc Reference Portal: NSE Scripts --- Nmap Scripting Engine documentation
nmap 192.168.142.137 --script http-enum 列举HTTP服
务
nmap --script=auth 绕过鉴权
nmap --script=brute 暴力破解
nmap --script=vuln 扫描漏洞
nmap testfire.net 这是IBM提供的靶场
简单扫描
nmap -sP 192.168.142.137
指定端口或范围扫描:
nmap -p0-65535 192.168.142.137
探测操作系统:
nmap -O 192.168.142.137
只进行主机发现,不进行端口扫描
nmap -sn 192.168.40.195/24
主机发现就是,查看192.168.40.1 ~ 192.168.40.255的主机是否存在。
文档
Nmap使用技巧总结.md · lcxclcxc/my_doc - 码云 - 开源中国 (gitee.com)
5. 端口扫描可视化工具------zenmap
指纹识别
1、CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;
2、前端技术:比如HTML5、jquery、bootstrap、Vue、ace等;
3、开发语言:比如PHP、Java、Ruby、Python、C#等;
4、Web服务器:比如Apache、 Nginx、IIS、lighttpd等;
5、应用服务器:比如Tomcat、Jboss、Weblogic、Websphere等;
6、操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
7、CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七
牛云、阿里云等;
8、WAF信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等
CMS指纹识别
-
CMS即搭建整套网站用的框架。
-
内容管理系统
Content Management System
1. CMS识别思路
1. 版权信息
2. 特定文件MD5值
-
打开F12网页后台,查看靶站的静态文件,看看是否和对应的cms网站的MD5值一致,一致即代表用的是那个CMS。
比如网站图标、或者其它的小icon
拿到后直接在下面这个项目匹配MD5值,即可找到cms名称。
Lucifer1993/cmsprint: CMS和中间件指纹库 (github.com)
3. 查看网页源代码
譬如说有这种文件,就是wordPress搭建的博客系统。
4. 通过特定文件分析
比如某个网站的robot.txt文件
这些文件如果和某个cms系统一致,那么就是某个cms系统
2. cms识别工具
- whatweb工具
whatweb -v www.baidu.com
- 浏览器插件
Wappalyzer:https://www.wappalyzer.com
whatruns :https://www.whatruns.com/
- 在线网站
- 离线网站
御剑指纹扫描器(需要.NET Framework)
Test404轻量CMS指纹识别 v2.1
- 开源程序
https://github.com/Tuhinshubhra/CMSeeK
CDN指纹识别
- nslookup
- 超级ping
- ldb
- 网站
国内:
国外:
https://www.cdnplanet.com/tools/cdnfinder/
脚本:
https://github.com/boy-hack/w8fuckcdn/
https://github.com/3xp10it/xcdn
WAF指纹识别
过滤HTTP/HTTPS的请求
WAF作用
| SQL Injection (SQLi):阻止SQL注入
l Cross Site Scripting (XSS):阻止跨站脚本攻击
l Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
l Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
l Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
l PHP Code Injectiod:阻止PHP代码注入
l HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
l HTTPoxy:阻止利用远程代理感染漏洞进行攻击
l Sshllshock:阻止利用Shellshock漏洞进行攻击
l Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
l Scanner Detection:阻止黑客扫描网站
l Metadata/Error Leakages:阻止源代码/错误信息泄露
l Project Honey Pot Blacklist:蜜罐项目黑名单
l GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断
识别方法------触发拦截
- 在请求中带入非法字符,从而触发拦截,这个时候可以根据拦截的提示识别是哪个WAF
- xsstring = ''
sqlistring = "UNION SELECT ALL FROM information_schema AND ' or SLEEP(5) or '"
lfistring = '.../.../.../.../etc/passwd'
rcestring = '/bin/cat /etc/passwd; ping 127.0.0.1; curl google.com'
xxestring = '<!ENTITY xxe SYSTEM "file:///etc/shadow">]>&hack;'
得到指纹
-
额外的cookie;
-
任何响应或请求的附加标头;
-
响应内容(如果被阻止请求);
-
响应代码(如果被阻止请求);
-
IP地址(云WAF);
-
JS客户端模块(客户端WAF)
指纹库
https://github.com/0xInfection/Awesome-WAF.git
https://github.com/CSecGroup/wafid.git
实际使用
- wafw00f www.12306.cn
- nmap
nmap www.12306.cn --script=http-waf-detect.nse
- sqlmap
sqlmap -u "xxx.com?id=1" --identify-waf
限制:必须含动态的网页。(即带get参数)
搜索引擎收集
1. 运算符
- 完整匹配:""
- 剔除不需要的内容: -
- 或: OR
- 数字范围: num...num
2. 高级语法
-
只搜索某个网站: site:zhihu.com
-
网页内容包括:
allintext:Powered by Discuz
intext:Powered by Discuz
-
网页标题包括:
allintitle:后台管理系统
intitle:后台管理系统
-
URL地址包括
allinurl:admin.php
inurl:index.php?id=1
-
文件类型指定:
filetype:pdf
3. 谷歌语法数据库
https://www.exploit-db.com/google-hacking-database
https://github.com/BullsEye0/google_dork_list
网络空间搜索引擎
1.shodan
淘宝上花几块钱可以买到。
- CLI 命令行工具
使用示例:
使用 shodan 入侵打印机 - 链滴 (ld246.com)
https://github.com/jakejarvis/awesome-shodan-queries (语法)
https://github.com/random-robbie/My-Shodan-Scripts (python脚本)
2. Censys
3. ZoomEye
4. fofa
5. 工具
https://github.com/knownsec/Kunyu
https://github.com/coco413/DiscoverTarget
https://github.com/saucer-man/saucerframe
目录扫描
1. 简介
- 常见敏感文件:
-
配置文件
xxx.cfg
-
数据文件
xxx.sql
.tar.gz
-
目录
/backup
/conf
/admin
- 为什么会泄露
- 网站配置错误
- 本地文件包含(LFI)
php里面存在include。如果include通过参数传入,并且没有经过校验,那么就能访问到磁盘中所有的文件。
可以在dvwa靶场中试下这个:
http://localhost/dvwa/vulnerabilities/fi/?page=.../.../phpinfo.php
http://localhost/dvwa/vulnerabilities/fi/?page=.../.../.../.../.../.../.../in.txt
2. 常见敏感目录和文件
-
robots.txt 爬虫机器人文件(如果配置了这个,进去里面看看,exclude的往往是敏感的文件,可以专门看这些文件)
-
sitemap.xml 知道搜索引擎爬虫如何搜索(往往由cms生成)
-
网站的备份文件/数据
- xxx.zip
-
后台登录的目录
/admin
/manage
-
安装包(源码)
- 主要适用于非开源,商用的系统
- /install
-
上传的目录
/upload
/upload.php
-
mysql的管理界面
phpadmin 的web页面去管理
- 程序的安装路径
/install
- php 的探针 phpinfo.php
- 用来查看服务器的探针
+ 雅黑探针 (用来解析phpinfo)
-
网站文本编辑器漏洞。可以百度搜下学习下,这种很容易有各种漏洞
- ueditor漏洞
- kindeditor
-
Linux
- /etc/passwd
- /etc/shadow 用SHA512
- /etc/sudoers
-
MacOs
- DS_Store
-
临时文件编辑器
- .swp
-
目录穿越
- 可能会出现漏洞的服务器:Windows IIS 、 Apache
- 就是访问网站路径的上一级 .../.../.../
-
tomcat 中的WEB_INF
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
WEB-INF-dict
3. 文件扫描思路
-
直接输入url
- 递归模式
- 字典模式:得预先有字典
- 暴力破解模式
- 爬虫(专门用robots.txt)
- fuzz(模糊测试):依赖于字典
-
文件扫描的字典
wordlists即可获取
4. 工具
- dirb 扫描工具
dirb http://demo.testfire.net/
-
dirbuster 图形化界面工具 ------ 新版本是ZAP,建议用ZAP
-
御剑
-
Burp Suite
5. 注意事项
-
WAF、IDS等会拦截或锁IP
如何绕过?
- 通过代理
- 网络空间搜索引擎,找到一些现成的结果
6. 防御
- 控制权限
- 删除敏感文件
- WAF、IDS
GIT
1. 为什么GIT会导致信息泄露
- 把是由仓库/隐私文件提交到了github
- 部署项目的时候,不小心把【.git文件】一起打包进去,放到web网站的目录下
- .git/logs/HEAD 存储了git的log信息,可以找到历史的commit项
.git/index 缓存git add的文件,暂存区
.git/refs/stash git stash 把代码存入缓存区
.git/refs/heads/master 记录了master的commit的hash(得到hash就能得到当前所有最新代码)
.git/objects/pack/.pack
- .git/logs/HEAD 存储了git的log信息,可以找到历史的commit项
2. github搜索技巧
kali in:file 搜索文件中包含kali的代码
kali in:path 搜索路径中包含kali的代码
kali in:path,file 搜索路径、文件中包含kali的代码
shodan language:python 搜索关键字shodan,语言为python的代码
filename:config.php language:php 搜索文件名为config.php,且语言为php
kali topics:>=5 标签数量大于等于5的
kali size:<1000 文件小于1KB的
kali stars:10...50 star大于10小于50的
kali pushed:>2021-08-15 搜索在2021年8月15日之后提交的
kali pushed:2021-07-01...2021-08-01 搜索在此区间
kali created:>=2021-06-01 创建时间
kali pushed:<2021-08-01 -language:java
搜索在2020年8月1日前push代码且排除java语言
3. git泄露利用方式
-
找到.git 文件夹
- 目录扫描
- robots.txt
- 搜索引擎搜索 intitle:"Index of /.git"
-
下载.git文件夹
https://github.com/BugScanTeam/GitHack
https://github.com/lijiejie/GitHack
-
用git的命令获取内容
- git log
- git rest --hard [log hash]
- git diff
4. 懒人工具
- 自动下载、自动分析
https://github.com/gakki429/Git_Extract
5. 案例
- ctfhub网站,强烈推荐使用
- dirb直接扫描
-
直接用GitHack工具下载下来。
-
git log查看提交记录
- 使用git diff比较
直接得到flag