渗透测试 ---利用Kali进行简单的信息收集

目录

Kali环境安装配置更新

Linux镜像文件下载地址

默认用户名

更新命令

网络环境配置

二层发现

原理

工具

arping

netdiscover

三层发现

原理

工具

ping

fping

hping3

四层发现

原理

工具

nmap

hping3

Python脚本

端口扫描

原理

工具

nmap

Dmitry

netcat

端口Banner信息获取

原理

工具

nmap

dmitry

netcat

端口服务版本和操作系统版本信息获取

端口服务版本信息获取

操作系统版本信息获取

综合所有命令完整探测

系统漏洞扫描

原理

工具

nmap

nessus

Web应用程序漏洞扫描

原理

工具

OWASP-ZAP

nikto

漏洞利用

工具

SQLMAP


Kali环境安装配置更新

镜像文件下载地址

Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution

默认用户名

用户名root 密码toor

我的主机用户名root 密码1

更新命令

apt updata && apt upgrade && apt dist-upgrade

网络环境配置

设置中改成桥接模式 通过kali虚拟机与主机互ping确认是否处于同一网段

二层发现

原理

利用OSI链路层中的协议进行主机发现 一般是ARP协议

缺点: 不能跨路由发现主机

工具

arping

需要 -c 参数 否则会一直扫描 缺点:无法同时扫描多主机

netdiscover

直接输入即可 优点:可以同时扫描多主机

三层发现

原理

利用OSI网络协议进行主机发现 一般是ICMP协议

优点:1.可以发现远程主机 经过路由的主机 2.速度相对较快

缺点:1.经常被防火墙过滤 2.速度相比二层发现慢

工具

ping

需要-c参数 否则会一直扫描

fping

可以进行多个主机扫描 fping

hping3

特点:发送自定义ICMP数据包

可以根据实际自定义ICMP数据包绕过防火墙过滤

四层发现

原理

利用OSI传输层协议进行主机发现,一般利用TCP、UDP探测

优点: 1.可以探测远程主机 2.比三层发现更为可靠

缺点: 花费时间更长

工具

nmap

可以调用二、三、四层发现

命令 nmap -sP IP地址范围

hping3

也可以进行四层主机发现

hping3 --udp(使用udp进行探测) -c 3(-c指定次数)-p 80(-p指定端口号) IP地址

再打开09号下的wireshark工具指定udp进行抓包分析

综上分析udp数据包可能被目标ip所在的主机上的状态防火墙过滤,所以无法响应

Python脚本

使用GitHub上分享的主机发现脚本:GitHub - Cyber-Forensic/nWatch

直接在kali自带fox浏览器中打开链接 并复制脚本工具链接

1.安装脚本工具

进入到/Desktop文件中查看是否建立nWatch文件夹 并进入

2.添加执行权限

发现nwatch.py文件没有执行权限 用chmod命令添加执行权限

运行脚本 因为kali2022安装了python2和python3两个版本的,脚本是python2写的,运行的时候要用python2

3.安装scapy模块

如图 系统提示缺乏scapy模块

安装模块要用pip2命令去安装 因为kali自带的是pip3也就是默认的pip

安装之后运行脚本 发现仍然缺少scapy模块

再安装一次即可

安装完成后再次运行脚本 发现此时系统提示缺少nmap模块 说明scapy模块已经安装完成

4.安装nmap模块

尝试安装nmap模块

报错的原因是经过测试,选择的版本低于0.6的都无法正常调用,而pip2 install python-nmap安装的是最新版本的nmap,但是由于python2不支持安装nmap最新版的,所以我选择了0.6.1版本的

命令:pip2 install python-nmap==0.6.1

5.运行脚本

安装完成后 再次运行脚本

脚本运行完毕

找到对应网卡并键入数字 回车

可以查看IP地址 MAC地址 UP状态 OS版本号 PORT端口号和开放端口号

主机发现-python脚本以及记录在安装脚本过程中出现并解决的问题_Hello,Jade的博客-CSDN博客_no module named nmap csdn上详细介绍安装脚本以及运行步骤

端口扫描

原理

一个端口代表一个提供的服务,不同的服务具有不同的端口号,因此要对服务进行测试。首先要确定是否开放对应端口号。

