Criar uma Loja Virtual Grátis
Film streaming Nico

Les Tutos de Nico
Parce que c'est trop fast0ch'

Tout d’abord, j’espère que tout le monde se porte bien avec ce super beau temps… De mon côté beaucoup de taff ce qui fait que je n’ai pas trop le temps de maintenir le blog mais qui sait, certains articles pourraient voir le jour d’ici… la fin de l’année :p

On m’a contacté récemment concernant une petite soirée sur la sécurité informatique qui aura lieu dans les locaux de l’ESIA (Ivry). Je trouve que ce genre d’initiative est vraiment intéressante donc voici un petit descriptif de la soirée ainsi que toutes les informations utiles.

SCE 3.0 Hacking Edition propose une grande soirée sur le thème de la sécurité informatique. Elle se déroulera dans la nuit du 14 au 15 juin . dans les locaux de l’ESIEA situés à Ivry-Sur-Seine.
4 conférences seront données entre 20h et 00h . toutes liées à la sécurité informatique dont voici le détail :

  • Arnauld Mascret. les risques de sécurité des entreprises liés à l’usage des réseaux sociaux ;
  • Loic Pillant. le Steria Hacking Challenge, la première compétition de Hacking éthique inter-écoles et les métiers de la Sécurité des SI ;
  • Robert Erra. attaques par complexité et bombe de décompression ;
  • Paul Berettoni .

Entre les conférences, vous pourrez discuter avec les partenaires de SCE ainsi que les conférenciers, autour d’un buffet.

Par la suite, un CTF aura lieu de 00h30 à 8h00 . Vous serez confrontés à des épreuves de cryptologie, de stéganographie, de social engineering, etc.

Des récompenses seront donnés pour les 3 meilleures équipes. iPad Mini, disques durs externes, casques audio, etc.

Attention, les places sont limitées !
Conférences : 90 places.
Challenge : 30 places (6 équipes de 5 étudiants maximum).

Pour ma part, je ne pense pas que j’aurai le temps d’y aller mais n’hésitez pas à nous faire un petit retour 😉

Un petit coup de pub pour une conférence de sécurité à venir 🙂 N’hésitez pas à vous déplacer, ça risque d’être bien sympa ^_^

GreHack 2012 est né autour d’une bière et d’un 51 (pas d’un ricard. )) « Et si on organisait une conf + un CTF? »
Du fait qu’a l’Ensimag nous avions déjà réuni plusieurs hackers de Grenoble, autour du club SecurIMAG cela semblait possible…

L’un des points sur lequel nous avons beaucoup insisté était d’initier les étudiants à l’écriture des papiers de recherche.
De ce point de vue là, c’est un succès partiel, puisque seul 1 papier d’étudiant a été accepté (Paul Amar – Home Internet Routers for Fun and Profit).

Un autre point qui nous semblait important est l’aide des étudiants fauchés mais méritants. Ainsi, de manière un peu différente d’HES nous avons lancé un appel à candidature d’étudiants brillants en sécurité. http://grehack.org/en/index.php/GreHack-2012-attendees-grants_for_students/

S’ils ont fait des outils, trouvé des CVE, ou réalisé des publications, au moins une bourse comprenant une aide financière au transport au logement et une entrée gratuite à la conférence + au CTF ainsi qu’un repas avec les speakers sera offerte pour le(la) meilleur(e). La sélection sera effectuée par le comité de programme composé de chercheurs, professionnels et diplômés de l’Ensimag.

Également nous avons fait 2 tarifs: pour ceux qui souhaitent participer à la conférence + au CTF et pour ceux qui ne souhaitent participer qu’au CTF.

Quant aux sponsors, pour l’anecdote, le premier que nous avons eu nous a dit « bon les gars, je vous file un peu de thune, mais c’est uniquement pour les pizza du CTF ! » …

Pour les présentations, les slides seront en anglais, et si le speaker parle français, le discours le sera aussi, sinon également en anglais.

Concernant le CTF, des cadeaux stylés:

  • un bouquin dédicacé par Charlie Miller et les autres auteurs de iOS Hacking ;
  • bouquin sur le Fuzzing dédicacé par Ari Takanen himself, qui sera présent lors de la conférence.

La suite sur http://grehack.org et le détail du programme ci-dessous:

>> GREHACK 2012 – Ethical Hacking Conference
>> 1st Edition! Come Hack in the Mountains!

>> http://grehack.org ; twitter: @grehack

>> Grenoble, France, October 19th-20th, 2012

> Call for Participation,
> Call For Student Grants Application,
> Call For Music Bands/Artists/DJ

====================================================================
INVITED SPEAKERS

* Eric Freyssinet (Gendarmerie, LIP6) – Botnets: from observation to investigation ;
* Kostya Kortchinsky (now Microsoft ; former Immunity fellow) – 10 years later, which vulnerabilities still matter? ;
* Philippe Elbaz-­Vincent (UJF) – attacks on randomness of hardware Prime Random Number Generator (PRNG) ;
* Regis Leveugle (TIMA, Grenoble INP) – Attacks on secure hardware:basics and examples ;
* Dave Penkler, Boris Balacheff (HP Security Labs) – Cloud, security and the mobile enterprise: An end-to-end manageability challenge.

====================================================================
ACCEPTED PAPERS

* Rikke Kuipers and Ari Takanen (Codenomicon) – Fuzzing embedded devices
* Mathieu Renard (Sogeti-ESEC) – Practical iOS Apps hacking
* David Worth and Justin Collins (HighGroove) – Leveraging Convention over Configuration for Static Analysis in Dynamic Languages
* Olli-Pekka Niemi and Antti Levomäki (Stonesoft) – Bypassing Intrusion Prevention Systems
* Phil (self) Cryptage audiovisuel ou #FAIL systématique ?
* Bswapeax (HP Security) – Managed Code with Licensing does not mean all the time: Software Protection
* Paul Amar (Ensimag student) – Routeurs for Fun & Profit
* Rahul Sasi (iSight) – DMTF Fuzzing

====================================================================
REGISTRATION – ENTRY TICKETS

Limited number of seats available. Register for the conference and the CTF at:
http://grehack.org/en/shop/article/entrance_tickets/grehack_2012/

====================================================================
CALL FOR STUDENT GRANTS

