Kali渗透测试技术实战
第一章 引言
EC-Council Certified Ethical Hacker (EC CEH,倫理黑客認證)。整個過程包含五個階段:偵察、掃描、獲取訪問、維持訪問以及清除痕跡。
第二章 下載并安裝Kali Linux
硬盤最小120G,尤其是在密碼破解、取證和做滲透測試項目的情況下,要求獲得控制權限,大量生成數據、收集證據、生成日志和報告。
第三章 軟件、補丁和升級
apt-get update # 安裝任何新軟件包之前都要檢查更新,每次要升級操作系統或者應用程序或軟件包之前都進行檢查。版本升級
apt-get dist-upgrade移除
apt-get remove [package_name]試著移除并重新安裝 leafpad
apt-get remove leafpad apt-get install leafpad自動移除
當操作系統使用一段時間之后,舊的應用程序軟件包漸漸被新的軟件包替代。可使用自動移除功能來移除那些系統不再需要的軟件包。
apt-get autoremove完全移除
移除功能并不會刪除配置文件,而是把它們留在硬盤上以防止以后還會用到。使用完全移除功能用一行命令就可以清除所有的應用程序軟件包和相關的配置文件。
apt-get purge [package_name]清理
當安裝軟件包時,系統會從軟件源下載軟件包,解壓并安裝。安裝過后下載的軟件包文件默認會留在硬盤上。
apt-get clean自動清理
自動清理可以自動在升級和發行版升級之后運行,刪除所有已經被新版本替換掉的舊軟件包文件。
組合命令
apt-get update && apt-get upgrade && apt-get dist-upgrade apt-get autoremove && apt-get autoclean安裝 .deb
dpkg -i [package_name.deb]卸載
dpkg -r [package_name.deb]完全移除,大寫的P
dpkg -P [package_name.deb]檢查已安裝的軟件包leafpad
dpkg -l leafpad查看已安裝的軟件包的詳細信息,小寫p
dpkg -p [package_name.deb]第四章 配置 kali
4.4 查看計算機上所有的網卡和單個網卡的狀態
ifconfig -a啟動接口和停止接口
ifconfig eth0 down # 停止第一個以太網適配器 ifconfig eth0 up # 開啟第一個以太網適配器更改適配器的IP地址從192.168.1.166到192.168.1.22
ifconfig eth0 192.168.1.22更改子網掩碼
ifconfig eth0 192.168.1.22 netmask 255.255.255.0將默認網關更改為 192.168.1.2
route add default gw 192.168.1.2DNS服務器設置可通過修改 /etc/resolv.conf來實現
echo nameserver 4.4.4.4 > /etc/resolv.conf上面的命令會刪除已有的DNS服務器,并用4.4.4.4來替換。
增加新的DNS服務器,可使用下面命令,將新的域名服務器地址追加到resolv.conf中已有的服務器列表中。
echo nameserver 8.8.8.8 >> /etc/resolv.conf4.7 FTP 服務器
文件傳輸協議FTP可以用來在計算機之間傳輸文件。需要注意的是,FTP并不會加密文件或計算機之間的通信信道,因此網絡上的文件傳輸是可以被監控者獲取的。
安裝 Pure-FTPd
apt-get install pure-ftpd-common pure-ftpd小配置
cd /etc/pure-ftpd/conf echo no > Bind echo no > PAMAuthentication echo no > UnixAuthentication ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure接下來需要創建FTP服務要用到的用戶組和用戶,首先創立一個系統組
groupadd ftpgroup向創建的的組里面添加新用戶
useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser為FTP文件新建一個目錄
mkdir -p /home/pubftp在FTP目錄里面添加用戶目錄,本例中,即將創建額用戶sam需要主頁一個目錄
mkdir /home/pubftp/sam然后給FTP服務添加一個新的用戶和密碼,在本例中,新用戶是sam
pure-pw useradd sam -u ftpuser -g ftpgroup -d /home/pubftp/sam接下來會提示你需要創建一個密碼。
更新Pure-FTPd的數據庫
pure-pw mkdb啟動FTP服務
service pure-ftpd start啟動FTP后,測試該服務
ftp IP地址4.8 SSH服務器
SSH在通信的計算機之間提供一個安全的加密信道。可防止數據在傳輸中被網絡中的安全工具所檢測到,比如入侵系統IDS和入侵防御系統IPS。
生成密鑰
首先將原始的SSH密鑰從默認目錄中移走,但是不要刪除它們。
mkdir -p /etc/ssh/original_keys mv /etc/ssh/ssh_host_* /etc/ssh/original_keys cd /etc/ssh生成新的SSH密鑰
dpkg - reconfigure openssh-server啟動或者重啟SSH守護進程
service ssh start service ssh restart使用命令行管理SSH服務
/etc/init.d/ssh start # 啟動SSH服務 /etc/init.d/ssh stop # 停止SSH服務 /etc/init.d/ssh restart #重啟SSH服務遠程訪問系統
從其他的Linux系統中遠程訪問計算機(IP192.168.1.66)
ssh sam@192.168.1.66同樣windows客戶端也可以訪問SSH需要使用SSH客戶端,,常用的putty。
第五章 滲透測試實驗環境
5.2 搭建一個免費的實驗環境
搭建一個實驗環境原因:因為沒有人想進監獄。攻擊政府或金融系統(如銀行)可能會判20年有期徒刑甚至更長,對相關法律不了解是無法為網絡犯罪進行辯護的。
1.VMware Player
2.VirtualBox
第六章 滲透測試生命周期
滲透測試的四個階段:偵察、掃描、滲透、維持訪問。
第七章 偵察
7.2 目標網站
目標自身的網站提供了大量信息用于完善約定的描述。
7.3 網站鏡像
wget -m -p -E -k -K -np -v http://foo.com7.4 Google搜索
查看google的高級功能
7.5 Google Hacking
7.6 社交媒體
創建一個虛擬身份
7.7 招聘網站
7.8DNS和DNS攻擊
域名解析系統,簡稱DNS,提供互聯網上的地址解析服務。
7.9查詢域名服務器
向本地域名服務器查詢google網站頁面的IP地址
nslookup > www.google.com查看使用的域名服務器
nslookup server搜索素有郵件類服務器
nslookup set type =MX google.com這將會返回Google域中所有已知的郵件服務器。
本地域名服務器
cat /etc/resolv.conf將本地域名服務器可以更改為目標域的域名服務器
nslookup >set type = ns >google.com目標域名服務器一旦被識別,nslookup命令使用的域名服務器就可以用如下命令變更為目標域名服務器其中之一。下面例子將域名服務器設置為Google域名服務器其中之一
nslookup > server 216.239.32.107.10區域傳輸
Domain Internet Gopher(DIG) 程序可用于區域傳輸。
第八章 掃描
“掛得很低的水果”(意指容易實現的目標)
8.2理解網絡流量
網絡流量是通過各種方式連接在一起的計算機系統質檢的電子通信,現今最常見的連接方式就是有線和無限以太網。
理解端口和防火墻
防火墻可以理解為一個具有計算能力的網絡設備,有兩個或者多個網卡,在網絡中扮演一個守門人的角色,按照訪問控制列表來嚴格監控出站和入站流量。只有符合訪問控制列表的流量才會允許通過,其他的就會被防火墻拒絕。防火墻是通過開放或者關閉端口來允許或拒絕網絡流量的。
端口是計算機之間通信的不同信道。一共有65535個TCP端口和65535個UDP端口用于通信。其中的一小部分端口用于指定的用途,但是并沒有完全限制它們的用途。例如TCP的80端口通常被用于HTTP協議。但是其他的通信可以使用80端口,HTTP的通信也可以使用其他端口。
一個理解端口的形象方式是將計算機想象成一幢大樓,有許多門通向不同的辦公室,每個辦公室里都有一個職員在做一項工作。只有知道正確的辦公室地址的人才能從8080端口獲得網頁內容。
理解IP協議
TCP協議
發 SYN 接送 -------------------------> 受計 SYN/ACK 計算 <------------------------- 算機 ACK 機------------------------->所有的TCP 都要經過三次握手,它可以確保通信信道兩端的計算機是同步的。TCP通信過程的應用包括文件傳輸(FTP)、Web流量(HTTP)和Email(SMTP、POP和IMAP)
UDP協議
UDP是一個開銷比TCP要小的協議。如果TCP通信過程類似于電話,當通信信道的雙方在發送信息時通信的雙方都確認發出的信息已經被收到,那么UDP通信就類似于廣播,信息發出之后發送方和接收方都不會進行確認。
ICMP
ICMP在設計中是一個網絡的健康及維護協議,這個協議用來確定一個設備在網絡上是否正常運行和通信。ICMP的通信方式在設計中不攜帶用戶數據的,它只會將系統信息在網絡設備、計算機和應用服務之間傳遞。
PING
Ping會發出一個類型為8,編碼為0的ICMP數據包,表明這個數據包是一個Echo請求。
在Windows平臺發出的Ping請求默認會發四次,在Linux平臺發出的Ping請求會持續發送直到會用取消。
traceroute
在Windows平臺上,默認的TTL是128;在Linux平臺上,默認的TTL是64;在思科的網絡設備上,TTL高達255.
tracert www.google.com # Windows traceroute www.google.com # Kali Linux8.3掃描神器 Nmap
掃描選項
-sS隱蔽掃描
當未指定掃描選項時,隱蔽掃描是Nmap的默認掃描選項,但也可以在命令行使用-sS選項顯式指定。隱蔽掃描會發起一個與目標的TCP連接,但是卻永遠不會完成三次握手。
-sT TCP連接掃描
TCP連接掃描通常用于收集有關目標的更多信息,因為它會對目標主機建立一個完整的TCP連接。與隱蔽掃描不同的是,這種掃描會通過發送ACK包來建立連接。這種掃描會被大多數系統記錄下來。但是也可以提供比隱蔽掃描更多的信息。
-sU UDP 掃描
UDP掃描會評估目標系統上的UDP端口。
-sA ACK 掃描
ACK掃描(-sA),可以確定TCP端口是否被過濾。這種掃描會對目標主機發起一個標記為ACK的通信,這種掃描有時可以繞過防火墻,因為它假裝是內網機器發起的TCP請求的響應。如果收到一二RST響應,說明該端口沒有被過濾掉。如果沒有收到響應,或者收到一個類型為3,編碼為1,2,3,9,10,13的ICMP響應,說明該端口被過濾了。
timing 模板
-T0 Paranoid
-T0也即Paranoid模板被用于慢速的網絡連接,或者是必須最小化被發現的風險的環境。串行掃描
nmap -sU --timing paranoid -p 1-500 10.0.2.100-sU UDP掃描,-p 1-500,來指定1至500的端口將要被掃描。
-T1 Sneaky
-T1也即Sneaky模板比Paranoid稍快,減少了掃描需要的時間同時,也保持了慢速掃描固有的隱蔽性。串行掃描。
nmap -sU -T1 -p 1-500 10.0.2.100-T2 Polite
-T2也即Polite模板與-T0和-T1相比繼續增加了掃描速度,也是最后一個使用串行掃描技術的 模板。
nmap -sU --timing polite -p 1-500 10.0.2.100-T3 Normal
-T3 也即Normal模板是Nmap**默認的掃描方式。這是第一個使用并行處理技術**的模板,同時發出多個探測,以此增加總速度。
nmap -sU -T3 -p 1-500 10.0.2.100-T4 Aggressive
-T4也即Aggressive模板同樣使用并行掃描來增加速度。
nmap -sU -T4 -p 1-500 10.0.2.100-T5 Insane
-T5 也即Insane模板是最快的內置模板。并行掃描技術。
nmap -sU --timing insane -p 1-500 10.0.2.100IP地址段
本例中地址范圍是10.0.2.x的C類地址段,這意味著本次掃描的最大主機數是254,要掃描這些主機,使用如下命令
nmap 10.0.2.1-255CIDR尋址
nmap 10.0.2.1/24如果要掃描一個較小的IP地址集,可以使用更小的IP段,例如掃描前100個IP地址
nmap 10.0.2.1-100CIDR表示
nmap 10.0.2.0/25掃描列表
假設下面的IP地址被存放在一個targets.txt文件中
用下面的命令來使用這個文件
nmap -iL targets.txt8.4選擇端口
選擇端口在掃描命令中通過-p參數實現,選擇的端口可以是連續的,使用短橫線指定范圍,也可以逐個指定,使用逗號分開。
nmap -sS -p 1-100 nmap -sU -p 53,137,138,161,162或者同時使用
nmap -sS -p 1-100,445,8000-9000輸出選項
Nmap輸出選項包括普通模式、XML文件和GREPable
-oN 普通輸出
普通輸出選項會創建一個文本文件
-oX XML文件輸出
nmap -oX metascan.xml 10.0.2.100-oG GREPable 輸出
GREPable 輸出通常用于類似于GREP的工具進行進一步研究的滲透測試人員,該格式也可以用于AWK、SED、DIFF等工具
-oS腳本小子輸出
nmap -oS metascan.txt 10.0.2.100Nmap腳本引擎
告訴Nmap掃描引擎你要使用一個腳本
更新Nmap數據庫
nmap --script -updatedb8.5Hping3
手動制作類似于Nmap引擎自動生成的數據包
hping3 -S 10.0.2.1008.6Nessus
啟動Nessus掃描器
/etc/init.d/nessusd start第九章 滲透
漏洞:存在于信息系統、系統安全規程、內部控制和實現中,并可能被外部威脅源所利用的弱點。
漏洞等同于弱點。滲透就是利用弱點越權訪問信息系統或者造成拒絕服務。
本地滲透
將木馬后門隱藏在看似無害的PDF文檔或微軟Excel的宏代碼中。
一個含有自動運行代碼的USB 設備。
搜索本地滲透模塊 Searchsploit查找滲透模塊
searchsploit local windows iis遠程滲透
Metasploit
1. 滲透模塊 2. 輔助模塊 3. 攻擊載荷 4. 監聽模塊 5. Shellcode 模塊啟動/關閉服務
service metasploit status#檢查Metasploit服務狀態 service metasploit restart#重啟服務 service metasploit stop #停止服務更新數據庫
msfupdateP126-p145
9.4Web滲透重點內容
Web應用程序測試
1.手動檢查
2.指紋采集
NetCat即能作為指紋采集工具也能作為監聽設備用于監聽發來的連接。
Telnet
telnet [ipaddress]:[port] telnet 192.168.56.102:80SSLScan(sslscan)
sslscan [ipaddress]:[port] sslscan 192.168.56.102:8080第三步 掃描
確保運行至少2到3個應用程序以建立對系統漏洞的更好的基線。
Arachni Web
W3af
Nikto
Websploit
總結
以上是生活随笔為你收集整理的Kali渗透测试技术实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 广发银行信用卡账单分期后额度恢复吗?当月
- 下一篇: 民生银行值得办的白金卡 盘点民生的“神卡