工具

nmap

nmap具有多张扫描端口的技术

端口状态:

open 开放

closed 关闭

filtrerd 被过滤的 无法得知此端口是否开启

unfiltered 未被过滤但无法得知

open filtered 开放或被过滤的

closed filtered 未开发或被过滤的

常用参数

命令:nmap IP地址

Dmitry

使用Dmitry进行端口扫描,其中-p参数指定Dmitry进行tcp端口扫描

命令:dmitry -p IP地址

直接回车输入命令弹出帮助信息

输入-p查看tcp端口

netcat

使用netcat进行端口扫描

命令:nc -nvz IP地址 端口范围

(-n 输入一个IP地址 -v 输出对应的详细信息 -z I/O模式下进行扫描)

端口Banner信息获取

原理

端口范围0~65535

TCP端口和UDP端口。由于TCP和UDP两个协议是独立的。因此各自的端口号也相互独立,比如TCP有235端口,UDP也可以有235端口,两者并不冲突。

端口分为:

1.周知端口

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配飞WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下的WWW服务的端口是“80”

2.动态端口

动态端口的范围是49152到65535。之所以被称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。

2.注册端口

注册端口范围是1024到49151,分配给用户进程或应用程序。这些进程主要是用户安装的程序。

工具

nmap

使用nmap扫描指定主机的端口信息,并返回Banner

命令: nmap IP地址 -script banner -p 端口号

 可以看到22端口开放 以及banner信息

dmitry

使用dmitry获取端口banner信息

命令: dmitry -pb IP地址

 有些端口不返回banner信息是因为对应服务不支持返回

netcat

使用netcat获取banner信息

命令: nc -vn IP地址 端口号(指定端口或指定端口范围)

端口服务版本和操作系统版本信息获取

端口服务版本信息获取

利用nmap获取目标系统的端口版本信息

命令 :nmap -p 端口号 -sV IP地址

操作系统版本信息获取

使用nmap扫描指定主机的操作系统版本信息

命令 : nmap -O IP地址

针对不同的操作系统进行不同的测试

综合所有命令完整探测

在针对内容测试时,有授权的情况下,可以利用nmap对目标进行完整测试。

命令: nmap -A -v -T4(进行快速扫描测试) IP地址

系统漏洞扫描

原理

漏洞扫描器对漏洞进行扫描,以验证具体目标是否存在对应的具体漏洞。但是也存在错误扫描,需要对扫描结果进行漏洞验证。

扫描器的原理大致相同 都是通过发送对应的验证数据到目标具体服务进行验证。当收到目标返回的响应与存在漏洞的响应一致时,就表明存在漏洞。

nmap常见脚本运用

网址:NSEDoc Reference Portal — Nmap Scripting Engine documentation

工具

nmap

使用nmap进行漏洞扫描

命令:nmap --script vuln -O -sV 目标地址

Web应用程序漏洞扫描

原理

针对Web应用程序的漏洞 扫描其实就是每个扫描器读取自己的Payload进行探测

常见的Web漏洞扫描器

  1. Owasp-zap

  2. AWVS

  3. Appscan

  4. Nikto

  5. Burpsuite

    每个扫描器都有各自不同的Payload进行探测

nikto

对目标服务器进行漏洞扫描 主要针对http服务器

命令: nikto -host IP地址

我这里对百度网址进行ping之后 再用nikto进行扫描IP地址

漏洞利用

工具

SQLMAP

使用Sqlmap对扫描到的SQL注入漏洞进行利用

靶场:pikachu平台(小皮启动)

打开靶场的时候前面加上本机IP地址

命令 sqlmap -u "url地址" --current-db -batch

从倒数第二行信息可以看出 数据库名为"pikachu"

使用命令sqlmap -u “进行注入的URL” -D pikachu -tables -batch,用已知pikachu数据库名加-tables列出当前的表

得到了该数据的所有表单

使用命令sqlmap -u “进行注入的URL” -D pikachu -T users -columns -batch列出users的列

获得了列与类型

使用命令sqlmap -u “进行注入的URL” -D pikachu -T users -C username,password --dump -batch获取username与password列中的数据

 cmd5.com上破解密码

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tzyyyyyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值