Tải bản đầy đủ (.docx) (8 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (270.14 KB, 8 trang )

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
NỘI DUNG
2
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:
3
• 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.
• 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 ()
- 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
4
Kết quả trả về như sau:
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
5
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 hoặc

để 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.
6
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 đó.
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.
8

×