Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Kernel-exploitation — Note e script per lo sviluppo di exploit per il kernel Linux nelle sfide CTF, che coprono l'estrazione di initramfs, l'abuso di msg_msg/ldt_struct e tecniche pratiche di exploitation per l'escalation dei privilegi. | Kitploit
Strumenti/GitHubGitHub/ameetsaahu/kernel-exploitation
Escalation di PrivilegiExploitCTFApprendimento e FormazioneRisorse CurateBinary Exploitation
GitHubameetsaahu/kernel-exploitation

Kernel-exploitation

Note e script per lo sviluppo di exploit per il kernel Linux nelle sfide CTF, che coprono l'estrazione di initramfs, l'abuso di msg_msg/ldt_struct e tecniche pratiche di exploitation per l'escalation dei privilegi.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
3751 anno faRevisionato da Kitploit

Kernel-exploitation

decompress.sh

Estrai il file dall'archivio CPIO

root@kitploit:~
#!/bin/sh
mkdir fs
cd fs
cp ../initramfs.cpio.gz ./initramfs.cpio.gz
gunzip ./initramfs.cpio.gz
cpio -idm < ./initramfs.cpio
rm initramfs.cpio
cd ..

compress.sh

Compila l'exploit, aggiungilo a fs ed esegui.

root@kitploit:~
#!/bin/sh
gcc -w -o exploit -static exploit.c -pthread -lrt &&\
# musl-gcc -w -s -static -o3 exploit.c -o exploit -masm=intel &&\
mv exploit ./fs/ &&\
cd fs &&\
find . -print0 | cpio --owner root --null -ov --format=newc | gzip -9 > ../initramfs.cpio.gz &&\
cd .. &&\
# gunzip -f initramfs.cpio.gz &&\
./run.sh

Nel caso di archivio con filesystem ext4

root@kitploit:~
mount ./initramfs.cpio.gz ./fs/

extract-image.sh

Strutture utili

ldt_struct - modify_ldt syscall

Struttura di dimensione 0x20, non contiene controlli per la chiamata a copy_to_user

  • https://elixir.bootlin.com/linux/v4.19.98/source/arch/x86/kernel/ldt.c#L553
  • https://github.com/ameetsaahu/Kernel-exploitation/tree/main/0ctffinal2021-kernote

msg_msg

root@kitploit:~
struct msg_msg {
    struct list_head m_list;
    long m_type;
    size_t m_ts;        /* message text size */
    struct msg_msgseg *next;
    void *security;
    /* the actual message follows immediately */
};

Il messaggio utente viene memorizzato subito dopo la struttura msg_msg fino a 0x1000 - 0x30; dopo di che, una lista concatenata singolarmente di chunk memorizzati in struct msg_msgseg *next, con dimensione di ogni allocazione fino a 0x1000, è e deve essere terminata da NULL. Per lettura arbitraria: sovrascrivi next e m_ts in modo che debba leggere dal puntatore next sovrascritto.

Per scrittura arbitraria:

root@kitploit:~
msgsnd()        // Userland
    do_msgsnd() // Kernel land
        load_msg()  
            alloc_msg()         // Allocate all the necessary chunks
            copy_from_user()    // Race here to replace `struct msg_msgseg *next` before its used to copy userdata. Maybe use userfaultfd ;)

msg_msg do_msgsnd load_msg copy_msg

  • https://github.com/ameetsaahu/Kernel-exploitation/tree/main/corctf2021-fire_of_salvation
  • https://syst3mfailure.io/wall-of-perdition

Varie

Per limitare il processo a girare su una CPU specifica

root@kitploit:~
cpu_set_t cpu_set;
CPU_ZERO(&cpu_set);
CPU_SET(0,&cpu_set);
ret=sched_setaffinity(0,sizeof(cpu_set),&cpu_set);

Riferimenti

  • https://github.com/xairy/linux-kernel-exploitation di @andreyknvl
  • Raccolta di strutture utili per kernel-exp di @ptr-yudai
  • https://blog.hacktivesecurity.com/index.php/2022/06/13/linux-kernel-exploit-development-1day-case-study
  • https://duasynt.com/blog/linux-kernel-heap-feng-shui-2022
  • https://googleprojectzero.blogspot.com/2019/11/bad-binder-android-in-wild-exploit.html
  • https://cloudfuzz.github.io/android-kernel-exploitation
Scarica lo strumento