A limited number of student grants will be assigned to outstanding students.
This includes limited help for transportation, 1 hostel night, …
Apply till WEDNESDAY SEPTEMBER 26th 2012 11pm59 GMT+1 at
http://grehack.org/en/index.php/GreHack-2012-attendees-grants_for_students/

====================================================================
CAPTURE THE FLAG

* Challenges by members of SecurIMAG (the Ensimag hacking team)
— topics: Fuzzing, Web, Crypto, Stegano, Reversing, In Memory Exploitation, Forensics..
* Awards:
— dedicated « iOS Hacker’s Handbook », dedicated by Charlie Miller and all authors.
— dedicated « Fuzzing for Software Security Testing and Quality Assurance » dedicated by Ari Takanen.
— Raspberry Pi.
* Several pizzas and drinks tickets included 🙂


Come on, let’s p0wn in the mountains!

J’ajouterai pour terminer. « Come on, let’s p0wn ponies! »

Chose promise, chose due. Voici un petit tour d’horizon de l’outil Volatility .

Pour ceux qui ne le connaisse pas encore, Volatility est un Framework contenant de multiples outils visant à vous aider dans la manipulation de données contenues dans un dump mémoire (RAM). A ce jour, l’outil permet d’extraire les données suivantes :
– Processus en cours d’exécution ;
– Connexion ouvertes ;
РDLLs charg̩es par les processus ;
– Fichier ouverts par les processus ;
Рex̩cutables ;
Рdonn̩es de la base de registre ;
– etc.

L’outil permet d’extraire les données sur les systèmes d’exploitation Windows. Cependant, une version permettant d’analyser des dump Linux a été développée par Emilien Girault. L’outil est disponible à l’adresse suivante. http://code.google.com/p/volatilitux/ .

Lors du précédent article lié au Wargame de la NDH 2012, une épreuve contenant un dump mémoire Windows a été analysé. Nous allons utiliser ce dernier afin d’aborder les commandes de base de l’outil Volatility.

Commençons par identifier le système d’exploitation d’où provient le dump :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw imageinfo
Volatile Systems Volatility Framework 2.0
Suggested Profile(s). WinXPSP3x86, WinXPSP2x86 (Instantiated with WinXPSP2x86)
AS Layer1. JKIA32PagedMemory (Kernel AS)
AS Layer2. FileAddressSpace (/root/Desktop/memdump.raw)
PAE type. No PAE
DTB. 0x39000
KDBG. 0x8054cde0L
KPCR. 0xffdff000L
KUSER_SHARED_DATA. 0xffdf0000L
Image date and time. 2012-05-09 11:06:48
Image local date and time. 2012-05-09 11:06:48
Number of Processors. 1
Image Type. Service Pack 3

L’image semble provenir d’un Windows XP SP3 et a été créée le 09 Mai 2012 à 11 heures 06 et 48 secondes .

Maintenant listons les processus y figurant :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 pslist
Volatile Systems Volatility Framework 2.0
Offset(V) Name PID PPID Thds Hnds Time
———- ——————– —— —— —— —— ——————-
0x812ed020 System 4 0 55 231 1970-01-01 00:00:00
0x811cc5a0 smss.exe 368 4 3 19 2012-05-09 20:06:10
0xffbcada0 csrss.exe 584 368 10 368 2012-05-09 20:06:10
0xffb03310 winlogon.exe 608 368 25 539 2012-05-09 20:06:10
0xffb9d668 services.exe 652 608 21 270 2012-05-09 20:06:11
0xffaf5488 lsass.exe 664 608 25 359 2012-05-09 20:06:11
0xffb506e8 VBoxService.exe 820 652 8 106 2012-05-09 20:06:11
0xffb94368 svchost.exe 864 652 19 195 2012-05-09 11:06:12
0xffb02da0 svchost.exe 952 652 14 225 2012-05-09 11:06:12
0xffb175a0 svchost.exe 1044 652 65 1151 2012-05-09 11:06:12
0xffb3b7a0 svchost.exe 1092 652 5 60 2012-05-09 11:06:12
0xffaf17e0 svchost.exe 1124 652 11 170 2012-05-09 11:06:12
0xffb7b608 explorer.exe 1508 1484 21 556 2012-05-09 11:06:13
0x81121638 spoolsv.exe 1596 652 13 115 2012-05-09 11:06:13
0xffb4c978 VBoxTray.exe 1708 1508 6 57 2012-05-09 11:06:13
0xffbcf360 ctfmon.exe 1720 1508 1 93 2012-05-09 11:06:13
0x81129a48 PassKeep.exe 1864 1508 2 39 2012-05-09 11:06:17
0xffb22da0 PassKeep.exe 1872 1864 2 104 2012-05-09 11:06:17
0x8120cc08 svchost.exe 1972 652 5 106 2012-05-09 11:06:21
0xffb7a440 wscntfy.exe 1040 1044 1 39 2012-05-09 11:06:24
0x8113f910 alg.exe 1228 652 7 104 2012-05-09 11:06:24
0xffb43c08 DumpIt.exe 124 1508 1 25 2012-05-09 11:06:46

Yes, nous avons maintenant la liste des processus, le PID, PPID, nombre de threads, nombres d’handles, etc.

Pour dumper tous les binaires, on procédera ainsi :

L’article n’étant pas orienté vers une analyse détaillée des processus, je ne vais pas m’attaquer à l’analyse de ces différents dump. Vous pouvez cependant regardé dans le précédent post, l’analyse du binaire « PassKeep.exe « .

Analysons maintenant les DLLs chargées par le processus DumpIt.exe (PID. 124) :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 dlllist –pid=124
Volatile Systems Volatility Framework 2.0
************************************************************************
DumpIt.exe pid: 124
Command line. « C:Documents and Settings ootbsdDesktopDumpItDumpIt.exe »
Service Pack 3

