1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn học an ninh mạng Hacking Database SQL Server MSSQL

7 1,1K 9

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 229,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chính những thủ tục này rất quan trọng đối với hacker, 1 số trong đó gồm:  Sp_password -> đổi password cho 1 tên ruy cập login name nào đó Vd: exec sp_password ‘oldpass’, ‘newpass’, ‘us

Trang 1

Hacking Database:

SQL Server (MSSQL)

GVHD: Nguyễn Duy

Nhóm 19

SV1: Nguyễn Mạnh Tuấn - 08520439

SV2: Nguyễn Hữu Tú - 08520452

SV3: Trần Quang Vũ - 08520479

SV4: Lưu Xuân Khoa – 08520498

MMT03/UIT

Trang 2

NỘI DUNG

I Lý thuyết: 2

1 SQL SERVER 2

2 Điểm yếu của Microsoft SQL 2

3 Ngữ cảnh và mục đích đạt được 2

II Mô hình triển khai: 3

1 Các công cụ cần sử dụng để tấn công: 3

2 Từng bước triển khai tấn công: 3

III Triển khai tấn công: 3

1 Tìm ra các máy đang chạy Microsoft SQL 3

2 Tìm kiếm các thông tin chi tiết về host đó 4

3 Tìm lỗi bảo mật để sử dụng 5

4 Tấn công brute force 5

5 Thao tác trên cơ sở dữ liệu 5

IV Nhận xét: 6

Trang 3

I Lý thuyết:

1 SQL SERVER

SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý

dữ liệu và các bộ phận khác nhau trong RDBMS

2 Điểm yếu của Microsoft SQL

Những người thiết kết MS SQL tạo ra một số thủ tục mặc định được lưu sẵn chung với sản phẩm của mình để giúp cho webdesigner linh động hơn Các thủ tục này không có gì khác mà chính là các lớp hàm, được dùng để thực hiện những nhiệm vụ nào đó dựa trên các biến được truyền cho chúng Chính những thủ tục này rất quan trọng đối với hacker, 1 số trong đó gồm:

Sp_password -> đổi password cho 1 tên ruy cập (login name) nào đó

Vd: exec sp_password ‘oldpass’, ‘newpass’, ‘username’’

 Sp_tables ->hiển thị tất cả table trong database hiện tại

Vd: exec sp_tables

Xp_cmdshell -> cho phép chạy câu lệnh bất kỳ lên server với quyền ad min của

database ( cái này nguy hiểm nhất, vì thông thường database được cài mặc định với quyền root)

xp_msver -> hiển thị version của SQL server và tất cả thông tin về HĐH được sử dụng.

xp_regdeletekey -> xoá một key trong registry của windows

xp_regdeletevalue -> xoá một giá trị trong registry

xp_regread -> in 1 giá trị trong registry lên màn hình

xp_regwrite -> gán 1 giá trị mới cho 1 key

xp_terminate_process -> ngừng một process nào đó

Đây là một số các lệnh quan trọng Thật ra có hơn 50 loại thủ tục như thế Nếu muốn database được an toàn thì điều nên làm là xoá tất cả những thủ tục đó đi bằng cách mở Master database dùng chương trình MS SQL Server Enterprise Manager Mở folder Extended Stored Procedures

và xoá các thủ tục lưu trong đó bằng cách nhấn chuột phải và chọn delete

Lưu ý: "Master" là một database quan trọng của SQL chứa tất cả thông tin về hệ thống như là

login name và các thủ tục có sẵn Nếu 1 hacker xoá master database thì SQL server sẽ bị down

vĩnh viễn Ngoài "Master" db ra còn có "Syslogins" là table hệ thống mặc định chứ tất cả

username và password để login vào db ( user của db khác user của ứng dụng web )

Điều nguy hiểm nhất trong MS SQL là MS SQL mặc định có một user là "sa" với password "" ( không có pass ), hoặc người dùng có thay đổi mật khẩu nhưng với độ bảo mật yếu, dễ bị đoán

3 Ngữ cảnh và mục đích đạt được.

MSSQL cho phép người dùng có thể đăng nhập từ xa trên các máy trạm Chính vì vậy ta có thể lợi dụng điều này để có thể đăng nhập vào server với quyền “sa”

Sau khi đã vào được server ta có thể làm những việc sau:

 Thêm tài khoản vào Administrator Group để có thể tiện lợi cho các lần xâm nhập sau

 Đọc và crack file SAM

Trang 4

 Upload backdoor, mở đường cho các lần thâm nhập sau.

II Mô hình triển khai:

Ở đây ta xây dựng mô hình máy client và máy server nằm trong cùng mạng LAN để mô phỏng việc đăng nhập vào Database Server từ máy khác

1 Các công cụ cần sử dụng để tấn công:

