{"id":513,"date":"2010-04-01T17:23:41","date_gmt":"2010-04-01T15:23:41","guid":{"rendered":"http:\/\/jerome.harckmans.be\/?p=513"},"modified":"2010-04-01T20:02:16","modified_gmt":"2010-04-01T18:02:16","slug":"attaque-rfi-analyse-post-mortem","status":"publish","type":"post","link":"https:\/\/jerome.harckmans.be\/?p=513","title":{"rendered":"Attaque RFI &#8211; analyse post-mortem"},"content":{"rendered":"<p>C&#8217;est toujours d\u00e9sagr\u00e9able de d\u00e9couvrir le matin que sa mailbox contient plus de 4000 mails &#8220;Undelivered Mail Return to Sender&#8221;&#8230; Le premier r\u00e9flexe est de se dire qu&#8217;on a \u00e9t\u00e9 victime de mail bombing, et qu&#8217;apr\u00e8s un petit nettoyage il n&#8217;y paraitra plus rien!<\/p>\n<p>Mais en y regardant de plus pr\u00e8s, on se rend compte que les mails originaux ont effectivement \u00e9t\u00e9 envoy\u00e9s par notre serveur et qu&#8217;il s&#8217;agit de messages d&#8217;erreur authentiques!!! Une analyse plus approfondie s&#8217;impose donc.<\/p>\n<p>On remarque vite que l&#8217;envoi de spam est toujours en cours: un des sites h\u00e9b\u00e9rg\u00e9s sur notre serveur serait d\u00e9tourn\u00e9 \u00e0 cette fin. De plus, une connexion sur un serveur IRC distant est active (port 6667)&#8230; On a vite fait de bloquer l&#8217;acc\u00e8s \u00e0 ce site, de stopper le script perl connect\u00e9 au serveur IRC et de vider la queue de ces mails ind\u00e9sirables.<\/p>\n<p>Voici ce qu&#8217;a donn\u00e9 l&#8217;analyse post-mortem: <!--more--><\/p>\n<h3>Logs apache<\/h3>\n<p>Tout a commenc\u00e9 ici:<\/p>\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs1.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs1-300x83.png\" alt=\"\" title=\"apache_logs1\" width=\"300\" height=\"83\" class=\"alignnone size-medium wp-image-520\" srcset=\"https:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs1-300x83.png 300w, https:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs1.png 941w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>On voit que le hacker (<a href=\"http:\/\/www.geoiptool.com\/en\/?IP=201.13.14.153\">provenant apparemment du Br\u00e9sil<\/a>) a utilis\u00e9 <a href=\"http:\/\/developer.joomla.org\/security\/news\/35-core-security\/241-20080801-core-password-remind-functionality.html\">une faille joomla<\/a> permettant de remettre \u00e0 z\u00e9ro le mote de passe de l&#8217;administrateur et gagner ainsi l&#8217;acc\u00e8s \u00e0 l&#8217;interface d&#8217;administration.<\/p>\n<p>Il a ensuite profit\u00e9 de cet acc\u00e8s pour uploader un ou plusieurs fichiers:<\/p>\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs2.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs2-300x25.png\" alt=\"\" title=\"apache_logs2\" width=\"300\" height=\"25\" class=\"alignnone size-medium wp-image-522\" srcset=\"https:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs2-300x25.png 300w, https:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs2.png 949w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Finalement, on voit plusieurs centaines d&#8217;acc\u00e8s aux fichiers upload\u00e9s:<\/p>\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs3.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs3-300x125.png\" alt=\"\" title=\"apache_logs3\" width=\"300\" height=\"125\" class=\"alignnone size-medium wp-image-531\" srcset=\"https:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs3-300x125.png 300w, https:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/apache_logs3.png 951w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>On voit \u00e0 la fin qu&#8217;il est revenu vers 10:50 pour continuer son attaque mais \u00e0 ce moment le site \u00e9tait bloqu\u00e9, d&#8217;o\u00f9 l&#8217;erreur 403.<\/p>\n<h3>Fichiers upload\u00e9s<\/h3>\n<p>Au moins 4 fichiers ont \u00e9t\u00e9 upload\u00e9s:<\/p>\n<ul>\n<li><strong>bot.txt<\/strong>: un bot IRC script\u00e9 en perl.\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/IRC_bot1.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/IRC_bot1-150x150.png\" alt=\"\" title=\"IRC_bot1\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-524\" \/><\/a> <a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/IRC_bot2.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/IRC_bot2-150x150.png\" alt=\"\" title=\"IRC_bot2\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-525\" \/><\/a><\/p>\n<p>On peut voir qu&#8217;il a \u00e9t\u00e9 d\u00e9velopp\u00e9 \u00e0 l&#8217;origine par la <a href=\"http:\/\/www.feelcomz.com\/\">&#8220;communaut\u00e9 FeeLCoMz&#8221;<\/a> et qu&#8217;il se connecte au serveur irc <em>irc.maisbrasil.org<\/em>, sur le chan <em>#RUAN<\/em> et qu&#8217;il permet aux utilisateurs <em>D4RK<\/em> et <em>FaTaLisTiCz_Fx<\/em> de le contr\u00f4ler. Il permet entre autres de lancer des scans pour trouver d&#8217;autres sites vuln\u00e9rables (Joomla ou autres) et plein d&#8217;autres choses pas tr\u00e8s l\u00e9gales&#8230; C&#8217;\u00e9tait lui le resonsable de la connexion sur le port 6667.<\/p>\n<li>\n<li><strong>c99.php<\/strong>: il s&#8217;agit d&#8217;un shell PHP plut\u00f4t d\u00e9vastateur (en fonction de la configuration apache et php du serveur). Il a probablement \u00e9t\u00e9 upload\u00e9 en premier et utilis\u00e9 pour uploader les autres fichiers et lancer le bot IRC.<\/li>\n<li><strong>2.6.x<\/strong>: un ex\u00e9cutable ELF. Il s&#8217;av\u00e8rera plus tard \u00eatre un shell basique (utilis\u00e9 \u00e0 travers c99.php?).<\/li>\n<li><strong>rox.php<\/strong>: ce fichier ne se trouvait plus sur le serveur mais au vu du nombre d&#8217;acc\u00e8s (plus de 1700), il s&#8217;agissait probablement du script utilis\u00e9 pour envoyer les spam.<\/li>\n<\/ul>\n<h3>Utilisation sur VM<\/h3>\n<p>Les fichiers qui ont pu \u00eatre r\u00e9cup\u00e9r\u00e9s ont \u00e9t\u00e9 transf\u00e9r\u00e9s sur une machine virtuelle afin de les tester. Un serveur IRC tourne \u00e9galement sur cette machine et le bot sera configur\u00e9 pour s&#8217;y connecter.<\/p>\n<p>Voici \u00e0 quoi ressemble le script <em>c99.php<\/em> une fois upload\u00e9:<\/p>\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/c99_2.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/c99_2-300x226.png\" alt=\"\" title=\"c99_2\" width=\"300\" height=\"226\" class=\"alignnone size-medium wp-image-535\" \/><\/a><\/p>\n<p>Quand je vous disais que c&#8217;\u00e9tait potentiellement d\u00e9vastateur \ud83d\ude42 On peut donc l&#8217;utiliser pour lancer le bot irc:<\/p>\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/c99_1.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/c99_1-300x226.png\" alt=\"\" title=\"c99_1\" width=\"300\" height=\"226\" class=\"alignnone size-medium wp-image-536\" \/><\/a><\/p>\n<p>Et voici le r\u00e9sultat dans le chan sp\u00e9cifi\u00e9: une fois le bot connect\u00e9, on peut lui envoyer des commandes.<\/p>\n<p><a href=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/irc1.png\" rel=\"lightbox[513]\"><img loading=\"lazy\" src=\"http:\/\/jerome.harckmans.be\/wp-content\/uploads\/2010\/04\/irc1-300x191.png\" alt=\"\" title=\"irc1\" width=\"300\" height=\"191\" class=\"alignnone size-medium wp-image-537\" \/><\/a><\/p>\n<h3>Conclusion<\/h3>\n<p>En vrac:<\/p>\n<ul>\n<li>Il y a une flopp\u00e9e de <a href=\"http:\/\/en.wikipedia.org\/wiki\/Script_kiddiehttp:\/\/en.wikipedia.org\/wiki\/Script_kiddie\">script-kiddies<\/a> voulant s&#8217;amuser sur internet<\/li>\n<li>Toujours mettre ses applications web \u00e0 jour<\/li>\n<li>Analyser les logs<\/li>\n<li>Monitorer ses serveurs et d\u00e9tecter les situations anormales<\/li>\n<li>Conna\u00eetre les attaques potentielles permet de mieux se d\u00e9fendre<\/li>\n<\/ul>\n<h3>Plus d&#8217;infos<\/h3>\n<p><a href=\"http:\/\/en.wikipedia.org\/wiki\/Remote_File_Inclusion\">http:\/\/en.wikipedia.org\/wiki\/Remote_File_Inclusion<\/a><br \/>\n<a href=\"http:\/\/www.zataz.com\/forum\/index.php?autocom=blog&#038;blogid=1&#038;showentry=24\">http:\/\/www.zataz.com\/forum\/index.php?autocom=blog&#038;blogid=1&#038;showentry=24<\/a><br \/>\n<a href=\"http:\/\/www.martinsecurity.net\/tag\/rfi\/\">http:\/\/www.martinsecurity.net\/tag\/rfi\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>C&#8217;est toujours d\u00e9sagr\u00e9able de d\u00e9couvrir le matin que sa mailbox contient plus de 4000 mails &#8220;Undelivered Mail Return to Sender&#8221;&#8230; Le premier r\u00e9flexe est de se dire qu&#8217;on a \u00e9t\u00e9<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,6],"tags":[154,155,156,153,73],"_links":{"self":[{"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=\/wp\/v2\/posts\/513"}],"collection":[{"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=513"}],"version-history":[{"count":21,"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=\/wp\/v2\/posts\/513\/revisions"}],"predecessor-version":[{"id":516,"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=\/wp\/v2\/posts\/513\/revisions\/516"}],"wp:attachment":[{"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jerome.harckmans.be\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}