Corben Leo Profile picture
Jan 27 15 tweets 5 min read
I hacked the military.

A system containing the information of military personnel.

Yet, the hack was done legally.

Here's how I did it and how it was done legally:
1. I came across an Army server running ASP .NET

The application was a Learning Management System (LMS).

If you’ve been in school in the past 10-15 years, you’ve likely used one: Moodle, Canvas, D2L, Blackboard, etc.

This LMS allowed anonymous registration.

So I registered!
2. I proxied my HTTP traffic through Burp Suite and started using the application.

I clicked every button, filled out forms, and even took a test.

Enumerating the site’s functionality.

The more you know about how an application works, the easier it is to find vulnerabilities.
3. After reading through javascript & directory brute-forcing, I came across the endpoint:

“/base/courseware/scorm/management/scorm2004uploadcourse.aspx”

It allowed an administrator to create a new course by uploading a SCORM course package.

What the heck is SCORM?
4. SCORM stands for “Sharable Content Object Reference Model”.

It’s a standard format for courses that any learning management system will understand.

To break it down to its simplest, they’re just zip files:
5. They contain an XML file named “imsmanifest.xml” which:

a) Describes the course
b) Specifies files for each learning activity.

The zip also contains all of the resources that make up the course material.

Typically HTML, JS, and CSS files, occasionally .swf files
6. You create your course in HTML & JS, etc.

a) List file names in the XML
b) Zip the entire folder
c) Upload the zip to your LMS.

While I could hit this endpoint, I wasn't sure if the creation would be successful.

As a non-privileged user, I shouldn’t be able to create one.
7. So what should I try to upload?

Arbitrary HTML/JS would lead to stored cross-site scripting.

But that's really not interesting to me.

Remember, this was running ASP.NET

What about an .aspx file?

That would likely result in code execution!
8. I found an example SCORM2004 course online and downloaded it.

I created an ASPX shell that took the parameter ?c= and executed the command.

I named it `cdlcdlcdl.aspx`, then specified the file name in `imsmanifest.xml`

I re-zipped the folder, so that it was valid SCORM2004.
9. I tried uploading the package.

Would it actually create a course?

Even if it did, would I be able to find WHERE it was uploaded to?

If I could find where it uploaded, would the ASPX even execute?
10. It worked.

In the response, the application listed a URL for the base directory of the course:

/shared/F6BAC72B45D64B34ACB662BB001D8523/

I named my shell cdlcdlcdl.aspx, so I tried:

/shared/F6BAC72B45D64B34ACB662BB001D8523/cdlcdlcdl.aspx?c=whoami

The command executed:
11. How could this be legal?

A small number of ethical hackers are invited to find vulnerabilities & report them during joint bug bounty challenges between @Hacker0x01 & @DeptofDefense

I've won the challenges:

• Hack the Proxy
• Hack the Army 2.0
• Hack the Army 3.0

So,
12. I reported it & was awarded a bounty. One of many!

Want to hear more about securing US Defense assets?

On Jan 31st, I'll be chatting w/ @Hacker0x01's CTO @senorarroz
about securing US Defense assets!

Register here in advance:

ow.ly/Ngx050MqvmM
PS: Do your employees struggle to catch phishing emails?

I need your help – I want to have conversations about how you're currently tackling it.

Why? I'm trying to build a better solution.

If willing, please:

• Join the @BreachlessAI waitlist
• Shoot me a message
Lessons:

1. Be curious
2. Take your curiosity and learn something new.
3. Target ASP .NET apps ;)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Corben Leo

Corben Leo Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @hacker_

Jan 25
I hacked a car company last year.

I found a way to steal every customer's

• Name
• Email address
• Phone number
• Address

Here's how I did it:
1. I started with reconnaisance:

- Subdomain enumeration to find the company's subdomains.
- HTTP server probing to see what's online

$ subfinder -d example[dot]com | httpx -o target.httpx

I came across a webserver running IIS:

hxxps://installersupport.██████.com/
2. I wanted to know what files were on the host, without brute-forcing.

getallurls (gau) fetches known URLs from:

• AlienVault's Open Threat Exchange
• the Wayback Machine
• Common Crawl
• URLScan.

So I ran it against the domain:

$ gau installersupport.██████.com
Read 15 tweets
Jan 2
I hacked a large company (70k+ employees) through social engineering. Legally of course.

• I set up the infrastructure
• Scraped names & emails with LinkedIn
• Sent 200 phishing emails.

I had access to their AWS console within 2 minutes.

And much more:
1/ I used Evilnginx2 to bypass MFA (Okta & Duo)

From Okta, I could access Outlook, Sharepoint, Github, & many more services on behalf of the 50+ employees that fell for the phish.

I was blown away by how easy it was to pull off this "hack" that could've impacted 60M+ people.
2/ Phishing attacks are on the rise and are becoming more sophisticated.

Last year we saw Uber, Dropbox, Twilio, Axie Infinity ($625M theft), and more compromised through phishing.

People argue that humans are the "weakest link", yet, companies of all sizes still rely on:
Read 8 tweets
Dec 31, 2022
My favorite hacking stories of 2022:
Read 12 tweets
Nov 25, 2022
I hacked a phone company earlier last year.

I found a stupidly simple way to view the call logs of 50M customers.

Here's how I did it:
1/ I've been in this bug bounty program for quite some time.

I previously bought a phone plan so I could login and test functionality as an authenticated user.

In the dashboard, there was a tab to view your call logs.
2/ The URL contained a parameter called "subscriberId".

It contained a numerical ID, so obviously I tried to change it to another users.

Unfortunately, it didn't work.
Read 8 tweets
Sep 29, 2022
I hacked a gaming company this year.

Here's how I did it:
1/ The scope of this program was *.███.com

With a wildcard, basic recon is:

Subdomain Enumeration + HTTP server probing:

$ subfinder -d example[dot]com | httpx -o example.httpx
2/ HTTPX gave me 300 web-servers to target.

One stuck out to me:

hxxps://rendering-prd.redacted[.]com

"rendering" stuck out to me. Why?

Render means to "process information". Often to another format.

With web apps, it's typically HTML to another format.
Read 16 tweets
Sep 16, 2022
Uber was hacked.

The hacker social engineered an employee -> logged into the VPN and scanned their intranet. 👇
Apparently there was an internal network share that contained powershell scripts...

"One of the powershell scripts contained the username and password for a admin user in Thycotic (PAM) Using this i was able to extract secrets for all services, DA, DUO, Onelogin, AWS, GSuite"
*allegedly hacked
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(