Show me your Kung FuzzNo Con Name2011@virtualminds_es / irodriguez at virtualminds.es
Whoisthisguy?Iñaki RodríguezCISSP, CEHSecurity Manager at Ackstorm S.L.
AboutfuzzingAttempting to cause a program or network to fail by feeding it randomly (or not so) generated data.Generate a lot of craptocrashanapplication.
TargetsUnderstandthemostbasicconcepts of fuzzingComplexity vs KnoweldgeNotyourbussinesReal vulnerabilitiesCommonissues
WhyweFuzzWedon’t trust our softwareWedon’t trust ourproviders software$$$ or €€€ CorporateImage
SDL (securitydevelopmentlifecycle)
THE lab (I)Virtual ServersLot of memoryFasthard disk (SSD)Snapshotshelpstorevert
THE lab (II)Physical ServersOld HardwareMore isbetterYoulostsnapshotsButyouhavedeepfreezeand fssnapshots
SoftwareUnpackers (upx, aspack, *lordpe, *importRec, PeID …)(Un)Compressors (7zip)Sysinternal suiteApi MonitorInterpretedLanguages (perl y python)Debuggers(gdb, radare, ImmunityDebugger, Olly, …)Decompilers (Ida Free, Ida Pro $$$ y theother)
Some FUZZERS
process
Choosingtheapplication
inventoryCMDBNmap (-sV)OcsInventoryRepositories
AutomatinginventoryDatabaseCPE NormalizationStats (use, vulnerabilities, …)Informationfromoutside (securitylists, osvdb, nvd, …)Scripting isyourfriend
ClasificationcriteriaQualitativeVulnerabilitiesimpactComplexityWidelyusedPersonal preferencesCuantitativeNumber of installationsNumber of knownvulnerabilitiesAssetvalueVisibility (local, remote)Number of threats (none, few, many)
modeling
FuzzingModelsMutation (Dumbfuzzing)Generation (Smart fuzzing)
Mutationmodel
Generationmodel
Generationmodel
KnowyourenemyWhatkind of applicationis?Network ServicesWeb ApplicationsLibrariesActiveXWhatkind of inputs?Command LineFilesNetworkFormsEnvironment VariablesUrl…
Files (I)Ifwe are lucky, previouslydocumentedwww.wotsit.orgwww.fileformat.info010 Editor / Hexedit / Others.IfnotdocumentedThroughvalid files repositoryGoogle – ext:svgBing – type:svgReverse engineering
Files (II)SomeinterestingAPIsCreateFile / CloseHandle / open / closeLseekWriteFile / ReadFile / write / read
Files (III)eax=00000000cmpwordptr [eax+edx*2],0ffffh
Network services (I)Open protocols (RFC)Sniffingtrafficbetweenclient and serverWhataboutclients?Frompcaptomodel
Network services (II)
DEMO I – Network ServicesACTFAX FTP SERVER
Video: http://www.youtube.com/watch?v=yOKVIgZso4M
Python
Sulley
PaimeiLibraries (I)Probablywelldocumented“Hidden” apiExported symbolsArgumentsguessing
Libraries (II)
DEMO II – LIBRARYASPEMAIL
Video: http://www.youtube.com/watch?v=7DxXiChy_Oc
Perl
Vbscript
Do ityourself
WindbgActive x (I)ProbablywelldocumentedInternet Explorer onlyActiveX InterfacesAxMan / Comraider
Active X (II)
Web applications (I) Lot of documentationNotonlyurl (Headers, cookies, methods,…)Ajax / Javascript / ApptestingOWASP
Web applications (II)
CommonproblemsEncryptionChecksumUnknownformat/protocol/whateverRelationsConditionsCodecoverage

Show me your kung fuzz