| News Explay |
| Newbie làm quen với hack ( bài 3) | |
|---|---|
| Tweet Topic Started: 26/06/2011 - 02:15 pm (171 Views) | |
kevinpham
|
26/06/2011 - 02:15 pm Post #1 |
![]()
Administrator
|
với mục đích là giới thiệu cho các bạn hiểu một số cách thức mà hacker sử dụng để thâm nhập vào hệ thống và một số phương pháp có thể áp dụng để tự bảo vệ bạn. Bài học này cũng ko có ý định hướng bạn đến một cái nhìn xấu về hành vi của hacker mà mục đích là giúp bạn hiểu rõ hơn về vấn đề an toàn bảo mật. Các bước của Hacker : <Bước 1> FootPrinting : Các mục tiêu của bước này chủ yếu là những thông tin ban đầu về server . Công nghệ bạn cần sử dụng là : Open source search ( nguồn máy chủ tìm kiếm ) Whois , Web interface to whois , Arin Whois , DNS zone transfer ( bộ phận này chủ yếu là kiểm tra về người chủ server , DNS .. cấu trúc server chưa thể hiện rõ ở đây ) 1 số công cụ : UseNet , search engines ( công cụ tìm kiếm ) , Edgar Any Unix client , http://k.domaindlx.com/clairsang/www...ions.com/whois ,http://k.domaindlx.com/clairsang/www.arin.net/whois , dig , nslookup Is -d , Sam spade Xem thêm tại đây <Bước 2> Scanning : Phần lớn các server chịu bung thông tin quan trọng trong bước này , hãy cố gắng tận dụng bước này triệt để để biết các port trên server , nghe đường dữ liệu . Công nghệ bạn cần sử dụng là : Ping Sweep , TCP/UDP port Scan , Os Detection . Các công cụ : fping , icmpenum Ws_ping ProPack , nmap , SuperScan , fscan nmap , queso , siphon . <Bước 3> Enumeration : Đến bước này , các attacker bắt đầu kiểm soát server sơ bộ , xác định các account trên server , mức độ bảo vệ ... Công nghệ bạn cần sử dụng là : List user accounts , List file share , Identify applications . Các tool phụ trợ : null sessions , DumpACL , sid2user , OnSite Admin showmount , NAT , Legion banner grabbing với telnet , netcat , rpcinfo . <Bước 4> Gaining access : Aha , đã có đủ dữ liệu để kết hợp tất cả chúng lại . Chúng ta bắt đầu đến gần mục tiêu . Hãy nắm chắc cơ hội . 1 account có thể bị Crack . Công nghệ : Password eavesdropping , File Share brute forcing , Password file grab , buffer overflows . Các tool : tcpdump , L0phtcrack readsmb , NAT , legion , tftp , pwdump2 ( NT ) ttdb , bind , IIS , .HTR/ISM.DLL <Bước 5> Escalating privilege : Nếu 1 account không may mắn nào ở một cấp độ nào đó bị crack ở bước trên , chúng ta sẽ có cái tận dụng để điều khiển Server . Công nghệ : Password cracking , BUG ,Exploits . Tools : john , L0phtcrack , Ic_messages , getadmin , sechole . <Bước 6> Pilfering : Thông tin lấy từ bước trên đủ để ta định vị server và điều khiển server . Nếu bước này không thành công , hãy đến bước <9> . Công nghệ : Evaluate trusts , Search for cleartext passwords . Tool : rhost , LSA Secrets user data , configuration files , Registry . <Bước 7> Covering Tracks : Hệ thộng luôn ghi nhận những hành động của bạn . Nếu bây giờ mà kết thúc , chắc bạn bị tóm ngay . Đây là bước cực kì quan trọng . XÓA LOG . Công nghệ : Clear logs , hide tools . Tools : Zap , Event log GUI , rootkits , file streaming . <Bước 8> Creating Backdoors : Còn phải hỏi , bạn phải để lại 1 cái cổng sau , lần sau có vào thì dễ hơn chứ . Nếu không thành công , quay lại bước <4> xem lại các quyền của user bạn sử dụng . Công nghệ : Creat rogue user accounts , schedule batch jobs , infect startup files , plant remote control services , install monitoring mechanisms , replace apps with Trojan . Tools : members of wheel , administrators cron, At rc , Startup folder , registry keys , netcat , remote.exe , VNC , BO2K , keystroke loggers, add acct to secadmin mail aliases login , fpnwclnt.dll <Bước 9> Denial of Servies : 1 attacker không thành công với những gì anh ta đã làm ... họ sẽ tận dụng những exploits code để làm cho server ngừng hoạt động luôn , gọi đó là : tấn công từ chối dịch vụ . Công nghệ : SYN flood , ICMP techniques , Identical src/dst SYN requests , Overlapping fragment/offset bugs , Out of bounds TCP options ( OOB ) DDoS . Tools phụ trợ : synk4 , ping of death , smurf land , latierra , teardrop , bonk , newtear , supernuke.exe , trinoo/TFN/stacheldraht Thế đó , những bước hacker hay attacker làm với server khi họ muốn attack . Không đơn giản chút nào nhỉ ? Những tool trên , bạn có thể search ở các máy tìm kiếm như http://k.domaindlx.com/clairsang/www...om/default.htm , 2- Một số cách thức hacker dùng để xâm nhập Về cơ bản, để có thể tiến hành thâm nhập vào hệ thống, các hacker thường phải qua những bước sau. Lưu ý các bước tôi trình bày ở đây không bắt buộc phải được thực hiện tuần tự mà tùy vào điều kiện và ngữ cảnh để áp dụng cho thích hợp. Các công cụ trình bày ở đây các bạn cần tìm hiểu cách sử dụng, tôi sẽ không trình bày chi tiết. a. Xác định mục tiêu - Footprinting Bước này tương đối đơn giản. Tuy nhiên đối với hacker thật sự muốn tìm cách thâm nhập vào 1 hệ thống thì bước này rất cần thiết. Càng thu thập được nhiều thông tin liên quan đến mục tiêu càng tốt. Ví dụ như muốn thâm nhập trang web của 1 công ty nào đó, điều đầu tiên các hacker thường dùng là xác định host, domain (nếu là website); dùng các công cụ như WhoIS, Ping, ICMP (nMap, Fping)..để tìm hiểu các thông tin liên quan đến host/domain như vị trí, các Domain Name Records..Ví dụ từ domain name, ta có thể ping để biết được nó host ở đâu với IP cụ thể là gì...; hoặc tìm hiểu cấu trúc mạng của đối phương sử dụng các phương pháp routing (traceroute) và SNMP data. Kế đến là dạo quanh web site, tìm hiểu cấu trúc website, tìm cách download source code (bằng các trình như Teleport Pro, Intellitamper....download tại đây), vì từ đó có thể biết được các thông tin mà người chủ cố tình hoặc vô tình để hở như tên liên lạc, emails, số điện thoại, các thông tin liên quan đến bảo mật (như cơ chế an toàn, ngôn ngữ lập trình..); các liên kết liên quan đến website... Việc dạo và xem cấu trúc website đôi khi sẽ cho ta cái nhìn tổng quan về bảo mật của site đó, nếu may mắn ta có thể tìm được lỗi (thường là lỗi lập trình, lỗi thiết lập access right/chmod chưa đúng..) trên các webpage, liên kết. Các search engine như Google, AltaVista...cũng có thể trở thành công cụ rất hữu ích trong quá trình này. Ví dụ search trên Google để tìm các trang dùng asp, có trang quản lý của admin và giới hạn ở các site ViệtNam, ta có thể search theo từ khóa: "/admin/ asp site:.com.vn" hoặc "admin.asp login.asp site:.com.vn" ..Ví dụ search trên AltaVista để tìm các link liên quan đến site www.hcm.fpt.vn, ta có thể dùng từ khóa "link:www.hcm.fpt.vn AND anydata" Đây là một ví dụ điển hình về kết quả đạt đựơc khi tìm hiểu về website: <http://www.yes.com.vn> Lần dạo đầu tiên qua site này điều đầu tiên nhận thấy là họ dùng ASP để thiết kế. Tuy nhiên tôi chưa vội quan tâm đến việc tìm lỗi liên quan đến nó mà chú ý đến mục Hội viên và Đăng nhập hội viên, đây là vùng riêng của các member tham gia webiste. Cụ thể là tại <http://203.162.1.201/hoivien/index.asp?Lang=4> , điều tôi hay làm là thử download cấu trúc website dùng Intellitamper. Kết quả sau khi download của IT là rất nhiều file asp, ở đây tôi quan tâm đến thư mục /hoivien/ vì trang đăng nhập nằm ở thư mục này. Trong thư mục này kết quả cho thấy có 6 file asp, trong đó có file hvshow.asp làm tôi quan tâm. Tôi chạy thử nó trên browser <http://203.162.1.201/hoivien/hvshow.asp> , kết quả cho thấy bên cạnh thông báo đăng kí là thông tin của hội viên thứ 1 với login name là yesco, tên là DuongMinh và 1 số thông tin khác. Nghĩ đến việc đoán password, tôi quay trở lại trang login lúc nãy và thử đăng nhập vào với login name là yesco, pass là duongminh. Không thành công! pass là duong cũng fail! pass là minh! Thành công! Bạn là Hội viên Vàng...Sau đó tôi xem qua 1 chút và cẩn thận logout. Ví dụ này tôi đưa ra với mục đích giúp các bạn hiểu 1 trong các bước cơ bản đầu tiên trong quá trình hacking. Hy vọng các bạn khi thử thành công không nên làm ảnh hưởng đến dữ liệu của người khác. Xem thêm tại đây b. Thu thập thông tin về mục tiêu - Scanning, Enumeration Bước này thật ra tương tự bước đầu tiên (Footprinting) nhưng ở mức độ chi tiết và nâng cao hơn. - Tìm hiểu các dịch vụ (services) được dùng trên hệ thống đối phương, dò/quét các cổng (port) để tìm kiếm cổng hở, xác định dịch vụ dùng cho cổng này. Một số công cụ thừơng được dùng như: Nmap (www.insecure.org/nmap) Netcat (download tại đây) Strobe (packetstorm.security.com) ISS (www.iss.net) Các trình duyệt cổng hở và các tài nguyên chia xẻ (share) khác dùng cho Windows như Superscan(download tại đây), Sechole, Redbutton, Net Essential... Quá trình duyệt cổng có thể cho ta biết được các dịch vụ web nào được sử dụng ở mục tiêu. Ví dụ như các cổng TCP: 139, 135 (NETBIOS), 110 (pop3), 80 (HTTP), 79 (Finger), 53 (domain), 25 (smtp), 21 (ftp)...Thậm chí cả hệ điều hành và webserver đựơc sử dụng ở mục tiêu. Ví dụ với netcat, ta dùng lệnh sau: nc -v -z 203.162.1.1 1-255 Với nmap, ta dùng: nmap -sS 203.162.1.1/255 hay nmap -p80 -O 203.162.1.10 Các bạn tự tìm hiểu cách sử dụng các tool khác. Lưu ý các câu lệnh ví dụ ở đây chỉ mang tính chất tham khảo. - Tìm hiểu các lỗi/lổ hổng bảo mật mà mục tiêu có thể mắc phải. Ta có thể tìm thông tin từ các website sau: www.securityfocus.com www.l0pht.com www.microsoft.com/security packetstorm.security.com ... Hoặc có thể đăng kí ở các mailing list để có thể nhận được các thông tin về security cập nhập nhất: Buqtraq (www.securityfocus.com) NTBugTraq (www.ntbugtraq.com) Pen-Test (www.securityfocus.com) ... c. Tiến hành tấn công - Khai thác điểm yếu của hệ thống, hệ điều hành . Thử tìm cách truy xuất đến các dịch vụ của hệ thống dựa trên hoặc có liên quan đến các lỗi bảo mật . Tìm hiểu các thông tin về lỗi bảo mật từ các nhà sản xuất hệ thống, tìm hiểu các thông tin patch/update tương ứng với version bạn đang nghiên cứu - Khai thác điểm yếu của các ứng dụng dùng trên máy chủ - server . Một số ứng dụng server có thể có lỗi như Microsoft IIS, Netscape Enterprise Server, Oracle, Apache... - Khai thác điểm yếu của các ứng dụng client . Tìm hiểu các lỗi về /cgi-bin, các lỗi về tràn bộ đệm . Tìm hiểu các lỗi về javascript . Tìm hiểu các lỗi về cookies . Tìm hiểu các thiết lập mặc định của các ứng dụng web, vd như mật khẩu admin ngầm định của một số forum... - Leo thang đặc quyền (Escalate Privileges), tôi chỉ mô tả một số cách có thể đạt được mục đích . Theo dõi trên mạng (sniff) để tìm cách lấy các thông tin bảo mật của người dùng, vd như dùng các công cụ bắt gói tin (packet sniffer) để bắt các thông tin liên quan đến mật khẩu di chuyển trên mạng... . Tìm cách lấy các SUID từ các chương trình quản lý nhưng khả năng kiểm tra các giá trị nhập vào hoặc các giá trị biên kém. . Tìm hiểu các user (user ID) ko có mật khẩu, mật khẩu rỗng, hoặc các mật khẩu ngầm định . Tìm kiếm các thông tin về mật khẩu trong các file trên hệ thống, dùng các công cụ crack pass nếu các file password đựơc mã hoá . Tìm hiểu kĩ mối quan hệ giữa các máy trong hệ thống muốn thâm nhập, dò các sơ hở và tìm cách khai thác lan rộng ra khắp hệ thống. Như vậy, leo thang đặc quyền là tìm cách nâng cao quyền hạn của mình trong hệ thống. Vi dụ từ user Guest hay Normal user trong hệ thống, hacker có thể tìm hiểu các sơ hở để từ đó bổ sung thêm quyền hạn cho mình, thậm chí đoạt quyền admin. Một ví dụ điển hình của leo thang đặc quyền trong quá trình khai thác lỗi của Hosting Controller, khi upload 1 exploit script lên 1 normal host, nếu sau đó ta tìm cách chuyển script đó vào thư mục admin của HC thì khi run nó sẽ có quyền admin. - Mở rộng khai thác ra các hệ thống lân cận; xác định các mục tiêu kế tiếp bắt nguồn hoặc có liên quan đến mục tiêu ban đầu . Dùng netstat -na để tìm hiểu các connection đến các máy khác . Thử khả năng từ một máy trong mạng, kết nối đến máy khác có trust-relationship, nếu may mắn thì có thể thâm nhập được mà ko phải qua các quá trình kiểm tra gắt gao . Tìm hiểu các file có trên hệ thống, chẳng hạn như các file trong *nix /etc/hosts, ssh/identity.pub ... - Các bước khác tùy khả năng của bạn. d. Xóa dấu vết (xóa log files..), tệ hơn có thể là phá hủy thông tin của hệ thống 3- Các mục tiêu và phương pháp hay dùng hiện nay a. Các mục tiêu thuờng bị tấn công - Unix và các biến thể từ nó: Linux, FreeBSD, Solaris, SCO.. - Các hệ thống Windows NT, 2k, XP, 9x... - Các dịch vụ và máy chủ WWW - Các ứng dụng web, forum... - Trộm mật khẩu của các dịch vụ web như các web e-mail, instant messenger... b. Các kiểu tấn công thông dụng - Tấn công làm ngập đường truyền mạng (flood), tấn công từ chối dịch vụ (Distributed Denial of Service) - Tấn công dạng local - cục bộ - Tấn công remote - từ xa - Tấn công dạng điều khiển dữ liệu - data driven Bây giờ tôi sẽ phân tích chi tiết hơn về các kiểu tấn công ở trên. b.1 Tấn công từ chối dịch vụ (DoS) - Feature driven SYN flooding - Inappropriate configurations SMURF - Programming flaws Teardrop - Distributed DoS: DoS tập thể 1 mục tiêu từ nhiều hướng, nhiều máy ....(Sẽ biên soạn và bổ sung sau) Xem thêm tại đây. b.2 Tấn công dạng local - host based - Khai thác các lỗi tràn bộ đệm Cách hạn chế: Quản lý tốt bộ nhớ, stack; cập nhật các bản sửa lỗi; lập trình kĩ càng và tốt hơn. - Khai thác các điểm yếu trong việc kiểm tra điều kiện thực thi của các ứng dụng Cách hạn chế: Lập trình kĩ và tốt hơn - Dùng trojan, backdoor, virus... Cách hạn chế: Kiểm tra kĩ càng các chương trình lạ trứơc khi thực hiện, sử dụng các trình diệt virus thông dụng và thường xuyên cập nhật - Crack password Cách hạn chế: Dùng các kĩ thuật mã hóa cao hơn, hạn chế số lần thử mật khẩu ở các login form - Đăng nhập vào hệ thống kiểu vật lý bằng cách khởi động từ đĩa mềm hoặc một hệ điều hành song song khác Cách hạn chế: Tăng cường các biện pháp bảo vệ các thiết bị Xem thêm tại đây b.3 Tấn công dạng remote - network based - Khai thác các lỗi tràn bộ đệm Cách hạn chế: Tương tự như ở local - Tấn công nhiễm độc tên miền (DNS Cache poisoning) Cách hạn chế: Dùng cache timeout, DNSSEC, Non-Caching Servers - Tấn công vào lỗi/lổ hổng của website. Cách hạn chế: Cập nhật các bản sửa lỗi mới nhất, thiết lập cấu hình chính xác, điều chỉnh các quyền hạn, thiết kế và viết mã website tốt. - Khai thác các tên đăng nhập, mật khẩu yếu; tức là các mật khẩu ngầm định, quá ngắn, dễ đoán; hoặc các dạng đăng nhập có cơ chế kiểm tra sơ hở, ko kiểm tra số lần thử password...làm dễ crack bằng dictionary, bruteforce... Cách hạn chế: Tăng cường kiểm tra số lần thử password (vd sẽ ko cho tiếp tục đăng nhập nếu số lần nhập sai password quá 5 lần..), giới hạn chiều dài password tối thiểu, tăng cường mã hóa bằng các giải thuật tốt... - Khai thác từ các thông tin chia sẻ (sharing) như SMB/NetBIOS, NFS Cách hạn chế: giới giạn quyền hoặc tắt share, nâng cấp hệ thống file có khả năng bảo mật cao hơn như NTFS, HPFS... b.4 Tấn công dạng điều khiển dữ liệu - data driven - Khai thác sơ hở của các đối tượng dữ liệu dùng phía server, các mã Java, Javascript, VBScript, Perl, PHP..., các ActiveX control. - Dùng cửa sau (backdoor), trojan, virus Vài thông tin về các backdoor: Unix: sshd Windows: BackOffice 2k, DeepThroat (cổng UDP 2140, 3150), NetSphere (TCP 30100, 30102), GateCrasher (TCP 6969), GirlFriend (TCP 21554), Hack'a'Tack (TCP 31785; UDP 31789, 31791), EvilFTP (TCP 23456), SubSeven (TCP 1234) - Khai thác sơ hở từ các cổng dịch vụ, các giao thức cấu hình sai hoặc có cơ chế bảo mật yếu. Cách hạn chế chung dạng này: Cập nhật các bản sửa lỗi, fix lỗi; thiết lập cấu hình chính xác; dùng tường lửa (firewall, proxy), các trình antivirus. chúng ta sẽ tìm hiẻu một số cách hack cơ bản ở phần sau, tôi xin nhắc vói các ban các cách ở các bài sau đây cũ rồi, nếu các bạn nào tìm được site lỗi đó hãy post để tham khảo Edited by kevinpham, 26/06/2011 - 02:16 pm.
|
![]()
| |
![]() |
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| « Previous Topic · SQL · Next Topic » |




kevinpham




1:35 AM Jul 12