Skip to content

Spotkania::12 lutego 2021

kpc21 edited this page Mar 11, 2021 · 4 revisions

Spotkanie antyorganizacyjne HSŁ – 12 lutego 2021 r.

Obecni

  1. nuke-m
  2. kpc
  3. Konrad
  4. Księżak
  5. pmysl
  6. Kacper Sz.
  7. OleWales
  8. deetah

Agenda

  1. afl-fuzz // prowadzi deetah
  2. Słychać strzały #pdk

afl-fuzz

Szukanie podatności w programach

https://tmate.io/t/d33tah/d33tah https://lcamtuf.coredump.cx/afl/

Spotkanie jest nagrywane

Bizon. Nie kombajn.

bison-3.7

Działanie afl-fuzza zaczyna się od szukania segfaultów w programie.

Pulling jpegs out of thin air : https://web.archive.org/web/20210118070714/https://lcamtuf.blogspot.com/2014/11/pulling-jpegs-out-of-thin-air.html

https://github.com/jfoote/exploitable

Sygnatury formatów plików : https://en.wikipedia.org/wiki/List_of_file_signatures

Afl dosyć szybko się łapie, że program operuje na JPEGach (próbujemy z djpeg)

Trophy list -- programy, które są już zfuzzowane : https://lcamtuf.coredump.cx/afl/

Pomysł na program do zfuzzowania

libpcap? nie -- tcpdump był fuzzowany

Preeny

https://github.com/zardus/preeny -- zbiór narzędzi pomagających zaadaptować trudny do fuzzowania program tak, by się go lepiej fuzzowało

Przerabianie programu (aplikacji sieciowej) tak, by czytał ze standardowego wejścia zamiast po sieci

Fuzzowanie ncata

ncat -- alternatywa do netcata, pochodząca od nmapa Niestety wywala się na lookupie dns

Afl++

Lepszy Afl, m.in. z dorobioną funkcjonalnością sieciową

Fuzzowanie rxi/ini

https://github.com/rxi/ini

Nie znalazło żadnych podatności, przynajmniej tak na szybko

libdislocator

Poprawia skuteczność fuzzowania w taki sposób, że wymusza, by zaraz poza obszarem pamięci zaalokowanym przez program coś było, tak by przy wyjechaniu poza ten obszar na pewno się wywalił

trzeba to to dolinkować do programu przy kompilacji

Fuzzowanie kuba--/zip

Znowu libka ... xD

Przerabianie kodu żeby ignorował sprawdzanie CRC

bez sukcesu

Fuzzowanie murmura (serwer mumble)

nadpisanie systemowego g++ przez afl-g++ żeby obejść upierdliwości z kompilacją xD

Narzeka na protobuffy

jest też µmurmur https://github.com/umurmur/umurmur -- może być łatwiej

  • niestety działa tylko po SSL-u, a to utrudnia mocno fuzzing

To jest pouczająca prezentacja, która uczy, że fuzzowanie tak naprawdę nie jest proste W szczególności aplikacji sieciowych

Jak to działa

afl-gcc tak naprawdę odapala zwykłe gcc, ale ze specjalnym asemblerem, który wykrywa branche

Jacek bawi się w przepisanie pierwszej wersji afl-fuzza na Pythona / ctypes

Żeby zrozumieć, jak działają algorytmy genetyczne

https://github.com/d33tah/afl-refactor/tree/python

Jacek pyta, czy ktoś ma ochotę z nim pokodzić.

Czy ktoś ma pomysł na spotkanie za 2 tyg. ?

Konkretny temat ? : ma szansę ściągnąć ludzi

unconference ? : przedyskutować, o czym w ogóle chcemy mówić ?


Przemigrowano z pada https://pad.hs-ldz.pl/bCLAPMDPQyebqTsmiYxSFQ. Znajdziesz tam historię edycji sprzed migracji.


Clone this wiki locally