kali入门笔记(残缺版)

目录

  • 1. 环境搭建
  • 2. 虚拟机使用技巧
  • 3. kali 常用命令
  • 4. Arping的使用
  • 5. hping3 端口扫描
  • 6. nslookup
  • 7. 使用dnsenum收集域名信息
  • 8. DNSMap
  • 9. 域名查询工具DMitry
  • 10. 网站防火墙探测工具Wafw00f
  • 11.Nmap基础
  • 12. Nmap端口扫描
  • 13. Nmap主机发现
  • 14. Nmap指纹识别与探测
  • 15. Nmap信息收集
  • 16. 漏洞分析工具 legion 教程
  • 17. 漏洞利用searchsploit
  • 18. Metasploit简介
  • 19. Metasploit:端口扫描
  • 20. Metasploit:服务识别
  • 21. Metasploit: 网络嗅探,获取FTP密码
  • 22. Metasploit:SNMP扫描与枚举
  • 23. Metasploit:扫描弱密码主机
  • 24. Metasploit:VNC身份识别
  • 25. Metasploit:Wmap网站漏洞扫描

1. 环境搭建

为了便于管理,我们将虚拟机都下载到一个文件夹中

kali入门笔记(残缺版)_第1张图片


1. 虚拟机VMware下载与安装教程(详细)
2. Kali Linux全网最细安装教程
3. kali汉化
4. Metasploitable2-Linux在VMware Workstation Pro上安装
5. 靶机windows7下载
官网:https://msdn.itellyou.cn/

点击"详细信息",复制下载链接,如果开启了迅雷,它会自动弹窗识别链接,点击下载即可

kali入门笔记(残缺版)_第2张图片
kali入门笔记(残缺版)_第3张图片

下载完成后,打开虚拟机,点击“文件”----“新建虚拟机”

kali入门笔记(残缺版)_第4张图片

kali入门笔记(残缺版)_第5张图片

kali入门笔记(残缺版)_第6张图片

kali入门笔记(残缺版)_第7张图片

为了区分操作系统的版本,我们将下载的镜像文件名复制过来作为 “虚拟机名称”

kali入门笔记(残缺版)_第8张图片

kali入门笔记(残缺版)_第9张图片

kali入门笔记(残缺版)_第10张图片

内存 8 个G

kali入门笔记(残缺版)_第11张图片

点击 “关闭”,再点击“完成” 即可

安装完成后,网络选择“公用网络”即可

kali入门笔记(残缺版)_第12张图片

然后点“关闭”即可

6. 下载靶机 owasp

下载链接

kali入门笔记(残缺版)_第13张图片

下载之后, E:\kaliLinux 下新建文件夹 OWASP_Broken_Web_Apps_VM_1.2,将其解压进去

在 Vmware 中点击 “文件”—“扫描虚拟机”,E:\kaliLinux\OWASP_Broken_Web_Apps_VM_1.2

kali入门笔记(残缺版)_第14张图片

开启该虚拟机

kali入门笔记(残缺版)_第15张图片

根据提示的 用户名 root 和 密码 owaspbwa 进行登录

使用 ifconfig 可以获取 ip 地址,方便在 kali 的虚拟机中进行测试

2. 虚拟机使用技巧

VMware的网络连接

NAT网络: 和其他同样设置NAT网络的虚拟机处于同一个局域网
桥接网络::和物理机处于同一个局域网内
仅主机模式: 不与外界进行联网,适合进行网络实验,比如测试蠕虫病毒

虚拟机快照

虚拟机快照可以用来保存虚拟机的当前状态。

最常用的场景是,刚刚安装好虚拟机的操作系统后创建一个虚拟机快照。如果后期做实验时,系统崩溃的话,可以恢复到初始状态,而不必再重新安装虚拟机及其操作系统。

选中某个虚拟机,鼠标右键“快照”—“拍摄快照”

虚拟机克隆

在工作中,经常会遇到需要同时开启多个同配置虚拟机的场景,此时无需创建多个虚拟机,使用VMware的克隆功能即可快速创建若干同配置的虚拟机。

