THIẾT LẬP IPSEC CONNECTION DÙNG OPENSWAN
Mục đích
Thực hiện lấy shell một máy chủ qua mạng bằng cách dùng reverse TCP và shellcode
Thực hiện
Thực hiện trên cả 2 máy :
Hình 1 Thông tin máy cục bộ
Hình 2 Thông tin máy từ xa Bước 1: Download openswan giải nén và cài đặt
Hình 3 Download openswan và giải nénCài đặt openswan
Hình 4 Cài đặt openswan Bước 2: Sinh khóa RSA trên cả 2 máy
Hình 5 Thực hiện sinh khóa trên cả 2 máy Bước 3:Lấy leftrsasigkey trên máy cục bộ
Hình 6 Lấu leftrsasigkey trên máy cục bộ
Bước 4: Lấy rightrsasigkey trên máy từ xa
Hình 7 Lấy rightrsasigkey trên máy từ xa Bước 5: hiệu chỉnh file /etc/ipsec.còn trên cả 2 máy
Hình 8 File ipsec.conf trên máy cục bộ
Hình 9 Thông tin ipsec.conf trên máy từ xa
Hình 10 Định nghĩa default getway trên máy cục bộ
Hình 11 Định nghĩa getway trên máy từ xa Bước 7 : Khởi động lại openswan trên cả 2 máy
Hình 12 Khởi động lại openswan trên cả 2 máy Bước 8 : Khởi động lại kết nối trên cả 2 máy
Hình 13 Khởi động lại kết nối trên cả 2 máy
Bước 9 : Sử dụng wireshark để kiểm tra
Hình 14 Thông tin gói tin bắt được từ máy cục bộ
Hình 15 Thông tin gói tin bắt được từ máy tư xa
THỰC HIỆN AN TOÀN CHO MỘT KẾT NỐI QUẢN TRỊ TỪ XA nguyet Aa12345678 14 I Chuẩn bị
Thực hiện
Bước 1: Cài đặt MySQL server
Apt-get install mysql-server
Bước 2: Khởi động dịch vụ mysql server
Bước 3: Đăng nhập vào mysql server
Bước 4: Tạo một user, tự đặt một username và password
Create user’nguyet’@’localhost’ identified by ‘abc’
Với username là ‘nguyet’ và password là ‘abc’
Hình 16 Tạo một user mới trên máy mysql server Bước 5: Tạo một cơ sở dữ liệu có tên là saigondb
Hình 17 Tạo một cơ sở dữ liệu saigondb Bước 6: Thiết lập quyền truy xuất cho user đã tạo
Hình 18 Thiết lập quyền truy xuất cho user nguyet đã tạo
Bước 7: Xem cơ sở dữ liệu bằng lệnh show databases show databases;
Hình 19 Xem cơ sở dữ liệu bằng lệnh show
Bước 8: Đăng xuất khỏi mysql và mở telnet service
Hình 20 Khởi động dịch vụ telnet
Bước 9: Dùng máy thật của người quản trị cấu hình 1 kết nối Putty đến MySQL server , cần xác định địa chỉ IP củ máy chạy MySQL
Hình 21 Dùng máy thật tọa một kết nối putty đến mysql server
Hình 22 Kết nối thành công và thiwcj hiện vài thao tác quản trị Bước 10: Mở wireshark để tiến hành bắt gói tin
Hình 23 Mở wireshark và xem xét, gói tin telnet
Bước 11: Thực hiện đăng nhập từ xa vào Linux server và tiến hành đăng nhập vào cơ sở dữ liệu bằng username
Hình 24 Đăng nhập từ xa vào linux server và đăng nhập vào cơ sỏ dữ liệu bằng username
Bước 12: Phân tích gói tin bắt được
Telnet không sử dụng mã hóa thông tin, dẫn đến việc dữ liệu truyền tải ở dạng PlainText Điều này làm cho Telnet trở thành một phương thức kết nối không an toàn, không được khuyến khích trong môi trường doanh nghiệp hoặc những nơi yêu cầu bảo mật thông tin cao.
Remote Access dung SSH
Để kết nối SSH bằng Putty, bạn cần mở ứng dụng và cấu hình các tùy chọn cần thiết, sau đó thực hiện lại kết nối đăng nhập Lưu ý rằng nếu kết nối không thành công, có thể là do cổng 22 chưa được cho phép trong file sshd_config.
Hình 25 Mở putty và tiến hành kết nối ssh port 22
Hình 26 Kết quả kết nối bị chặn
Bước 2: Cài đặt openSSH server trên máy chạy server
Bước 3: Cấu hình file /etc/ssh/sshd_config
Hình 27 Sửa file cấu hình sshd_config
Bước 4: Khởi động lại ssh
Bước 5: Thực hiện một kết nối từ một máy Ubuntu đến máy chạy ssh server đã cài đặt ở trên
Hình 28 Thực hiện kết nối đến máy chạy ssh server và kết quả bị chặn
Kết nối SSH đến máy chủ lab1@192.168.36.154 bị chặn do mặc định sử dụng port 22, trong khi máy chủ chỉ cho phép kết nối qua port 53 Do đó, khi thực hiện lệnh mà không chỉ định port, người dùng không thể kết nối SSH thành công.
Bước 7: Thực hiện ssh @ -p53
Hình 29 Thực hiện ssh đến máy ssh server với port 53 Bước 7: Cấu hình forwarding port giữa port 3307 và 53
Hình 30 Cấu hình forwading giữa port 3307 và 53
Bước 8: Thực hiện nc 3307 trên máy người quản trị
Hình 31 Thực hiện nc đến máy server
Thực hiện kết nối port forwading 3307 được cài đặt để kết nối localhost -> không thể netcat từ máy của quản trị viên đến máy server ở port 3307
Bước 9: Cấu hình port forwarding để kết nối mysql server qua ssh
Để kết nối đến máy chủ MySQL, cần cấu hình port forwarding với SSH, sử dụng cổng 53 Lưu ý rằng khi sử dụng lệnh SSH, cổng mặc định là 22, do đó sẽ không thể kết nối nếu không thay đổi cổng.
Bước 10: Hủy forwarding ở bước 7 và thực hiện lại bước 9
Hình 33 Thực hiện lại port forwarding
Bước 11 : Thực hiên nc localhost 3307
Hình 34 Thực hiện nc localhost 3307 từ máy người quản trị
Do port forwading 3307 đã bị huỷ trước đó, nên không thể thực hiện lệnh netcat localhost ở port 3307
Bước 12: Trên máy người quản trị thưc hiện port forwarding đến mysql server
Hình 35 Thực hiện port forwarding đến mysql server với port 53
Hình 36 Thông tin gói tin bắt được từ wireshark
Bước 13: Thực hiện kết nối đến mysql server từ máy người quản trị
Bước 14: Thực hiện đăng nhập mysql với username đã tạo ở phần 1 và tiến hành vài thao tác quản trị
Hình 37 Thực hiện tiến hành đăng nhập vào mysql
Bước 15: Cài SSH server trên máy người quản trị và thực hiện một remote forwarding từ mysql port 3306 đến remote port 2001 của máy người quản trị
Hình 38 Thực hiện và thực hiện một remote forwarding từ mysql port 3306 đến remote port
2001 của máy người quản trị Bước 16: Thực hiện kết nối từ máy người quản trị
Hình 39 Thực hiện kết nối từ máy người quản trị Bước 17: thực hiên kết nối đến mysql server từ máy người quản trị bằng navicat
# wget -q -O - http://www.navicat.com/download_linux_repo?lnx_repo=ubuntu | sudo tee /etc/apt/sources.list.d/navicatmonitor.list
# sudo apt-get install navicatmonitor
# sudo /etc/init.d/navicatmonitor start
Tiến hành cài đặt những thông tin cần thiết
Hình 40 Thông tin đăng nhập vào navicat
Hình 41 Thực hiện xem cơ sở dữ liệu trên navicat
THỰC HIỆN REVERSE TCP ĐỂ LẤY SHELL
Tìm hiểu cách nhúng mọt getshell vào tập tin ứng dụng bất kì và thực thi
Hình 53 Source code một ứng dung trên gitBước 2: Chép tất cá shellcode vào file đã clone về từ git
Hình 54 Chép shellcode vào ứng dụng đã clone về
Bước 3: Tiến hành thực thi trên máy victim
Hình 55 Tiến hành thực thi ứng dụng đã nhúng shellcode trên máy vitcimBước 4: Mở handler bằng netcat trên máy attack và đã có kết nối
Hình 56 Mở handler trên máy attack và đã có kết nối
THỰC HIỆN TẤN CÔNG SOCIAL ENGINEERING THƯỜNG DÙNG TRONG APT
Cài mã độc tấn công Social Engineering
Bước 1: Chọn Social-Engineering Attacks Sau đó chọn Powershell Attack Vectors
Hình 57 Chọn Powershell Attack Vectors
Sau đó, tiếp tục chọn Powershell Alphanumeric Shellcode Injector Nhập địa chỉ IP của máy attacker để tiến hành tạo Virus tấn công Sau đó chọn yes
Hình 58 Powershell Alphanumeric Shellcode Injector
Bước 2: Copy file virus ra ngoài desktop đổi đuôi txt thanhg bat
Bước 3: Trên máy victim tiến hành chạy fike virus
Bước 4: Trên máy attacker tiến hành lấy thông tin từ máy victim bằng câu lệnh sessions -i
Hình 59 Lấy thông tin từ máy nạn nhânLệnh sysinfo và ipcofig
Hình 60 Lệnh sysinfo Lệnh keyscan_start để tiến hành lấy dữ liệu từ máy victim
Lệnh keyscan_dump để lấy dữ liệu từ máy victim
Lệnh keyscan_stop để dừng lại
Lệnh screenshoot để chụp lại màn hình của máy victim
Demo tấn công bằng cách clone 1 link giả mạo
Bước 1:Khởi động setoolkit để dùng công cụ Social-Engineering Attacks Chọn mục Website Attack Vectors
Hình 61 Chọn Website Attack Vectors Bước 2: Chọn mục Credential Havrester Attack Method
Hình 62 Chọn Credential Havrester Attack Bước 3: Chọn mục site cloner
Bước 4: Nhập địa chỉ IP của máy attack
Hình 64 Nhập IP máy attacker
Hình 65 Thông tin lấy được từ máy victim
Thông tin user và password lấy từ máy nạn nhân
Hình 66 Khi máy nạn nhân đăng nhập vào website giả mạo, máy attack có thể lấy được username và pasword
THIẾT KẾ MÔ HÌNH MẠNG DOANH NGHIỆP
Mô hình
Hình 67 Mô hình mạng doanh nghệp
WEBSERVER 11.0.0.4 cài đặt apache 11.0.0.2 Host-only
Cấu hình
Hình 68 Cấu hình firewall pfsense
Hình 69 Kiểm tra cấu hình
Sau khi cấu hình xong, ta tiến hình truy cập pfsense với địa chỉ :https://192.168.1.19 Bước 1: Cấu hình hostname và DNS server
Hình 70 Cấu hình hostname và DNS server
Bước 2: Cấu hình Time server
Hình 71 Cấu hình Time server
Bước 3: Cấu hình WAN interface với IP Address:192.168.1.19/24
Hình 72 Cấu hình WAN interface Bước 4: Cấu hình LAN Inteface
Hình 73 Cấu hình LAN interface
Bước 5: Đặt password cho tài khoản admin
Hình 75 Đăng nhập vào pfsenseGiao diện PFSENSE sau khi cấu hình xong
Hình 76 Giao diện khi đã cấu hình xong
Cấu hình NAT Firewall
3.1 NAT để các PC trong LAN kết nối internet
Tiến hành đặt getway cho các PC trong LAN là ip của interface LAN của PFSENSE
Hình 77 Đặt default getway cho máy trong LANTiến hành NAT outbound để PC trong LAN kết nối internet
Hình 78 Thực hiện NAT outbound Tiến hành ping 8.8.8.8 để kiểm tra:
Hình 79 Kiểm tra xem LAN đã vào được internet chưa 3.2 NAT để đưa Webserevr lên internet Địa chỉ IP máy webserver:
Trên máy webserver cài đặt apache
Hình 80 Webserver Apache trên DMZTiến hành vào Firewall -> NAT->Port forward
Truy cập vào webserver bằng ip của interface WAN trên máy trong WAN
Hình 82 Truy cập webserver trên WAN
Cấu hình Ruler Firewall và kiểm tra
4.1 Cho phép PC từ internet kết nối vào webserver trên DMZ
Vào Firewall ->Rule->WAN để cấu hình rules
Hình 83 Rules cho phép PC từ internet kết nối vào webserver trên DMZ
Khi truy cập vào IP của WAN ta sẽ vào được webserver
Hình 84 Truy cập webserver bằng IP WAN
4.2 Không cho máy từ WAN kết nối vào máy máy trên LAN
Tiến hành vào firewall->Rules->WAN để cấu hình
Hình 85 Rules không cho máy từ WAN kết nối vào máy máy trên LAN
Hình 86 Tiến hành kiểm tra
4.3 Không cho các PC từ DMZ kết nối vào PC trên LAN
Tiến hành vào firewall->Rules->DMZ để cấu hình rules
Hình 87 Rules không cho các PC từ DMZ kết nối vào PC trên LAN Tiến hành kiểm tra ping từ máy DMZ đến máy LAN(192.168.10.5)
Trước khi apply rules, ta vẫn ping được từ DMZ đến LAN( 192.168.10.5)
Sau khi apply rules, ping từ DMZ đến LAN request time out
Hình 88 Tiến hành kiểm tra
CONFIG ASA BACSIC
Cấu hình định tuyến
3 Cấu hình FW chỉ cho phép PC với IP 192.168.2.10 được phép SSH vào FW
4 Cấu hình static NAT trên FW sao cho người dùng ngoài inetrnet chí có thể truy cập được dịch vụ Remote Desktop của server 192.168.10.10
5 Cấu hình PAT trên FW sao cho người dùng từ vùng inside có thể truy cập được các dịch vụ ngoài internet
1 Cấu hình thông tin trên các cổng của FW
Hình 90 Thông tin cấu hình trên cổng inside Cổng DMZ
Hình 91 Thông tin cấu hình trên cổng DMZCổng outside
Hình 92 Thông tin cấu hình trên cổng outside
Cấu hình default-route trên router R2
Cấu hình static route trên FW
Hình 93 Thông tin cấu hình static route trên FW Mặc định ASA không cho phép icmp giữa các vùng, cần cấu hình thêm:
Hình 94 Thông tin cấu hình icmp trên FW
Cấu hình SSH trên FW
Hình 95 Thông tin cấu hình SSH trên FWSau đó ta có thể truy cập SSH từ PC 192.168.2.10
Hình 96 Kết quả SSH vào FW trên ( PC 192.168.2.10)
Cấu hình static NAT và ACL để cho từ bên ngoài có thể truy cập dịch vụ Remote Desktop trên vùng DMZ
Bước 1: Cấu hình object network:
Hình 97 Thông tin cấu hình object network Bước 2: Cấu hình object service:
Hình 98 Thông tin cấu hình object service Bước 3: Cấu hình NAT và cấu hình ACL để cho phép truy cập từ outside vào DMZ
Hình 99 Thông tin cấu hình NAT và ACL cho phép truy cập outside vào DMZ
Sau khi cấu hình, ta có thể truy cập dịch vụ remote desktop từ vùng outside ( cổng outside có địa chỉ: 192.168.36.151)
Hình 100 Thông tin cổng outside
Hình 101 kết quả remote desktop vào PC 192.168.10.10Hình 102 Kết quả truy cập dịch vụ remote desktop từ PC ngoài vùng outside
Cấu hình PAT để cho phép người dùng từ inside có thể truy cập internet
Hình 103 Thông tin cấu hình PAT cho phép inside truy cập internetSau khi cấu hình xong, ta có thể truy cập internet
Hình 104 Kết quả truy cập internet từ PC (192.168.2.10) (inside)
Hình 105 Kết quả ping từ PC ( 192.168.2.10 inside) đến PC (192.168.10.10 DMZ)
IPSEC VPN SITE TO SITE
Mô tả
Thực hiện cấu hình IPSec VPN giữa hai site đảm bảo mạng LAN thuộc SAIGON và VUNGTAU có thể giao tiếp đươc với nhau
2.1 Cấu hình trên router SAIGON
Bước 1: Cấu hình chính sách IKE (chính sách pha 1)
Hình 107 Thông tin cấu hình chính sách IKE trên router SAIGON
Bước 2: Xác định thông tin key và peer
Hình 108 Thông tin key và peer trên router SAIGON Bước 3: Cấu hình chính sách IPSec ( chính sách pha 2)
Hình 109 Thông tin cấu hình chính sách IPSEC trên router SAIGON Bước 4: Xác định luồng dữ liệu sẽ được mã hóa hay bảo vệ
Hình 110 Xác định luồng dữ liệu sẽ được mã hóa hay bảo vệ trên souter SAIGON Bước 5: Cấu hình crypto map
Hình 111 Cấu hình crypto map trên router SAIGON
2.2 Cấu hình trên router VUNGTAU
Bước 1: Cấu hình chính sách IKE (chính sách pha 1)
Hình 112 Thông tin cấu hình chính sách IKE trên router VUNGTAU
Bước 2: Xác định thông tin key và peer
Hình 113 Thông tin key và peer trên router VUNGTAU Bước 3: Cấu hình chính sách IPSec ( chính sách pha 2)
Hình 114 Thông tin cấu hình chính sách IPSEC trên router VUNGTAU Bước 4: Xác định luồng dữ liệu sẽ được mã hóa hay bảo vệ
Hình 115 Xác định luồng dữu liệu được mã hóa hay bảo về trên router VUNGTAU Bước 5: Cấu hình crypto map
Hình 116 Thông tin cấu hình crypto map trên router VUNGTAU
Kiểm tra
Kích hoạt kết nối VPN dựa vào lưu lượng xác định trên acl 100
Hình 117 Kết quả kết nối VPN
Sauk hi kết nối VPN được thiết lập có thể kiểm tra thông tin về pha 1 và pha 2 Trạng thái isakmp sa:
Hình 118 Trạng thái crypto isakmp sa Trạng thái ipsec sa:
Hình 119 Trạng thái IPSEC sa
Số lượng kết nối được mở ( 1 IKE và 2 IPSEC)
Hình 120 Số lượng kết nối
Hình 121 Thông tin crypto sesion detail
TẤN CÔNG DDOS BẰNG SYNFLOOD VÀ HPING3
Tấn công ddos bằng synflood
Tấn công SYN flood, hay còn gọi là tấn công nửa mở, là một hình thức tấn công từ chối dịch vụ (DDoS) nhằm làm cho máy chủ không còn khả năng phục vụ lưu lượng truy cập hợp pháp Tấn công này diễn ra bằng cách liên tục gửi các gói tin yêu cầu kết nối ban đầu (SYN), tiêu tốn toàn bộ tài nguyên của máy chủ.
Hình 122 Thông tin máy nạn nhân Bước 1 : Kiểm tra port 445 của máy nạn nhân có mở không
Hình 123 Trên máy tấn công kiểm tra port 445 của máy nạn nhân
Bước 2 : Tiến hành giả lập máy ảo với địa chỉ 192.168.0.1 để tấn công máy nạn nhân với địa chỉ 192.168.36.142
Hình 125 Dùng msfconsole để show các options
Mở wireshark để xem thông tin các gói tin: Đầu tiên, máy tấn công gửi 1 packet tin SYN đến Server để yêu cầu kết nối.
Sau khi tiếp nhận packet SYN, Server phản hồi lại máy khách bằng một packet SYN/ACK, để xác nhận thông tin từ Client.
Bước 3: Mở wireshark và theo dõi
Cuối cùng, khi Client nhận được gói tin SYN/ACK, nó sẽ gửi phản hồi ACK đến server để xác nhận rằng gói tin SYN/ACK đã được nhận, từ đó thiết lập kết nối và sẵn sàng cho việc trao đổi dữ liệu.
Hình 126 Gói tin bắt được khi tấn công
Mở task manager và quan sát biểu đồ hoạt động
Hình 127 Biểu đồ hoạt động của cpu trên máy nạn nhân
Tấn công với hping 3
Hping3 là một công cụ dòng lệnh trên Linux giúp phân tích và tạo ra các gói TCP/IP một cách dễ dàng Khác với lệnh ping thông thường chỉ gửi gói ICMP, Hping3 cho phép gửi các gói TCP, UDP và RAW-IP, mang đến nhiều khả năng linh hoạt hơn trong việc kiểm tra và quản lý mạng.
Hping3 –S 192.168.36.133 –a 192.168.36.142 –p 335 –flood ( với 192.168.36.133 là ip máy tấn công, 192.168.36.142 là ip máy nạn nhân )
Hình 128 Tấn công với câu lệnh hping3
Mở task manager để xem thông tin cpu của máy nạn nhân
Hình 129 Mở taskmanager trên máy nạn nhân và theo dõi bểu đồ
Mở wireshark và theo dõi gói tin
Hình 130 Mở wireshark và theo dõi gói tin
Tấn công ddos bằng botnet
Botnet là mạng lưới máy tính được cài đặt phần mềm để thực hiện các tác vụ nhất định Thường thì, khái niệm botnet bị nhìn nhận tiêu cực, vì nó thường được hacker mũ đen lợi dụng để tấn công các website hoặc dịch vụ trực tuyến.
Mô hình gồm 2 máy : 1 máy attack , 1 máy victim
Máy attack (linux với IP 192.168.36.155)
Hình 131 Thông tin máy server Máy client (win 2012 với IP 192.168.36.162)
Hình 132 Thông tin máy client Bước 1: Cấu hình file server.py trên máy server
Trên máy server , ta có file sevrer.py như sau:
Hình 133 File server.py trên máy server
Bước 2: Cấu hình file client.py trên máy clientTrên máy client ta có file client.py như sau
Hình 134 File client.py trên máy nạn nhân
Bước 3 : Thực thi file server.py trên máy server
Hình 135 Thực thi file server.py để tạo botnet Bước 4: Thực thi file client.py trên máy client
Hình 136 Thực thi file client.py để kết nối đến máy server Bước 5: Kiểm tra đã có kết nối trên máy attack
Hình 137 Kiểm tra kết nối trên máy server bằng lệnh list
Bước 6: Tấn công đến máy nạn nhân
Với ip 192.168.36.162 port 10 time 80s thread 100
Hình 138 Tấn công đến máy nạn nhân
Bước 7 : Mở taskmanager trên máy nạn nhân và theo dõi
Ta thấy , cpu tăng đột ngột
Hình 139 Thông tin cpu trên máy nạn nhân khi bị tấn công Khi tiến hành ngừng tấn công, cpu giảm nhanh dần
Hình 140 Thông tin cpu trên máy nạn nhân khi ngừng tấn công Bước 8: Mở wireshark trên máy nạn nhân và theo dõi
Ta thấy có hang lọt gói tin được gửi đến máy nạn nhân
Hình 141 Gói tin bắt được khi bị tấn công trên máy nạn nhân