# **資安筆記** --- **cat** *concatenate (FILENAME的縮寫)* 此命令將在屏幕上打印文件的內容 **ls** *list的縮寫* 此命令將顯示當前目錄中的所有文件   利用上方那些指令,最終成功解出flag!!! # C.I.A.資安核心三要素 #### ●機密性: 在對的人 時間 地點 裝置被存取 #### ●完整性: 資料沒有被任意授權 竄改 取代 #### ●可用性: 讓一個系統處隨時可工作狀態 不會中斷  #### ●身分驗證: 確保使用者登入時該數位身分有合理妥當的檢驗。 #### ●存取控制: 確保任何操作或人員均有適當的權限界定且受到合規的授權 #### ●不可否認性: 無法否認發送該訊息的事實(ex: 數位簽章) #### ●訊息完整性確認: ##### 雜湊碼  #### ●訊息完整性and隱秘性確認:  ##### 雜湊碼 --(加密)--> 訊息確認碼(Mac) ##### Mac --(秘密鑰匙)--> 解密 秘密鑰匙確保其完整性 # 數位簽章(DS)  = Digital Signature #### 確認性+完整性+不可否認 傳送者用私鑰加密 接受者用公鑰解密 並比對雜湊碼是否一致 # 各種攻擊 * 社交工程攻擊 * 網路釣魚攻擊 # Network Security * 計算機網路是一組相互連線的計算機和裝置 * 網路安全側重於保護這些裝置和連線它們的連結的安全 * 保護計算機網路及其上資料的機密性、完整性和可用性的裝置 1. Intrusion Detection System (IDS) 2. Intrusion Prevention System (IPS) 3. Firewall appliance 4.Virtual Private Network (VPN) VPN確保第三方無法讀取或更改網路流量。 它保護已傳送資料的機密性(保密性)和完整性。  # Cyber Kill Chain 1.偵察:攻擊者試圖掌握目標的步驟。 (ex:伺服器型別、作業系統、IP地址、使用者名稱和電子郵件地址等資訊可以幫助攻擊成功) 2.武器化:帶有惡意的檔案 3.交付:將武器化檔案交付給目標。 4.利用:當用戶開啟惡意檔案時,他們的系統會執行惡意元件。 5.安裝:上一步時會在目標系統上安裝惡意軟體。 6.指揮和控制(C2):成功安裝惡意軟體為攻擊者提供了對目標系統的指揮和控制能力。 7.對目標的行動:在控制一個目標系統後,攻擊者已經實現了他們的目標。 一個例子目標是資料滲透(竊取目標的資料) # **Security Operations Center (SOC)**  1. Reactive Support (被動) 2. Proactive Support(主動) * Internet v.s. Network public networks (=Internet) small networks # **網路的地址** 1. MAC地址 類似收件人 識別設備 具永久性  前六個字符代表製作網絡接口的公司,後六個是唯一編號  2. IP地址 類似收件地址 定位該設備 八位元資料組(Octet) * IP Address 遵循協議的標準 公共IP 私有IP # secure shell(SSH) * 加密的網路傳輸協定 * 常見於網路登入系統 * 利用SSH來傳輸命令列介面和遠端執行命令 * 用法 1.遠程機器的IP地址 2. 指定連接埠號 * 實作  在輸入密碼時將看不到任何文本或符號 --- # URL # 網域名稱(域名): 域名: 像人的名字 IP: 像人的身分證 因為IP不容易記憶 因而誕生域名(domain name) 例如:PC home 電腦報網站而言,一般使用者在瀏覽這個網站時,都會輸入 www.pchome.com.tw,而很少有人會記住這台 Server的 IP 是多少?所以www.pchome.com.tw就是 PC home 電腦報的 Domain Name,而 203.70.70.1則是它的 IP 網址代表網頁在網站中的位址,所以一個網址只會對應一個網頁,但一個網域下可以有很多網址。 例如,網路中文首頁的網址為 https://www.net-chinese.com.tw/ 而這頁的網址是[https://www.netchinese.com.tw/nc/index.php/MenuLink/Index/AboutDomainName](https://) 對應到同一個網站,只是在網站中的不同位置。因此網址不一樣,但卻有相同的網域  * 域名規則:   域名 = 子網路+主網域+頂級域 URL = 設定某個特定網頁的網址名稱 http = HyperText Transfer Protocol(超文件傳輸協定) www = World Wide Web # TCP/IP  ### ●TCP(Transmission Control Protocol): (TCP比UDP可靠) = (傳輸控制協議) 面向連接的協議 確保資料能夠送到對方手中 ### ● UDP (User Datagram Protocol) = 使用者資料報協定 無連接協議 沒有錯誤檢測和糾正服務 ### ● IP(Internet Protocol): 網際通訊協定。提供複雜網路之間路徑選擇的功能, 遠端之間的電腦可透過 IP 協定尋找出對方位址,並將其連接在一起 IP位址分為Class A-E共5個等級  |網路等級| IP分佈範圍 | | -------- | -------- | | A | 0.0.0.0~127.0.0.0 | | B | 128.0.0.0~191.255.0.0 | | C | 223.255.255.0 | | D | 239.255.255.255 | | E | 255.255.255.255 | * 子網遮罩(Netmask) ### ● ARP(Address Resolution Protocol): 位址解析協定。工作站可透過 ARP 協定以對方(使用者)的網路位址(IP 位址), 來查問它的網路實體位址(Ethernet 位址) ### ● RARP(Reverse Address Resolution Protocol): 反向位址解析協定。使用者透過RARP 協定以本身的網路實體位址(Ethernet 位址),向網路上其它工作站(如名稱伺服器)詢問(或要求)本身的網路位址(IP 位址) ### ● OSPF(Open Shortest Path First): 專門決定訊息走哪條路徑比較好 # OSI 缺點: 無法運用於實際的protocol 7層 (p.s:更多詳情 https://vocus.cc/article/618c7853fd8978000108c4d5 ### ● 通訊協定: 定義所有設備皆能明白的通訊標準 所有通訊設備皆能明白的格式傳輸規則 #### 1. 應用層 (第七層) 為了應用軟體而設的介面 設定與另一應用軟體之間的通訊 透過通訊協定和資料操作,將資訊整合起來 (ex: FTP,TELNET,SSH) #### 2. 表現層 確保應用層傳送的資料格式符合適用的網路標準 負責轉譯、加密和壓縮資料 #### 3. 會談層 建立網絡連線,等到資料傳輸結束時,再將連線中斷。 兩台電腦之間的通訊連接 #### 4. 傳輸層 電腦整體資料的傳輸及控制 紀錄所使用的協定 TCP: 傳輸控制協議 UDP: * 協助OSI前三層與OSI後三層進行溝通 * 流量控制: 判定最佳傳輸速度 * 錯誤控制: 確保接收的資料是完整的,若不完整,則會請求重新傳輸  #### 5. 網路層 決定資料的路徑選擇和轉寄 (ex: IP) #### 6. 資料連結層 如何將傳輸資料分裝成資料封包格式的規格 #### 7. 實體層 (第一層) 管理網路設備之間的位元傳輸 以太網電纜連接設備 # TCP/IP v.s OSI   # SSL 資訊傳輸的加密技術,能夠加密兩個網站之間互相傳輸的資料,讓他人無法取得您的網站與客戶之間的隱私訊息。經過SSL憑證加密成功的網站,網址會由http變成https 結論: http --> https 作法: PK crypto作加密 SSL憑證 != 網站100%安全 SSH and SSL 很容易搞混 ●TLS協定 1. SSL協定的延伸 2. 實際上目前所說的SSL憑證所使用的就是TLS協定 # SSH 一個連線機加密機制 SSH 它讓我們在與遠端電腦(遠端伺服器)連線時, 能夠先將訊息加密過後再傳送,並且確保只有「被認可的人」才能夠解密訊息 私鑰: 電子簽名與解密 公鑰: 確認簽名的正確性  (來源: https://reurl.cc/D3VOzR) # IPSec #### ●中間的人攻擊(man-in-the-middle-attack) 若擁有公私鑰組合的人是駭客 則為中間人攻擊 用 PKI 來抵擋 #### ●PKI (Public Key Infrastructure) = 公開金鑰基礎建設 驗證用戶和維護資安的框架技術 # RSA v.s. DSA加密演算法 ●RSA: 用 4096 bits 的鑰匙長度來加密 ●DSA: 用 1024 bits 的鑰匙長度來加密 # 密碼學 ### ●密碼系統(Cryptosystem)  ### ●加密解密  ### 加密:C = Ek1(M) ### 解密:M = Dk2(C) = Dk2 (Ek1(M)) M = 明文 C = 密文 K1 = 加密鑰匙(key)、K2 = 解密鑰匙 E = 加密演算法 D = 解密演算法 ### ●傳統密碼學原理 #### * 換位加密法 = Transposition Cipher 明文字元位置重新排列 #### * 取代加密法 = Substitution Cipher 明文字元以另一個字元取代 #### * 區塊加密法 針對數位資料  ### ●對稱式加密 v.s. 非對稱式加密 #### * 對稱式加密: =秘密鑰匙密碼系統 較迅速 (且為現代密碼學) 加密解密同一把鑰匙 1. 訊息隱秘性 2. 鑰匙隱秘性 3. 鑰匙分配難 4. 鑰匙長度短 5. 無法確認訊息的不可否認性和完整性 困難點: 7. 要秘密鑰匙傳送給通訊的對方 8. 即使收到資訊 無法肯定訊息正確性(可能有中間人攻擊) #### * 非對稱式加密: =公開鑰匙密碼系統 公鑰加密 且大家都知道 私鑰解密 有人保管 兩把鑰匙互為加/解密功能 1. 訊息隱秘性 2. 公鑰公開 3. 鑰匙分配易 4. 鑰匙長度長 5. 可以確認訊息的不可否認性 (和上述對稱是加密做對比) 較安全(還分成公鑰與私鑰),但較慢 結論: 實際生活中 會兩者並用 --> 混合密碼系統 ### ●hash hash != 加密 若 H(M1)=H(M2),則 M1=M2 若 H(M1)≠H(M2),則 M1≠M2 1. 無法解密 (具有不可逆性)(單向雜湊) 3. 不管原文內容長度 輸出完都是固定長度 4. 用brute-force 輸入+輸出+雜湊演算法 =》 彩虹表(rainbow table) 5. 具有唯一性 6. hash碰撞 (機率很低) 兩份不同的原始數據 -> 經過hash映射 -> 得到相同的MD5值 * 低層次的通訊協定(如 Ethernet 用CRC(Cyclic Redundancy Check)除法器產生FCS FCS = Frame Check Sequence (檢查資料用) * 高層次(ex: TCP/IP 層) 用檢查集Checksum * 亂數產生 要不可預測性且具有隨機性 ### ●md5 = Message Digest Algorithm 5 目的: 確保信息的一致性 1. 廣泛使用的hash 算法 2. 128bit的數據 #### * 訊息摘要(Message Digest) * 雜湊碼是由訊息的內容演算而來的 h = H(M) 雜湊碼 = 訊息hash完 ### ●DES 演算法 區塊長度:64 bits 16 把子鑰匙 經過加密器計算 16 次 作法: 初始排列 -> 加密16 -> 終止排列(換位) ### ●Triple DES 演算法 #### 明文 -> 密文: (加密)*3 #### 密文 -> 明文: (加密、解密、加密)*3 ### ●AES演算法 = Advanced Encryption Standard(進階加密標準) 取代DES演算法 1. 即為Rijndael演算法 2. 美國聯邦政府採用的一種區塊加密標準 3. 反覆區段編碼 ### ●RSA ### ●SHA演算法 = 安全雜湊演算法 = Secure Hash Algorithm (ex: 比特幣是採用 SHA-256) * SHA-256 hash完,壓縮成雜湊值,使得資料量變小 ### ●MAC ### ●HMAC演算法 使用單向雜湊函式來構造訊息認證碼的演算法 # VPN(虛擬私人網路) 在路由器上安裝 VPN(Virtual Private Network) 作用: 1. 加入網路流量 2. 隱藏IP和虛擬位置 網際網路服務提供者(ISP)也無法監控上網內容 加密隧道連上遠端的 VPN 伺服器,VPN 伺服器會將透過安全隧道發送的資料解密 資料將被安全送達最終目的地。這種加密技術可以確保客戶端不被監控和追蹤 # ISP網際網路服務供應商 ISP = Internet Service Provider ex: 中華電信、台哥大、遠傳 ●無線網路 1. WiFi: ISP們的WiFi服務,公眾熱點無線上網 2. 行動上網: 手機連到的 4G, 5G 網路 # ADSL、Cable Modem、光纖網路 ### ●ADSL非對稱數位用戶線路 (銅線傳輸電訊號) ADSL = Asymmetric Digital Subscriber Line 讓網路封包和講電話的聲音訊號能共存。實做的方式是利用「頻率」的不同來傳送不同的訊息 上傳和下載用的車道不同,並且速率也不同 (下載比上傳的頻寬大,因而不對稱)而得名的 ### ●Cable Modem (銅線傳輸電訊號) 類似 ADSL ex: 第四台 將電視線牽到家中 透過有線電視網路讓你能上網的設備 ### ●光纖網路(光纖傳輸) Fiber Optic 總結(頻寬比較):光纖 > Cable Modem > ADSL # MB vs Mbps Mbps = MB/8 (檔案單位除以8 才是網速單位) 1 B (Byte) = 8 bits ### 數據大小(檔案單位) MB (MegaByte) * 1 B (Byte) = 8 bits * 1 KB (KiloByte) = 1024 Bytes * 1 MB (MegaByte) = 1024 KB * 1 GB (GigaByte) = 1024 MB ### 傳輸速度(網速單位) Mbps (Megabit per second) * 1 bps 是 1 bit per second * 1 kbps (kilobit) = 1000 bps(注意此處的 k 是小寫,表達 1000 而非 1024) * 1 Mbps (megabit) = 1000 kbps * 1 Gbps (gigabit) = 1000 mbps # DNS Server 全名: Domain Name Server 用域名去查詢其IP 但由於在 Internet 上真實在辨識機器的還是 IP,所以當使用者輸入Domain Name 後,瀏覽器必須要先去一台有 Domain Name 和 IP 對應資料的主機去查詢這台電腦的 IP,而這台被查詣的主機,我們稱它為 Domain Name Server,簡稱 DNS # ARP協定 Ethernet 與 IP 位址之間的轉換機制,則須仰賴 ARP 協定來達成 用來以 IP 位址查詢其相對應的 Ethernet 位址 ### ●結論: IP地址 --> MAC地址 * ARP Work 1. ARP Request 2. ARP Reply  # DHCP = Dynamic Host Configuration Protocol 又名: 動態主機組態協定 功能: 分配IP位址 有任何一台電腦要連線時,才向 DHCP 伺服器要求一個 IP 位址   # 防火牆 管制進出流量的網陸安全工具 檢查所有通過的 IP 封包 比喻: 在企業內部網路(Intranet)及網際網路(Internet)之間架設一道可監控管理的緩衝界面(Gateway) ●機制 1. 封包過濾器 2. 代理器 3. 網路位址轉譯 ●功能層面 1. 隔離內部網路(私有網路)與網際網路的流量,以保護內網的安全。 2. 控管內部網路傳入和傳出的封包,避免未經授權存取內部網路的資源。 3. 紀錄與監控內部網路的活動 ●運作模式 防火牆會根據事先定義的安全性規則(存取控制清單,或稱為 ACL),有效控制對內與對外流量 ●類型 1. 軟體防火牆(個人) 只能保護單一設備 2. 硬體防火牆 企業使用 路由器的實體設備 3. 雲端防火牆(代理防火牆) 使用雲端伺服器 不需在本地端建置防火牆 # IPS (入侵防護) #### IDS入侵偵測系統的加強版 立即主動地將攻擊封包給阻隔 發現網路異常 封包或行為時,系統除發送警訊通報給網管人員,並立即採取必要的處置措施,例如阻斷來源IP # IDS(入侵偵測) 發出警戒 並且採取安全策略(Security Policy) # 異常偵測 v.s 特徵型偵測 1. 異常偵測(Anomaly-based Detection): 把觀察到的事件與正常的行為相比對的過程,來識別出行為是否有重大偏離 2. 特徵型偵測(Signature-based Detection): 用已知攻擊手法及系統漏洞的資訊為基礎,將網路攻擊或試圖利用系統安全漏洞入侵的過程中, 將所可能產生的『特徵』集合成一個知識庫 ex: 1. 封包分割 2. 警報誤導 3. 淹沒攻擊 4. 規避手法 5. 編碼問題 * 緩衝器溢位: 攻擊者每一個可以輸入參數的地方,輸入超過長度的參數,讓預留的變數長度不足而產生緩衝器溢位的問題 # 通訊埠(port) # NAT 1. 靜態NAT(Static NAT) 一對一 內部資源看放給外部使用  ![Uploading file..._4k3sd4sge]() 2. 動態NAT(Dynamic NAT) 多對多 輪流使用合法IP  * 圖形使用者介面(GUI) 全名: Graphical User Interface # DoD 4層 * 媒體存取控制(MAC) # 前言 乙太網路(Ethernet) 乙太網路的主要概念是透過網路上多個節點(Node)傳送資訊,各節點間以電纜或光纖通道等媒介進行傳輸,每個節點都有其特定門牌號碼-全球僅有一組之48位元MAC位址 # LAN v.s. MAN v.s. WAN * LAN:區域網路 Topology(拓樸): 網路的設計或外觀 星型拓撲: 匯流排拓撲: * MAN:都會網路 同一城市範圍內所建立的計算機網路  * WAN:廣域網路 不同地區局域網或城域網的計算機網路 甚至是城市與城市 國家與國家之間   # 網路分享器AP * Wi-Fi分享器 一般買的都是結合Router 和 AP的無線路由器(Wireless Router) * 路由器(Router) 連接網路並在它們之間傳遞數據是路由器的工作 路由是賦予數據跨網絡傳輸的過程的標籤。路由涉及在網絡之間創建路徑,以便可以成功傳遞此數據 * IP分享器(NAT) * 交換器(Switch) 家裏有很多的設備才需要用到Switch 不然Router就夠了 原理:將不同終端設備(手機、電腦)的訊號導向 Router * 集線器(Hub) * 子網路(Subnet) https://reurl.cc/1mRxa9 # Subnetting子網路 1. Default Gateway 2. Host Address 3. Network Address * 子網掩碼(subnet masking) 左邊網絡編號部分用來標識主機所在的網絡;右邊部分用來標識主機本身,這部分稱為主機地址 x * IPV4 v.s. IPV6 IPV4: 32為二進制 8個合一組 變成4個0~255的數 IPV6:8組4位十六進制組成 無法互通 * 端口映射+NAT網路位址轉譯 * DNS(域名系統)  比喻: 網路世界的電話簿 將網址轉換為代管網站主機的實體 IP 位址 * ping Ping 使用ICMP (互聯網控制消息協議) * Server * 封包 兩台電腦間想要建立溝通及傳送所需的資料是怎麼進行的呢?答案是:『封包』 封包是能在網路上面進行傳輸的最小資訊單位 一個封包有 1.發送端節點地址 2.接收端節點地址 | server | HTTP | SSH | FTP | | ------ | ---- | ---- | ------------ | | 意義 | 超文本傳輸協定| Secure Shell| 文件傳輸協議 | | 用途 | 瀏覽網頁時 | 安全遠程登錄 | 機器之間傳輸文件 | * Nmap (Network Mapper的縮寫) Nmap 是一個網路描器,它可以幫助我們發現正在運行的機器以及在它們上運行的任何程序 * GUI(圖形用戶界面) # 雲端運算  * IaaS(**基礎設施**即服務) 全名: Infrastructure as a Service 硬體的部份稱為基礎建設 * PaaS(**平台**即服務) * SaaS(**軟體**即服務)  三者比較  上 網圖說明(來源:https://reurl.cc/RX3g3g) * && 若p則q的感覺 &&左邊命令成功被執行後,&&右邊命令才能夠被執行 * 系統管理員 使用者可以取得的最高權限 1. administrator: MS Windows(Microsoft Windows) 2. root: Android、Apple、Linux # Common Directories 1. /etc: 包含很多檔案.許多網路配置檔案也在/etc 中 /etc/passwd: 使用者資料庫(所有用戶都擁有得取權限) /etc/shadow: 只有root用戶擁有讀取權限 2. /var 儲存系統上運行的服務或應用程序經常訪問或寫入的數據 /var/log: 所有文件或錯誤信息文件都在/var/log下 3. /root 系統管理員的家目錄 4. /tmp 一般使用者暫時存放檔案的地方 # VIM Editor 終端機上的文字編輯器 # IDE 整合開發環境 Integrated Development Environment (之前寫成就是用類似IDE的IDLE在寫pyhon程式碼) # 指令  Windows MacOS / Linux 說明 cd cd 切換目錄 cd pwd 取得目前所在的位置 dir ls 列出目前的檔案列表 mkdir mkdir 建立新的目錄 無 touch 建立檔案 copy cp 複製檔案 move mv 移動檔案 del rm 刪除檔案 cls clear 清除畫面上的內容 | command | purpose | full name | | | | | ----- | ---------------- | ----------------------- | --- | --- | --- | | ls | 清單 | listing | | | | | cat | 連結 | concatenate | | | | | pwd | 印出工作目錄 | print working directory | | | | | man | 閱讀文檔的命令 | | | | | | touch | 創建文件 | | | | | | cp | 複製文件或文件夾 | copy | | | | | file | 確定文件類型 | | | | | | rm | 刪除文件或文件夾 | remove | | | | | mv | 移動文件或文件夾 | move | | | | | mkdir | 創建文件"夾" | make directory | | | | | cd | 切換工作目錄 | change directory | | | | * find 找到當前目錄中的每個 .txt 文件 使用通配符 (*) 來搜索任何以 .txt 結尾的內容 用法: find . -name ?.txt * grep 1. 語法:grep 關鍵字 檔案1 檔案2 ... 2. grep -i 關鍵字 檔案1 檔案2 ... grep預設會區分字母的大小寫 如果希望以不分大小寫的方式搜尋,可以 加上-i參數 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up