<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>security on Leander&#39;s Blog</title>
    <link>https://blog.leandergoetz.eu/en/tags/security/</link>
    <description>Leander&#39;s Blog (security)</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>de-de</language>
    <lastBuildDate>Fri, 10 Jan 2020 00:00:00 +0000</lastBuildDate>
    
    <atom:link href="https://blog.leandergoetz.eu/en/tags/security/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>schools and privacy: don&#39;t mix!</title>
      <link>https://blog.leandergoetz.eu/en/posts/webuntis/</link>
      <pubDate>Fri, 10 Jan 2020 00:00:00 +0000</pubDate>
      
      <guid>https://blog.leandergoetz.eu/en/posts/webuntis/</guid>
      <description>&lt;p&gt;If you are/ were a student in Austria during thr last 10 years, you probably came into contact with the company WebUntis. Mostly known for their timetable manager tool and security flaws.&lt;/p&gt;
&lt;p&gt;So the company&amp;rsquo;s reputation really isn&amp;rsquo;t the best when it comes to security vulnerabilities and how they handle them. It took them allegedly 5 months to close a XSS-vulnerability on their site&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; But for an austrian enterprise whose headquarters are located in Lower Austria they are actually doing pretty good.&lt;/p&gt;
&lt;p&gt;Or so I thought.&lt;/p&gt;
&lt;h1 id=&#34;school-admins-are-just-people-too&#34; &gt;School-Admins are just people too
&lt;span&gt;
    &lt;a href=&#34;#school-admins-are-just-people-too&#34;&gt;
        &lt;svg viewBox=&#34;0 0 28 23&#34; height=&#34;100%&#34; width=&#34;19&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; fill=&#34;none&#34; stroke-linecap=&#34;round&#34; stroke-miterlimit=&#34;10&#34; stroke-width=&#34;2&#34;/&gt;&lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; fill=&#34;none&#34; stroke-linecap=&#34;round&#34; stroke-miterlimit=&#34;10&#34; stroke-width=&#34;2&#34;/&gt;&lt;/svg&gt;
    &lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;&lt;p&gt;Being responsible for the IT-System of a school must be horrible. Colleagues forget their passwords, the student-database needs to be constantly kept up-to-date and you have to work with horrible Software, such as &lt;strong&gt;Excel&lt;/strong&gt;(😔), &lt;strong&gt;Word&lt;/strong&gt;(🤮)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Heartfelt condolences to you, admins ❤️&lt;/p&gt;
&lt;p&gt;But nevertheless: some mistakes can not be forgiven!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So it turns out that most school administrators either did not read the WebUntis-Manuals carefully enough or they simply misunderstood the meaning of some website-settings. But these &amp;ldquo;minor&amp;rdquo; mistakes are the reason for why the data of 100s of students is freely accessible online.&lt;/p&gt;
&lt;h1 id=&#34;so-whats-the-problem-now&#34; &gt;So what&amp;rsquo;s the problem now?
&lt;span&gt;
    &lt;a href=&#34;#so-whats-the-problem-now&#34;&gt;
        &lt;svg viewBox=&#34;0 0 28 23&#34; height=&#34;100%&#34; width=&#34;19&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; fill=&#34;none&#34; stroke-linecap=&#34;round&#34; stroke-miterlimit=&#34;10&#34; stroke-width=&#34;2&#34;/&gt;&lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; fill=&#34;none&#34; stroke-linecap=&#34;round&#34; stroke-miterlimit=&#34;10&#34; stroke-width=&#34;2&#34;/&gt;&lt;/svg&gt;
    &lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;&lt;p&gt;As much as I would like to show you what I mean by that: I won&amp;rsquo;t.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Why?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Because we are talking about data of minors, children. And this is not a &amp;ldquo;how-to-get-arrested tutorial&amp;rdquo;.
