Halaman

Sabtu, 31 Oktober 2020

CATATAN LINUX

 1. Cek versi kernel :

    uname -r atau uname -a atau cat /proc/version atau dmesg | grep linux 

    info lebih lanjut : uname --help

2. Penjelasan syscall https://blog.packagecloud.io/eng/2016/04/05/the-definitive-guide-to-linux-system-calls/

3. Status, start, stop dan restart service : 

    sudo systemctl status nama_service, contoh sudo systemctl status apache2 jika selesai bisa tekan q.

    sudo systemctl start nama_service, contoh sudo systemctl start apache2

4. 

Jumat, 30 Oktober 2020

CATATAN EXPLOIT

 BUFFER OVERFLOW EXPLOIT

Buffer overflow biasa dimanfaatkan untuk mengexploitasi kerentanan suatu program. Sesuai dengan namanya, buffer overflow berarti meload buffer dengan data yang lebih besar dari daya tampungnya. Variable lokal disimpan di stack memori. Apabila buffer variable lokal ini di overflow, maka data kelebihannya akan tersimpan di stack juga. Stack merupakan bagian penting yang menyimpan data parameter fungsi, variable lokal dan alamat instruksi pointer. Mengubah alamat instruksi pointer di stack akan menyebabkan perubahan alur eksekusi program. Menurut saya ada kemiripan dengan codecave, yaitu sama-sama mengubah alur eksekusi program yang sudah dicompile. Berikut ini skenario pembelokan eksekusi program :

#========================

.section .data

.section .text

.globl _start

jmp dummy

_start:   

    pop    esi    #menyimpan alamat string command shell ke register eax

    #lakukan sesuatu dengan alamat tersebut, terserah mungkin mau di print atau

    #ekseskusi command shell (biasanya dengan syscall 11 execve)

dummy:

    call _start    #call ini bertujuan agar alamat instruksi dibawah disimpan di stack

    .string "simple string"

#========================


Ilustrasi dalam bahasa C :

void main(int argc, char **argv)

{

    char *name[2]; 

    name[0] = "/bin/sh";

    name[1] = NULL;

    //selanjutnya, int execve(char *file, char *argv[], char *env[])

    execve(name[0], name, NULL);

    exit(0);

}

Register yang digunakan :

1. EAX : 0xb - nomor syscall

2. EBX : alamat dari nama program

3. ECX : alamat null-terminated argument-vector, argv (alamat dari nama)

4. EDX : alamat null-terminated environment-vector, env/enp (NULL)







Sumber :

1. https://www.tenouk.com/Bufferoverflowc/Bufferoverflow5.html

2. https://insecure.org/stf/smashstack.html



Dasar

TUTORIAL 1 : DASAR BAHASA ASSEMBLY WINDOWS 32bit MASM32 CONSOLE UNTUK PEMULA

Alhamdulillahirabbilalamin, pada saat ini kita semua masih diberi kesempatan untuk terus belajar, kita niatkan mudah-mudahan apa yang kita l...

Postingan Populer