Base Size Path
0x00400000 0x035000 C:Documents and Settings ootbsdDesktopDumpItDumpIt.exe
0x7c900000 0x0b2000 C:WINXPsystem32 tdll.dll
0x7c800000 0x0f6000 C:WINXPsystem32kernel32.dll
0x77dd0000 0x09b000 C:WINXPsystem32ADVAPI32.dll
0x77e70000 0x093000 C:WINXPsystem32RPCRT4.dll
0x77fe0000 0x011000 C:WINXPsystem32Secur32.dll
0x77f60000 0x076000 C:WINXPsystem32SHLWAPI.dll
0x77f10000 0x049000 C:WINXPsystem32GDI32.dll
0x7e410000 0x091000 C:WINXPsystem32USER32.dll
0x77c10000 0x058000 C:WINXPsystem32msvcrt.dll
0x76390000 0x01d000 C:WINXPsystem32IMM32.DLL

Comme vous pouvez vous en douter, pour analyser les DLLs chargées par un processus X, il suffit de remplacer le PID par celui de votre choix. Par ailleurs, si vous avez remarqué, la ligne command line nous donne une information concernant l’emplacement de l’outil sur le système. Elle permet également de nous donner une information sur l’un des noms d’utilisateur du système. rootbsd .

Pour extraire les informations d’une des DLL chargée, on procédera de la manière suivante :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 dlldump -r ntdll -D pony
Volatile Systems Volatility Framework 2.0
Dumping ntdll.dll, Process: smss.exe, Base: 7c900000 output: module.368.10d45a0.7c900000.dll
Dumping ntdll.dll, Process: csrss.exe, Base: 7c900000 output: module.584.3f69da0.7c900000.dll
Dumping ntdll.dll, Process: winlogon.exe, Base: 7c900000 output: module.608.45fa310.7c900000.dll
Dumping ntdll.dll, Process: services.exe, Base: 7c900000 output: module.652.40d8668.7c900000.dll
Dumping ntdll.dll, Process: lsass.exe, Base: 7c900000 output: module.664.470a488.7c900000.dll
Dumping ntdll.dll, Process: VBoxService.exe, Base: 7c900000 output: module.820.43296e8.7c900000.dll
Dumping ntdll.dll, Process: svchost.exe, Base: 7c900000 output: module.864.4123368.7c900000.dll
Dumping ntdll.dll, Process: svchost.exe, Base: 7c900000 output: module.952.45fbda0.7c900000.dll
Dumping ntdll.dll, Process: svchost.exe, Base: 7c900000 output: module.1044.45a65a0.7c900000.dll
Dumping ntdll.dll, Process: svchost.exe, Base: 7c900000 output: module.1092.46807a0.7c900000.dll
Dumping ntdll.dll, Process: svchost.exe, Base: 7c900000 output: module.1124.498e7e0.7c900000.dll
Dumping ntdll.dll, Process: explorer.exe, Base: 7c900000 output: module.1508.417c608.7c900000.dll
Dumping ntdll.dll, Process: spoolsv.exe, Base: 7c900000 output: module.1596.1029638.7c900000.dll
Dumping ntdll.dll, Process: VBoxTray.exe, Base: 7c900000 output: module.1708.436d978.7c900000.dll
Dumping ntdll.dll, Process: ctfmon.exe, Base: 7c900000 output: module.1720.3f24360.7c900000.dll
Dumping ntdll.dll, Process: PassKeep.exe, Base: 7c900000 output: module.1864.1031a48.7c900000.dll
Dumping ntdll.dll, Process: PassKeep.exe, Base: 7c900000 output: module.1872.455bda0.7c900000.dll
Dumping ntdll.dll, Process: svchost.exe, Base: 7c900000 output: module.1972.1114c08.7c900000.dll
Dumping ntdll.dll, Process: wscntfy.exe, Base: 7c900000 output: module.1040.417d440.7c900000.dll
Dumping ntdll.dll, Process: alg.exe, Base: 7c900000 output: module.1228.1047910.7c900000.dll
Dumping ntdll.dll, Process: DumpIt.exe, Base: 7c900000 output: module.124.4378c08.7c900000.dll

root@bt:/pentest/forensics/volatility# cd pony

module.1040.417d440.7c900000.dll module.1872.455bda0.7c900000.dll
module.1044.45a65a0.7c900000.dll module.1972.1114c08.7c900000.dll
module.1092.46807a0.7c900000.dll module.368.10d45a0.7c900000.dll
module.1124.498e7e0.7c900000.dll module.584.3f69da0.7c900000.dll
module.1228.1047910.7c900000.dll module.608.45fa310.7c900000.dll
module.124.4378c08.7c900000.dll module.652.40d8668.7c900000.dll
module.1508.417c608.7c900000.dll module.664.470a488.7c900000.dll
module.1596.1029638.7c900000.dll module.820.43296e8.7c900000.dll
module.1708.436d978.7c900000.dll module.864.4123368.7c900000.dll
module.1720.3f24360.7c900000.dll module.952.45fbda0.7c900000.dll
module.1864.1031a48.7c900000.dll

Passons à la partie réseau en listant les connexions actives du système :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw connections
Volatile Systems Volatility Framework 2.0
Offset(V) Local Address Remote Address Pid
———- ————————- ————————- ——

Pas de chance, aucune information n’a pu être retrouvée. Tanpis, nous allons nous rabattre sur le listing des ports en écoute sur le système :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 sockets
Volatile Systems Volatility Framework 2.0
Offset(V) PID Port Proto Address Create Time
———- —— —— ——————- ————– ————————–
0xffb44af0 1044 123 17 UDP 10.0.2.15 2012-05-09 11:06:21
0x81134960 664 500 17 UDP 0.0.0.0 2012-05-09 11:06:21
0xff9942e0 1228 1028 6 TCP 127.0.0.1 2012-05-09 11:06:24
0xffb4d390 4 445 6 TCP 0.0.0.0 2012-05-09 20:06:10
0xffbdc9d0 952 135 6 TCP 0.0.0.0 2012-05-09 11:06:12
0xff9cee98 1124 1900 17 UDP 10.0.2.15 2012-05-09 11:06:24
0x81132c08 4 139 6 TCP 10.0.2.15 2012-05-09 11:06:15
0x81132c08 664 0 255 Reserved 0.0.0.0 2012-05-09 11:06:21
0xffb0b5f8 1044 123 17 UDP 127.0.0.1 2012-05-09 11:06:21
0xffb80a90 4 137 17 UDP 10.0.2.15 2012-05-09 11:06:15
0xff9cfd98 1124 1900 17 UDP 127.0.0.1 2012-05-09 11:06:24
0xffaef008 664 4500 17 UDP 0.0.0.0 2012-05-09 11:06:21
0xffb4d008 4 445 17 UDP 0.0.0.0 2012-05-09 20:06:10
0xffb4d008 4 138 17 UDP 10.0.2.15 2012-05-09 11:06:15