选中某个关机状态的虚拟机,鼠标右键“管理”—“克隆”

导出虚拟机

将某个虚拟机导出为文件,别人可以直接打开就能使用

选中某个虚拟机,左上角“文件”—“导出为 vof”

3. kali 常用命令

【命令】
sudo
系统管理者的身份执行指令,也就是说,经由 sudo所执行的指令就好像是 root 亲自执行

sudo service apache2 start
开启apache服务

sudo passwd root
修改root密码

sudo ifconfig
查看网络连接信息

sudo apt update
sudo apt upgrade
sudo apt install XXX
系统更新和软件安装


【实操】

在 kali 中打开终端,开启 Apache 服务

kali入门笔记(残缺版)_第16张图片

将 ip 复制到浏览器,可以看到 Apache 服务成功开启!(上面的 ip 192.168.204.128 也可以)

kali入门笔记(残缺版)_第17张图片

kali入门笔记(残缺版)_第18张图片

再执行 sudo apt upgrade 升级软件包


【命令】
ls 命令,展示文件夹内内容
ls -a :全部的档案,连同隐藏档(开头为﹒的档案)一起列出来
ls -l:显示文件和目录的详细资料
pwd命令,查看当前工作目录的完整路径
cd命令,切换目录
cd /home 进入 '/ home’目录
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cp命令,复制
格式:cp a/b/c/d.txt a1/b1/c1/d_copy.txt
rm 命令,删除
格式:rm a/b/c/d.txt

4. Arping的使用

ARP协议是"Address Resolution Protocol”(地址解析协议)的缩写。在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。

arping,用来向局域网内的其它主机发送ARP请求的指令,它可以用来测试局域网内的某个IP是否已被使用(能获得 mac 地址就说明被占用了)。

实验环境
Windows 7,IP: 192.168.152.130(开启win7虚拟机,cmd 执行 ipconfig 获取 ip)

使用实例

查看某个IP的MAC地址
sudo arping 192.168.152.130

查看某个IP的MAC地址,并指定 count 数量(发包的数量)
sudo arping -c 1 192.168.152.130

-w timeout 设定一个扫描时间,单位是秒。
sudo arping -w 1 192.168.152.130

kali入门笔记(残缺版)_第19张图片

按 Ctrl + C 停止发包

5. hping3 端口扫描

hping3

hping 是面向命令行的用于生成和解析TCP/IP协议数据包汇编/分析的开源工具。
目前最新版是hping3,它支持TCP,UDP,ICMP和RAW-IP协议,具有跟踪路由模式,能够在覆盖的信道之间发送文件以及许多其他功能。
hping3是安全审计、防火墙测试等工作的标配工具。hping_优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。

实验靶机
Metasploitable2, IP:192.168.204.129
Windows7 ,IP:192.168.204.130

查看帮助
sudo hping3 --help

端口扫描
hping3 -I eth0 -S 192.168.204.129 -p 80 权限不够就加 sudo

kali入门笔记(残缺版)_第20张图片

拒绝服务攻击

6. nslookup

nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题

使用这款工具的时候,大家用到最多的就是查询一个域名的A记录。
nslookup domain [dns-server]
如果没指定dns-server,用系统默认的dns服务器。

kali入门笔记(残缺版)_第21张图片

kali入门笔记(残缺版)_第22张图片

查询其他记录
直接查询返回的是A记录,我们可以指定参数,查询其他记录,比如AAAA、MX等。
nslookup -type=type domain [dns-server]

kali入门笔记(残缺版)_第23张图片
kali入门笔记(残缺版)_第24张图片

mx 邮件服务器记录
nslookup -type=mx mail.xxxx.com

