SPAGHETTI HACKER

  1. PTRACE ELF INFECTOR - Dr. Pepper
    log.02e

    Tags
    malware
    re
    By Dr. Pepper il 8 Dec. 2023
    0 Comments   43 Views
    .
    Au8tLPx%202-17020512346063-17055769137546

    ;black box reverse engineering di un eseguibile ELF che attraverso la syscall ptrace va ad attaccarsi ad un processo in esecuzione per iniettare nello spazio di memoria di quest'ultimo una shellcode e poi eseguirla.

    ;la chiamata di sistema ptrace consente a un processo di eseguire il debug di un altro processo. utilizzando ptrace saremo in grado di interrompere l'esecuzione di un processo target ed esaminare i valori dei suoi registri e della memoria, nonché modificarli in qualsiasi valore desideriamo.

    ;il codice va ad iniettare la shellcode nella posizione dell'instruction pointer (registro rip le architetture x86_64) del processo a cui si è attaccato e di cui ottiene il controllo. la shellcode avvia una sessione di shell, e non restituire il controllo al processo originale.

    ;in linux esiste una protezione: per utilizzare questo eseguibile su un processo in running bisogna prima settare:

    ;echo 0 > /proc/sys/kernel/yama/ptrace_scope

    ;0 permessi ptrace classici. nessuna restrizione aggiuntiva sulle operazioni eseguite. l'utilizzo di PTRACE_TRACEME è invariato.

    ;1 ptrace limitato [valore predefinito]. quando si esegue un'operazione che richiede un ATTACH, il processo chiamante deve avere una relazione predefinita con il processo target. la relazione predefinita è che il processo target deve essere figlio del chiamante.

    ;arg uint32_t argc @ rdi
    ;arg char **argv @ rsi
    ;var int64_t canary @ rbp-0x8
    ;var void *var_60h @ rbp-0x60
    ;var void*data @ rbp-0xe0
    ;var pid_t pid @ rbp-0xe4
    ;var uint32_t var_f4h @ rbp-0xf4
    ;var char **str @ rbp-0x100

    0x000012cf endbr64
    0x000012d3 push rbp
    0x000012d4 mov rbp, rsp
    0x000012d7 sub rsp, 0x100
    0x000012de mov dword [var_f4h], edi ;argc
    0x000012e4 mov qword [str], rsi ;argv
    0x000012eb mov rax, qword fs:[0x28]
    0x000012f4 mov qword [canary], rax
    0x000012f8 xor eax, eax
    0x000012fa cmp dword [var_f4h], 2
    0x00001301 je 0x1332

    ;prologo della main, alloca spazio sullo stack e setta il canarino, poi controlla se sono stati passati due parametri, in caso continua, altrimenti stampa una stringa di Usage e poi esce.

    Read the whole post...

    Last Post by Dr. Pepper il 8 Dec. 2023
    .
  2. FLOODER ELF - Dr. Pepper
    log.02c

    Tags
    malware
    re
    By Dr. Pepper il 12 Nov. 2023
    0 Comments   143 Views
    .
    DhPnjlW%201

    ;md5 86ef3c8d5eda4ababf2c8961d1e7d27d
    ;sha1 f04ccfd5b73fe03c23c7625a2a67cbc1f277ac3a
    ;sha256 d16e852f979d3c7f97e74b39c8901a64b40647504ff1e9cd41f88f0405c0d3e0
    ;os linux
    ;format ELF
    ;arch amd64
    ;path d16e852f979d3c7f97e74b39c8901a64b40647504ff1e9cd41f88f0405c0d3e0

    ;black box reverse engineering di un malware ELF.

    ;il malware ELF in esame, come scopriremo, è un flooder, che prende 4 parametri in ingresso, ossia l'IP del server vittima, la porta UDP, il throttle che determina quanti thread simultanei di flooding creare, e il time, che va a determinare il tempo delle fasi di sleep dei singoli thread.

    Read the whole post...

    Last Post by Dr. Pepper il 12 Nov. 2023
    .
  3. radare2, Analisi Statica - dr. pepper
    log.02b

    Tags
    bugs
    malware
    re
    By Dr. Pepper il 5 Nov. 2023
    0 Comments   8 Views
    .
    Analisi Statica e Comandi Generici

    ?: mostra l'help, può essere usato dopo un comando qualsiasi, esempio : dc?
    ?*...: tutti i comandi
    s: stampa l'indirizzo corrente
    s addr/funzione: si posiziona all'indirizzo o alla funzione specificati
    pdf: disassembla la funzione corrente
    pdfs: disassembla la funzione corrente e produce un sommario
    ie: mostra gli entry point possibili
    iS: lista delle sezioni
    aa/aaa/aaaa: analizza le funzioni con diversi livelli di dettaglio
    afl: lista le funzioni (ha bisogno che venga prima eseguito il comando aa)
    iz/izz: lista delle stringhe nelle sezioni dati (la sezione .rodata per esempio) e nell'intero binario rispettivamente (izz produce molto rumore)
    ii: lista delle funzioni importate dalle librerie
    is: lista dei simboli
    /, /w, /w, /a: cerca una stringa specifica, una wide string, stringa esadecimale, espressione regolare, assembly opcode, rispettivamente
    dr: mostra i registri e il loro contenuto o lo modifica
    px o pd: stampa hexdump o disassembla, rispettivamente, per esempio pd 5 @eip stampa 5 linee di disassemblato a partire dal program counter corrente

    Visula Mode

    ?: help
    V: entra in modalità visuale
    !: Panel mode
    p/P: passa avanti e indietro tra i diversi print mode (hex, disasm, debug..)
    /: evidenzia visivamente uno specifico valore
    :: permette di inserire uno specifico comando
    1-9: segue le call o le jmp con i corrispondenti shortcut number in un commento
    .: si posiziona sul program counter corrente (istruzione corrente)
    c: abilita e disabilita il cursor mode, che permette una navigazione più dettagliata. Nel debug print mode è possibile muovere il cursore tra le finestre usando il tasto Tab
    o: cambia la visualizzazione dell'assembler
    g: cerca per uno specifico offset
    u/U: cancella la ricerca o cerca di nuovo
    b: mostra un menù con tutta una serie di entries tipo funzioni, simboli, commenti, xrefs, flags e ti permette di visualizzare le informazioni in base all'entry scelta


    Edited by HCF - 27/4/2024, 20:06
    Last Post by Dr. Pepper il 5 Nov. 2023
    .
  4. BPA ELF Infector - bash
    log.017

    Tags
    malware
    re
    By AKIRA BASHO il 16 April 2023
    0 Comments   95 Views
    .
    DhPnjlW

    ;BPAinfector.asm

    ;fasm BPAinfector.asm

    ;il BPA ELF infector si basa sulla ben nota tecnica di infezione PT_NOTE -> PT_LOAD e funziona sia sui binari regolari che sui PIE; questo metodo ha un alto tasso di successo ed è facile da implementare (e rilevare).

    ;il BPA ELF infector è una rielaborazione del virus Midrashim; ho reversato e modificato il virus Midrashim unicamente per imparare come funziona questa tecnica, essendo interessato a tutto quello che concerne il Reverse Engineering e la Malware Analysis

    Read the whole post...

    Last Post by AKIRA BASHO il 16 April 2023
    .
  5. ELF MALWARE2 - bash
    log.015

    Tags
    malware
    re
    By AKIRA BASHO il 14 Mar. 2023
    0 Comments   47 Views
    .
    Yio1IHI

    ;reverse engineering, analisi statica e dinamica di un ELF Malware, partendo dal disassemblato;

    ;sito molto interessante, dove abbiamo la lista di tutte le syscall di linux, con i relativi parametri passati alla syscall attraverso i registri: link

    [0x00400078]> pdf
    0x00400078 xor rdi, rdi
    0x0040007b push 9 ;9
    0x0040007d pop rax ;9 mmap
    0x0040007e cdq
    0x0040007f mov dh, 0x10 ;16
    0x00400081 mov rsi, rdx ;arg3
    0x00400084 xor r9, r9
    0x00400087 push 0x22 ;34
    0x00400089 pop r10

    Read the whole post...

    Last Post by AKIRA BASHO il 14 Mar. 2023
    .
  6. FTRACE ROOTKIT - bash
    log.00f

    Tags
    malware
    re
    By AKIRA BASHO il 29 Jan. 2023
    0 Comments   44 Views
    .
    99t8jGN

    ;ftrace è un tracciante interno progettato per aiutare gli sviluppatori e progettisti di sistemi a scoprire cosa sta succedendo all'interno del kernel. Può essere utilizzato per il debug o l'analisi di latenze e problemi di prestazioni che si verificano al di fuori dello spazio utente.

    #define pr_fmt(fmt) "ftrace_hook: " fmt

    ;a causa del modo in cui funziona la macro, questa riga deve comparire prima del blocco #include che altrimenti si troverebbe all'inizio del file. Definire pr_fmt() in questo modo (#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt) fa sì che tutte le stringhe stampate dal file abbiano il nome del modulo preceduto; molti sottosistemi usano una stringa letterale invece del nome del modulo (come nel nostro caso), ma l'intento è lo stesso.

    Read the whole post...

    Last Post by AKIRA BASHO il 29 Jan. 2023
    .
  7. ELF MALWARE1 - bash
    log.00c

    Tags
    malware
    By AKIRA BASHO il 7 Jan. 2023
    0 Comments   60 Views
    .
    zWBPbuL

    readelf -l malware.sample

    Elf file type is EXEC (Executable file)
    Entry point 0x400078
    There is 1 program header, starting at offset 64

    Program Headers:

    Type Offset VirtAddr PhysAddr
    FileSiz MemSiz Flags Align

    LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000
    0x00000000000000c2 0x000000000000010c RWE 0x1000

    remnux@remnux:$ strings malware.sample
    Zj*X
    /bin/sh

    remnux@remnux:$ readelf -s ./malware.sample

    Dynamic symbol information is not available for displaying symbols

    remnux@remnux:$ checksec ./malware.sample

    Arch: amd64-64-little
    RELRO: No RELRO
    Stack: No canary found
    NX: NX disabled
    PIE: No PIE (0x400000)
    RWX: Has RWX segments

    ì;analisi statica + controllo protezioni; gli header delle sezioni sono modificati/strippati; il binario è linkato staticamente;

    Read the whole post...

    Last Post by AKIRA BASHO il 7 Jan. 2023
    .
 
Skin by -spiker, disponibile su FP e EVSportfolio . Thank's ICONZA.