Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ansvif — Un fuzzer pas très intelligent : un framework de fuzzing avancé conçu pour trouver des vulnérabilités dans le code C/C++. | Kitploit
Outils/GitHubGitHub/oxagast/ansvif
Analyse des VulnérabilitésExploitationFuzzingTests d'IntrusionAnalyse de Binaires
GitHuboxagast/ansvif

ansvif

Un fuzzer pas très intelligent : un framework de fuzzing avancé conçu pour trouver des vulnérabilités dans le code C/C++.

Voir le dépôt
10526il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

ansvif

Un Fuzzer Pas Très Intelligent

Marshall Whittaker

oxagast

[email protected]

Plus la complexité d'un système augmente, plus le potentiel de problèmes au sein de ce système augmente.

--Loi de Whittaker

Dépendances de compilation :

automake autoconf-archive zlib1g-dev g++ gcc (et libgtk2.0-dev si vous voulez le support GTK)

Compilation :

Linux :

root@kitploit:~
$ aclocal && autoconf && automake -a && ./configure && make && make check

Ou, si vous souhaitez jouer avec le fuzzer d'appels système :

root@kitploit:~
$ aclocal && autoconf && automake -a && ./configure --enable-syscalls && make && make check

Si vous souhaitez désactiver l'interface GTK, vous pouvez faire :

root@kitploit:~
$ aclocal && autoconf && automake -a && ./configure --disable-gtk && make && make check

FreeBSD

En supposant que vous avez installé g++ depuis les ports (comme vous en aurez besoin pour C++11) :

root@kitploit:~
$ aclocal && autoconf && automake -a && ./configure && make && make check

OpenBSD :

En supposant que vous avez installé g++ depuis les ports (comme vous en aurez besoin pour C++11) :

root@kitploit:~
$ CXX=$(find / -name 'eg++' 2>/dev/null | grep ports | head -n 1) AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15 autoreconf -fmi

Windows :

Les binaires Windows sont désormais conçus pour être compilés avec MinGW-W64 (puisque nous utilisons le threading, téléchargez une version de MinGW-W64 g++ avec seh). Vous pouvez essayer de compiler après avoir installé MinGW-W64 g++ avec seh (uniquement) en cliquant sur le script make_win.bat inclus. Si cela échoue, cela est probablement dû à l'environnement, alors essayez ce qui suit.

