Membahas sedikit tentang Exploit
Local Exploit
Local exploit adalah teknik eksploitasi yang dilakukan secara lokal dan mengharuskan adanya akses terlebih dahulu kepada sistem yang rentan untuk diserang. Exploit ini bertujuan untuk escalating privillege (peningkatan hak akses user).
Shellcode, Exploit dan Vulnerability
Shellcode adalah code yang dibuat oleh attacker yang bertujuan untuk memberikan dia shell sehingga dia bisa memberi perintah dengan leluasa.
Shellcode, exploit dan vulnerability memiliki keterkaitan yang sangat erat. Awal mulanya adalah program yang dibuat oleh programmer yang mengandung vulnerability, selanjutnya di-exploit untuk membuat program tersebut menjalankan code apapun yang diinginkan attacker (arbitrary code execution).
Seharusnya, program mengikuti instruksi yang dibuat oleh programmernya. Attacker bisa membuat program mengikuti perintahnya dan mengabaikan perintah programmernya dengan mengexploit vulnerability yang mengakibatkan arbitrary code execution.
Arbitrary Code Execution
Arbitrary code execution adalah kondisi dimana attacker dapat menginjeksi sembarang code/instruksi ke dalam suatu proses yang sedang running, kemudian code tersebut dieksekusi. Code yang diinjeksi itu disebut dengan shellcode. Code dalam shellcode adalah dalam bentuk bahasa mesin atau opcode. Biasanya opcode ini tidak dituliskan dalam nilai binary karena akan menjadi sangat panjang, melainkan memakai nilai hexa yang lebih kompak.
Remote Exploit
Remote exploit adalah teknik exploitasi yang dilakukan secara remote melalui jaringan. Exploit jenis ini biasanya menyerang server/daemon yang sedang “LISTEN” di port tertentu.
Perbedaan utama antara local exploit dan remote exploit adalah pada local exploit, sejak awal attacker sudah memiliki shell access baik melalui ssh, telnet atau remote desktop connection, namun dengan hak akses terbatas (sebagai normal user). Sedangkan pada remote exploit, kondisi awal attacker adalah tidak memiliki akses shell. Akses shell yang dimaksud adalah kemampun untuk execute suatu file executable.
Pada local exploit, tujuannya adalah privilege escalation atas hak akses yang terbatas tersebut menjadi tidak terbatas (root/administrator). Sedangkan pada remote exploit, karena pada awalnya tidak punya akses shell, maka remote exploit berusaha mendapatkan akses shell, baik sebagai user biasa maupun sebagai super user (root/administrator).
Remote Shellcode
Terdapat 2 jenis remote shellcode, yaitu:
1. Port Binding Shellcode
Shellcode jenis ini bertujuan untuk memberikan shell yang bisa diakses dari jauh melalui port tertentu. Attacker bisa mengakses shell tersebut dengan membuka koneksi ke IP komputer target pada port yang sudah ditentukan sebelumnya.
Port binding shellcode tidak berguna bila komputer target dilindungi dengan firewall yang memblok inbound koneksi ke port di luar port yang diijinkan.
Firewall yang dimasalahkan bukan firewall yang berada di komputer target, sebab attacker bisa juga menambahkan rutin untuk mendisable firewall di komputer target. Tetapi firewall yang berada di luar komputer target tidak bisa dimatikan dari komputer target.
2. Reverse Connecting Shellcode
Reverse connecting shellcode mirip dengan port binding shellcode namun arah koneksinya terbalik. Dalam shellcode ini, komputer target yang akan membuka koneksi ke attacker. Karena kebanyakan kasus administrator server sering memblok koneksi yang masuk ke komputernya, namun tidak untuk koneksi keluar.
Port yang biasanya diijinkan untuk diakses adalah port untuk http, yaitu 80 dan 443 (SSL) karena ini adalah layanan yang paling banyak dipakai sehingga kecil kemungkinan admin memblok koneksi ke web server luar.
Referensi : http://ilmuhacking.com/
Local Exploit
Local exploit adalah teknik eksploitasi yang dilakukan secara lokal dan mengharuskan adanya akses terlebih dahulu kepada sistem yang rentan untuk diserang. Exploit ini bertujuan untuk escalating privillege (peningkatan hak akses user).
Shellcode, Exploit dan Vulnerability
Shellcode adalah code yang dibuat oleh attacker yang bertujuan untuk memberikan dia shell sehingga dia bisa memberi perintah dengan leluasa.
Shellcode, exploit dan vulnerability memiliki keterkaitan yang sangat erat. Awal mulanya adalah program yang dibuat oleh programmer yang mengandung vulnerability, selanjutnya di-exploit untuk membuat program tersebut menjalankan code apapun yang diinginkan attacker (arbitrary code execution).
Seharusnya, program mengikuti instruksi yang dibuat oleh programmernya. Attacker bisa membuat program mengikuti perintahnya dan mengabaikan perintah programmernya dengan mengexploit vulnerability yang mengakibatkan arbitrary code execution.
Arbitrary Code Execution
Arbitrary code execution adalah kondisi dimana attacker dapat menginjeksi sembarang code/instruksi ke dalam suatu proses yang sedang running, kemudian code tersebut dieksekusi. Code yang diinjeksi itu disebut dengan shellcode. Code dalam shellcode adalah dalam bentuk bahasa mesin atau opcode. Biasanya opcode ini tidak dituliskan dalam nilai binary karena akan menjadi sangat panjang, melainkan memakai nilai hexa yang lebih kompak.
Remote Exploit
Remote exploit adalah teknik exploitasi yang dilakukan secara remote melalui jaringan. Exploit jenis ini biasanya menyerang server/daemon yang sedang “LISTEN” di port tertentu.
Perbedaan utama antara local exploit dan remote exploit adalah pada local exploit, sejak awal attacker sudah memiliki shell access baik melalui ssh, telnet atau remote desktop connection, namun dengan hak akses terbatas (sebagai normal user). Sedangkan pada remote exploit, kondisi awal attacker adalah tidak memiliki akses shell. Akses shell yang dimaksud adalah kemampun untuk execute suatu file executable.
Pada local exploit, tujuannya adalah privilege escalation atas hak akses yang terbatas tersebut menjadi tidak terbatas (root/administrator). Sedangkan pada remote exploit, karena pada awalnya tidak punya akses shell, maka remote exploit berusaha mendapatkan akses shell, baik sebagai user biasa maupun sebagai super user (root/administrator).
Remote Shellcode
Terdapat 2 jenis remote shellcode, yaitu:
1. Port Binding Shellcode
Shellcode jenis ini bertujuan untuk memberikan shell yang bisa diakses dari jauh melalui port tertentu. Attacker bisa mengakses shell tersebut dengan membuka koneksi ke IP komputer target pada port yang sudah ditentukan sebelumnya.
Port binding shellcode tidak berguna bila komputer target dilindungi dengan firewall yang memblok inbound koneksi ke port di luar port yang diijinkan.
Firewall yang dimasalahkan bukan firewall yang berada di komputer target, sebab attacker bisa juga menambahkan rutin untuk mendisable firewall di komputer target. Tetapi firewall yang berada di luar komputer target tidak bisa dimatikan dari komputer target.
2. Reverse Connecting Shellcode
Reverse connecting shellcode mirip dengan port binding shellcode namun arah koneksinya terbalik. Dalam shellcode ini, komputer target yang akan membuka koneksi ke attacker. Karena kebanyakan kasus administrator server sering memblok koneksi yang masuk ke komputernya, namun tidak untuk koneksi keluar.
Port yang biasanya diijinkan untuk diakses adalah port untuk http, yaitu 80 dan 443 (SSL) karena ini adalah layanan yang paling banyak dipakai sehingga kecil kemungkinan admin memblok koneksi ke web server luar.
Referensi : http://ilmuhacking.com/
Label:
Hacking-Defacing

0 komentar:
Post a Comment
Jika ingin menyampaikan sesuatu, bisa langsung isi disini.