Ici, on peut remarquer que les ports 123, 137, 138, 139, 445, 500. etc. sont ouverts.

Passons maintenant à l’analyse de la base de registre en localisant les adresses virtuelles des ruches :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 hivelist
Volatile Systems Volatility Framework 2.0
Virtual Physical Name
0xe1ad3348 0x0a7e2348 DeviceHarddiskVolume1Documents and Settings ootbsdLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat
0xe1a7db60 0x0a7c8b60 DeviceHarddiskVolume1Documents and Settings ootbsdNTUSER.DAT
0xe17ef738 0x09205738 DeviceHarddiskVolume1Documents and SettingsLocalServiceLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat
0xe17e7a28 0x09233a28 DeviceHarddiskVolume1Documents and SettingsLocalServiceNTUSER.DAT
0xe17c5a60 0x08e04a60 DeviceHarddiskVolume1Documents and SettingsNetworkServiceLocal SettingsApplication DataMicrosoftWindowsUsrClass.dat
0xe17beb60 0x08d76b60 DeviceHarddiskVolume1Documents and SettingsNetworkServiceNTUSER.DAT
0xe14e4b60 0x02b36b60 DeviceHarddiskVolume1WINXPsystem32configsoftware
0xe145d008 0x070f1008 DeviceHarddiskVolume1WINXPsystem32configdefault
0xe1455980 0x06f8f980 DeviceHarddiskVolume1WINXPsystem32configSECURITY
0xe145d820 0x070f1820 DeviceHarddiskVolume1WINXPsystem32configSAM
0xe135db60 0x01abdb60 [no name]
0xe1019600 0x017b1600 DeviceHarddiskVolume1WINXPsystem32configsystem
0xe1006030 0x016f4030 [no name]
0x8068fdd8 0x0068fdd8 [no name]

On va maintenant lister les sous-clés de la ruche « DeviceHarddiskVolume1WINXPsystem32configSAM » :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 hivedump -o 0xe145d820
Volatile Systems Volatility Framework 2.0
Last Written Key
2012-05-09 11:41:30 SAM
2012-05-09 11:41:30 SAMSAM
2012-05-09 11:41:30 SAMSAMDomains
2012-05-09 18:50:39 SAMSAMDomainsAccount
2012-05-09 18:47:12 SAMSAMDomainsAccountAliases
2012-05-09 18:47:21 SAMSAMDomainsAccountAliases003E9
2012-05-09 18:47:21 SAMSAMDomainsAccountAliasesMembers
2012-05-09 18:47:21 SAMSAMDomainsAccountAliasesMembersS-1-5-21-1078081533-1383384898-1060284298
2012-05-09 18:47:21 SAMSAMDomainsAccountAliasesMembersS-1-5-21-1078081533-1383384898-1060284298003EA
2012-05-09 18:47:12 SAMSAMDomainsAccountAliasesNames
2012-05-09 18:47:12 SAMSAMDomainsAccountAliasesNamesHelpServicesGroup
2012-05-09 11:41:30 SAMSAMDomainsAccountGroups
2012-05-09 18:50:39 SAMSAMDomainsAccountGroups00201
2012-05-09 11:41:30 SAMSAMDomainsAccountGroupsNames
2012-05-09 11:41:30 SAMSAMDomainsAccountGroupsNamesNone
2012-05-09 18:50:39 SAMSAMDomainsAccountUsers
2012-05-09 11:45:09 SAMSAMDomainsAccountUsers001F4
2012-05-09 11:41:30 SAMSAMDomainsAccountUsers001F5
2012-05-09 18:46:41 SAMSAMDomainsAccountUsers003E8
2012-05-09 18:47:21 SAMSAMDomainsAccountUsers003EA
2012-05-09 11:06:13 SAMSAMDomainsAccountUsers003EB
2012-05-09 18:50:39 SAMSAMDomainsAccountUsersNames
2012-05-09 11:41:30 SAMSAMDomainsAccountUsersNamesAdministrator
2012-05-09 11:41:30 SAMSAMDomainsAccountUsersNamesGuest
2012-05-09 18:46:41 SAMSAMDomainsAccountUsersNamesHelpAssistant
2012-05-09 18:50:39 SAMSAMDomainsAccountUsersNames ootbsd
2012-05-09 18:47:21 SAMSAMDomainsAccountUsersNamesSUPPORT_388945a0
2012-05-09 18:50:39 SAMSAMDomainsBuiltin
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases
2012-05-09 18:50:39 SAMSAMDomainsBuiltinAliases00220
2012-05-09 11:42:17 SAMSAMDomainsBuiltinAliases00221
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases00222
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases00223
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases00227
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases00228
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases0022B
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliases0022C
2012-05-09 11:42:17 SAMSAMDomainsBuiltinAliasesMembers
2012-05-09 11:42:17 SAMSAMDomainsBuiltinAliasesMembersS-1-5
2012-05-09 11:42:17 SAMSAMDomainsBuiltinAliasesMembersS-1-500004
2012-05-09 11:42:17 SAMSAMDomainsBuiltinAliasesMembersS-1-50000B
2012-05-09 18:50:39 SAMSAMDomainsBuiltinAliasesMembersS-1-5-21-1078081533-1383384898-1060284298
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesMembersS-1-5-21-1078081533-1383384898-1060284298001F4
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesMembersS-1-5-21-1078081533-1383384898-1060284298001F5
2012-05-09 18:50:39 SAMSAMDomainsBuiltinAliasesMembersS-1-5-21-1078081533-1383384898-1060284298003EB
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNames
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesAdministrators
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesBackup Operators
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesGuests
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesNetwork Configuration Operators
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesPower Users
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesRemote Desktop Users
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesReplicator
2012-05-09 11:41:30 SAMSAMDomainsBuiltinAliasesNamesUsers
2012-05-09 11:41:30 SAMSAMDomainsBuiltinGroups
2012-05-09 11:41:30 SAMSAMDomainsBuiltinGroupsNames
2012-05-09 11:41:30 SAMSAMDomainsBuiltinUsers
2012-05-09 11:41:30 SAMSAMDomainsBuiltinUsersNames
2012-05-09 11:41:30 SAMSAMRXACT