(Allez à l'endroit où vous avez installé MinGW-W64 et cliquez sur mingw-64.bat)

root@kitploit:~
windres metadata.rc -O coff -o metadata.res
g++.exe src/common.cpp src/bin2hex.cpp src/popen2.cpp src/main.cpp src/help.cpp src/match_fault.cpp src/sys_string.cpp src/man_read.cpp src/randomizer.cpp src/trash.cpp src/log.cpp metadata.res src/version.h -I./ -I./include -std=c++11 -lstdc++ -lpthread -O2 -o ansvif.exe -static -static-libgcc -static-libstdc++
gcc src/win/printf.c -o printf.exe

Remarque : les fichiers externes .dll de cygwin ne sont plus nécessaires car nous compilons désormais avec g++ de MinGW. Sous Windows 7, Powershell v2 est installé par défaut, cependant ce programme nécessite au moins Powershell v5. Windows 10 inclut Powershell v5. Vous pouvez aller sur le site de Microsoft et télécharger le Windows Management Framework (qui inclut des versions plus récentes de Powershell ici :

https://www.microsoft.com/en-us/download/details.aspx?id=50395

Test :

Si vous souhaitez essayer le code d'exemple, vous pouvez compiler faulty.c avec :

root@kitploit:~
$ gcc faulty.c -o faulty

Vous pouvez aussi simplement exécuter make check.

Utilisation :

Remarque importante : les utilisateurs Windows devront exécuter ansvif.exe depuis Powershell pour que cela fonctionne !

root@kitploit:~
$ ./find_suid /usr/bin/ /bin/ /sbin/
$ ./ansvif -[tm] [template/manpage] -c /path/to/executable -b buffersize

Exemples :

Linux/BSD :

root@kitploit:~
$ ulimit -c unlimited
$ ./ansvif -m mount -c /bin/mount -e examples/mount_e.txt -x examples/mount_o.txt\
-f 8 -b 2048
$ ./ansvif -t examples/blank.txt -F tmp/tmphtml -x examples/htmltags.txt -c /usr/bin/iceweasel -b\
128 -A "file:///home/username/src/ansvif/tmp/tmphtml"  -f 2 -n -R "sleep 3 && killall\
iceweasel" -S ">"
$ cat examples/linux_syscalls_implemented.list | xargs -P \
`cat examples/linux_syscalls_implemented.list | wc -l` -I {calls} ./ansvif -t examples/space.txt \
-B "{calls} " -c ./syscalls -o syscall_crash -f 1 -z -d -b 16

Windows :

root@kitploit:~
PS C:\ansvif\bin\ansvif_win> .\ansvif -t ..\..\examples\space -F ..\..\tmp\tmphtml -x `
..\..\examples\htmltags -c `
'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' `
-b 128 -A "file:///C:\\Users\marsh\OneDrive\Documents\Code\ansvif\tmp\tmphtml" `
-f 2 -n -S ">" -R "sleep 2 ; Stop-Process -Name chrome"

Options :

ansvif

root@kitploit:~
  -t This file should hold line by line command arguments as shown in the example file.
  -e This file should hold line by line environment variables as shown in the example
     file.  You can usually get these by doing something like:
     $ strings /bin/mount | perl -ne 'print if /[A-Z]=$/' > mount_envs
  -c Specifies the command path.
  -p Specifies the manpage location (as an integer, usually 1 or 8)
  -m Specifies the commands manpage.
  -D Dumps whats found in the manpage.
  -f Number of threads to use.  Default is 2.
  -b Specifies the buffer size to fuzz with.  256-2048 Is usually sufficient.
  -r Uses only random garbage data.
  -o Writes output to log file.
  -z Randomize the buffer size from 1 to what is specified by -b.
  -x Other junk to put in.  Usernames and such can go here.
  -S Seperator between options.
  -s Omitted character specification.  Defaults are <>\\n |&\[]\()\{}:;\ and newline is mandatory.
  -T Timeout for threads.
  -W Timeout for threads.
  -L Unpriviledged user to run as if root.
  -A Always put whats after this after command to run.
  -B Always put whats after this before the command to run.
  -F File to feed into the program that -x along with normal fuzzing data will be put in.
  -n Never use random data in the fuzz.
  -R Run this command after each fuzz.
  -C A Non standard error code to detect.
  -V Use Valgrind if installed.
  -1 Try to make it fault once, if it doesn't happen, throw error code 64.  Useful for scripting.
  -P Use % to represent binary in fuzz.
  -M Max arguments to use in the fuzz.
  -y Short for -b 0 and usually only useful with -A or -B.
  -K Keep fuzzing after a crash in the target.
  -E A command to be run before the fuzzed program.
  -0 No NULL characters in the fuzz.
  -N Shorthand for -R "pkill prog".
  -v Verbose.
  -d Debug data.
  -h Shows the help page.
  -i Prints version information.

ansvif_gtk

root@kitploit:~
  -l Shortcut for -p ./ansvif
  -p The location of the ansvif binary

Recommandations : Il est recommandé que si vous effectuez de longs fuzzings ou du fuzzing de fichiers, si possible, placez les fichiers (y compris le binaire que vous fuzzez si possible) en mémoire. Cela signifie, placez-les quelque part comme /var/run/shm où les échanges disque seront minimes, et le fuzzing sera un peu plus rapide, surtout si de gros fichiers sont manipulés. Soyez averti cependant : vous perdrez vos fichiers fuzzés s'ils sont dans shm et que vous redémarrez la machine !

N'EXÉCUTEZ PAS CE CODE DANS UN ENVIRONNEMENT DE PRODUCTION ! Si vous essayez de définir la sortie de faulty.c sur suid(0), alors S'IL VOUS PLAÎT faites-le dans une machine virtuelle. ou au moins une machine qui ne vous importe pas. À part ça, amusez-vous bien !

Remarques :

Les utilisateurs Windows doivent exécuter ansvif depuis Powershell. Le code Linux et Windows devrait être relativement stable. Le fuzzing d'appels système sous Linux est en cours de développement intense.

Remerciements

Merci à dll999 pour les idées de fuzzing d'appels système. Merci à moo de #2600 sur 2600net pour quelques recommandations sur la rédaction wiki. Merci à Dieu sait combien de personnes sur IRC et StackOverflow. Merci à DarkSt0rm pour avoir corrigé un bug dans le Makefile.

Télécharger l’outil