# Access Control ## Authentication with a Local Password + Biện pháp xác thực từ xa dễ nhất là đặt đăng nhập và mật khẩu trên console, vty lines. + Tất cả đều có thể đặng nhập thiết bị. ``` R1(config)# line vty 0 4 R1(config-line)# password ci5c0 R1(config-line)# login ``` + SSH: => yêu cầu username và pass, 2 thứ này đã được mã hóa trong suốt quá trình chuyển đổi. => username và password được xác thực bỏi phương pháp local database. => username đã đặng nhập sẽ được record lại. ``` R1(config)# ip domain-name example.com R1(config)# crypto key generate rsa general-keys modulus 2048 R1(config)# username Admin secret Str0ng3rPa55w0rd R1(config)# ip ssh version 2 R1(config)# line vty 0 4 R1(config-line)# transport input ssh R1(config-line)# login local ``` * Limitation: => Bắt bc chỉnh ở từng thiết bị, nếu quá nhiều thiết bị thì mất thời gian và phải đặt chung 1 mật khẩu. => Nếu quên thì phải recovery lại. ## AAA Components + Authentication (Sự xác thực) => quyết định ai được phép vào. + Authorization (Ủy quyền) => qđ những việc bạn được phép làm tùy theo vai trò. + Accounting (Kế toán) => theo dõi tài nguyên, hoạt động đã thực hiện khi truy cập vào mạng. ## Local AAA Authentication - Local và server-based là 2 phương pháp chính. ### Local AAA Authentication - Local AAA lưu tên và mật khẩu trong 1 thiết bị mạng như Cisco router. User xác thực với local database. Chỉ hợp với 1 network nhỏ. ![image](https://hackmd.io/_uploads/S1L0T697C.png) 1, Người dùng thiết lập kết nối với router (mạng). 2, AAA router sẽ yêu cầu username và pass. 3, Router sẽ xác thực bằng local database và ng dùng sẽ đc truy cập. => *Giống với SSH.* ### Server-Based AAA Authentication - Router sẽ truy cập vào server trung tâm AAA. - AAA server chứa username và pass. - Router dùng Remote Authentication Dial-In User Service (RADIUS) và Terminal Access Controller Access Control System (TACACS+) protocolsto để giao tiếp với AAA server. Khi nhiều router và switches => phù hợp. ![image](https://hackmd.io/_uploads/HyYJRp5mA.png) 1, Người dùng thiết lập kết nối với router. 2, Router nhắc đăng nhập username và pass. 3, Router xác thực bằng AAA server. 4, Ng dùng đc truy cập. ### Authorization - AAA authorization là tự động và không yêu cầu ng dùng thực hiện các bước bổ sung sau khi xác thực. - Authorization quản lý những thế ng dùng có thể hoặc k làm trên mạng sau khi xác thực. - Authorization dùng nhiều thuộc tính mô tả sự truy cập ng dùng với mạng. Các thuộc tính này đc sử dụng để xác định đặc quyền và hạn chế đối với user. ![image](https://hackmd.io/_uploads/S1zg069mR.png) 1, Sau khi xác thực => cây cầu kết nối giữa router và AAA server. 2, Router yêu cầu ủy quyền từ AAA server cho client. 3, AAA server công bố PASS/FAIL về việc ủy quyền. ### Accounting - Thu nhập và báo cáo dữ liệu. Dữ liệu có thể sử dụng cho mục đích theo dõi, kiểm tra. - Data bao gồm thời gian kết nối dùng và bắt đầu, lệnh đc thực thi, số lượng packet, và lượng bytes. - AAA server sẽ lưu log file. - log chứa số lượng trường data, bao gồm username, data and time, lệnh đc nhập bới user. => troubleshooting thiết bị, chứng minh các cá nhân thực hiện hđ nhiễm độc. ![image](https://hackmd.io/_uploads/rkhx0Tc7A.png) 1, Khi user đc xác thực, AAA accounting bắt đầu tạo 1 message để bắt đầu. 2, Khi kết thúc => stop record và process end. ## IEEE 802.1X - Là 1 điều khiển truy cập và giao thức xác thực. Giao thức hạn chế các workstation không ủy quyền kết nối LAN thông qua các cổng switch. ![image](https://hackmd.io/_uploads/H1E-RaqmR.png) - Client(Supplicant): wired or wireless device. - Switch(Authenticator): nhận diện infor từ the client, xác minh infor với server, và gửi phản hồi đến client => WAP cũng có thể thay thế. - Server hiệu hóa danh tính của client và thông báo kết quả cho switch/WAP. # Layer 2 Security Threats ## Layer 2 Vulnerabilities - Network admin thường đưa ra các giải pháp bảo vệ layer 3 đến 7 => dùng VPNs, firewalls, và IPS devices. - Nếu Layer 2 bị nhiễm độc => tất cả bp áp dụng trên đều vô nghĩa. ## Switch Attack Categories - Layer 2 là link yếu nhất trong hệ thống. => Giảm thiểu tấn công vào csht của Layer 2. - Bước đầu để giảm thiểu là phải hiểu hoạt động của layer 2 và các nguy cơ tấn công vào layer 2. ### Layer 2 Attacks ![image](https://hackmd.io/_uploads/H1mrGRcmR.png) ## Switch Attack Mitigation Techniques ### Layer 2 Attack Mitigation ![image](https://hackmd.io/_uploads/BkxZi0c7A.png) - Layer 2 solutions sẽ không hiệu quả nếu giao thức quản lý không đc đảm bảo. - Vì vậy, ta cần tuân theo: 1, Luôn dùng các biến giao thức an toàn như SSH, Secure Copy Protocol(SCP), SFTP, và Secure Socket Layer/ Transport Layer Security(SSL/TLS). 2, Xem xét sủ dụng out-of-band management network để quản lý thiết bị. 3, Dùng 1 VLAN quản lý chuyên dụng chỉ có quản lý truy cập lưu lượng. 4, Dùng ACLs để lọc các truy cập không mong muốn. # MAC Address Table Attack ## Switch Operation Review ![image](https://hackmd.io/_uploads/BkrPH1oXC.png) ## MAC Address Table Flooding - Tất cả các MAC table đều có size cố định, switch có thể cạn kiệt nguồn lưu trữ MAC address. - MAC address flooding attack tận dụng hạn chế này bằng cách bắn phá, làm đầy với fake MAC address cho đến khi đầy. - Khi xảy ra, switch sẽ truyền hết dữ liệu cho các port trong VLAN không cần tham khảo MAC table. => capture tất cả frame từ LAN/VLAN khác gửi tới. ![image](https://hackmd.io/_uploads/Bk64O1sQC.png) => nếu dừng macof, switch sẽ trở lại bth. ## MAC Address Table Attack Mititgation - **macof** cực kì nguy hiểm vì nó có thể tạo lên tới 8000 frames/s. ``` # macof -i eth1 36:a1:48:63:81:70 15:26:8d:4d:28:f8 0.0.0.0.26413 > 0.0.0.0.49492: S 1094191437:1094191437(0) win 512 16:e8:8:0:4d:9c da:4d:bc:7c:ef:be 0.0.0.0.61376 > 0.0.0.0.47523: S 446486755:446486755(0) win 512 18:2a:de:56:38:71 33:af:9b:5:a6:97 0.0.0.0.20086 > 0.0.0.0.6728: S 105051945:105051945(0) win 512 e7:5c:97:42:ec:1 83:73:1a:32:20:93 0.0.0.0.45282 > 0.0.0.0.24898: S 1838062028:1838062028(0) win 512 62:69:d3:1c:79:ef 80:13:35:4:cb:d0 0.0.0.0.11587 > 0.0.0.0.7723: S 1792413296:1792413296(0) win 512 c5:a:b7:3e:3c:7a 3a:ee:c0:23:4a:fe 0.0.0.0.19784 > 0.0.0.0.57433: S 1018924173:1018924173(0) win 512 88:43:ee:51:c7:68 b4:8d:ec:3e:14:bb 0.0.0.0.283 > 0.0.0.0.11466: S 727776406:727776406(0) win 512 b8:7a:7a:2d:2c:ae c2:fa:2d:7d:e7:bf 0.0.0.0.32650 > 0.0.0.0.11324: S 605528173:605528173(0) win 512 e0:d8:1e:74:1:e 57:98:b6:5a:fa:de 0.0.0.0.36346 > 0.0.0.0.55700: S 2128143986:2128143986(0) win 512 ``` - Để giảm thiểu tấn công, ta phải cài đặt port security, nó chỉ cho phép một lượng MAC address nhất định đc nhớ trong MAC table. # LAN attacks ## VLAN Hopping Attack - Cho phép traffic 1 VLAN đc thấy bởi VLAN khác không cần sự hỗ trợ từ router. - Ng tấn công sẽ cài đặt máy như 1 switch để tận dụng tính năng automatic trunking port đc đặt default trong hầu hết cổng switch. - Ng tấn công sẽ tạo 802.1Q spoof signaling và Dynamic Trunking Protocol(DTP) signaling đối với trunk kết nối với switch => switch sẽ thiết 1 trunk link với host => truy cập vào tất cả VLANs trên switch. ![image](https://hackmd.io/_uploads/ryLStWsQ0.png) ## VLAN Double-Tagging Attack - Ng tấn công sẽ gắn thêm 802.1Q tag vào trong frame đã có sẵn 802.1Q. Cái tag cho phép frame đến VLAN k có 802.1Q tag sẵn. - Step 1: ![image](https://hackmd.io/_uploads/rJd0Qfo7C.png) Ng tấn công gửi double-tagged 802.1Q frame. - Step 2: ![image](https://hackmd.io/_uploads/SyXWNzoX0.png) Gửi frame đến switch đầu thì 802.1Q tag sẽ đc sử dụng. Switch đầu sẽ gửi toàn bộ dữ liệu cho tất cả port của switch nhưng frame không được retag. - Step 3: ![image](https://hackmd.io/_uploads/r1fGHMjXC.png) Switch sau sẽ nhận 802.1Q và gửi target. => Chỉ dùng khi attacker đc kết nối với cổng trong cùng 1 native VLAN của trunk port. Idea là có thể gửi đến các VLAN mà không bị block bởi access control. ### VLAN Attack Mitigation - Tắt tính năng trunking của các port. - Tắt auto trunking trên trunk links. - Đảm bảo native VLAN chỉ dùng cho trunk link. ## DHCP Messages ![image](https://hackmd.io/_uploads/SklM9MoXA.png) ## DHCP Attacks - DHCP Starvation Attack => tạo DoS cho ng dùng. => cần tool **Gobbler**. ``` Gobbler có khả năng nhìn toàn bộ có IP address đã đc thuê và cố gắng thuê hết tất cả chúng. Đặc biệt nó tạo DHCP discovery với MAC address giả. ``` - DHCP Spoofing Attack => Xảy ra khi DHCP server giả đc kết nối tới mạng và cung cấp IP sai cho ng dùng hợp pháp. => DHCP server giả cung cấp Wrong default gateway, Wrong DNS server, Wrong IP address. + Wrong default gateway: cung cấp invalid gateway, địa chỉ IP để thực hiện tấn công man-in-the-middle. Điều này có thể không bị phát hiện bởi ng xâm nhập chặn dữ liệu. + Wrong DNS server: cấp sai DNS server địa chỉ trỏ tới nefarious website. + Wrong IP address: cấp invalid IP address tạo tấn công DOS vào ng dùng. ## ARP Attacks - Attacker gửi gratuitous ARP Request message chứa spoofed MAC address tới switch, và switch sẽ update MAC table sau đó. => Tất cả host đều có thể tự chọn IP, MAC address. - Trong cuộc tấn công, threat actor gửi unsolicited ARP Replies tới các host khác với địa chỉ MAC của threat actor cùng IPv4 của default gateway. - Tool: dsniff, Cain & Abel, Yersinia,... - Step 1: ![image](https://hackmd.io/_uploads/H1zw94o70.png) - Step 2: ![image](https://hackmd.io/_uploads/BJ5dqNsQ0.png) - Step 3: ![image](https://hackmd.io/_uploads/r19ocNoX0.png) ## Address Spoofing Attack: - IP and MAC address spoofing bắt đầu khi 1 threat actor chiếm IP address của thiết bị khác trong 1 subnet, hoặc dùng ranom IP address. - Rất khó để giảm thiểu, đặc biệt khi địa chỉ làm giả ấy đc dùng trong subnet. - Spoofing xảy ra khi threat actor thay thế MAC address bằng MAC address của target host, rồi gửi frame, switch nhận và viết lại MAC table. - Sau đó, frame forward từ target về attacker. ![image](https://hackmd.io/_uploads/ryJfeHsQR.png) - Khi target gửi frame cho attacker, switch sẽ sửa lại lỗi và sắp xếp lại MAC address cho chính cổng ban đầu. - Do đó, để dừng việc sửa lỗi, threat actor có thể tạo 1 chương trình tự động gửi lại frame tới switch, switch sẽ duy trì lỗi này. - không có cơ chế nào, có thể kiểm tra nguồn của MAC address => dễ bị làm giả ## STP Attack - Spoofing root bridge và thay đổi kết cấu của mạng. - Attack có thể khiến tất cả host trở thành root bridge. ![image](https://hackmd.io/_uploads/By8qLri7A.png) ![image](https://hackmd.io/_uploads/ByasLHj70.png) ![image](https://hackmd.io/_uploads/BkUh8romC.png) - Can be mitigated bởi BPDU Guard on all access ports. ## CDP Reconnaissance ![image](https://hackmd.io/_uploads/r1_E_HiXR.png) ![image](https://hackmd.io/_uploads/B1MDOHjQA.png) ![image](https://hackmd.io/_uploads/r1IawSomA.png) ![image](https://hackmd.io/_uploads/By8CPBjXA.png) ![image](https://hackmd.io/_uploads/SJSydSjXA.png) # Câu hỏi tổng hợp: ![image](https://hackmd.io/_uploads/Sk-BjBoXA.png) ![image](https://hackmd.io/_uploads/HyWIiHiQ0.png) ![image](https://hackmd.io/_uploads/S16G2BsmC.png) ![image](https://hackmd.io/_uploads/Skhm3Hj70.png) ![image](https://hackmd.io/_uploads/BJ643BsXA.png) ![image](https://hackmd.io/_uploads/BycH2SsX0.png) ![image](https://hackmd.io/_uploads/rJBUnSiXA.png) ![image](https://hackmd.io/_uploads/S1Eu3BiQR.png)