On peut également aller chercher des clés/sous-clés précises :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey -K « SoftwareMicrosoftWindowsCurrentVersionInternet Settings »
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: DeviceHarddiskVolume1Documents and SettingsNetworkServiceNTUSER.DAT
Key name: Internet Settings (S)
Last updated: 2012-05-09 18:49:25

Subkeys:
(S) 5.0
(S) Lockdown_Zones
(S) ZoneMap
(S) Zones

Values:
REG_SZ User Agent. (S) Mozilla/4.0 (compatible; MSIE 8.0; Win32)
REG_SZ IE5_UA_Backup_Flag. (S) 5.0
REG_BINARY ZonesSecurityUpgrade. (S)
0000 10 BC 89 23 14 2E CD 01 …#….

REG_DWORD EnableNegotiate. (S) 1
—————————-
Registry: DeviceHarddiskVolume1Documents and Settings ootbsdNTUSER.DAT
Key name: Internet Settings (S)
Last updated: 2012-05-09 18:51:23

Subkeys:
(S) 5.0
(S) CACHE
(S) Connections
(S) Lockdown_Zones
(S) P3P
(S) ZoneMap
(S) Zones

Values:
REG_SZ User Agent. (S) Mozilla/4.0 (compatible; MSIE 8.0; Win32)
REG_SZ IE5_UA_Backup_Flag. (S) 5.0
REG_BINARY ZonesSecurityUpgrade. (S)
0000 10 BC 89 23 14 2E CD 01 …#….

REG_DWORD EnableNegotiate. (S) 1
REG_SZ EmailName. (S) IEUser@
REG_SZ AutoConfigProxy. (S) wininet.dll
REG_SZ MimeExclusionListForCache. (S) multipart/mixed multipart/x-mixed-replace multipart/x-byteranges
REG_BINARY WarnOnPost. (S)
0000 01 00 00 00 ….

REG_BINARY UseSchannelDirectly. (S)
0000 01 00 00 00 ….

REG_DWORD EnableHttp1_1. (S) 1
REG_DWORD UrlEncoding. (S) 0
REG_DWORD SecureProtocols. (S) 160
REG_DWORD PrivDiscUiShown. (S) 1
REG_DWORD PrivacyAdvanced. (S) 0
REG_DWORD DisableCachingOfSSLPages. (S) 0
REG_DWORD WarnonZoneCrossing. (S) 0
REG_DWORD MigrateProxy. (S) 1
REG_DWORD ProxyEnable. (S) 0
—————————-
Registry: DeviceHarddiskVolume1WINXPsystem32configdefault

A ce stade, on essaye bien souvent d’aller récupérer les crédences stockés en cache. Pour cela il est nécessaire de connaitre l’adresse virtuelle de la ruche SYSTEM (-y ) et de la ruche SAM (-s ) (parfait, on a déjà récupéré l’information) :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw hashdump -y 0xe1019600 -s 0xe145d820
Volatile Systems Volatility Framework 2.0
ERROR. psyco.support. Unable to read hashes from registry

Pas de chance de ce côté, aucune information n’est disponible. On va essayer via un dump du secret LSA. Pour cela, il faut remplacer l’adresse de la ruche SAM par celle de SECURITY :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw lsadump -y 0xe1019600 -s 0xe1455980
Volatile Systems Volatility Framework 2.0
ERROR. psyco.support. Unable to read LSA secrets from registry

Encore loupé, c’est pas notre jour. ^_^

Aller, on ne se démotive pas et on va aller regarder les clés présentes dans la ruche « DeviceHarddiskVolume1WINXPsystem32configsoftware » (pour rappel, l’adresse virtuelle est 0xe14e4b60 ) :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe14e4b60
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: User Specified
Key name: $$$PROTO.HIV (S)
Last updated: 2012-05-09 19:55:49

Subkeys:
(S) C07ft5Y
(S) Classes
(S) Clients
(S) Gemplus
(S) Licenses
(S) Macromedia
(S) Microsoft
(S) ODBC
(S) Oracle
(S) Policies
(S) Program Groups
(S) Schlumberger
(S) Secure
(S) Software by Design
(S) Windows 3.1 Migration Status

Si l’on souhaite aller voir ce qui se trame dans la sous-clé « GemPlus «. il suffit de procéder ainsi :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe14e4b60 –key « GemPlus »
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: User Specified
Key name: Gemplus (S)
Last updated: 2012-05-09 18:47:28

Subkeys:
(S) Cryptography

Et now, on veut aller regarder à l’intérieur de « Cryptography » :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe14e4b60 –key « GemPlusCryptography »
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: User Specified
Key name: Cryptography (S)
Last updated: 2012-05-09 18:47:28

Subkeys:
(S) SmartCards

On continue ainsi jusqu’à avoir :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe14e4b60 –key « GemPlusCryptographySmartCardsGemSAFE »
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: User Specified
Key name: GemSAFE (S)
Last updated: 2012-05-09 18:47:28

Values:
REG_BINARY Card List. (S)
0000 47 65 6D 53 41 46 45 20 53 6D 61 72 74 20 43 61 GemSAFE Smart Ca
0010 72 64 20 28 34 4B 29 00 47 65 6D 53 41 46 45 20 rd (4K).GemSAFE
0020 53 6D 61 72 74 20 43 61 72 64 20 28 38 4B 29 00 Smart Card (8K).
0030 00

Bon, rien de bien pertinant mais ca nous fait travailler les commandes :p.

Allons voir ce qu’il y a dans la ruche SYSTEM :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe1019600
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: User Specified
Key name: $$$PROTO.HIV (S)
Last updated: 2012-05-09 20:06:06

Subkeys:
(S) ControlSet001
(S) ControlSet002
(S) LastKnownGoodRecovery
(S) MountedDevices
(S) Select
(S) Setup
(S) WPA
(V) CurrentControlSet

On va regarder à l’intérieur de « ControlSet001Services » :

root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe1019600 –key « ControlSet001Services »
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile

