{"id":16477,"date":"2019-08-13T16:08:00","date_gmt":"2019-08-13T14:08:00","guid":{"rendered":"https:\/\/herolab-usd.formwandler.rocks\/news-cyber-security-transformation-chef\/"},"modified":"2024-04-10T09:32:51","modified_gmt":"2024-04-10T07:32:51","slug":"news-cyber-security-transformation-chef","status":"publish","type":"post","link":"https:\/\/herolab.usd.de\/en\/news-cyber-security-transformation-chef\/","title":{"rendered":"Cyber Security Transformation Chef"},"content":{"rendered":"\n<p>usd Herolab proudly presents the Cyber Security Transformation Chef (shorthand CSTC), which is a Burp Extension for various input transformations. It implements a generic way to replace the need for numerous specialized extensions.<\/p>\n\n\n\n<p>After the initial presentation at&nbsp;<a href=\"\/news-cstc-auf-def-con-27-der-rueckblick\/\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"rank-math-link\">DEF CON 27<\/a>&nbsp;we submitted our CSTC extension to&nbsp;<a rel=\"noreferrer noopener\" class=\"rank-math-link\" href=\"https:\/\/portswigger.net\/bappstore\/866df66d339d4bcd9b599772aff32efd\" target=\"_blank\">Burps BApp Store<\/a>&nbsp;and made the source code available on&nbsp;<a rel=\"noreferrer noopener\" class=\"rank-math-link\" href=\"https:\/\/github.com\/usdAG\/cstc\" target=\"_blank\">GitHub<\/a>. We highly welcome feedback and contributions to make CSTC an even more useful extension.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_3\">Why another extension?<\/h3>\n\n\n\n<p>There is always the question: Why does anybody need another extension in Burp? The answer is that often other extensions are built to solve a specific problem and cannot be used for other similar problems.<\/p>\n\n\n\n<p>The CSTC solves this problem by being a generic problem solver tool. It contains a wide range of very simple operations, but these operations can be chained into complex transformations allowing a Pentester to create exactly the transformation needed to test a specific product without the need of writing code. As we all now, writing code is not a very big problem, but setting everything up and fighting with the tools can be.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tool Overview<\/h3>\n\n\n\n<p>This is the tab, which is added to the Burp Suite after loading the extension:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-1-1024x567.png\" alt=\"\" class=\"wp-image-15597\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-1-980x543.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-1-480x266.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>We will now discuss the different areas that can be seen in the screenshot below.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-2-1024x567.png\" alt=\"\" class=\"wp-image-15596\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-2-980x543.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-2-480x266.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_10\">Chain Selector Tabs (At the top; green)<\/h3>\n\n\n\n<p>The CSTC has the capability to not only change outgoing requests, but also to change incoming requests. In addition, the CSTC can be used to display changed messages to the Pentester in a new tab. This is quite useful for observing zipped\/encoded cookie values, for example.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_22\">Operations (On the left side; orange)<\/h3>\n\n\n\n<p>The operations menu gives an overview of all operations currently available in the CSTC. The operations are grouped by different categories. At the top is a search box for finding the right operation quickly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_26\">Input\/Output (On the right side; red)<\/h3>\n\n\n\n<p>The Input and Output text areas show what is going into the CSTC before and after the transformation. Don\u2019t be confused by the naming here. There is always something entering the transformation and something leaving the transformation. This is the Input and Output box here. If it is in the \u201cOutgoing Requests\u201d tab, the input would be a request that you send in the Repeater for example. If you are in the \u201cIncoming Responses\u201d tab, the input will be the answer from the webserver and the output will be what is going to be displayed in the Burp Suite (and also what you will get in the browser).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_31\">Recipe (In the middle; blue)<\/h3>\n\n\n\n<p>This is where the magic happens. This is the place where recipes are built using the small operations you have on the left side. Users can drag and drop the operations into this window.<\/p>\n\n\n\n<p>You can see vertical lines numbers at the top. This is what we will call a lane. Each lane has a number at the top, which represents the position of the lane. The lanes are placed from left to right in increasing order.<\/p>\n\n\n\n<p>Each lane is fed with the unchanged input. The last active lane (meaning the lane with the biggest number and a not disabled operation in it) determines the output of the whole recipe. The result of each lane is also saved into variables, which can be used as additional input for certain operations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_35\">Variables<\/h3>\n\n\n\n<p>The variables window can be opened by clicking on the Variables Button in the recipe panel. It can be used to review the currently used variables and their content. The variables are automatically created for each tab (incoming, outgoing, formatting) and each active lane inside these tabs. So you can use any variable available here in most of the input boxes inside the operations. You need to prepend a&nbsp;<strong>$&nbsp;<\/strong>before the variable name to use it. This is to reduce false positives with the chosen names. A quick way of adding variables to a textbox is to just right click the box. A popup menu will let you choose from all available variables.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\" \/>\n\n\n\n<p>Notice: Due to incompatibility issues with Burp\u2019s BApp Store we had to switch the variable prefix from&nbsp;<strong>\u00a7<\/strong>&nbsp;to&nbsp;<strong>$<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\" \/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_41\">Real World Example 1<\/h3>\n\n\n\n<p>Now we talked a lot about how the tool is built and how it can theoretically be used. Let us just use an easy example to see what the benefits of the CSTC are.<\/p>\n\n\n\n<p>Let us say we have a web application and we look at the first interesting looking request:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-3-1024x579.png\" alt=\"\" class=\"wp-image-15595\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-3-980x554.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-3-480x271.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>As one can see, the web application has an API using JSON encoded requests. An experienced Pentester will directly identify the last field in the dictionary as a UNIX timestamp. A short test after a few seconds reveals that the web application somehow checks this timestamp and ignores the request if the timestamp is not up to date:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-4-1024x579.png\" alt=\"\" class=\"wp-image-15594\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-4-980x554.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-4-480x271.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>A further test without supplying the correct timestamp is utterly pointless, because most modern web applications do an input validation before the data is further processed. In the following graphic, this problem is further illustrated:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"404\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-5.png\" alt=\"\" class=\"wp-image-15593\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-5.png 714w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-5-480x272.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 714px, 100vw\" \/><\/figure>\n\n\n\n<p>The interesting functions cannot be tested automatically, because the processing ends early without ever reaching the actual code for the different functions this web service implements. It is a bit like testing a web application without being correctly authenticated.<\/p>\n\n\n\n<p>The CSTC provides an easy solution to the shown example. Without any extension, we have the problem that Burp has no feature of changing the timestamp inside the request to the current one.<\/p>\n\n\n\n<p>With the CSTC we can just create a very simple recipe for doing this. To create such recipes, it is useful to just send the request to the appropriate tab to the CSTC. For our purpose, we are going to use the outgoing tab, because we want to change the request from Burp to the web application.<\/p>\n\n\n\n<p>The final recipe for this problem is shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-6-1024x558.png\" alt=\"\" class=\"wp-image-15592\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-6-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-6-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>We use the first lane to just get the output of the Unix timestamp operation. This operation ignores the input, so it is used as single operation in a single lane. Then we use the second lane using a replacement operation with the regular expression&nbsp;<strong>\u201cts\u201d: [0-9]+<\/strong>, which is just an expression for matching our timestamp including the appropriate key inside the JSON request. The replacement is again the key that we matched in the expression and we then append the result of the first outgoing lane.<\/p>\n\n\n\n<p>After setting up the recipe, we need to activate it for the tool we want to use. For now, we are going to activate it for the repeater tool by pressing filter and then selecting it:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"262\" height=\"165\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-7.png\" alt=\"\" class=\"wp-image-15591\" \/><\/figure>\n\n\n\n<p>Then we can head back to the repeater tool and see that it now works:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-8-1024x558.png\" alt=\"\" class=\"wp-image-15590\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-8-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-8-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>However, that particular request seems to be not very interesting. We could now use the repeater to further investigate this API. For the sake of demonstration, we will now utilize the intruder to search for other interesting functions. We get back to the CSTC, enable the CSTC for intruder purposes as well, configure, and start an intruder for finding further functions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-9-1024x558.png\" alt=\"\" class=\"wp-image-15589\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-9-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-9-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-10-1024x558.png\" alt=\"\" class=\"wp-image-15588\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-10-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-10-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>We are in luck and find another function called \u201copen\u201d which we can further test in the repeater. Again, for demonstration purposes, we will configure insertion points and utilize the Burp scanner to find vulnerabilities. After that, we activate the CSTC for the scanner as well.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-11-1024x558.png\" alt=\"\" class=\"wp-image-15587\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-11-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-11-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>As we can see in the following picture, the scanner found a vulnerability inside this open function:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"580\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-12-1024x580.png\" alt=\"\" class=\"wp-image-15586\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-12-1024x580.png 1024w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-12-980x555.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-12-480x272.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>Therefore, we can see that we found a vulnerability behind the input validation:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"404\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-13.png\" alt=\"\" class=\"wp-image-15585\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-13.png 714w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-13-480x272.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 714px, 100vw\" \/><\/figure>\n\n\n\n<p>In this example the CSTC assisted the Pentester providing a simple way of getting the inputs right to directly start testing instead of knowingly scratching the surface. We saw that an easy recipe like in this example can be used to further test web applications which otherwise would have required specialized Burp extensions, or tedious Burp macros.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_45\">Example 2<\/h3>\n\n\n\n<p>In this example, we use a similar API with the exception that it is used by a fat client using a HTTP-endpoint. The traffic is obfuscated using a simple xor operation. Obfuscating network traffic \u2013 instead of relying on authenticated, integrity checked and encrypted communication channels \u2013 is something that we come across quite often. Although the pure xor operation is something that is very simple, the amount of time used to adapt the used tools can be quite time consuming. Therefore, we want to show you how easy pentesting an obfuscated client can be using the CSTC and how this can speed up your work.<\/p>\n\n\n\n<p>In the following, you can see the obfuscated request and response:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-14-1024x558.png\" alt=\"\" class=\"wp-image-15584\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-14-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-14-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>As you can see, in the current state, without further extending Burp, there is no way of testing this application or using standard tools to test it.<\/p>\n\n\n\n<p>Now we are going to activate the following two recipes for incoming and outgoing traffic:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-15-1024x558.png\" alt=\"\" class=\"wp-image-15583\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-15-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-15-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-16-1024x558.png\" alt=\"\" class=\"wp-image-15582\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-16-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-16-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>With these two recipes enabled, testing this application is now as easy as testing every other application. In addition, we can introduce further convenience features like fixing sequence numbers and putting them in before submitting the request to the server.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"558\" src=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-17-1024x558.png\" alt=\"\" class=\"wp-image-15581\" srcset=\"https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-17-980x534.png 980w, https:\/\/herolab.usd.de\/wp-content\/uploads\/sites\/9\/2019\/08\/usd-herolab-news-cstc-17-480x262.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p>You can also use other tools like sqlmap with Burp as a proxy to transparently interact with the endpoint.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_2\">Insights<\/h3>\n\n\n\n<p>For more information on our CSTC check out our <a href=\"https:\/\/youtu.be\/6fjW4iXj5cg?feature=shared\" target=\"_blank\" rel=\"noopener\">demo video on YouTube<\/a>.<\/p>\n\n\n\n<p>The video gives a short introduction on the general idea of the CSTC and how to get it up and running. Furthermore, it walks you through the UI and features of the plugin along the lines of exemplary use-cases.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>usd Herolab proudly presents the Cyber Security Transformation Chef (shorthand CSTC), which is a Burp Extension for various input transformations. It implements a generic way to replace the need for numerous specialized extensions. After the initial presentation at&nbsp;DEF CON 27&nbsp;we submitted our CSTC extension to&nbsp;Burps BApp Store&nbsp;and made the source code available on&nbsp;GitHub. We highly [&hellip;]<\/p>\n","protected":false},"author":96,"featured_media":16478,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[76],"tags":[125,126,88,86],"class_list":["post-16477","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-burp-extension-en","tag-burp-suite-en","tag-pentest-en","tag-security-research-en"],"_links":{"self":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/posts\/16477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/users\/96"}],"replies":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/comments?post=16477"}],"version-history":[{"count":1,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/posts\/16477\/revisions"}],"predecessor-version":[{"id":22495,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/posts\/16477\/revisions\/22495"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/media\/16478"}],"wp:attachment":[{"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/media?parent=16477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/categories?post=16477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/herolab.usd.de\/en\/wp-json\/wp\/v2\/tags?post=16477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}