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?" >> ...
随机推荐
- 【转】redis windows环境搭建
一.下载redis windows压缩包 地址参考: https://github.com/ServiceStack/redis-windows/tree/master/downloads https ...
- 【C#】权限修饰符
这个看了蛮多遍的,但是由于有一些一直不用,老是忘记,记录一下:) private 成员只能由同一个类(class)类型中的其他成员访问. family 成员可由派生类访问,不管那些类型是否在用一个 ...
- WPF中ScrollViewer嵌套引发滚动失灵的Bug
事情起因 测试报告说存在滚动条不能拖动的情况,我们几个开发人员多次测试都未重现该问题.后面发现是操作系统的问题,在XP和部分Win7上会存在该问题.而在我们开发人员的机器上,包括Win7 SP1,Wi ...
- No Mapping For GET "xxx.do"
今天写的一个form表单提交时总是报错找不到mapping,form如下: <form action="toUpdate.do" method="post" ...
- Luogu4433:[COCI2009-2010#1] ALADIN(类欧几里德算法)
先套用一个线段树维护离散化之后的区间的每一段的答案 那么只要考虑怎么下面的东西即可 \[\sum_{i=1}^{n}(A\times i \ mod \ B)\] 拆开就是 \[\sum_{i=1}^ ...
- word-wrap,word-break,white-space
这3个属性都与换行有关,看看有啥区别. 语法介绍 [word-wrap] 定义:属性允许长单词或 URL 地址换行到下一行: 语法: word-wrap: normal|break-word; bre ...
- 关于beginPath()和closePath()的关系>>canvas的beginPath和closePath分析总结,包括多段弧的情况
今天查了一下beginPath()和closePath()关于区域的划分问题,发现到一篇解释得很明白的文章,我就直接转载到这里了. 原文请看:canvas的beginPath和closePath分析总 ...
- angular排序
说点小案例angular的排序 <!DOCTYPE html> <html ng-app="mk"> <head> <meta chars ...
- Java基础之引用(String,char[],Integer)总结于牛客网的专项练习题
1.String的引用: 下列代码执行后的结果为: public class Test { public static void main(String[] args) { StringBuffer ...
- 使用nodeJs安装Vue-cli (win10 使用管理员身份)
TIP:win10下安装,使用管理员身份进行,否则会有权限限制. 1,安装完成node,node有自带的npm,可以直接在cmd中,找到nodeJs安装的路径下,进行命令行全局安装vue-cli.(n ...