—————————-
Registry: User Specified
Key name: Services (S)
Last updated: 2012-05-09 11:06:48

Subkeys:
(S) Abiosdsk
(S) abp480n5
(S) ac97intc
(S) ACPI
(S) ACPIEC
(S) adpu160m
(S) aec
(S) AFD
(S) Aha154x
(S) aic78u2
(S) aic78xx
(S) Alerter

On pourrait continuer à chercher un peu partout mais je pense que vous avez compris le principe.

Voilà donc que se termine le tour d’horizon de la première prise en main de Volatility. On a pas récupéré grand chose au final 🙂 mais l’épreuve était principalement basé sur le binaire KeePass et je ne pense pas qu’il y a des choses intéressantes à en tirer (peut-être que je me trompe, n’hésitez pas à me dire si vous avez trouvé des choses sympa ^_^).

Dans un dump plus complet, de multiples informations sont souvent disponibles. On peut par exemple citer des mots de passe (stockés dans la base de registre), des processus intéressant à analyser (firefox.exe), etc.

N’hésitez pas à commenter l’article si vous souhaitez que j’ajoute certaines commandes qui vous paraissent utiles et qui ont été omises.

Pour finir, si vous souhaitez vous amuser, le Wargame est disponible à l’adresse suivante. http://wargame2k12.nuitduhack.com/

Bonne analyse à tous.

PS. je lis actuellement le livre « Practical Malware Analysis » et je le trouve vraiment très sympa. Je le recommande à tous.

Après la fête des 10 ans de la Nuit Du Hack chez Disney, ce week-end s’est déroulé en ligne le CTF public de la Nuit du Hack 2012.

Moins d’une semaine après le petit loupé de la mise en ligne lors de la Nuit du Hack 2012, l’équipe HZV/Sysdream a donc encore bossé dur pour mettre en place ce challenge public.
Le chan IRC était au rendez-vous, réactif, et donc tout était là pour faire de ce CTF une réussite.

Les épreuves étaient très variées et pas moins de 102 personnes (ou équipes sous un seul nom) ont pu scorer. Voici les 3 premiers de ce CTF :

Yeah baby Zenk 3ème. ça mérite une petite danse du poney. (bon en même temps vos des LeetMore était apparemment seul à faire le CTF…) 🙂


« Finally, congratulations to w3pwnz for solving 23 challenges, earning 13710 points and winning the Wargame! They also win a free one-year license for Canvas, sponsored by IMMUNITY. «

Une interface de scoring classique et efficace et 28 challenges à résoudre en Crypto, CrackMe, Forensic, Stegano et WebApp.

Voici la résolution de quelques épreuves plutôt classiques.

[Write-Up] Nuit Du Hack 2K12 – « Password manager 1 »
Catégorie :
Forensic
Score : 500
Description. « Please recover the password from that memory dump »

Cette dernière contenait le seul fichier ‘memdump.raw ‘ (dump physique de la RAM).

On utilise tout d’abord l’outil volatility (Windows ou Linux) pour identifier d’où vient ce dump de RAM.

C:NDH2K12> volatility.exe imageinfo -f memdump.raw
Volatile Systems Volatility Framework 2.0
Determining profile based on KDBG search…

Suggested Profile(s). WinXPSP3x86, WinXPSP2x86 (Instantiated with WinXPSP2x86)
AS Layer1. JKIA32PagedMemory (Kernel AS)
AS Layer2. FileAddressSpace (memdump.raw)
PAE type. No PAE
DTB. 0x39000
KDBG. 0x8054cde0L
KPCR. 0xffdff000L
KUSER_SHARED_DATA. 0xffdf0000L
Image date and time. 2012-05-09 11:06:48
Image local date and time. 2012-05-09 11:06:48
Number of Processors. 1
Image Type. Service Pack 3

Les process tournant en RAM vont nous éclairer pour la suite de nos recherches Forensic :

C:NDH2K12> volatility pslist –profile=WinXPSP3x86 -f memdump.raw
Volatile Systems Volatility Framework 2.0 Offset(V)
Name PID PPID Thds Hnds Time
———- ——————– —— —— —— —— ——————-
0x812ed020 System 4 0 55 231 1970-01-01 00:00:00
0x811cc5a0 smss.exe 368 4 3 19 2012-05-09 20:06:10
[…]
0x81129a48 PassKeep.exe 1864 1508 2 39 2012-05-09 11:06:17
0xffb22da0 PassKeep.exe 1872 1864 2 104 2012-05-09 11:06:17
0x8120cc08 svchost.exe 1972 652 5 106 2012-05-09 11:06:21
0xffb7a440 wscntfy.exe 1040 1044 1 39 2012-05-09 11:06:24
0x8113f910 alg.exe 1228 652 7 104 2012-05-09 11:06:24
0xffb43c08 DumpIt.exe 124 1508 1 25 2012-05-09 11:06:46

On va alors s’intéresser au PID 1872 et dumper le contenu en mémoire de PassKeep.exe

D:NDH2K12> volatility –profile=WinXPSP3x86 -f memdump.raw -p 1872 memdump -D
Volatile Systems Volatility Framework 2.0
************************************************************************
Writing PassKeep.exe [ 1872] to 1872.dmp

Une recherche de strings plus tard nous donnera la clef !

C:NDH2K12> strings 1872.dmp > 1872.dmp.txt
[…]
admin
admin
J5XfFsmdrBkRE
http://flag.ndh2012.com
Good game
c:program filessoftware by designpasskeep
[…]
Il ne restera plus qu’à hacher en MD5 pour scorer :
Texte : J5XfFsmdrBkRE
Résultat : abc7d6294e04e6d6f5c4a9e1aa62370f

[Write-Up] Nuit Du Hack 2K12 – « Password manager 2 »
Catégorie :
Forensic
Score : 1500
Description : « Please recover the password from that KeePass memory dump. »

Cette dernière contenait là encore un seul fichier. memdump.raw (dump physique de la RAM).

Sur le même modèle que l’épreuve « Password manager 1 » on arrive à isoler le PID de KeePassX.exe .

C:NDH2K12> volatility pslist –profile=WinXPSP3x86 -f memdump.raw
Volatile Systems Volatility Framework 2.0
Offset(V) Name PID PPID Thds Hnds Time
———- ——————– —— —— —— —— ——————-
0x8111d020 System 4 0 51 240 1970-01-01 00:00:00
[…]
0xffa25020 KeePassX.exe 768 1584 5 364 2012-04-23 09:16:53

