Mudge is the new head of security at Twitter, which got me talking about cDc, hacking groups, cliques, and the distinctions between them. I mentioned 8lgm and TESO as examples of hacking groups best understood as hacking groups, unlike cDc.

Someone said: “never heard of them”.
This creates an opportunity for me to talk again about my favorite exploit of all time, unquestionably a part of the canon of our field.
The year is 1995 and BSD Unix runs the Internet. The most important hacking target is SunOS 4.1.3; every network you want to get on is running it somewhere, and often everywhere.

The most important SunOS security research group: 8lgm.
There is a pattern of vulnerabilities dominating SunOS and BSDI, the same way, say, SQLI or SSRF does today. It’s the IFS vulnerability.

The shell uses IFS to decide what character it should use to separate fields. Space? Comma? Colon?
Most SunOS vulnerabilities are SUID vulnerabilities. SUIDs are programs that are run by users but have root privileges. “passwd” is the obvious example; you need (limited) root access to edit your entry in the password file.

IFS is problematic for SUIDs.
The reason why is that 1990s C programs tend to be strung together out of other 1990s C programs. A program calls `system(“/usr/bin/whatever”)` to get some work done; system invokes the shell, the shell cares about IFS.
Set your IFS=/ and the shell is no longer executing “/usr/bin/whatever”, but instead “usr bin whatever”; you control “usr” (in tmp or whatever), that’s the ballgame. (It’s been awhile, correct me on the details here).
So there’s a long string of IFS vulnerabilities in all sorts of programs and Sun gets around to fixing one of them, in `loadmodule` — in 1990s Unix, you had multi-user systems with an SUID `loadmodule` that ordinary users could run, because that’s how we rolled. But I digress.
8lgm publishes an IFS vulnerability in `loadmodule`.

Sun responds by knocking out IFS from the environment at the beginning of `loadmodule`.

8lgm responds by…
SETTING A SECOND IFS VARIABLE.

It apparently hadn’t occurred to anyone that you could do that, because putenv() and setenv() won’t let you; you have to manually edit the environment.

Loadmodule knocks out the first IFS, but getenv() still sees the second.
I think that’s pretty much the point where I fell in love with this stupid field. I still remember where I was when I read that Bugtraq post (I would have been 18?).

8lgm should probably be better known to people for kicking off the stack overflow craze.
As my friend Ivan points out, 8lgm invented the modern security advisory (prior to them, details about vulns were traded on secret mailing lists, which lists were the reason 60% of hackers hacked anything). They were the pioneers of full disclosure security.
That is, until Sendmail 8.6.12, which they teased in an advisory but didn’t provide an exploit for.

Sendmail, you gotta understand, is _the most important_ software target on the 1995 Internet. Sendmail vulnerabilities are the Gold Krugerrand of the #hack market.
(everything on the 1995 Internet runs Sendmail; even if they’re not running SunOS, they’re still probably running Sendmail; a Sendmail zero-day is skeleton key for the whole Internet).
Everyone had been getting by with the Sendmail 8.6.9 exploit, the last good Sendmail remote, but it was getting played out (and the bug was boring). 8lgm’s 8.6.12 was a huge deal.

The problem? It was a stack overflow, and they didn’t release an exploit.
Nobody knew how to exploit stack overflows! It’s crazy to think about that now, when we sort of expect high school kids to be able to pull them off (I guess that’s what we were back then too, but whatever).
I vividly remember being in a room with Mudge after… Pumpcon? While he and a bunch of other people worked out stack overflow exploits with GDB. A total frenzy to get this working, and entirely due to 8lgm’s 8.6.12 tease.
(Ultimately vicm and daveg won the race to publish, with the Linux splitvt exploit, which became the template for the next several years worth of carnage as a zillion overflows people had written off as not-exploitable suddenly became exploitable).
Anyhow, I’m a cDc skeptic, at least as hacking groups go, and I can make the case that there are hacking groups that do sort of merit the special name. But as people go? Mudge is a serious dude, old school, has always known his shit. Good get for Twitter I guess? Congrats to him.

• • •

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

Keep Current with Thomas H. Ptacek

Thomas H. Ptacek 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 @tqbf

16 Nov
Kind of crazy watching the orange site, which believes I’m an NSA stooge, fall over itself arguing that publishing DKIM keys to provide deniable email would be a grave injustice, depriving “activists and historians”.
This is what happens when you have a culture that attempts to derive everything axiomatically, just moments after reading something. They forget that deniable messages are literally part of the premise of messaging cryptography. otr.cypherpunks.ca/otr-wpes.pdf
This is currently the top comment on the thread. Again: these people think I’m a shill for NSA.
Read 6 tweets
19 Oct
So here is a paragraph.
We live in… times.
I love this article so much.
Read 8 tweets
16 Mar
Welp it’s 6PM and the one judge with the key to our equipment is nowhere to be found so this is all going great.
Also according to the signal strength indicator it’s possible I moved our precinct into a faraday cage so go me!
Flash update: we have established contact with the poll tech. Her first question: “do you have the key to the equipment?”
Read 30 tweets
24 Jan
Here is an argument against donating to presidential candidates, stated less glibly than I did last night.

First premise: downballot races need the money. Even small donations to House and state candidates make a difference.
Second premise: presidential candidates don’t really need your money. They won’t notice it. They’re swimming in it.

Third, and most important premise: a downballot donation helps the top of the ticket.
That is to say: every dollar you donate to JD Scholten in IA-4 is going to help Sanders, Warren, Klobes, whoever. The voters JD Scholten turns out aren’t going to vote for Trump.

(Is that 100% true? No, but, close.)
Read 6 tweets
11 Oct 19
While I’m babbling about hiring: one thing we do for our startup clients is help with recruiting. We do that in a bunch of different ways (everyone recruits a little differently).
BY WAY OF EXAMPLE let me tell you about Hudl, who we’ve been working with for awhile and are just awesome people. Hudl does sports analytics.
I am (s h o c k e r) not a sports person, but I’m not a day trader either and found pentesting FIX endpoints and order routers totally fascinating.
Read 6 tweets
11 Oct 19
Let me see if I can explain the logic to you: security is about competing costs between attackers and defenders. DoH is cost-effective --- free, in fact, for the huge number of home/private users who benefit from it, and directly addresses a real threat they face.
Passive DNS security monitoring, on the other hand, is just another metaphorical box enterprise people stack on the giant shambolic stack of boxes they’ve been sticking on their networks for 20 years in the hopes of protecting endpoints without protecting endpoints.
I am fine, really, truly, just fine if Allstate or Schwab wants to monitor DNS on their networks. They can use DoT.
Read 4 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

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

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!