免责声名
博主是一位网络安全初学者加爱好者,所写的文章是作为经验分享,同时给自己做笔记;
若用到上述技术违法,应本人自负责。
一、 信息分类的类型
1、域名相关信息
2、IP相关信息
3、端口服务相关信息
4、指纹识别
5、Google Hacking
6、目录信息
7、Git Hack
(远远不止这些,后面有在补充)
二、域名相关信息
域名是什么?
域名是一种代替ip的网址的名称,一个网站都有对应ip的服务器地址,而域名就是访问该地区的手机号,知道域名直接访问。
域名的分类
- 国际域名:.com(商业公司) .net(网络服务) .org(组织协会等) .gov(政府部门) edu(教育机构) .mil(军事领域) .int(国际组织)
- 国别域名:.CN代表中国 .UK代表英国 .US代表美国
域名与ip
www.baidu.com --> 域名解析服务(DNS) --> 220.181.38.148
域名信息人
用whois网站查询被域名被注册人的信息。手机号码,邮箱,地址,等等注册人信息
https://whois.chinaz.com
http://whoissoft.com
https://whois.cnnic.cn/WelcomeServlet
kali自带whois指令。
whois [域名]
域名反查(知道某人一信息进行反查域名等等)
http://whois.chinaz.com/reverse
国家ICP备案查询
备案的信息是国家要求的,只要在大陆就要备案,信息也是公开的。
什么是子域名
子域名是主域名的下一级域名,通常是大型公司为了满足不同产品或业务需求在主域名基础上发展而来。
例:百度www.baidu.com
news.baidu.com 百度新闻
map.baidu.com 百度地图
... ...
怎么查询子域名
1、字典猜解
2、枚举
工具枚举暴力破解
Layer子域名挖掘机
网站在线枚举
phpinfo.me/domain/ 不知道为什么我打不开
域名解析信息
记录信息
@ —— 为全体主机
记录类型
A A记录是最常用类型,将域名指向一个IPV4地址,如8.8.8.8
CNAME 将域名指向另一个域名地址,与其保持相同解析,如https://www.dnsoid.cn
MX 用于邮件服务器,相关参数一般由邮件注册商提供
TXT 可填写附加文本信息,常用于域名验证
NS 域名服务器记录,可将指定域名交由其他DNS服务商解析管理
AAAA 将域名指向一个IPv6,如ff06:0:0:0:0:0:0:c3
获取域名解析信息
在线获取网站
dbcha.com
sitereport.netcraft.com
jsons.cn/nslookup/
获得信息的总结作用
域名:联系人的姓名、邮箱、手机号(可以用来社工基础,同时弱口令爆破)
子域名:会相对薄弱,同时也可以当渗透电
dns:域名解析信息,收取记录类型
反查:得到更多的域名
三、IP信息
DNS解析流程
怎么通过域名获取到映射的IP(ping/nslookup)
ping (因特网包探测器)
域名解析服务器获得ip,如果出现太多ip,则是一个web网站可以部署在多个服务器上(CDN技术)
nslookup
nslookup [域名]
nslookup -type="类型" baidu.com ——查询对应DNS类型的部署
IP的归属(IP是属于谁的)
http://ipwhois.cnnic.net.cn/ --公开查询
如何获取CDN背后的真实IP
cdn(内容分发网络)减少服务器压力
常见CDN服务商
CloudFlare/CloudFront
帝联/蓝讯/网宿/七牛云/腾讯/百度/阿里云
实现流程
阿里云自己给了答案-->https://www.zhihu,com/question/36514327/answer/1604554133 - 搜索
如何找到真实IP
1、超级ping
http://ping.chinaz.com/
2、历史DNS
http://dnshistory.org/
http://toolbar.netcraft.com/site_report?url=
https://tools.ipip.net/cdn.php
3、通过子域名查询IP
4、国外主机解析
https://asm.ca.com/zh_cn/ping.php 进不去
http://host-tracker.com
http://www.webpagetest.org/
5、其他
渗透主机如果与渗透目标处于同一个局域网内,便可以使用这条命令去探测存活的主机
netdiscover -i eth0 -r 192.168.2.0/24
四、端口服务信息
查看本机端口号信息指令
windows
netstat -aon|findstr [端口]
Linux
netstat -an|grep [端口]
远程监听机器端口
telnet [IP] [端口]
wget [IP] [端口]
nc -vz [IP][端口] --可以进行扫描
常见端口及漏洞
https://nsrc.org/workshops/2009/summer/presentations/day3/common-ports.pdf
文件共享服务端口
远程连接服务端口
web应用服务端口
数据库服务端口
邮件服务端口
网络常见协议端口
特殊服务端口
端口扫描工具
Nmap(kali自带)
功能:
1、扫描主机
2、扫描端口
3、探测操作系统、软件版本
参数类型
脚本:(602个脚本)(也可以自己写然后加进去)
全部清单:https://nmap.org/nsedoc/index.html
例如
nmap [ip] --script http-enum 列举HTTP服务
nmap --script=auth 绕过鉴权
nmap --script=brute 暴力破解
nmap --script=vuln 扫描漏洞
在线扫描
http://coolaf.com/tool/port
五、cms指纹识别信息
什么是指纹识别?
通过关键特征,识别出目标的CMS系统、服务器、开发语言、操作系统、CDN、WAF的类别版本等等
识别对象
CMS是什么
CMS系统指的是“内容管理系统”,是用来发布网络内容的一体化Web管理系统。CMS系统主要有两类功能,一类是搭建网站,另一类是用来管理和发布内容。
CMS包括什么?
博客、微博、团购网站、导航网站、信息分类、问答网站、商城、百科、企业官网、学校官网、医院官网... ...
主流(开源)CMS
各类网站开源CMS
CMS识别思路
版权信息
例:在网站标签上或者右下角左下角没有去掉该开源CMD
特定文件MD5值
例:discuz的官网网站图标favicon.ico的MD5值与其网站一样。
查看网页源代码
通过特定文件分析
CMS识别的工具
kali自带
whatweb -v [网站]
cmseek -u [网站]
浏览器自带的插件
wappalyzer
https://www.wappalyzer.com
whatruns
https://www.whatruns.com
在线网站
http://finger.tidesec.com/
离线网站
御剑指纹扫描器
Test404轻量CMS指纹识别
六、cdn指纹识别信息
常规工具
ping
nslookup
超级ping
ldb (load balance detector)
专用
国内:
http://cdn.chinaz.com/
国外:
https://www.cdnplanet.com/tools/cdnfinder/
脚本:
https://github.com/boy-hack/w8fuckcdn/
https://github.com/3xp10it/xcdn
七、WAF指纹识别
什么是WAF
Web应用防火墙
过滤HTTP/HTTPS的请求
WAF的分类
硬件型WAF(厂商安装)
云WAF(阿里云、腾讯云、华为云)
软件型WAF(部署在Apache、Nginx等HTTPServer中)
常见WAF厂商
各种云:阿里云、腾讯云、华为云、百度云... ...
安全狗、宝塔、360、知道创宇、长亭、安恒、
各个产品拦截界面
WAF指纹识别思路
思路:
任何响应或请求的附加标头;
响应内容;
响应代码;
IP地址(云WAF)
js客户端模块(客户端WAF)
代码触发拦截:
指纹库:
https://github.com/CSecGroup/wafid/blob/master/finger.xml
WAF指纹识别工具
kali自带:
https://gothub.com/EnableSecurity/wafw00f
用法:wafw00f [域名]
nmap [域名] --script=http-waf-detect.nse --没有识别出来
其他
https://github.com/0xlnfection/Awesome-WAF
八、搜索引擎信息收集(以谷歌为例子,要挂加速器)
搜索技巧
语法数据库
https://www.exploit-db.com/google-hacking-database
https://github.com/BullsEye0/google_dork_list
工具
在github搜索:
google hacking
google dorks
九、网络空间搜索引擎
什么是网络空间
那就是包括了全世界所有一切能够相互连接在一起的电子设备和系统就是网络空间,俗称万物互联。
为什么要有关网络空间的搜索引擎呢
对于这些设备组成的网络空间,在正常的搜索引擎中是搜索不到的,这就需要一个网络空间的搜索引擎。
网络空间搜索引擎(osint)(开源网络情报)
扫描方式:
用nmap/zmap扫描网络
用IP库扫描
枚举
标识设备:
爬虫--URL
IP--域名
开放端口
操作系统
物理地址
mac地址
设备类型
shodan(搜索引擎)(功能极为庞大)
对于这个搜索引擎,我这边就不做多介绍,内容有点小多,得消化。这边有个新手指南。
可以搜索全世界的IP,同时可以统计自己的设备
kali可以直接使用
shodan -h
censys(搜索引擎)
没有收费
收录了证书
ZoomeEye(搜索引擎)(国内搜索引擎)
网络空间测绘
xmap
fofa(搜索引擎)
工具
https://github.com/knownsec/Kunyu
https://github.com/coco413/DiscoverTarget
https://github.com/saucer-man/saucerframe
十、目录扫描
部署的网站有一些敏感文件
配置文件 -- xxx.cfg
数据文件 -- xxx.sql
一些特殊目录
/backup ---备份文件(有的管理员也会直接拷贝一份叫.bak后缀的备份文件)
/conf ---敏感文件
/admin ---后台文件
会泄露哪些信息
数据库用户名和密码
服务器用户名和密码
数据库文件
为什么会泄露
配置不当的问题
本地文件包含(文件包含漏洞):
local file inclusion (LFI)
PHP(header.php common.php footer.php function.php)
include("")
require()
常见的敏感目录和文件
robots.txt 爬虫限制网站
sitemao.xml 指导搜索引擎去搜索
网站的备份文件/数据
在线压缩
路径、文件名、wwwroot、2021081.zip
后台登录的目录
/admin
/manage
程序的安装包(非开源,商用)(源码)
/install
上传目录(文件上传漏洞)
/upload
/upload.php
mysql的管理界面
web页面管理--/phpadmin
MySQL
程序的安装路径
/install
php的探针
phpinfo
雅黑探针
文本编辑器(文本编辑器漏洞)
Ueditor
kindeditor
CKeditor
Linux
/etc/passwd
/etc/shadow 看用户名密码(密码加密)SHA512加密
/etc/sudoers sudo
MacOS
.DS_Store 记录目录结构的文件
编辑器的临时文件
.swp临时编辑,无保存
目录穿越
Windows IIS
Apache
tomcat WEB-INF
WEB-INF/web.xml:Web应用程序配置文件,描述了Sevlet和其他的应用组建配置及命令规则
WEB-INF/database.properties:数据库配置文件
WEB-INF/classes/:一般用来存放java类的文件(.class)
WEB-INF/lib/:用来存放打包好的库(.jar)
WEB-INF/sec/:用来放源代码(.asp和php)等
secret.txt
password.txt
文件扫描思路
直接在域名后面拼接,如果返回200,就是存在
扫描方法
递归扫描:dir xxx
字典模式(准备好自己的字典)
暴力破解
爬虫
fuzz(模糊测试)--用到字典,没有规律(/dir、/index.php?url=)
文件扫描字典
kali查看字典
wordlists
文件扫描工具
kali自带
dirb [域名]
man dirb 查看参数
dirbuster (过时的工具)
御剑(算的上好用)
Burp Suite(贼牛逼一款软件,针对web,hacker必备)
这边还有几款
DirBrute
Dirsearch
Dirmap
wfuzz
注意事项
WAF、IDS拦截
挂代理以及网络空间搜索引擎,寻找什么waf以及IDS
防御
权限
删除敏感文件
部署WAF、IDS
十一、Git信息收集(序中心化控制软件)
什么是版本控制系统
代码需要恢复、备份
修改仓库难以管理
整个工程直打包、占用空间过多
Version Control System
就是一个用来记录文件变动历史的系统,便于之后切换回去查看你修改的历史;
基本阶段(本地的VCS)
协同开发的问题---文件冲突的问题
集中化的VCS
(Centralized Version Control Systems、CVCS、CVS、SVN)
自动合并不冲突
标记冲突内容
新的问题---有一天SVN挂掉了,就寄了
不能下载最新的代码,每一个人都变成最早的VCS
同时如果中心化代码丢失,记录也将丢失
分布式的CVS
(Distributed Version Control System、DVCS、Github、Gitlab、码云)
解决中心化的新问题
工具区域的划分
代码是工作区
git add [文件名] ---添加到暂存区(index文件)
git commit -m "注释" ---提交到开发分支(master)
git push --同步到远程仓库
为什么Git会导致信息泄露
把私有仓库/隐私文件提交到了github
部署项目的时候,不小心把.git文件一起打包进去,放到web网站的目录下(war:.class\.java)
.git有什么用的内容
.git/logs/HEAD --存储了git的log信息,可以找到历史的commit项
.git/index --缓存git add的文件,暂缓区
.git/refs/stash --把代码存入缓存区(git stash)
.git/refs/heads/master --记录了master的commit的hash
.git/objects/pack/.pack
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 #搜索在日期前push代码且排除java语言
Git的信息泄露利用方式
找到.git文件夹
如果是web通过目录扫描
robots.txt里有.git --证明有这文件
搜索引擎搜索 intitle:“index of/.git”
把.git下载到本地
工具:
https://github.com/BugScanTeam/GitHack 用法:python GitHack.py xxx.com/.git/
https://github.com/lijiejie/GitHack
https://github.com/wangyihang/githacker
https://github.com/WangWen-Albert/JGitHack 这个是图形化工具
用git的命令获取内容
git log #获取Git历史信息
git reset --hard [log hash] #恢复到有hash的版本获取源码
git diff #关键信息放在区别里
脚本小子一键懒人工具
https://github.com/gakki429/Git_Extract
Git练习题目
ctfhub技能树(web--信息泄露--Git泄露--log、stash、index)
buuctf(禁止套娃、Mark loves cat)
补充
kali信息收集目录下面的工具对比
kali官网软件清单https://tools.kali.org/tools-listing
中文翻译:百度翻译或者浏览器自带 https://github.com/Jack-Liang/kalitools(别人翻译完的)
存活主机识别
arping #将ARP和或ICMP请求放松到指定主机
fping #fping可以在命令行中指定要ping的主机数量范围
hping3 #TCP/IP数据包组装/分析工具 --- 可以发起flood攻击
masscan #最快的互联网端口扫描器(不知道是真的假的,有待验证)
thcping6 #atk6-yhcping6 --- 可以攻击IPV6和CMP6固有的协议弱点
路由分析
netdiscover
netmask
两个都跟nmap没啥区别
情报分析
maltego #给他一个域名,然后分析出很多信息,可视化
spiderfook
spiderfook -cli
theharvester #可以对域名主机直接进行信息收集
剩下三个是集成信息收集方式
DNS分析
desenum #多线程perl脚本枚举的DNS信息并发现非连续的IP段工具
dnsrecon #DNS枚举和扫描 用法:dnsrecon -d [域名]
fierce #DNS扫描程序 用法:fierce --domain [域名]
IDS/IPS识别
IDS(入侵检测系统)
IPS(入侵防御系统)
lbd #CDN、负载均衡的识别 --用法:lbd [域名]
wafw00f #WAF识别 --用法:wafw00f [域名]
SMB分析(网络文件协议)
enum4linux #可以收集Windows系统的大量信息--用法:enum4linux [IP]
nbtscan #扫描开放的NETBIOS名称的服务器--用法:nbtscan -r [IP]
SNMP分析(简单网络管理协议,大部分设备都支持SNMP协议)
onesixtyone #通过SNMP服务,渗透测试人员可以获取大量的设备和系统信息--用法:onesixtyone [IP]
snmp-check #smap-check [IP] [端口号]
SSL分析
ssldump #SSL/TLS网络协议分析工具
sslh #开源端口复用软件/允许我们在linux系统上一个端口运行多个程序
sslscan #评估远程web服务器的SSL/TLS的安全性--用法:sslscan [域名]
sslyze #可以扫描出SSL中一些经典的配置错误--用法:sslyze [域名]
dmitry(综合信息收集工具)
ike-scan(VPN服务嗅探工具)
legion
其他信息收集方式
旁站或c段
在线工具
https://chapangzhan.com #c段
https://webscan.cc #旁站
通过APK收集信息
apktool反编译
正则表达式匹配
https://github.com/Nicholas-lang/apkmap #python工具
社会工程学
因为无细讲,后面学习的话单独出一篇,待更。
内网信息收集(Windows或linux命令)
kali-undercover 再执行一遍就伪装还原,伪装win10