Une fois dumpé et passé à la loupe des strings, il fallait cette fois ci se rendre compte que le fichier n’était pas aussi lisible que le précédent :
La sélection d’un encodage 16-bit little-endian va nous aider à y voir plus clair.

C:NDH2K12> strings -e l 768.dmp > 768.dmp.l.txt

Cette fois ci, on retrouve plusieurs occurrences de « flag.ndh2012.com », mais une seule avec le password qu’il nous faut passer en MD5 pour scorer :

http://flag.ndh2012.com
textLabel7
Tahoma
7cU6QQKCqxCoHp6ii5WrBCUzVzUGzuS5
?C:Documents and Settings dhApplication DataKeePassXconfig.ini
fieldname
2390

Texte : 7cU6QQKCqxCoHp6ii5WrBCUzVzUGzuS5
Résultat : e413334776721843940e04037e99971a


[Write-Up] Nuit Du Hack 2K12 – « Gangbang »
Catégorie :
Stegano
Score : 500
Description : « Action »

Encore un quick-win pour ce grand classique des vidéos « geek » 😉

Celle-ci ne laissait pas beaucoup de doutes sur le contenu qu’il nous fallait donc analyser.
Dès les premières secondes quelques images semblent être intercalées dans la vidéo.
Plusieurs moyens d’extraction image par image sont possibles, nous retiendront la méthodologie suivante :

C:NDH2K12> vlc gangbang.avi –video-filter=scene –vout=dummy –scene-ratio=1 –scene-prefix=img- –scene-path= »C:NDH2K12 »

Quelques 834 images sont extraites dont celle-ci :


Le Flag y apparait clairement ainsi que quelques revendications légitimes 😉

[Write-Up] Nuit Du Hack 2K12 – « Apocalypse »
Catégorie :
Stegano
Score : 500
Description : « We were told the end was near. »

Un fichier texte de 33,4Ko s’offre à nous « Prédictions pour décembre 2012. Les prédictions pour décembre 2012 regroupent plusieurs croyances eschatologiques annonçant de … « .
La source est aisément identifiable sur http://fr.wikipedia.org/wiki/Prédictions_pour_décembre_2012 .


Mais ce qui attire le plus notre regard dans le fichier texte est la présence de nombreux « blancs » dans le texte.
La présence de stéganographie à base d’espaces en fin de lignes, un grand classique, est donc suspectée http://www.darkside.com.au/snow/

Ce qui se confirme en tentant la commande suivante :

C:NDH2K12> snow.exe -C apocalype.txt
Encore un coup des Anonymous

Passage en MD5
Texte : Encore un coup des Anonymous
Résultat : 0faec26266432f508d05bf36285ea718

[Write-Up] Nuit Du Hack 2K12 – « Enigmes de S4nch0 #4 »
Catégorie : Crypto
Score : 500
Description : « Resistance is futile. »

Le texte suivant est extrait du fichier « colors » contenu dans le .tar :

[Noir Violet Violet]—[Marron Marron Violet]—[Marron Marron Jaune]—
[Marron Marron Rouge]—[Marron Noir Jaune]—[Marron Rouge Marron]—
[Noir Orange Blanc]—[Marron Marron Vert]—[Noir Orange Rouge]—
[Marron Noir Gris]—[Noir Blanc Violet]—[Marron Marron Blanc]—
[Noir Orange Rouge]—[Marron Marron Vert]—[Marron Marron Violet]—
[Noir Blanc Blanc]—[Marron Noir Violet]—[Marron Marron Vert]—

Pour tous ceux qui ont touché un peu à des cours d’électronique, les indices étaient trop nombreux pour être ignorés !
Ce challenge portait bien sur les codes couleurs des résistances.
http://fr.wikipedia.org/wiki/Résistance_(composant)

Après avoir appliqué cette grille de lecture au texte nous nous retrouvions avec le tableau des valeurs suivantes :
0 Noir – 1 Marron – 2 Rouge – 3 Orange – 4 Jaune – 5 Vert – 6 Bleu – 7 Violet – 8 Gris – 9 Blanc

077 117 114
112 104 121
039 115 032
108 097 119
032 115 117
099 107 115

Ce qui nous fait rapidement penser à un codage de caractères bien connu. http://www.table-ascii.com/

« 077 117 114 112 104 121 039 115 032 108 097 119 032 115 117 099 107 115 »
correspond à :
« Murphy’s law sucks »

Texte : Murphy’s law sucks
Résultat : 49c364f8c9b67d4a1b5b23fcd26ee10e

[Write-Up] Nuit Du Hack 2K12 – « Damn PST »
Catégorie :
Forensic
Score : 1000
Description : « You just found a dead USB key downstairs which happen to store a mysterious pst file »

Alors que sur le chan IRC de nombreuses voix semblaient évoquer un challenge difficile à résoudre sans version Windows ni Outllook.
Rien de tout cela ne nous a été nécessaire, juste la version Démo de FTK AccessData.

Et voici ce que donne la recherche sur le mot clef « flag » :

Texte : pigeonvoyageur
Résultat : 2b4b609cc86104f7222c940eb4034616

Voici que ce termine ces quelques solutions d’épreuves.

Prochain article d’ici 1 à deux semaines sur l’utilisation de l’outil volatility 😉

Thx to Zenk-Security & Solo (I will have my revenge) ^_^


FTWAutopwn est un outil développé par Casten Maartmann-Moe qui a pour but de remplacer/améliorer le programme Winlockpwn qui n’est actuellement plus maintenu.

Pour rappel, Winlockpwn permet de déverrouiller une session active Windows via une attaque DMA sur le port FireWire.

FTWAutopwn permet de rendre plus stable la manipulation et ainsi d’éviter de se retrouver avec un joli BSOD et autre plantage durant la manipulation. Pour faire simple, la méthode vise à modifier la fonction permettant la vérification du mot de passe afin de la rendre valide peut importe ce qui est inséré. Pour cela, il est nécessaire d’étudier la dll msv1_0.dll et plus particulièrement la fonction MsvpPasswordValidate .