AFAIK 3 schools in and outside of Vienna are affected - roughly 1800 students total. The data you can access freely include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Class-Name 🤨&lt;/li&gt;
&lt;li&gt;First and Last name 🤨🤨&lt;/li&gt;
&lt;li&gt;Electives and schedule 🤨🤨&lt;/li&gt;
&lt;li&gt;Religious belief (can be deducted from religion-class) 🤨🤨🤨&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But what I can show you is how stupid some of WebUntis&amp;rsquo; design really is!&lt;/p&gt;
&lt;p&gt;Enjoy 😁&lt;/p&gt;
&lt;h1 id=&#34;webuntis-security-bullshit&#34; &gt;WebUntis &lt;del&gt;Security&lt;/del&gt; &lt;em&gt;Bullshit&lt;/em&gt;
&lt;span&gt;
    &lt;a href=&#34;#webuntis-security-bullshit&#34;&gt;
        &lt;svg viewBox=&#34;0 0 28 23&#34; height=&#34;100%&#34; width=&#34;19&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&gt;&lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; fill=&#34;none&#34; stroke-linecap=&#34;round&#34; stroke-miterlimit=&#34;10&#34; stroke-width=&#34;2&#34;/&gt;&lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; fill=&#34;none&#34; stroke-linecap=&#34;round&#34; stroke-miterlimit=&#34;10&#34; stroke-width=&#34;2&#34;/&gt;&lt;/svg&gt;
    &lt;/a&gt;
&lt;/span&gt;
&lt;/h1&gt;&lt;p&gt;When I went to school, our admin configured the timetable-accessibilty by groups. So if you were a student, you could see any other students timetable.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For a long time, I thought only our admin did this bad practice&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Turns out: &lt;em&gt;This is pretty normal for most schools!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This alone is a big security hazard. It only takes one students compromised account to get access to the whole network.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But it even get&amp;rsquo;s better!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The default username and password can be configured and most of the time the login credentials look like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# Schüler: Maximilian Mustermann (10.10.2001)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;must.max&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;Password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;20011010&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Every admin has the possibility to customize these defaults, so every school does their own thing - which is good for security!&lt;/p&gt;
&lt;p&gt;But oh boy you gotta look at this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.leandergoetz.eu/pics/webuntis/webuntisTutorial.jpg&#34; alt=&#34;Oh no&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;😐&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Apparently, a lot of schools send out guides on how to use WebUntis. With a little bit of Google-Dorking&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; you will find most of them. Now you know the default credential sytle 🎉 And I am pretty sure that there will be some students that &lt;em&gt;don&amp;rsquo;t&lt;/em&gt; change their default password.&lt;/p&gt;
&lt;p&gt;But this alone is not yet the real problem!&lt;/p&gt;
&lt;p&gt;Once you are logged in, you can see your fellow students usernames. No fullnames?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Great, so where do the fullnames come from then?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Well, you can not only see everyones timetable, but you can also &lt;em&gt;print&lt;/em&gt; them:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.leandergoetz.eu/pics/webuntis/webuntisPlease.gif&#34; alt=&#34;I MADE THIS GIF WOOOO&#34;&gt;&lt;/p&gt;
&lt;p&gt;Clicking on that will open a new &lt;em&gt;window&lt;/em&gt; with the timetable being formatted in HTML (no PDFs are created)&lt;/p&gt;
&lt;p&gt;and what is that?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://blog.leandergoetz.eu/pics/webuntis/webuntisFullname.jpg&#34; alt=&#34;Oh no, our timetable - it&amp;amp;rsquo;s broken!&#34;&gt;&lt;/p&gt;
&lt;p&gt;Stay safe y&amp;rsquo;all&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;&lt;a href=&#34;https://packetstormsecurity.com/files/157998/WebUntis-2020.12.1-Cross-Site-Scripting.html&#34;&gt;Bug report&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;also called &lt;a href=&#34;https://en.wikipedia.org/wiki/Google_hacking&#34;&gt;Google-Hacking&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
  </channel>
</rss>
