Un petit article pour faire passer l’info à tout ceux qui aimeraient faire du « pentest », Bull recherche un stagiaire pour une première mission et plus si affinité :
Développement Application Sensibilisation Développement Web Java Sécurisé (équipe pentest) (H/F)
- réaliser un état des lieux des applications existantes, couvrant une partie du besoin
- étudier l’architecture logicielle nécessaire pour ce projet
- développer l’application
- créer le support de sensibilisation associé à l’application.
Pour plus d’info, consultez l’annonce complète: http://bull.fr/emploi/recrutement/detailstage.php?num=676
L’idée étant de profiter de cette mission pour se former avec l’équipe afin de participer ensuite aux tests d’intrusion.
Possibilité d’alternance et d’embauche par la suite! N’hésitez pas, c’est une belle occasion d’apprendre auprès de personnes très compétentes et pédagogues.
Dispo: ASAP.
sept 12
18
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 ^_^
–
Texte de Fabien D.
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:
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.
http://grehack.org/en/index.php/GreHack-2012-Speakers_Talks/
====================================================================
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
====================================================================
RUMPS
–
4/5 minutes rumps will happen at the end of the afternoon
http://grehack.org/en/index.php/GreHack-2012-rump_sessions/
====================================================================
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/
====================================================================
CALL FOR DJ/ARTISTS/BANDS FOR THE CTF
–
http://grehack.org/en/index.php/GreHack-2012-Capture_The_Flag_rules-english/#Ambient
====================================================================
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
http://grehack.org/en/index.php/GreHack-2012-Capture_The_Flag_rules-english/
–
Come on, let’s p0wn in the mountains!
–
J’ajouterai pour terminer : « Come on, let’s p0wn ponies! »
juil 12
15
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.
Here we go !
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 : 0×39000
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
0×81121638 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 :
root@bt:/pentest/forensics/volatility# mkdir yopla
root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw memdump –profile=WinXPSP3x86 –dump-dir yopla
Volatile Systems Volatility Framework 2.0
************************************************************************
Writing System [ 4] to 4.dmp
************************************************************************
Writing smss.exe [ 368] to 368.dmp
************************************************************************
Writing csrss.exe [ 584] to 584.dmp
************************************************************************
Writing winlogon.exe [ 608] to 608.dmp
…
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\rootbsd\Desktop\DumpIt\DumpIt.exe »
Service Pack 3
Base Size Path
0×00400000 0×035000 C:\Documents and Settings\rootbsd\Desktop\DumpIt\DumpIt.exe
0x7c900000 0x0b2000 C:\WINXP\system32\ntdll.dll
0x7c800000 0x0f6000 C:\WINXP\system32\kernel32.dll
0x77dd0000 0x09b000 C:\WINXP\system32\ADVAPI32.dll
0x77e70000 0×093000 C:\WINXP\system32\RPCRT4.dll
0x77fe0000 0×011000 C:\WINXP\system32\Secur32.dll
0x77f60000 0×076000 C:\WINXP\system32\SHLWAPI.dll
0x77f10000 0×049000 C:\WINXP\system32\GDI32.dll
0x7e410000 0×091000 C:\WINXP\system32\USER32.dll
0x77c10000 0×058000 C:\WINXP\system32\msvcrt.dll
0×76390000 0x01d000 C:\WINXP\system32\IMM32.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
root@bt:/pentest/forensics/volatility/pony# ls
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
0×81134960 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 \Device\HarddiskVolume1\Documents and Settings\rootbsd\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
0xe1a7db60 0x0a7c8b60 \Device\HarddiskVolume1\Documents and Settings\rootbsd\NTUSER.DAT
0xe17ef738 0×09205738 \Device\HarddiskVolume1\Documents and Settings\LocalService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
0xe17e7a28 0x09233a28 \Device\HarddiskVolume1\Documents and Settings\LocalService\NTUSER.DAT
0xe17c5a60 0x08e04a60 \Device\HarddiskVolume1\Documents and Settings\NetworkService\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
0xe17beb60 0x08d76b60 \Device\HarddiskVolume1\Documents and Settings\NetworkService\NTUSER.DAT
0xe14e4b60 0x02b36b60 \Device\HarddiskVolume1\WINXP\system32\config\software
0xe145d008 0x070f1008 \Device\HarddiskVolume1\WINXP\system32\config\default
0xe1455980 0x06f8f980 \Device\HarddiskVolume1\WINXP\system32\config\SECURITY
0xe145d820 0x070f1820 \Device\HarddiskVolume1\WINXP\system32\config\SAM
0xe135db60 0x01abdb60 [no name]
0xe1019600 0x017b1600 \Device\HarddiskVolume1\WINXP\system32\config\system
0xe1006030 0x016f4030 [no name]
0x8068fdd8 0x0068fdd8 [no name]
On va maintenant lister les sous-clés de la ruche « \Device\HarddiskVolume1\WINXP\system32\config\SAM » :
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 \SAM\SAM
2012-05-09 11:41:30 \SAM\SAM\Domains
2012-05-09 18:50:39 \SAM\SAM\Domains\Account
2012-05-09 18:47:12 \SAM\SAM\Domains\Account\Aliases
2012-05-09 18:47:21 \SAM\SAM\Domains\Account\Aliases\000003E9
2012-05-09 18:47:21 \SAM\SAM\Domains\Account\Aliases\Members
2012-05-09 18:47:21 \SAM\SAM\Domains\Account\Aliases\Members\S-1-5-21-1078081533-1383384898-1060284298
2012-05-09 18:47:21 \SAM\SAM\Domains\Account\Aliases\Members\S-1-5-21-1078081533-1383384898-1060284298\000003EA
2012-05-09 18:47:12 \SAM\SAM\Domains\Account\Aliases\Names
2012-05-09 18:47:12 \SAM\SAM\Domains\Account\Aliases\Names\HelpServicesGroup
2012-05-09 11:41:30 \SAM\SAM\Domains\Account\Groups
2012-05-09 18:50:39 \SAM\SAM\Domains\Account\Groups\00000201
2012-05-09 11:41:30 \SAM\SAM\Domains\Account\Groups\Names
2012-05-09 11:41:30 \SAM\SAM\Domains\Account\Groups\Names\None
2012-05-09 18:50:39 \SAM\SAM\Domains\Account\Users
2012-05-09 11:45:09 \SAM\SAM\Domains\Account\Users\000001F4
2012-05-09 11:41:30 \SAM\SAM\Domains\Account\Users\000001F5
2012-05-09 18:46:41 \SAM\SAM\Domains\Account\Users\000003E8
2012-05-09 18:47:21 \SAM\SAM\Domains\Account\Users\000003EA
2012-05-09 11:06:13 \SAM\SAM\Domains\Account\Users\000003EB
2012-05-09 18:50:39 \SAM\SAM\Domains\Account\Users\Names
2012-05-09 11:41:30 \SAM\SAM\Domains\Account\Users\Names\Administrator
2012-05-09 11:41:30 \SAM\SAM\Domains\Account\Users\Names\Guest
2012-05-09 18:46:41 \SAM\SAM\Domains\Account\Users\Names\HelpAssistant
2012-05-09 18:50:39 \SAM\SAM\Domains\Account\Users\Names\rootbsd
2012-05-09 18:47:21 \SAM\SAM\Domains\Account\Users\Names\SUPPORT_388945a0
2012-05-09 18:50:39 \SAM\SAM\Domains\Builtin
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases
2012-05-09 18:50:39 \SAM\SAM\Domains\Builtin\Aliases\00000220
2012-05-09 11:42:17 \SAM\SAM\Domains\Builtin\Aliases\00000221
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\00000222
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\00000223
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\00000227
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\00000228
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\0000022B
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\0000022C
2012-05-09 11:42:17 \SAM\SAM\Domains\Builtin\Aliases\Members
2012-05-09 11:42:17 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5
2012-05-09 11:42:17 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5\00000004
2012-05-09 11:42:17 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5\0000000B
2012-05-09 18:50:39 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5-21-1078081533-1383384898-1060284298
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5-21-1078081533-1383384898-1060284298\000001F4
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5-21-1078081533-1383384898-1060284298\000001F5
2012-05-09 18:50:39 \SAM\SAM\Domains\Builtin\Aliases\Members\S-1-5-21-1078081533-1383384898-1060284298\000003EB
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Administrators
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Backup Operators
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Guests
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Network Configuration Operators
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Power Users
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Remote Desktop Users
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Replicator
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Aliases\Names\Users
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Groups
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Groups\Names
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Users
2012-05-09 11:41:30 \SAM\SAM\Domains\Builtin\Users\Names
2012-05-09 11:41:30 \SAM\SAM\RXACT
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 « Software\Microsoft\Windows\CurrentVersion\Internet Settings »
Volatile Systems Volatility Framework 2.0
Legend: (S) = Stable (V) = Volatile
—————————-
Registry: \Device\HarddiskVolume1\Documents and Settings\NetworkService\NTUSER.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: \Device\HarddiskVolume1\Documents and Settings\rootbsd\NTUSER.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: \Device\HarddiskVolume1\WINXP\system32\config\default
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 « \Device\HarddiskVolume1\WINXP\system32\config\software » (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 « GemPlus\Cryptography »
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 « GemPlus\Cryptography\SmartCards\GemSAFE »
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
Subkeys:
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 « ControlSet001\Services » :
root@bt:/pentest/forensics/volatility# python vol.py -f /root/Desktop/memdump.raw –profile=WinXPSP3x86 printkey –hive-offset 0xe1019600 –key « ControlSet001\Services »
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.
juil 12
3
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 »
Nous avions à télécharger l’archive suivante :
http://54.247.160.116/forensics/keep1.tar
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 : 0×39000
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 files\software by design\passkeep
[...]
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. »
Nous avions à télécharger l’archive suivante :
http://54.247.160.116/forensics/keep2.tar
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\ndh\Application Data\KeePassX\config.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 »
Nous avions à télécharger l’archive suivante :
http://54.247.160.116/stega/gangbang.tar
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. »
Fichier à charger :
http://54.247.160.116/stega/apocalypse.tar
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. »
Fichier à télécharger :
http://54.247.160.116/crypto/sancho4.tar
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 »
Fichier à télécharger :
http://54.247.160.116/forensics/pst.tar
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) ^_^
jan 12
2
Bonjour à tous !
C’est avec grand plaisir que je vous souhaite à tous une très bonne année 2012 ! Plein de bonnes choses pour cette nouvelle année mais surtout une santé de fer ! C’est le plus important.
Pour ma part, j’ai décidé que j’allais me remettre à poster un peu plus souvent car ces temps-ci je n’ai pas trop pris le temps de le faire.
Également, je vais continuer à m’occuper un maximum de ma petite puce car ça grandit trop vite ! En plus, il faut vraiment profiter de cette année car elle risque d’être la dernière d’après plusieurs théories dont la plus fiable reste quand même l’invasion par des poneys !
Pour finir, je vais me remettre un peu au sport ! geek un jour, geek tu cours
A bientôt
déc 11
5
Bonsoir à tous,
C’est avec grande tristesse que j’ai appris aujourd’hui la mort de Paolo Pinto alias CrashFR le 3 décembre 2011.
L’ayant côtoyé IRL pour divers projets, j’ai pu converser avec lui sur pas mal de sujets autour de la sécurité informatique. Ses paroles ont toujours été une vrai mine d’or et son écoute attentive en a toujours fait quelqu’un d’attachant et surtout au cœur immense.
En tout cas, il a toujours été un modèle de réussite pour moi. Outre le fait qu’il est le co-fondateur de la société Sysdream, il a également été à la source de gros projets tels : HackerzVoice, The Hackademy Journal et The Hackademy School, etc.
Par ailleurs, il est également le créateur des meetings « Nuit Du Hack » et « Hack In Paris » qui ont rassemblé des milliers de passionnés de sécurité informatique.
Je tiens à adresser mes plus sincères condoléances à sa famille et ses proches pour qui cette triste nouvelle doit être un réel coup dur.
En tout cas toute la communauté du Hacking FR te remercions pour tout ce que tu as fait pour nous et te souhaitons un bon hacking au paradis.
Juste un petit article pour faire passer l’info: 1 stage est à pourvoir chez Bull à compter du mois de mars-avril pour une durée de 4 à 6 mois.
Voici le sujet:
Création automatisée de clients réseau pour faciliter les tests d’intrusion:
Sous la responsabilité d’un consultant sécurité informatique, votre projet de stage consiste à :
- S’approprier les outils de capture réseau (wireshark et ses dissectors)
- S’approprier les outils de manipulation de paquets (en langage Python)
- Créer un outil, en langage Python, de création automatisée de clients réseau à partir de simples captures
- Rédiger la procédure couvrant l’audit « boîte noire » d’un service réseau
- Alternance possible
Pour plus d’informations, consultez la page suivante: http://goo.gl/KwnrL
N’hésitez pas à me contacter via le formulaire en choisissant le sujet « Offre de stage/emploi » et en m’indiquant éventuellement l’adresse de votre profil linkedin ou viadeo si vous en avez un. Sinon, je vous répondrai pour que vous puissiez m’envoyer votre CV.
sept 11
13
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 :
https://www.moonloop.org/bin/view/Moonloop/Article:k9iBW83eo9cBsdUlg7Red6cUaILIXVGw
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 64 bits 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 (0×90).
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 :
Greatz à Eric
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 :
Arachni est un scanner de vulnérabilités automatisé Open-Source créé par Tasos Laskos. Il propose un environnement stable, la génération de rapports et offre la possibilité d’écrire des plugins facilement et rapidement.
Site officiel : http://arachni.segfault.gr/news
Fonctionnalités
General :
Crawler :
Module :
Rapport :
Plug-in :
Installation
Testé sous BT5
Pour lancer arachni :
$arachni_web_autostart
L’interface Web est disponible à l’adresse suivante :
http://127.0.0.1:4567/
Il reste cependant possible d’utiliser le scanner en ligne de commande dont voici la page de documentation officiel :
https://github.com/Zapotek/arachni/wiki/Command-line-user-interface
Exemple de ligne de commande :
$arachni –mods=xss http://localhost/ –exclude=formulaire
Elle permet de scanner les vulnérabilités XSS sur un site local en excluant le mot formulaire de l’URL (lors du crawling).
Utilisation
Il est nécessaire de configurer le dispatcher en cliquant sur celui par défaut. Ce dernier permet de lancer des scans sur différentes instances (également sur d’autres postes).
Une fois cette étape effectuée, le scan d’un site Web peut être lancé. Il est cependant utile de regarder les différents onglets disponibles :
Start a scan :
Permet de lancer son scan en insérant l’URL/l’adresse IP.
Modules :
Permet de sélectionner les modules qui seront utilisés durant la phase de scan.
Plugins :
Plugins permettant d’étendre certaines fonctionnalités de l’outil. Pour exemple, la fonction auto-login se situe dans cette section.
Settings :
Onglet permettant de configurer différentes options telles :
Report :
Liste des scans effectués en incluant les rapports sous différents formats (Metareport, format Arachni Framework, Text, XML, HTML).
Add-ons :
Permet d’activer les add-ons permettant d’améliorer les fonctionnalités de la WebUI.
Dispatcher :
Liste des dispatchers et leur charge mémoire.
Log :
Log des scans lancés, des rapports générés, etc.
Exemple de sortie
Summary :
Graphiques des vulnérabilités classés par types :
Issues :
Résultat détaillé des vulnérabilités contenant :
Plugin results :
Informations complémentaires sur les plugins utilisés + healthmap.
Sitemaps :
Liste des URLs testées durant le scan.
Configuration :
Détail de la configuration utilisée lors du scan.
N’hésitez pas à faire des retours sur la pertinence des découvertes de vulnérabilités de l’outil ;-)
Pour information complémentaire, voici un article récent et assez intéressant sur le comparatif de plusieurs scanners de vulnérabilités payants et Open-Source :
http://sectooladdict.blogspot.com/2011/08/commercial-web-application-scanner.html
Mode vacances 2 semaines \o/
juil 11
8
Hello all,
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 :
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 :
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
https://www.titania-security.com/downloads
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.
Documentation
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