Une analyse assez bien faite est disponible à l’adresse suivante :

Plusieurs signatures ont été intégrées à l’outil permettant de pouvoir patcher la fonction en fonction de l’OS.

Nous avons eu besoin, dans le cadre de mon travail, de trouver la signature d’un Windows 7 64bits SP1 qui n’a pas été renseignée dans le fichier config.cfg .

Pour ce faire, un coup d’IDA sur la dll, une recherche de la fonction MsvpPasswordValidate, on se place dans la section de code permettant le saut conditionnel pour la validation et on remplace par des nop (0x90) .

Ceci nous donne le patch suivant :

« sig »: »C60F857C800000B8″,
« pageoffset »:[0x321],
« patch »: »C6909090909090B8″,
« patchoffset »:0>]

Pour un Windows 7 64 bits SP0 :

« sig »: »C60F85A0B80000B8″,
« pageoffset »:[0x2A8],
« patch »: »C6909090909090B8″,
« patchoffset »:0>]

Pour les curieux, voici quelques documents utiles sur le sujet :

Edit : j’ai mis à jour le pageoffset de Windows 7 SP1 64bits (celui que j’avais trouvé ne fonctionnait pas). Je viens de tester à l’instant avec « pageoffset »:[0x321] et cela fonctionne !
Également, je rajoute le fait que suivant la version de la DLL, la signature peut être différente. Pour information, voici celle que j’ai testée :

Tout d’abord désolé de ne pas avoir posté d’article depuis un bout de temps. Entre mon déménagement, le temps d’attente pour la récupération du net, le boulot, les conférences SSTIC. Hack In Paris. NDH2K11. et s’occuper de la petite, ca ne laisse pas beaucoup de temps.

En tout cas, cela fait extrèmement du bien de retrouver le net. surtout avec 17 mégas, ça le fait !

J’ai reçu pas mal de mails depuis quelques temps concernant mon boulot. Pour information, non je ne travaille pas chez Bull, mais c’est mon pote Romain qui poste de temps en temps sur ce blog. Pour ma part, après avoir fais un petit détour à l’ESEC Sogeti dans l’équipe pentest, je me suis dirigé chez Telindus dans l’équipe SRC (Security Research Center) ou j’effectue des tests d’intrusion (TI, TIE, audit de conf, un peu de R&D, etc.).

Seconde petite précision, non, je ne suis pas nico34 de zenk-security 😉

Tiens, en parlant de zenk. j’ai pu revoir certains membres IRL lors de la NDH2k11. On a d’ailleurs participé au CTF mais, malheureusement, le challenge a été annulé vers 1h00 du matin à cause de différents problèmes techniques. Nous étions assez dégoutés mais on se met à la place du staff pour qui, la déception a été énorme !

Aller, on se remet en jambe avec un soft qu’on utilise de temps en temps au taff, à savoir Nipper .

Cet outil a été développé par titania-security et permet d’auditer la configuration de plusieurs équipements tels :

  • Check Pont VPN-1/Firewall-1 ;
  • Cisco Routers (IOS) ;
  • Crossbeam Firewalls ;
  • Juniper NetScreen Firewalls ;
  • Nokia IP Firewalls ;
  • WatchGuard X Core/Edge ;
  • SonicWALL Firewall (SonicOS) ;
  • etc.

Vous pouvez consulter la liste complète ici .

L’interface est assez intuitive, il suffit simplement de charger le fichier de configuration et de lancer l’analyse. La nouvelle version de Nipper detècte automatiquement l’équipement en fonction du/des fichier(s) importé(s). Voici un exemple avec l’importation d’un fichier de conf Juniper :

Quelques « next » suivants, un rapport automatisé est généré. Ce dernier contient l’ensemble des problématiques de sécurité détectées sur votre conf. On peut y retrouver différents thèmes tels :

  • Les règles du pare-feu trop permissives ;
  • Les fonctionnalités IDS non implémentées ;
  • Le port AUX non désactivé ;
  • Des noms de communautés SNMP trop faibles ;
  • L’utilisation des comptes par défaut ;
  • Etc.

Le rapport indique pour chaque problématique, son niveau de criticité ainsi que la difficulté de correction. Ces informations sont très utiles afin de prioriser et d’organiser un plan d’action pour corriger les multiples défauts de sécurité détectés.

Le rapport indique également (ce qui est assez utile) les commandes permettant de corriger le problème. Pour exemple, sur la thématique des comptes et mots de passe par défaut, Nipper inclus dans la partie « recommandation », les différentes commandes pour changer le nom d’un compte ainsi que le mot de passe, ex :

Également, se trouve à la fin du rapport un récapitulatif d’informations utiles à savoir. les interfaces réseaux, les vlans, les zones, les objets, etc.

Pour finir, bien que l’outil soit plutôt bien fait, j’ai constaté un bug assez gênant (remonté à l’éditeur).

Lors de l’analyse d’une configuration Juniper NetScreen, j’ai remarqué que Nipper effectue une analyse des règles du pare-feu en fonction de leur identifiant (ID ) alors que Juniper, analyse les règles ligne par ligne. Concrètement, cela signifie que si une règle ayant l’ID 10 est en première position et que la règle suivante contient l’ID 2. Nipper va ranger de la manière suivante :

Tandis que sur Juniper, on aura cet ordre :

Ce défaut est un vrai problème car le rapport va potentiellement incorporer des faux-positifs.

J’attends donc un retour de leur part afin de savoir si le bug sera corrigé rapidement.

Téléchargement & Installation

Il est nécessaire de s’enregistrer pour pouvoir récupérer une licence d’essai (outil payant ).

Nipper est disponible sur les systèmes d’exploitation suivants. Windows, Mac OS X, Ubuntu GNU/Linux, Fedora GNU/Linux et CentOS GNU/Linux .

Titania-security a fait les choses bien côté documentation. En effet, est disponible sur leur site, plusieurs procédures montrant la façon d’extraire les fichiers de configuration sur différents équipements (très utile lorsque l’on ne connait pas trop le produit).

Ces docs sont disponibles à l’endroit suivant. https://www.titania-security.com/support/documentation. N’hésitez surtout pas à les consulter.

Bonnes vacances à tous et à très vite pour la découverte d’un nouvel outil 😉