- Chương trình dùng để scan port và ip address: nmap (http://nmap.org)

- Chương trình để attack server thông qua brute force: medusa hoặc là sqlbf

- Chương trình để đăng nhập từ xa vào server: osql.exe

- Backdoor để cài vào server khi đã thâm nhập được: netcat.

2 Từng bước triển khai tấn công:

- Scan port và ip address, tìm kiếm các host trên đó đang chạy Microsoft SQL

- Dùng tool dò password của sa bằng phương pháp brute force

- Sử dụng password vừa tìm được để đăng nhập từ xa vào server

- Sử dụng các Extended Stores Procedures để thực hiện các việc như:

o Thêm tài khoản vào administrator group

o Đổ SAM

o Upload Backdoor

III Triển khai tấn công:

1 Tìm ra các máy đang chạy Microsoft SQL

Đầu tiên chúng ta phải tìm ra địa chỉ IP có chạy MSSQL Chương trình scanner thường được sử

dụng là nmap Cần lưu ý là port mặc định chạy MSSQL là 1433, vì vậy chúng ta sẽ bắt đầu scan

các ip trên 1 port cố định 1433

Ta có thể sử dụng lệnh sau

Kết quả trả về như sau:

Trang 5

Như vậy ta có thể thấy là host 192.168.1.118 đang listening trên port 1433

2 Tìm kiếm các thông tin chi tiết về host đó

Thông tin có thể là version của Microsoft SQL hoặc là có thêm các port phụ nào đang mở hay không

Chúng ta sẽ sử dụng câu lệnh sau với tham số -A để lấy toàn bộ thông tin có thể lấy được từ host 192.168.1.118

Kết quả trả về như sau

Trang 6

Từ kết quả có được ta có thể thấy rằng version của database là SQL Server 2008 và chỉ listen trên 1 port duy nhất là 1433

3 Tìm lỗi bảo mật để sử dụng

Khi đã có được các thông tin về phiên bản của database server, ta có thể tìm kiếm thêm thông tin

về các lỗi bảo mật của phiên bản đó trên các trang http://cve.mitre.org/cve/cve hoặc http://www.metasploit.com/ để có thể có thêm nhiều phương án tiếp cận server

4 Tấn công brute force

Quay trở lại cuộc tấn công, giờ ta có thể sử dụng các tool dò pass như medusa hoặc sqlbf hoặc hydra để tìm ra user và password của server thông qua 1 file dictionary.txt lưu các cụm từ mà ta đoán có thể là user và password nào đó bằng câu lệnh

Sau khi tìm được user và password medusa sẽ hiển thị chúng lên màn hình cho cho chúng ta

Sử dụng username và password đó để đăng nhập vào server bằng các chương trình như là osql, hoặc là sqlcmd có sẵn trong bộ microsoft sql server ta có thể login vào database server.

Như vậy ta đã đăng nhập thành công vào server, tại đây ta có thể dùng toàn quyền của user vừa đăng nhập để thao tác trên server, ví dụ:

5 Thao tác trên cơ sở dữ liệu

Giờ ta có thể thêm tài khoản vào group admin bằng các câu lệnh sau

Exec xp_cmdshell ‘net user alone hacked /ADD’

Exec xp_cmdshell ‘net localgroup /ADD Administrators alone’

Câu lệnh trên sẽ tạo tài khỏa alone với pass là hacked và đưa nó vào group administrators

Do sa là tài khoản chạy với quyền local system nên ta còn có thể đọc file SAM

exec xp_regread ‘HKEY_LOCAL_MACHINE’,’SECURITY\SAM\Domains\Account

‘,’F’

Upload backdoor netcat để phục vụ cho các lần xâm nhập sau.

Ngoài ra các công cụ của hãng NGS cũng phục vụ rất tốt cho việc tấn công, kiểm tra các server sử dụng MSSQL.

NGSSquireL for SQL SERVER:

Với chương trình này, sau khi điền đầy đủ các thông tin để đăng nhập vào server, nó sẽ quét toàn

bộ hệ thống và đưa ra các lỗi đầy đủ của server đó

Trang 7

NGSQL Crack: sử dụng để crack các password đã hash của MSSQL

IV Nhận xét:

Ưu: sử dụng các chương trình nhỏ gọn, dễ sử dụng

Khuyết:

- Không tối ưu nếu server được đặt password tốt

- Chậm vì phải dò pass quá lâu nếu dictionary lớn

- Thực hiện attemp server nhiều lần khi dò pass khiến dễ bị phát hiện

Giải pháp phòng chống:

- Thực hiện chính sách đặt password tốt

- Sử dụng các phiên bản SQL Server cao hơn (2008 trở lên) vì có cài mặc định thì tài khoản “sa” đã được disable

Ngày đăng: 08/04/2015, 08:23

TỪ KHÓA LIÊN QUAN

w