type可以是以下这些类型:
A地址记录
AAAA地址记录
AFSDB Andrew文件系统数据库服务器记录
ATMA ATM地址记录
CNAME 别名记录
HINFO硬件配置记录,包括CPU、操作系统信息
ISDN域名对应的ISDN号码
MB存放指定邮箱的服务器
MG邮件组记录
MINFO邮件组和邮箱的信息记录
MR改名的邮箱记录
MX邮件服务器记录
NS名字服务器记录
PTR反向记录
RP负责人记录
RT路由穿透记录
SRV TCP服务器信息记录
TXT域名对应的文本信息
X25域名对应的x.25地址记录

7. 使用dnsenum收集域名信息

dnsenum是一款域名信息收集工具。

dnsenum的目的是尽可能收集一个域的信息,它能够通过谷歌或者字典文件猜测可能存在的域名,以及对一个网段进行反向查询。它可以查询网站的主机地址信息、域名服务器等信息。

可以查询网站的主机地址信息、域名服务器、mx record(函件交换记录)

DNS信息劫持
DNS重定向
ARP欺骗

案例:
在 kali 终端执行 dnsenum baidu.com

kali入门笔记(残缺版)_第25张图片

A (Address)记录是用来指定主机名或域名对应的IP地址记录。
NS (Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
MX (Mail Exchanger)记录是邮件交换记录,他指向一个邮件服务器,用于电子邮件系统发送邮件时根据收信人的地址后缀来定位邮件服务器。
PTR记录用于将一个IP地址映射到对应的域名,也可以看成是A记录的反向,IP地址的反向解析。

8. DNSMap

dnsmap的使用
DNS域名暴力穷举工具

参数说明
-w 后加字典文件
-r 指定结果用常规格式输出文件
-c 指定结果用csv去输出
-d 设置延迟
-i 设置忽略ip(当你遇到一个虚假ip时很有用)

案例
kali 终端:
dnsmap example.com
dnsmap example.com -w yourwordlist.txt -r /tmp/domainbf_results.txt
dnsmap example.com -r /tmp/ -d 3000
dnsmap example.com -r ./domainbf_results.txt

kali入门笔记(残缺版)_第26张图片

9. 域名查询工具DMitry

域名查询工具 DMitry

DMitry工具是用来查询IР或域名WHOIS信息的。WHIOS是用来查询域名是否已经被注册,以及被注册域名的详情的数据库(如域名所有人和域名注册商)。使用该工具可以查询到域名的注册商和过期时间等。

常用参数:
-o 将输出保存到 %host.txt 或由 -o 文件指定的文件
-i 对主机的IP地址执行whois查找
-w 对主机的域名执行whois查找
-n在主机上检索Netcraft.com信息
-s 执行搜索可能的子域
-e 执行搜索可能的电子邮件地址
-p 在主机上执行TCP端口扫描
-f 在显示输出报告过滤端口的主机上执行TCP端口扫描
-b 读取从扫描端口接收的banner
-t 0-9扫描TCP端口时设置TTL(默认为2)
Requires the -p 需要-p标记才能传递

dmitry -wnpb baidu.com

10. 网站防火墙探测工具Wafw00f

网站防火墙探测工具 Wafw00f

现在网站为了加强自身安全,通常都会安装各类防火墙。这些防火墙往往会拦截各种扫描请求,使得测试人员无法正确判断网站相关信息。Kali Linux提供了一款网站防火墙探测工具 Wafw00f。它可以通过发送正常和带恶意代码的HTTP请求,以探测网站是否存在防火墙,并识别防火墙的类型。

WAFW00F是怎样工作的?

为了实现这一目的,WAFWOOF会执行如下操作:
1、发送正常的HTP请求,然后分析响应,这可以识别出很多WAF。
2、如果不成功,它会发送一些(可能是恶意的)HTTP请求,使用简单的逻辑推断是哪一个WAF。
3、如果这也不成功,它会分析之前返回的响应,使用其它简单的算法猜测是否有某个WAF或者安全解决方案响应了我们的攻击。

它能检测什么?

它可以检测很多WAF。想要查看它能检测哪些 WAF,以 -I 参数执行WAFW00F

使用
wafw00f -a baidu.com

kali入门笔记(残缺版)_第27张图片

11.Nmap基础

Nmap是什么?
诸神之眼,Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为 Dnamp。

Nmap可以完成以下任务:
主机探测
端口扫描
版本检测系统检测
支持探测脚本的编写

Nmap在实际中应用场合如下:

通过对设备或者防火墙的探测来审计它的安全性
探测目标主机所开放的端口
通过识别新的服务器审计网络的安全性
探测网络上的主机

Nmap的基本操作

1.对单个主机的扫描
nmap
2.对多个不连续的主机进行扫描
nmap 192.168.3.2 192.18.3.155 192.158.13.56 不同的IP之间用空格分开
3.对连续的主机进行扫描
nmap 192.168.152.100-200
4.对整个子网进行扫描
nmap 192.168.152.1-255

kali入门笔记(残缺版)_第28张图片

12. Nmap端口扫描

什么是端口?

端口是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部的端口,不可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。

端口对应着服务和软件
端口范围:0~65535

常见的端口及其说明,以及攻击方向汇总如下

文件共享服务端口

kali入门笔记(残缺版)_第29张图片

kali入门笔记(残缺版)_第30张图片

kali入门笔记(残缺版)_第31张图片
kali入门笔记(残缺版)_第32张图片
kali入门笔记(残缺版)_第33张图片

kali入门笔记(残缺版)_第34张图片

实验靶机: Metasploitable2 ,IP:192.168.204.129

Nmap端口扫描方法

-p 参数,通过该参数指定一个想要扫描的端口号,可以指定一个也可以指定一个范围。
nmap -p 80 192.168.204.129
nmap -p 80-800 192.168.204.129

kali入门笔记(残缺版)_第35张图片

扫描 tcp 端口
-sT
nmap -sT 192.168.204.129

扫描udp端口
-sU
nmap -sU 192.168.204.129

kali入门笔记(残缺版)_第36张图片

13. Nmap主机发现

跳过Ping扫描阶段(无ping扫描)

通常Nmap在进行其他扫描之前,都会对目标进行一个Ping扫描。
如果目标对Ping 扫描没反应的话,就会直接结束整个扫描过程(服务器可以禁止Ping)
nmap -PN

仅使用Ping协议进行主机发现

有的时候,需要在大量的主机中去快速的发现主机,这个时候,仅使用Ping 协议进行扫描,速度会非常快
nmap -sP

使用ARP协议进行主机发现

ARP协议扫描只适用于局域网内,使用ARP,不仅速度快,而且结果也会更加准确。
nmap -PR

14. Nmap指纹识别与探测

什么是指纹识别?

指纹识别技术是众多生物特征识别技术中的一种,所谓生物特征识别技术(biometrics ),系指利用人体所固有的生理特征或行为特征来进行个人身份鉴定,由于生物识别所具有的便捷与安全等优点使得生物识别技术在身份认证识别和网络安全领域拥有广阔的应用前景,可用的生物特征识别技术有指纹、人脸、声纹、虹膜等,指纹是其中应用最为广泛的一种。

服务和软件也有自己的特征,根据这些特征能够判断出具体的版本
不同的版本对应的不同的漏洞

实验靶机
Windows7, IP: 192.168.204.130
Linux, IP: 192.168.204.129

识别服务和软件版本
-sV
nmap -sV 192.168.204.129

识别操作系统版本
-O
nmap -O 192.168.204.129

kali入门笔记(残缺版)_第37张图片

15. Nmap信息收集

在渗透测试过程中,信息收集非常重要,前面的课程中,我们介绍过非常多的信息收集工具,Nmap作为诸神之眼,扫描之王,像信息收集这样的任务,自然也可以去完成。

信息收集
nmap --script ip-geolocation-* www.0day.cn

kali入门笔记(残缺版)_第38张图片

Whois信息查询(域名)
nmap --script whois-domain www.0day.cn

NSE脚本

在 文件系统 的 /usr/share/nmap/scripts/ 目录下存放着众多的脚本可供使用

16. 漏洞分析工具 legion 教程

Legion是 Sparta的一个分支,它是一个开源的、易于使用的、超级可扩展的、半自动的网络渗透测试框架

是一款 kali linux系统默认集成的Python Gul应用程序工具。Legion是一个Nmap、Nikto、Hydra等工具的集合,利用各个工具的优秀功能,完成信息收集、扫描和爆破等任务。

Legion主要包含以下功能:

端口扫描,程序自动调用nmap进行扫描,根据nmap的扫描结果,nikto自动加载结果,展开更精确的扫描。

针对扫描的结果,特定使用,如 : 使用dirbuster目录爆破,利用webslayer进行web指纹识别。

针对可爆力破解的端口,可调用 hydra 进行暴力破解。

实验靶机: Metasploitable2 ,IP:192.168.204.129

kali入门笔记(残缺版)_第39张图片
kali入门笔记(残缺版)_第40张图片
kali入门笔记(残缺版)_第41张图片

不知道为啥全都 crashed …

kali入门笔记(残缺版)_第42张图片

17. 漏洞利用searchsploit

https:// www.exploit-db.com
一个汇聚各种漏洞的网站

利用本地漏洞资源

kali Linux系统中,有搜索漏洞数据库(exploitdb)的本地副本,我们可以在终端窗口中输入命令去搜索。

Searchsploit
参数
-c, --case[Term] 执行区分大小写的搜索,默认搜索对大小写不敏感。
-e, --exact [Term]对exploit标题执行EXACT 匹配(默认为AND)
-j, --json[Term]以JSON格式显示结果

-m, --mirror [EDB-ID]将一个漏洞利用镜像(副本)到当前工作目录,后面跟漏洞ID号
-o, --overflow [Term]Exploit标题被允许溢出其列
-p, --path[EDB-ID]显示漏洞利用的完整路径(如果可能,还将路径复制到剪贴板)后面跟漏洞ID号
-t, --title[Term]仅仅搜索漏洞标题(默认是标题和文件的路径)
-u, --update检查并安装任何exploitdb 软件包更新(deb或git)
-w,–www [Term]显示Exploit-DB.com的 URL而不是本地路径(在线搜索)

使用实例
搜索标题中包含 oracle windows 的漏洞
searchsploit -t oracle windows

搜索漏洞号为39446 的漏洞
searchsploit -p 3389

查找mssql的漏洞
searchsploit mssql

查找apple的漏洞
searchsploit apple

kali入门笔记(残缺版)_第43张图片
path 是该漏洞脚本在 kali 中存放路径

【案例演示】

实验靶机: Windows7 下载 easy file sharing这款软件,IP:192.168.204.130
Easy File Sharing 这个软件,是一种允许访客容易地经由浏览器上传/下载文件的文件分享系统。
我们在kali 的本地漏洞库中去搜索这个软件的相关漏洞

searchsploit easy file sharing

kali入门笔记(残缺版)_第44张图片

执行漏洞脚本
python /usr/share/exploitdb/exploits/windows/remote/39009.py 192.168.204.130 80

注意:这个脚本是用 py2写的,如果报错了,说 print 有问题,是因为 py2 和 py3 输出不一样,py3 得是 print() ,带 () 的。

这个脚本会自动在 win7 中打开一个计算器,使得 Easy File Sharing 崩溃

安全建议:
系统和软件都使用最新版本

18. Metasploit简介

实验靶机: metasploitable2,IP:192.168.152.129

用Nmap扫描
nmap 192.168.152.129

用Metasploit模块扫描
search portscan

使用模块
use auxiliary/scanner/portscan/tcp

查看需要设置的参数
show options

设置参数
set rhosts 192.168.152.129

19. Metasploit:端口扫描

Metasploit:SMB扫描获取系统信息

实验靶机: Windows7 ,lP:192.168.152.134
什么是SMB
SMB(全称是Server Message Block)是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。
中文名:服务器信息块

通过扫描SMB,可以识别目标的系统信息

kali入门笔记(残缺版)_第45张图片

20. Metasploit:服务识别

实验靶机:linux服务器,IP: 192.168.204.129

扫描服务器的SSH服务

kali入门笔记(残缺版)_第46张图片

search ssh_version 获取版本相关的模块,我们需要的是 scanner 包下的

kali入门笔记(残缺版)_第47张图片

使用该模块: use auxiliary/scanner/ssh/ssh_version

查看参数:show options

设置参数:

kali入门笔记(残缺版)_第48张图片

退出:back

21. Metasploit: 网络嗅探,获取FTP密码

实验环境
模拟用户: windows 7
实验靶机: windows server 2008(带有FTP服务),IP:192.168.152.135

切换管理员:sudo su

启动metasploit
输入命令 msfconsole 启动 metasploit

使用密码嗅探模块
use auxiliary/sniffer/psnuffle

该模块可以不设置如何参数,即可使用
执行命令:run 开始嗅探

22. Metasploit:SNMP扫描与枚举

什么是SNMP

SNMP是专门设计用于在IP网络管理网络节点(服务器,工作站,路由器﹐交换机等)的一种标准协议,它是一种应用层协议。

各种网络设备上都可以看到默认启用的SNMP服务,从交换机到路由器,从防火墙到网络打印机,无一例外。

实验靶机: Metasploitable2。 IP:192.168.152.137

默认情况下,Metasploitable的SNMP服务仅侦听本地主机。

打开并编辑 “/etc/default/snmpd ",然后将以下内容更改为:
SNMPDOPTS=‘-Lsd -Lf /dev/null -u snmp -l -smux-p /var/run/snmpd.pid 127.0.0.1’
修改为
SNMPDOPTS=‘-Lsd -Lf /dev/null -u snmp -l -smux-p /var/run/snmpd.pid 0.0.0.0’

【Linux编辑并保存文件】
sudo vim 文件名
编辑完之后,需要 sudo reboot才能生效

23. Metasploit:扫描弱密码主机

实验靶机:多台windows

使用到的模块
auxiliary/scanner/smb/smb_login

操作过程

kali入门笔记(残缺版)_第49张图片

用这个 admin 和 123456 去尝试登录内网中的每个主机,0/24表示整个内网
这个用户名和密码可以换成字典,反复去暴力尝试

24. Metasploit:VNC身份识别

什么是VNC?

VNC(Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件。VNC是在基于UNIX和 Linux操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和Windows和 MAC 中的任何远程控制软件媲美。在 Linux 中,VNC包括以下四个命令: vncserver,vncviewer,vncpasswd 和 vncconnect。大多数情况下用户只需要其中的两个命令: vncserver和 vncviewer。

实验靶机:Metasploitable2-Linux。 lP: 192.168.204.129

VNC无身份验证扫描
use auxiliary/scanner/vnc/vnc_none_auth

kali入门笔记(残缺版)_第50张图片

VNC密码爆破
use auxiliary/scanner/vnc/vnc_login
它会使用自带的密码字典进行爆破

kali入门笔记(残缺版)_第51张图片

VNC登录
新开一个普通的终端,密码就是上面爆破出来的 “password”

kali入门笔记(残缺版)_第52张图片
这样,我们就拿到了这个服务器的控制权限

25. Metasploit:Wmap网站漏洞扫描

Wmap本身不是一个独立的漏洞扫描器,而是作为Metasploit的一个模块,结合Web漏洞和web服务相关的模块协同工作,完成目标服务器的扫描任务。它的扫描结果不会自动生成报告,而是直接存入 Metasploit的数据库。

加载 wmap
load wmap

向 wmap中添加一个扫描站点
msf > wmap_sites -a http://192.168.152.137/mutillidae/

查看已添加的站点
msf > wmap_sites -l

根据已添加站点的ID,设置带扫描的目标站点
msf > wmap_targets -d 0

检查已待扫描的目标主机
msf > wmap_targets -l

执行测试
msf > wmap_run -e

扫描完成后,使用Metasploit命令检查漏洞记录
msf > vulns
msf > wmap_vulns -l

你可能感兴趣的:(Hacker,linux,服务器,运维)