Kali渗透测试系统集成了metasploit开源的漏洞测试框架,是渗透测试必备的神器。下面是我在学习metasploit的笔记,有什么错误的地方请指出来,我会立即纠正的~
一.情报搜集
1.外围信息搜集
外围信息搜集又叫公开渠道信息搜集。搜索引擎,公共信息库,目标门户网站等等都是很好的入手点。metasploit有一类“辅助模块”,可以帮助你进行信息搜集的工作,并且还集成了nmap等神器。
1.1通过DNS和IP挖掘目标网站的信息
①whois域名注册信息查询
可以在MSF终端使用whois命令进行查询。
msf > whois baidu.com
注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
②nslookup,dig域名查询
nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果
msf > nslookup
[*] exec: nslookup
> set type=A
> baidu.com
msf > dig @dns.baidu.com baidu.com #dns.baidu.com为DNS服务器
具体使用方法就不在这讲述,请自行百度。
③IP2Location 地理位置查询
www.maxmind.com
可以根据IP查询地理位置,需要FQ、
④netcraft提供的信息查询服务
http://www.netcraft.com/
能获取到更多的更详细的信息。
⑤IP2反域名查询
通过IP反查到域名,即旁注的第一步。
http://www.ip-adress.com/reverse_ip/
可以通过该网站查询
国内的也可以用 http://www.7c.com/ 进行查询,结果更准确。
1.2通过搜索引擎进行信息搜集
①Google Hacking
Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串,
http://www.exploit-db.com/google-dorks 可以在上述网址看GHDB的内容。
一些自动化的工具,SiteDigger ,Search Diggity,Gooscan,具体用法自行百度。
②搜索网址目录结构
首先可以手工测试一些常见的目录名,如 admin,login等等。
用Google查询:parent directory site:XXX.com 来查找目录。一般对拓展名为inc,bak,txt,sql的文件要特别留意。
inc:可能包含网站的配置信息。
bak:通常是文本编辑器留下的备份文件。
txt or sql:包含网站运行的sql脚本。
自动化的工具:metasploit的brute_dirs,dir_listing,dir_scanner等辅助模块,主要是暴力猜解。以dir_scanner为例:msf > use auxiliary/scanner/http/dir_scanner。具体的辅助模块需要百度自行查找。
一些网站还会在根目录下放置robots.txt文件,用以告诉搜索引擎哪些目录和文件不被抓取。
③搜索特定类型的文件
有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找,如Google,site:XXX.com filetype:xls。
④搜索E-Mali
metasploit中有search_email_collector,进行针对性的搜集。
msf auxiliary(dir_scanner) > use auxiliary/gather/search_email_collector
⑤搜索存在sql注入的页面以及后台登陆的页面
Google:site:XXX.com inurl:login site:XXX.com inurl:.php?id=1
⑥IP路由侦查
工具:traceroute
root@kali:~# traceroute www.baidu.com
2.主机探测和端口扫描
2.1活跃主机扫描
①ICMP Ping命令
ping www.baidu.com
②metasploit中的模块
位于 modules/auxiliary/scanner/discovery 主要有 arp_sweep, ipv6_multicast_ping, ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe, udp_sweep.
arp_sweep 使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器
udp_sweep 使用UDP数据包探测。
③Nmap探测
metasploit中集成了nmap,至于nmap的用法,不在这里详细讨论。
2.2操作系统辨别
Nmap -O 参数
2.3端口扫描与服务探测
扫描技术:TCP Connect ,TCP SYN, TCP ACK ,TCP FIN ,TCP IDLE
①metasploit的端口扫描模块
search portscan 找到相关模块
②Nmap端口扫描
一般用到的参数如下:
-sT -sS -sF/-sX/-sN -sP -sU -sA -Pn -p -F 具体百度。。。。
③探测详细服务信息
Nmap -sV 参数
3.服务扫描和查点
metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名
可输入 search name:_version查看所有服务查点模块
3.1网络服务扫描
①telent服务扫描
msf > use auxiliary/scanner/telent/telent_version
②SSH服务扫描
msf > use auxiliary/scanner/ssh/ssh_version
③Oracle数据库服务查点
msf auxiliary(ssh_version) > use auxiliary/scanner/oracle/tnslsnr_version
④开放代理探测
open_proxy模块
msf auxiliary(tnslsnr_version) > use auxiliary/scanner/http/open_proxy
公开搜集的代理服务器安全性无法得到保障。
3.2口令猜测与嗅探
制作一本质量高的字典需要运用社工。
①.SSH口令猜测
msf auxiliary(open_proxy) > use auxiliary/scanner/ssh/ssh_login
②psnuffle口令探测
psnuffle是metasploit中的口令嗅探工具,只有在接入对方网络的初始访问点后才能进行嗅探。
msf auxiliary(ssh_login) > use auxiliary/sniffer/psnuffle
4.网络漏洞扫描
漏洞扫描器会向目标发送大量数据包,甚至会导致目标系统拒绝服务,而且会有很多误报或漏报,因此需要人工分析。
①OpenVAS漏洞扫描器
OpenVAS在kali中的配置请自行百度,这里不再详细讲解。
OpenVAS使用教程这里不再赘述。
②查找特定服务漏洞
Nmap是针对性扫描工具之一,其拥有很多script的脚本可供使用,具体脚本的使用方法不再详解。
5.渗透测试信息数据库共享
metasploit提供了对psrtgresql数据库的支持。并提供了db_namp命令,可以将Nmap扫描结果存入数据库中,还提供了db_import命令,支持多种扫描结果导入。
①使用网络数据库共享
②通过RPC 服务共享
- The Road to learn React书籍学习笔记(第三章)
The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...
- 《DOM Scripting》学习笔记-——第三章 DOM
<Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- JVM学习笔记-第三章-垃圾收集器与内存分配策略
JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...
- Metasploit渗透测试魔鬼训练营
首本中文原创Metasploit渗透测试著作,国内信息安全领域布道者和资深Metasploit渗透测试专家领衔撰写,极具权威性.以实践为导向,既详细讲解了Metasploit渗透测试的技术.流程.方法 ...
- 《metasploit渗透测试魔鬼训练营》学习笔记第四章—web应用渗透
继续来学习metasploit...记好笔记是很重要的,下面开始正文: 二.WEB应用渗透技术 1.WEB应用渗透基础知识 先介绍WEB应用攻击的主要类型(大致介绍,具体请自行查 ...
- 《Metasploit渗透测试魔鬼训练营》第一章读书笔记
第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...
- [HeadFirst-JSPServlet学习笔记][第三章:实战MVC]
第三章 实战MVC J2EE如何集成一切 Java2企业版(Java 2 Enterprise Editon,J2EE)是一种超级规范.规定了servlets2.4,JSP2.0,EJB2.1(Ent ...
- python学习笔记——第三章 串
第三章 字符串学习 1.字符串不灵活, 它不能被分割符值 >>> format = "hello, %s. %s enough for ya?" >> ...
随机推荐
- easyui 带参数的datagride
<table id="tt" style="width:100%;height:355px" url="../aowei/Handler/Han ...
- Java开发学习--Java 中基本类型和包装类之间的转换
Java 中基本类型和包装类之间的转换 基本类型和包装类之间经常需要互相转换,以 Integer 为例(其他几个包装类的操作雷同哦): 在 JDK1.5 引入自动装箱和拆箱的机制后,包装类和基本类型之 ...
- hashmap的一些基础原理
本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...
- Java基础——String
前言 从去年八月末开始工作一年了,有了大半年的java开发经验,自认为比在大学时期编码能力强了很多,但是基础方面概念模糊的地方感觉越来越多了 (:´д`)ゞ 所以,我准备把这些问题以及工作中遇到的问题 ...
- [LeetCode]Maximum Subarray题解
Maximum Subarray: Find the contiguous subarray within an array (containing at least one number) whic ...
- MySQL数据库的备份与恢复命令
1.数据库导出SQL脚本 启动MySQL服务器 输入:mysqldump -u root -p 数据库名>生成脚本文件路径 输入登录密码,回车键 例如: $ mysql.server star ...
- idea新建maven多模块spring boot项目
1.新建一个maven多模块项目,比如这种结构: maven-demo |--demo-common |--demo-order |--demo-user 2.先新建一个maven项目,在maven项 ...
- MongoDB Limit/限制记录
Limit() 方法 要限制 MongoDB 中的记录,需要使用 limit() 方法. limit() 方法接受一个数字型的参数,这是要显示的文档数. 语法: limit() 方法的基本语法如下 & ...
- Android Tab与TabHost
这就是Tab,而盛放Tab的容器就是TabHost 如何实现?? 每一个Tab还对应了一个布局,这个就有点好玩了.一个Activity,对应了多个功能布局. ①新建一个Tab项目,注意,不要生成mai ...
- Gulp前端服务器本地搭建
前端服务器本地搭建分三阶段: 1.Node.js的安装 2.Npm环境配置 3.编写JS文件 1.Node.js安装: 如图所示: Next: 选择I accept 然后Next: 选择安装文件的位置 ...