{"id":2,"date":"2010-05-09T20:23:25","date_gmt":"2010-05-09T20:23:25","guid":{"rendered":"http:\/\/www.floyd.ch\/?page_id=2"},"modified":"2025-09-15T12:53:51","modified_gmt":"2025-09-15T11:53:51","slug":"about","status":"publish","type":"page","link":"https:\/\/www.floyd.ch\/?page_id=2","title":{"rendered":"About"},"content":{"rendered":"<p>TL;DR: I wrote <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/reflected-xss-vulnerability-in-crealogix-ebics-implementation\/\">a<\/a> <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/password-reset-code-brute-force-vulnerability-in-AWS-Cognito\/\">couple<\/a> <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/security_issues_in_teampasswordmanager_and_combodo_itop\/\">of<\/a> <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/viseca-expense-credit-card-statement-disclosure\/\" target=\"_blank\" rel=\"noopener noreferrer\">advisories<\/a>, <a href=\"https:\/\/github.com\/floyd-fuh\/burp-HttpFuzzer\" target=\"_blank\" rel=\"noopener noreferrer\">several<\/a> <a href=\"https:\/\/github.com\/pentagridsec\/PentagridResponseOverview\" target=\"_blank\" rel=\"noopener noreferrer\">Burp<\/a> <a href=\"https:\/\/portswigger.net\/bappstore\/b2244cbb6953442cb3c82fa0a0d908fa\" target=\"_blank\" rel=\"noopener noreferrer\">extensions<\/a>, I&#8217;m the author of <a title=\"Tincd buffer overflow metasploit module\" href=\"https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/exploits\/multi\/vpn\/tincd_bof.rb\" target=\"_blank\" rel=\"noopener noreferrer\">a Metasploit module with various different OS\/architecture targets<\/a> and <a href=\"https:\/\/github.com\/floyd-fuh\/afl-crash-analyzer\" target=\"_blank\" rel=\"noopener noreferrer\">multiple<\/a> <a href=\"https:\/\/github.com\/floyd-fuh\/afl-fuzzing-scripts\" target=\"_blank\" rel=\"noopener noreferrer\">AFL<\/a> <a href=\"https:\/\/github.com\/floyd-fuh\/afl-cgi-wrapper\" target=\"_blank\" rel=\"noopener noreferrer\">related<\/a> tools. I have also developed a cracking technique for <a href=\"https:\/\/github.com\/floyd-fuh\/JKS-private-key-cracker-hashcat\" target=\"_blank\" rel=\"noopener noreferrer\">private keys in Java JKS files<\/a> and wrote the <a href=\"https:\/\/unpack.debug.su\/pocorgtfo\/pocorgtfo15.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">&#8220;15:12 Nail in the Java Key Store Coffin&#8221; POC||GTFO article<\/a> about it. I&#8217;ve contributed to projects like <a href=\"https:\/\/github.com\/corelan\/mona\" target=\"_blank\" rel=\"noopener noreferrer\">mona.py<\/a>, <a title=\"American Fuzzy Lop\" href=\"https:\/\/lcamtuf.coredump.cx\/afl\/\" target=\"_blank\" rel=\"noopener noreferrer\">AFL<\/a>, <a title=\"Browser Exploitation Framework\" href=\"http:\/\/beefproject.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Browser Exploitation Framework (BeEF)<\/a>, <a href=\"https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/exploits\/multi\/vpn\/tincd_bof.rb\">Metasploit<\/a> and <a href=\"https:\/\/w3af.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">w3af<\/a>.<\/p>\n<p>I&#8217;m interested in all kind of security topics and I&#8217;m working as an IT security analyst (consultant\/Pentester) at my own company <a href=\"https:\/\/www.pentagrid.ch\/en\/pages\/home\/\" target=\"_blank\" rel=\"noopener noreferrer\">Pentagrid AG<\/a>. Before I started working I got two nice little pieces of papers from my university. Since then I analysed the security of products, systems and environments in well over 250 different projects. I also lectured information security at University and might do again in the future.<\/p>\n<p>A long time ago (2009?) I was active on the remote-exploit.org forums (former backtrack and now kali linux). For example I played with Fake Wireless Access Points, which I still use from time to time. Later I developed a fuzzer plugin for the web application scanner <a href=\"https:\/\/w3af.org\/\">w3af<\/a> and contributed other plugins. For a couple of months I was all into Advanced Search Engine Operators, for example the ip: operator of <a href=\"https:\/\/docs.microsoft.com\/en-us\/previous-versions\/bing\/search\/ff795620(v=msdn.10)?redirectedfrom=MSDN\">Bing<\/a> to detect shared hosting. I wrote two plugins (taking pictures from a webcam and sending it to the attacker as well as a Gmail XSRF logout plugin) for the <a title=\"Browser Exploitation Framework\" href=\"http:\/\/beefproject.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Browser Exploitation Framework (BeEF)<\/a>.<\/p>\n<p>At one point I wanted to move on and explore other areas. I started playing with Atmega microcontrollers, my Raspberry Pi and I built a small 3x3x3 LED Cube with an Arduino. I never dived extremely deep into hardware, but from time to time I&#8217;m still doing hardware related projects. Much later I started doing the <a href=\"https:\/\/newae.com\/tools\/chipwhisperer\/\" target=\"_blank\" rel=\"noopener noreferrer\">ChipWhisperer tutorials<\/a> which can be used to attack hardware such as embedded devices. Although I didn&#8217;t get very far yet. Again several years later now I supported someone trying to Volt glitch a chip, we tried several days, but no success so far.<\/p>\n<p>I did some research and had a few public speeches about Android security. I broke some Android related things that were never made public.<\/p>\n<p>At the same time I was lucky to be able to attend the <a title=\"Corelan\" href=\"https:\/\/www.corelan.be\/\" target=\"_blank\" rel=\"noopener noreferrer\">corelan<\/a> exploit development training. One and a half years later I wrote my first feature for corelan&#8217;s awesome mona.py tool. The unicodealign command I wrote <a title=\"mona unicodealign\" href=\"https:\/\/www.floyd.ch\/?p=795\" target=\"_blank\" rel=\"noopener noreferrer\">automatically generates code alignment code for Unicode buffer overflows<\/a>. The feature is available in mona.py with &#8220;!mona unicodealign&#8221;. The next step was to use this knowledge in the wild, I turned a Proof of Concept crash into a full exploit which circumvents DEP and ASLR, works on x86 and ARM and targets Windows, Linux and FreeBSD. The entire process took a lot of code porting (python to ruby), implementing as a Metasploit module, separating protocol and exploit and so on. In the end it landed in the <a title=\"Tincd buffer overflow metasploit module\" href=\"https:\/\/github.com\/rapid7\/metasploit-framework\/blob\/master\/modules\/exploits\/multi\/vpn\/tincd_bof.rb\" target=\"_blank\" rel=\"noopener noreferrer\">official Metasploit repository<\/a>.<\/p>\n<p>I&#8217;ve been fuzzing a lot, mostly with <a title=\"American Fuzzy Lop\" href=\"https:\/\/lcamtuf.coredump.cx\/afl\/\" target=\"_blank\" rel=\"noopener noreferrer\">AFL<\/a> and helping to improve the tool where I can. I also bought some <a href=\"https:\/\/web.archive.org\/web\/20181110082048\/https:\/\/www.hardkernel.com\/main\/products\/prdt_info.php?g_code=G138745696275\" target=\"_blank\" rel=\"noopener noreferrer\">odroid u3s<\/a> which were under heavy load to fuzz C\/C++ code. For example I reported a couple of issues to the libtiff maintainers and several other projects. From this point on I started fuzzing work-related projects if time permits.<\/p>\n<p>Breaking the products of all three major Mobile Device Management (MDM) vendors is part of my job for many years already. Although most of the found issues are under NDA, a <a href=\"http:\/\/web.archive.org\/web\/20210506221529\/https:\/\/modzero.com\/advisories\/MZ-13-03-GOOD-XSS.txt\" target=\"_blank\" rel=\"noopener noreferrer\">XSS<\/a> and a <a href=\"http:\/\/web.archive.org\/web\/20210224233131\/https:\/\/modzero.com\/advisories\/MZ-15-03-GOOD-Auth-Delegation.txt\" target=\"_blank\" rel=\"noopener noreferrer\">little authentication trick<\/a> aren&#8217;t anymore.<\/p>\n<p>I found a technically very interesting <a href=\"https:\/\/www.floyd.ch\/?p=958\" target=\"_blank\" rel=\"noopener noreferrer\">TLS session resumption race condition in the Twitter iOS app<\/a>.<\/p>\n<p>I&#8217;ve also been collecting &#8220;things that can go wrong&#8221; (mainly things that go wrong in code) as a big script that uses the grep command line tool, the project is called <a href=\"https:\/\/github.com\/floyd-fuh\/crass\">crass<\/a>. I always use it for security analysis when I get zip files thrown at me where I don&#8217;t know where to start. I still think it&#8217;s a good alternative\/addition to <a href=\"https:\/\/semgrep.dev\/\" target=\"_blank\" rel=\"noopener\">semgrep<\/a>. By now crass also made it into the <a href=\"https:\/\/github.com\/e-m-b-a\/emba\" target=\"_blank\" rel=\"noopener\">EMBA<\/a> scanner as a <a href=\"https:\/\/github.com\/e-m-b-a\/emba\/blob\/e7d0615487462a54ea9bda212de4727db4dfbaf9\/modules\/S99_grepit.sh\" target=\"_blank\" rel=\"noopener\">module<\/a>.<\/p>\n<p>I always came back to my web application security roots, this time to release two Burp Suite extensions, an <a href=\"https:\/\/github.com\/floyd-fuh\/burp-HttpFuzzer\" target=\"_blank\" rel=\"noopener noreferrer\">HTTP fuzzer<\/a> and a <a href=\"https:\/\/github.com\/pentagridsec\/PentagridResponseOverview\" target=\"_blank\" rel=\"noopener noreferrer\">response overview<\/a> (it&#8217;s also in the <a href=\"https:\/\/portswigger.net\/bappstore\/e63f09f290ad4d9ea20031e84767b303\">BApp<\/a>) extension. Moreover, I gave <a href=\"https:\/\/web.archive.org\/web\/20190107095849\/https:\/\/area41.io\/workshops\/\" target=\"_blank\" rel=\"noopener noreferrer\">a workshop at the area41.io conference<\/a> about the massive <a href=\"https:\/\/portswigger.net\/bappstore\/b2244cbb6953442cb3c82fa0a0d908fa\" target=\"_blank\" rel=\"noopener noreferrer\">UploadScanner Burp extension<\/a> I wrote during an entire year (it is also available through the official Burp BApp store). As Burp needs to understand custom encoding and encryption, I&#8217;ve released a couple of <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/teaching_burp_a_new_http_transport_encoding\/\" target=\"_blank\" rel=\"noopener\">HTTP transport encoding Burp extensions and background information<\/a>. To improve control of the Burp active scanner for pentesters I&#8217;ve also released the <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/improving-web-application-security-testing-with-pentagrid-scan-controller\/\" target=\"_blank\" rel=\"noopener\">Pentagrid scan controller<\/a> extension to the BApp store.<\/p>\n<p>I have also developed a cracking technique for <a href=\"https:\/\/github.com\/floyd-fuh\/JKS-private-key-cracker-hashcat\" target=\"_blank\" rel=\"noopener noreferrer\">private keys in Java JKS files<\/a> and wrote the <a href=\"https:\/\/unpack.debug.su\/pocorgtfo\/pocorgtfo15.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">&#8220;15:12 Nail in the Java Key Store Coffin&#8221; POC||GTFO article<\/a> about it.<\/p>\n<p>Six years after the Corelan Bootcamp and after solving all its exercises twice as well as writing nicely documented solutions for personal use, I felt ready to go for the <a href=\"https:\/\/www.corelan-training.com\/index.php\/training\/advanced\/\" target=\"_blank\" rel=\"noopener noreferrer\">Corelan Advanced<\/a> course. I went the extra mile and wrote some scripts automating crash exploration for certain exercises, people who took the course can read all about it on the <a href=\"https:\/\/www.corelan-training.com\/index.php\/forum\/information-leaks-browser-exploit-primitives\/browser-exploitation-part-1-case-2-ms14-051\/\" target=\"_blank\" rel=\"noopener noreferrer\">forum<\/a>. That&#8217;s also where I finished my first heap overflow exploit exercise including DEP\/ASLR evasion (memory leak) on Windows 7 with IE8 (CVE-2012-1875). There is still several month of full time work ahead of me to finish all the homework, so I&#8217;m sure that will take me another six years. On the other hand I never sell vulnerability or exploits, so this is only a very time-consuming hobby.<\/p>\n<p>As I like trying new AFL-fuzzer related things, I started fuzzing Java programs with several AFL-based Java fuzzers and found <a href=\"https:\/\/www.floyd.ch\/?p=1090\" target=\"_blank\" rel=\"noopener noreferrer\">several DoS issues<\/a> in Apache Commons, Apache PDFBox, Apache Tika and rediscovered an issue in the Java standard library. Later I found an issue (CVE-2019-17359) in the <a href=\"https:\/\/www.youtube.com\/watch?v=RaBGEgQiE-4\">ASN.1 parser of BouncyCastle (Java)<\/a>. I&#8217;m closely watching the <a href=\"https:\/\/aflplus.plus\/\">AFL++<\/a> developments now of course.<\/p>\n<p>I also gave a couple of <a href=\"https:\/\/www.floyd.ch\/?p=1105\" target=\"_blank\" rel=\"noopener noreferrer\">CTF challenges<\/a> a try and wrote <a href=\"https:\/\/github.com\/floyd-fuh\/PythonSender\" target=\"_blank\" rel=\"noopener noreferrer\">some tools<\/a> while doing them. Afterwards, I started being a trainer for the <a href=\"https:\/\/cybersecurity.li\/\" target=\"_blank\" rel=\"noopener noreferrer\">Liechtenstein<\/a> <a href=\"https:\/\/ecsc.eu\/\" target=\"_blank\" rel=\"noopener noreferrer\">European Cyber Security Challenge (ECSC)<\/a> team, where people between the age of 15 and 25 solve CTF challenges during the year to compete in a yearly European tournament.<\/p>\n<p>While doing <a href=\"https:\/\/www.pentagrid.ch\" target=\"_blank\" rel=\"noopener\">pentesting for Pentagrid<\/a> I broke several things that we made public such as <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/password-reset-code-brute-force-vulnerability-in-AWS-Cognito\/\">a vulnerability in AWS Cognito<\/a>, <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/security_issues_in_teampasswordmanager_and_combodo_itop\/\">a broken password manager<\/a>, a minor issue in a <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/reflected-xss-vulnerability-in-crealogix-ebics-implementation\/\" target=\"_blank\" rel=\"noopener\">Electronic Banking Internet Communication Standard (EBICS) implementation<\/a> (that used a WAF bypass that was then <a href=\"https:\/\/twitter.com\/floyd_ch\/status\/1579741514502062080?s=20&amp;t=eZ5VH7tdxXblW5qz61MuTQ\" target=\"_blank\" rel=\"noopener\">reported to modsecurity<\/a>) or a <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/viseca-expense-credit-card-statement-disclosure\/\" target=\"_blank\" rel=\"noopener\">technically boring IDOR to download credit card statements<\/a>. I didn&#8217;t hack <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/wind-river-vxworks-tarextract-directory-traversal-vulnerability\/\" target=\"_blank\" rel=\"noopener\">NASA&#8217;s Curiosity rover<\/a>.<\/p>\n<p>I started a little moderation for Portswigger on the <a href=\"https:\/\/discord.com\/invite\/portswigger\" target=\"_blank\" rel=\"noopener\">Burp Discord channel<\/a>.<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Turing_completeness#Non-Turing-complete_languages\">Languages<\/a> are important. I know enough German, English, Python, Java, PHP, SQL, Search Engine Operators, HTML, French, Javascript, XML, Bash, Regex, C\/C++, Assembler, Ruby, Vallader Romansh and clef (music) to get along. And probably some others. Let&#8217;s not start with tools. And of course there are Metasploit modules I&#8217;d like to release and a hundred things I&#8217;d like to write about in public. But that&#8217;s not how our industry works.<\/p>\n<p>I&#8217;ve been speaking and giving workshops at various conferences and meetups, including <a href=\"https:\/\/www.youtube.com\/watch?v=aFMTzFfX1Z4\" target=\"_blank\" rel=\"noopener\">area41<\/a>, hashdays (the former area41), OWASP Switzerland, 0sec, BSides Zurich, <a href=\"https:\/\/www.youtube.com\/watch?v=3T40ZBoVf5o\" target=\"_blank\" rel=\"noopener\">Blackalps<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=RaBGEgQiE-4\">Swiss Cyber Storm<\/a> and other security meetups as well as private conferences. I&#8217;ve and I still am participating in the review board of a very large event.<\/p>\n<p>In the past I&#8217;ve collected bug bounties from <a href=\"https:\/\/hackerone.com\/twitter\" target=\"_blank\" rel=\"noopener\">Twitter<\/a>, <a href=\"https:\/\/hackerone.com\/shopify\" target=\"_blank\" rel=\"noopener\">Shopify<\/a> and <a href=\"https:\/\/www.swisscom.ch\/en\/about\/security\/bug-bounty.html\" target=\"_blank\" rel=\"noopener\">Swisscom<\/a>.<\/p>\n<p>Contributed to CVEs: CVE-2015-8870, CVE-2015-9232, CVE-2016-10511, CVE-2017-10356, CVE-2018-1338, CVE-2018-1339, CVE-2018-8017, CVE-2018-8036, CVE-2018-12418, CVE-2018-11771, CVE-2018-3214, CVE-2019-17359, CVE-2019-19461, CVE-2019-19821, CVE-2022-3442. However, as MITRE is super unreliable in assigning CVEs for vulnerabilities (they often don&#8217;t reply to emails), I don&#8217;t always bother anymore to request one (better check the <a href=\"https:\/\/www.pentagrid.ch\/en\/blog\/\" target=\"_blank\" rel=\"noopener\">Pentagrid blog<\/a> for what we could have requested one).<\/p>\n<p>You can send me an email to floyd at floyd dot ch. Or simply leave me a message here. Currently I usually social media on <a rel=\"me\" href=\"https:\/\/chaos.social\/@floyd\">Mastodon<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR: I wrote a couple of advisories, several Burp extensions, I&#8217;m the author of a Metasploit module with various different OS\/architecture targets and multiple AFL related tools. I have also developed a cracking technique for private keys in Java JKS &hellip; <a href=\"https:\/\/www.floyd.ch\/?page_id=2\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-2","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2"}],"version-history":[{"count":93,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":1409,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions\/1409"}],"wp:attachment":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}