Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Linux Software

Crack.LinuxPPC.org Cracked 125

An anonymous reader noted that it appears that crack.linuxppc.org has been, well, cracked. There is a mirror of the defaced page at here being hosted by attrition.org. The actual box is down as of when I type this. On the upside, it sure took a long time for someone to get in there (I'm still amused that they posted the root password). Jason Haas from LinuxPPC said "The machine is going to Daniel Jacobowitz, who won it legitimately. The subsequent problems occured after Dan installed a backdoor, and have since been cleared up. The original problem was that proftpd-1.2.0pre4 was left running with a /incoming directory."
This discussion has been archived. No new comments can be posted.

Crack.linuxppc.org Cracked?

Comments Filter:
  • I hadn't even _tried_ that one :)
    Funny, that even with competitions like this, the easy holes always seem to stay open..
    I think it's sort of a bad thing that the linuxppc guys missed it themselves though...

    Emphyrio
  • Is this something new, or did they just not bother to fix it?

    Is this sort of exploit a wide-spread problem, or did they just goof up?
  • The box seems to be up, with this message:

    We had a sudden influx of script kiddies. Page temporarily offline until the machine is fixed.

    This machine resecured courtesy of drow


    I guess they're a bit irked about this latest hack.

    I am totally impressed that this server stayed up and uncracked for such a long time. That is, after it woke up from its slashdot-effect induced coma.

    I think more companies should do this with their beta products. It would be a great thing for companies to start putting up beta versions of their servers, securing them the best they can and opening them up for attacks. This would let everyone know if the server they are about to install can withstand the force of everyone throwing what they've got at it. If more companies started creating these open targets, it would also create a situation where anyone who did not would instantly be up for scrutiny. What better method of peer review for a software project. That, and open hacking wars like this are just plain fun.

    //Pre-Coffee Phizzy



  • That doesn't make sense to me. I mean, I assume that the ftpd does a chroot() to the top-level ftp directory. This, by itself, does not explain how someone got root on the machine.

  • there's always a way to hack a machine. just takes a while to find it i guess. Still, to keep a /incoming directory open was pretty damn stupid if you ask me.
  • he exploited a buffer overflow in proftd. since the machine was a ppc, no one could use the pre-written expliots... the winner rewrote the exploit in ppc assembly.

  • That doesn't make sense to me. I mean, I assume that the ftpd does a chroot() to the top-level ftp directory. This, by itself, does not explain how someone got root on the machine.

    Yes, it'd be nice if it was explained how the hack worked, like the PC Week hack was documented.

    -Brent
  • a world writable ftp directory exposes a remote root vulnerability in this version of proftpd.
    Check your standard script kiddie sites (i.e. rootshell, securityfocus et al.)..

    Emphyrio
  • by jd ( 1658 ) <imipak@ y a hoo.com> on Monday December 27, 1999 @04:35AM (#1443049) Homepage Journal
    Warnings about possible security risks of setting -any- anonymous account writable have been around for a while. Even SATAN, which is hardly new, used to complain viciously about that one.

    On the other hand, regularly sweeing crack.linuxppc.org with security scanners, to see if there are any holes there could be construed as cheating, as it would present a moving target, which is virtually guaranteed to stay ahead of all currently-known exploits.

    However, this -does- show the importance of such sweeps, for mainstream machines, and why it's important to take advisories seriously, either from a scanner, CERT, securityfocus, or the developer.

    If you download a package off Freshmeat, which has a huge warning sign glued onto the announcement saying "DO NOT HAVE WRITABLE ANONYMOUS ACCOUNTS", I'd be willing to bet that the developer isn't asking for a plate of scrambled eggs, grits and toast.

  • See the following article [osonline.org].
  • It's avaliable here: here [tos.net] and the website is here [proftpd.org].
    Funny how Freshmeat's description of it is
    "Advanced, incredibly configurable and secure FTP daemon"
    This will probably be counted against them, despite it not really being their fault.
  • by jnazario ( 7609 ) on Monday December 27, 1999 @04:50AM (#1443052) Homepage
    hi all,

    it took so damned long not because a hack didn't exist (ProFTPd has been vulnerable for some time) but because the standard method used to crack the, a buffer overflow, probably wasn't written with PPC assembly in mind. most BO's out there are for x86, with a good number for SPARC, as well, but ony recently did some PPC shellcode (along with Alpha shell code) get put out in wide release. after the ProFTPd crack was well known, it became, unfortunately, more of an exercise of security through obscurity.

    a link to a recent piece on PPC shellcode is at http://packetstorm.se curify.com/papers/unix/ppc.shellcode.txt [securify.com]. i just checked for proftpd exploits on packetstorm and found quite a few; the presence of a writable incoming/ directory helps a LOT.

    so, it still took longer than most challenges out there, and that's why i like LinuxPPC for various servers. that and they're just damn fast.

  • Something looks a little hinky here. Is it just me, or do these thing not seem to match:

    "he exploited a buffer overflow in proftd. since the machine was a ppc, no one could use the pre-written expliots... the winner rewrote the exploit in ppc assembly." -comment by elixir

    "meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"" -from attrition.org mirror of cracked page

    Is it odd that one who is capable of writing in "ppc assembly" would use FrontPage.

    IANAP (I am not a programmer), but I do write all my HTML by hand. This sounds funny. Am I wrong... or missing something?

    This is an honest question, not intended to be a troll.

    Russ
  • Being able to write information (through ftp or otherwise) on a public server in some form or another is often an essential part of its function, and the rule "don't have publically writable directories" simply doesn't make sense.

    In this case, it appears that the ftp daemon was buggy, and in this particular case did the wrong thing with a writable /incoming directory. The solution is to run a different FTP daemon or to fix the bug.

    In part, the responsibility for this lies with the ubiquitous use of C for Linux system programming. Guarding against buffer overflows in C is a lot of work, and it is humanly impossible to catch all the possible problems in a large program. C++ helps a lot with its string class. Writing servers in Java, Perl, Python, Eiffel, Ada, SML, or many of the other languages with runtime checking is even better.

  • it wasn't an "easy" hole, it took them several weeks (iirc) to write the ppc asm shell code.

    i believe that the point of the contest was to see how long an UNMODIFIED box would stay up. that is, w/o upgrading anything.

    personally, i think it's a pointless. it's only a matter of time before a system is broken; there's always bugs.
  • This has been one of the most amusing posts I have read in a long time. Give him a break... at least he's not MEEPTing or pouring hot grits down his pants.
    --
  • I'm quite capable of writing my own HTML, but sometimes it's easier to use, say, an image map maker, or an html generator like netscape's... it may save time (though rarely does)

    but I use it because layout it easier that way.. instead of saying, make it this many pixels right, I just click the box and drag it.. dont have to write, check, edit, check, etc until it's just right. that doesn't mean I'm any less adept at programming.
  • anyone have the original modified page? one of those asshole kiddies decided to rm -rf the site. imnho, attrition shouldn't mirror the script kiddie version.
  • A little humor got your shorts in a knot?
  • by little_blaine ( 126227 ) on Monday December 27, 1999 @05:20AM (#1443063)
    The defaced page posted by attrition.org is NOT what was done when the machine was first cracked. AFAIK, the web site wasn't defaced when Dan Jacobowitz first cracked the machine, but Dan left a back door open for script kiddies to exploit and said kiddie went and did his "look at me I'm so cool send me email via hotmail - page created with frontpage" act.
  • Toolbox. I do alot of HTML (it's what I do for a living), and rather than deal with the subtle annoyances of an editor(I've yet to find one that lets me tailor all the automated tags) I keep a few "toolbox" text files with commonly used scripts and tags (particularly complicated tables and generic headers). Less time is spent typing when you're cutting and pasting, and you can spend more time working out the gritty bits. The only drawback is it's easy to not want to write ANY new code . . . just rehash old stuff. Then again, I've spent all morning refining a JavaScript search I wrote, and it's almost pretty as well as functional ;-)

    and this way you can keep your "text editor" pride ;-)
  • From the HTML of Attrition.org's mirror [attrition.org] :

    meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"

    I wonder if this is how Attrition.org created the page, or if the hacker but up the "I won" message with it. That would be awful, wouldn't it, a version of Linux hacked on a Microsoft machine? And posted via FrontPage, arguably the worst HTML program available? Just give me pico :)

  • Is it odd that one who is capable of writing in "ppc assembly" would use FrontPage.

    Not really. A tool is a tool is a tool. If you want to produce a smart-looking web page in no time, FP is excellent. FP sucks if you want to produce nice HTML code, host your web site on non-MS servers or view it with non-MS browsers.

    --Bud

  • I get pretty thoroughly annoyed by the assorted Linux dists that by default enable every damn server ever made. By doing so, they increase your security exposure immeasurably. New users of the OS will either never use those services or they'll open further security holes by allowing all their friends to log in. To make matters worse, most dists merrily setuid any program where the author claims it needs setuid, meaning those new users may as well be giving their friends root, because once you obtain a shell login on the machine, root becomes trivial to obtain.

    A far better solution would be to not install ANY servers by default -- let the user go in and install them after the install if he wants them. For people with a legitimate need, most dists allow you to create a list of packages to install, which should work fine for any large shop that actually needs those services installed. At the same time, make it much harder to obtain a setuid bit in a standard dist. Anything that gets a setuid bit should be subjected to a source code audit to make sure that at the very least no simple buffer overflows (Such as the one that compromised this machine) exist in the software. Closed source programs should probably never be allowed an setuid bit as closed source programmers tend to be sloppier and their source isn't open to review.

  • That is certainly true, but for something like the cracked page, there's very little in the way of image maps or anything even remotely complex.

    but I use it because layout it easier that way.. instead of saying, make it this many pixels right, I just click the box and drag it..

    This is very true, but again, you talk of layout when there wasn't any. I'd think it would be easier to use pico on the remote box (or something equally simple) than to whip out a WYSIWYG and have to ftp it over. I mean, really... Frontpage?

  • by mhatle ( 54607 ) on Monday December 27, 1999 @05:36AM (#1443071) Homepage
    A lot of us were on IRC when Dan was trying to crack the box. He realized the exploit in ProFTPd, but it still took many days to come up with the shell code.

    Shell code on a PPC is much more difficult to do then intel due to the multiple caches.

    Dan intentionally didn't deface the page, all he did was add his name to the end of the credits and update the "cracks" to 1. :)

    It was a pretty amazing crack exploiting not only the program, but how the CPU controls the cache. Especially when he could barely use GDB on his own machine to debug it. (GDB got confused with the discrepecies in the cache, and the out of order execution of the CPU.)

    Congrats Dan! (FYI Dan hacked into the machine well over two weeks ago..)
  • Hmm, seems their machine is being flooded.

    Straight from the website:
    We had a sudden influx of script kiddies. Page temporarily offline until the machine is fixed.
    This machine resecured courtesy of drow.


    Interesting.. maybe it wasn't truely cracked after all. Hehe, that would be neat.

    With karma issues,
    Matthew
    _____________________________________
  • No, apparently Dan cracked the machine using said exploit and left a backdoor open for the script kiddies.
  • Looking at the cracked page, you're definately correct. I have no idea why he would do that... I mean, given that it was all text, simply putting a .html extension on a text file would've worked. Any other ideas on why he might've done this, other than he doesn't know what he's doing?

    It's possible that he's a programmer, and still just doesn't know how the WWW works, I guess... perhaps he had front page lying around on his computer, or one nearby, and used it rather than going to a website and checking the HTML to figure out how it works. Also, perhaps he thought it'd be a complicated language, and wasn't about to waste his time trying to learn it... I've never seen COBOL, but I still think it'd be difficult to learn in a short period of time.

  • PowerPC's are not out-of-order...?
  • What "the world needs" is for there to be some automated tools to help search for configuration problems of this sort.

    Something like cfengine [hioslo.no] would be usable to this end; make install should generate a cfengine script that validates the system configuration, with the option of either warning of problems or of fixing them.

    If not cfengine, [hioslo.no] then something else may be usable.

    The critical point here is for the tool used to not merely be "a shell script," as those may get diverse in style to the point of unreadability. The validation needs to be in more of a descriptive style so that it doesn't get unreadable.

  • In other words, Front Page is very, very, very Politically Incorrect!

    Grrr! Grrr! Bad, bad Front Page! Grrr! Grrr!

    (insert doinky sound clip of Martin the Marvin saying "you are making me very, very angry!")
  • If I read the lead article correctly, the defaced web page was done by someone else after a back-door had been installed by someone who wrote a PPC exploit of the proftp hole. In other words, FrontPage boy had to be let in by someone who knew how to do something... Mind you, I'm just interpreting the lead story -- I do not have firsthand knowledge.
  • 503010 loggin attempts that would take about 6 days assuming they worked ass backwords at one attempt per second. I wonder what kind of password gen they used?
  • Emphyrio, I'm just curious, if you had tried it, just what would you have done? This is not an easy hole...
  • by GodHead ( 101109 ) on Monday December 27, 1999 @06:30AM (#1443086) Homepage

    So what exactly does this contest prove? Not that the box is secure. All it means is that the 31337 hax0r dudes couldn't find a script to gain root. How many people actually think that the real black hats will stop trying to transfer funds from NationsBank long enough to really try and brake this machine. And even if master hackers did get root why would they bother to boast about it with some lame "U R Ow3nd!" page? Most likley they'd use the information to hack other boxes.


    So take these "security challenges" with a grain of salt. And please, no "Why doesn't every vendor do this." posts.


    G.H.
    I do not want what YOU haven't got.
  • Several others in this thread have already made comments amounting to "a tool is a tool", so I'll chime in with this. I have a friend who is fluent in 486 assembler (he does embedded control work). He also knows C. I ask you, why would someone who knows assembler use a compiler to create binaries?

    I know how to use a screwdriver to turn screws by hand. I prefer a variable-speed drill with a screwdriver bit. A $39.95 Black & Decker works as well as a DeWalt.
  • by mcc ( 14761 ) <amcclure@purdue.edu> on Monday December 27, 1999 @06:35AM (#1443089) Homepage
    > A far better solution would be to not install ANY servers by default -- let the user go in and install them after the install if he wants them.

    i have linuxppc 1999, and they actually do exactly what you suggest. Nothing, not even httpd or telnetd, is turned on by default, and to turn it on you have to go into whatever that file is and uncomment out the lines. Meaning nothing gets enabled unless the user cares..
    which is why linuxppc makes such a big deal about their "out of the box" security, since you're no more likely to crack linuxppc "out of the box" than the proverbial server with no network connections buried in a concrete box.. there's nothing there to crack.

    i believe that the thing with the crack.linuxppc.org box specifically is that they started out with nothing enabled, and then have been slowly adding services over time in order to make hacking easier..
  • You can tell FP which brand of browser you're targetting (IE, Netscape, WebTV, or a combination), which generation of browser you require as a minimum (version 3.0 and up, or 4.0 and up), which server will be hosting the pages (Apache or IIS), as well as whether or not they use FP Server Extensions. And yes, you can choose a custom option for all of those choices. Now what does this have to do with a "Best Viewed By" banner?

    Cheers,
    ZicoKnows@hotmail.com


  • I don't think that this 'proves' anything. However I do find these case histories interesting.
  • yeh but the funny thing here is that it WASN'T smart-looking. it contained nothing more than three <p>s and a <body bgcolor>. Obviously anyone who would use MS Frontpage to do something _that_ simple doesn't know ANY html at all. Which is the original poster's point, that anyone who knows ppc assembly would know enough html that it would be _much easier_, at least for the level of simplicity in this page, to open notepad and do it there.. a tool may be a tool, but there are times where what you want to do is simple enough that an automatic tool like frontpage becomes more cumbersome than helpful..

    Of course since the people responsible for attrition's version apparently didn't know PPC assembly after all it's a moot point, but whatever.
  • by Anonymous Coward on Monday December 27, 1999 @07:03AM (#1443097)
    In response to all the posts on this, I felt it would be best to give people a bit of a timeline of what happened when. Please note, I am a Fine Arts Major with hardly any low-level computer experience, so even though he talked about *how* he was doing it frequently enough, I didnt understand more than 2% of it.

    Wednesday Dec 15th:
    Finals are over: Dan gets started.
    Friday Dec 17th:
    Dan sucessfully cracks the Machine. Increments Number of Cracks, adds name to Credits, and waits to see how long it takes for someone to notice. Leaves self back door in form of open port to telnet to.
    Thursday the 23rd:
    I notice the change of the website to what is currently hosted
    here [attrition.org], and emailed Dan about it. (on a side note, I'm not trying to take credit for notifying him first. I'm just stating what I saw)
    by Friday the 24th:
    Dan resecured the
    site [slashdot.org].

    Signed,
    Mike
    The guy who lives next to Dan.
  • by zpengo ( 99887 )
    hail eris
  • by Animats ( 122034 ) on Monday December 27, 1999 @07:11AM (#1443100) Homepage
    Look. The problem is architecture. Nothing that has servers running as root is ever going to be secure. The amount of trusted software is just too large. The problem is that so many people have seen nothing but the UNIX/NT model of the world that they don't realize there are other ways to design a system.

    There are alternative OS architectures. But they're rare on PCs.

    • Systems with "mandatory security". This is the feature that gets you above the C level in the Orange Book standards. In the mandatory security world, there is no root login, and as you increase in privilege level, you can read less and less. If you log in as the security officer, you can only read security-officer level files and use special security-officer tools; you can't use the system normally. So viruses, etc. can't leak upwards. Conversely, programs running at high security levels can't write data to lower levels, so classified data can't leak down.
    • Transaction processing OSs, the archtype of which is IBM's CICS. Think of an OS architected to run CGI-BIN programs, each in its own protected space.
    • Capability-based systems, like EROS and KeyKOS. Unfortunately, the people who write these tend to be incomprehensible. And work on EROS seems to have stopped since the key people graduated. EROS is GPL'd, and someone might pick it up and bring it up to the point that it was usable. Any takers?

      We need one widely used secure OS, just so people can see what one is like.

  • Making machines available for attack on the net does nothing to increase the security of a product.

    In a perfect world, it would, but the fact is that the people with the smarts to find the security holes in a product are not the ones that respond to such "cracker challenges". Every once in a while, the Hacker News Network [hackernews.com] has a news item on some (cr|h)acker challenge, in which they decry such activities much more eloquently than I can. I'm pretty sur ethey have a Buffer Overflow about it too....

  • And please, no "Why doesn't every vendor do this." posts.

    Let's be careful with our non-sequiters, there, pardner.

    I agree that "cracking contests" like this do NOT prove you have unbreakable security. But that doesn't mean that crack attempts are useless.

    For instance, all security experts recommend that you should try to crack your own boxes to test them. How is this different?
    ---
  • You're not missing anything; HTML and PowerPC assembly are two different languages. Hell, it would like me sniffing my nose at you because you couldn't code in Cobol or something else equivalently useless to you where you work...
  • Couldn't agree more! I'm new to Linux, but when I saw all the services running in my machine, all turned on by default, I decided I won't boot it Linux with a phone cable even close by until I've figured out what each and every one of those services do. It may not be "cool", but at least no one is touching my SAM, that's for sure.


    -------------------------

  • Sounds like you want RSBAC: http://www.rsbac.de/rsbac/

    From the overview:
    "What is RSBAC?
    RSBAC is a security extension for current Linux kernels. It is based on the Generalized Framework for Access Control (GFAC) by Abrams and LaPadula and provides a flexible system of access control based on several modules.
    All security relevant system calls are extended by security enforcement code. This code calls the central decision component, which in turn calls all active decision modules and generates a combined decision. This decision is then enforced by the system call extensions."
  • Oh spare me your bullshit. Buffer overflows happen everywhere (even in assembly.) It's fairly trivial to audit code for overflow problems.

    The true problem is not the compiler or the language. It's the idiot with the keyboard writing the program in the first place. Everyone wants to flog Microsoft for their unbelievably stupid programming, but no one every has a bad word about anyone else's (open source, freeware, GPL, et. al.) bad code. If you think about what you are doing, then you don't have these problems.
  • Amen brother! They might as well add a checkbox/option for "install every known security flaw and a few no body knows about" along side the "[dist] backdoor" button.

    Every time I install Redhat, it takes about 5 minutes to install (read: waste 1.3G of drive space) and then an hour to remove the brain damage and other worthless crap it installs.

    I really miss the simplicity of SLS!
  • What i would have done.
    If you find a proftp daemon with the right version, and you _know_ this version is vulnerable on other platforms (in the case of bufferoverflows platforms not 'suffering' with a non-executable stack), the only thing you have to do is incorporate shell code for the 'target' platform into the standard exploit, and probably change some offsets.
    If you regularly keep track of the (abundant) security mailing lists, you see that there is a _huge_ amount of buffer overrun exploits to be found.
    Modifying shellcode to work on other hardware platforms is not arcane science; you can find lots of tutorials about it on the web (take mudge's 'smashing the stack for fun and profit' for example).
    The difficulty in this case is that you need to create carefully crafted directories in the world writable directory, _and_ the buffer overflow is not directly made; a buffer is overrun, and the net result doesn't show until strlen() is called in another function. Hard thing.
    Still, the core task of porting the exploit to another platform is porting the shellcode.
  • by Anonymous Coward
    The only people who should be shot are assholes who want to ridicule someone and call them "stupid" just because they're inexperienced. Get off your fucking high horse.
  • I learned alot from that server. They left just enough running to make it difficult, but possible. Nice to see that the greatest OS and the most powreful CPU make a good team. Too bad the people who designed it didn't make it a little stronger.
    =======
    There was never a genius without a tincture of madness.
  • Congrats on a well written explanation of how it's possible to have a more secure system...

    But, how is this possible without trusted binaries and all?

    I mean, eventually there's an account which can do disk maintenance. This account has to be able to read the HD, and thus can read all information and write it to files another user has access to.

    How do you allow ultimate access without creating what is essentially a root login with a restricted shell?

    What seems to me to be the best idea is to modify most everything so that only the barest cores of the OS run as root, everything else would run as a user. Thus TCP stack exploits could crash the TCP stack, and take the machine off the net, but they couldn't give access to anything, etc.
  • Not true.

    And I'm not a bullshit OOP bigot. I do 90% of my 'real' code in C.

    In C, if you read a string of characters, you need to have space allocated for it. You can either read a set ammount and truncate, or read a variable ammount and auto-allocate.

    But, whatever you do, you need to do it yourself. You can't simply say "string data; data stdin;" and get the whole string, to the limit of available memory.

    You can code a routine to do this, anyone who writes anything which accepts user input has probably written a reusable 'safe input' module. But, you still have to do it yourself.

    And you have to do it EVERYWHERE you look at data. You can't make any assumptions. If 999 of 1000 expected comma seperated integers are integers, the 1000th might be something else entirely, consisting of non-numeric characters. You need to check for nor just the correct inputs, but ALL forms of incorrect input. And then, you need to attach basic error handling to all of these.

    If a fucking pain. A good half, at least, of anything I write is spent in input checking, even when the actual input it done in a couple of lines, and could be scanned with a few scanf()s (albeit badly.)

    It's not a good reason to switch to what might be a more crippled language, just because that language keeps you from making errors, but you need to recognize the weaknesses of your tools or you can't work past them.
  • Not to mention the Dewalt is made by b&d just there "high" end line.
  • by WNight ( 23683 ) on Monday December 27, 1999 @10:35AM (#1443126) Homepage
    To be precise, if you have a hacking contest where you pay $x to the winner, if the computer is not cracked, all you have proved is that the machine is not crackable in that ammount of time, by anyone who values $x more than a potential $x * n, where n is the number of potential juicy targets running this system, or by anyone who values $x more than being anonymous.

    So, if you offer $10k for a two-month contest to crack into a potential bank security system, you may get a few bored people playing around with it, but the real devious people will wait till it's "proven" uncrackable, and they'll crack into the bank running it, perhaps getting away with more money.

    This does produce semi-valid results, for small values of 'n', the number of potential juicy targets, or very high values of $x... If Microsoft paid $1M for 'arbitrary binary' exploits on Win9x, they'd get a lot of takers, because $1M is more than you'd probably get in any reasonable win9x attacks, because nobody uses win9x for anything important. Similarly, if you only had one system, and $x was high enough to rival any potential gains from cracking the system later, you might get people seriously trying.

    But, over all, it's a publicity stunt. You aren't guaranteed to get the same people trying, or with the same motivation, so you can't expect the same results.
  • Languages, while not totally irrelevant, are often a bandaid for poor architectural, system, and policy decisions. Writing servers in Python (which is written in C) or in Java (whose JVM is written in C, and whose Java-to-native frontend for GCC is written in C) or in SML, or in Middle Welsh, or in Urdu, will not overcome all the problems of human stupidity, arrogance, and inexperience. The OpenBSD people did the Right and Boring and Horribly Painstaking thing and just audited everything in sight, which is why I'm setting up OpenBSD for my firewall and NAT box. Still, somebody else's empty promises won't keep me from getting 0WN3D, and my own auditing and hardening might not either.

    Neither will StackGuard or MultiStack or DDD or assiduous use of MemProf, Checker, Electric Fence, and GDB. People make mistakes, not only in programs to handle incoming packets, but also in automated test harnesses, in compilers, in networking code, in firmware for NICs, in (f00f) CPUs...

    I disagree with the "if you think about what you're doing" line of argument (if you think about it hard enough, your system will be infinitely secure cause you'll never write a line of code), but the "just choose a better language" schtick is even worse.

    The determined Real Programmer can write Fortran in any language. I personally stick to what I'm reasonably good at (secure distributed transaction processing) and ask other people to audit the shit out of it, then tell the users how to flog me if it breaks. If you're writing daemons for more than just fun and education (i.e. if you think you suck less than I do) I certainly hope you have similar standards... hell, I'm a systems administrator, not even a developer, but I see some real circus acts billing themselves as "developers" these days...


    As an aside, my personal take on the Kill-Microsoft bent is that people resent a company whose foundation is "We Know Best" and whose track record indicates "Actually, We Don't, But Pay Us Anyways".


  • Please tell me you're not that dense. You see, the version 3 browsers don't support HTML 4.0. Now, you're welcome to stay back in the stone age at 3.2, but you should be aware that things have advanced since then.

    Let me make it a little plainer for you - HTML should not have to be targetted to a specific browser. If it's written properly, it will look good in any browser. If you have to "target" it at all, then it's not written properly.

    That's garbage. Let me guess, you have absolutely no real world experience, do you? If you did, you'd know that you can write HTML 4.0 compliant pages 'til the cows come home, and Netscape will still choke on it. What's funny is listening to the Netscape users here bitching about some "poorly written" web page that Slashdot linked to, because it shows up mangled on their browsers. Of course it looks great on IE and Opera, but since Netscape gakked on it, they think it's a coding problem.

    I would say that the absolute best thing about Mozilla is that it finally puts W3C HTML 4.0-compliant browsers into the hands of people who've been stuck with the current Netscape releases. Because if there's one thing that's been holding back web development, it's Netscape's atrocious lack of support for standards. You just can't sit down and write some HTML 4.0 page and expect it to work under Netscape. That is the main reason why you see "Best viewed with Internet Explorer" banners: not because they're using IE-only extensions, but because they're using W3C-compliant HTML that Netscape can't grokk. Perhaps there should be a "Best viewed with Internet Explorer or Opera" banner, or even "Best viewed with anything but Netscape" for these situations. ;-)

    And there's nothing at all wrong with the way FP targets specific browser brands, because most Intranets standardize on a single browser and make use of extensions. These aren't meant to be seen on the Internet and has nothing to do with my question to the original poster, who seemed to imply that FP was capable only of producing proprietary HTML -- he quotes Berners-Lee and takes it to mean that FP is "fucked up, evil, and wrong." They have nothing to do with each other, and he's an idiot for thinking that they do.

    Cheers,
    ZicoKnows@hotmail.com

  • by Anonymous Coward
    This site is very interesting: If you look at "http://www.attrition.org/mirror/attrition" and check the statistics, you will find that almost 65% of all the hacked servers are running NT/IIS. However, if you check "www.netcraft.com", you will see that NT/IIS are only being used on 23.5% of all the Internet servers. This makes me wonder: How can MS claim that nobody did ever make any proof that NT/IIS is less secure than UNIX/Apache ? This is the real world proof that NT is very very insecure !
  • In capability-based systems, users or user accounts do not "own" processes, per se. There are specific objects that do disk maintainance; these objects possess very specific capabilities that allow it to do manipulate storage, but little else. The user, in turn, acquires capabilities that allow him to tell these objects to do certain things.

    Philosophically, capability systems are much more egalitarian than ACL-based systems; they are also much closer to the real world: you don't see "root people" going around doing anything they want to everyone else's property, do you? (Well, actually, you do: they're called the police force. We're working to fix that bug by the next release. :])
  • Sorry if I missed it, but how long was the machine up?

    +++

  • the best thing to do is run all externally accessible daemons in chroots not running as root.
  • IANAP (I am not a programmer), but I do write all my HTML by hand. This sounds funny. Am I wrong... or missing something?

    Yes, you are. The page you saw there was cracked by a script kiddie who used a backdoor installed by Mr. Jacobowitz when he used the buffer overrun in ProFTPD. I don't know if Jacobowitz even defaced the page at all, if he did, I didn't see it. But the message you see there was NOT done by him.

  • If you want to see the original page, circa November, google still has it cached here [google.com]. And, it looks like the links on that page still work, so you can go to the credits page [linuxppc.org] and see both the number of successful cracks: 1 in the info box and the additional credit to And Daniel Jacobowitz, because good security isn't always good enough. near the end of the listing.
  • fyi, when Dan cracked the machine, he just made a couple of tiny changes to the credits page (currently online at http://crack.linuxppc.org/credits.shtml). He changed the number of successful cracks to 1, and added this line to the bottom of the credits: "And Daniel Jacobowitz, because good security isn't always good enough."
  • I ask you, why would someone who knows assembler use a compiler to create binaries?

    Less code to write.

    Less code is associated with easier to debug/easier to maintain (not all developers are fluent in ASM).

    I develop in both Intel ASM and C. Unless I NEED the speed of ASM, I use C.
  • I have had the good fortune to be able to work with the developer of ProFTPd on a number of projects over the years and I assure you that he is quite competent and experienced. I suspect that you have never worked on a large scale application or you would be very familiar with the method by which bugs manage to work their way into just about any piece of software. I am curious as to your development background. It must certainly be extensive for you to so readily triumph your own programming superiority.
  • by MacGyver ( 11869 ) on Monday December 27, 1999 @01:05PM (#1443139) Homepage
    I'm the maintainer/developer of ProFTPD. Just a couple of notes to those who've already responded here:

    1) ProFTPD has very loud notices saying that anything before 1.2.0pre8 is not to be considered secure.

    2) On the whole, ProFTPD has had far, far, far fewer security issues and exploits out there than any other open-source FTP server. We take security seriously, and have always responded quickly to security issues. The code has undergone a couple of audits now. No, that doesn't mean it's 100% secure, but it does mean we've taken a close look at it, and are endeavoring to make it as secure as we can.

    3) ProFTPD, when properly configured, will not run as root or with root privileges except for very limited periods for specific actions. Compiling ProFTPD with capabilities support on Linux is definitely the recommended configuration.

    4) The official ProFTPD web site is www.proftpd.net [proftpd.net].

    5) The latest version of ProFTPD is 1.2.0pre9. 1.2.0final will be out this week sometime.
  • On the other hand, regularly sweeing crack.linuxppc.org with security scanners, to see if there are any holes there could be construed as cheating, as it would present a moving target, which is virtually guaranteed to stay ahead of all currently-known exploits.

    Why would this be cheating? Any competent sysadmin should be doing exactly this. ProFTPd has had multiple vulnerabilites found since 1.2.0pre4, all of which were reported to bugtraq and other places.

    IMO the organisers of the contest have let the Linux community down by leaving a known vulnerability on such a prominent box. I hope that they weren't relying on the obscurity of PPC shellcode for security.

  • It doesn't matter how much magic C++ hides from you, it's just as prone to bugs. You're still going to read in an unknown amount of data so you don't know how much space to allocate. Data from an untrusted source should be untrusted - period. All the C++ string crap does is provide a Microsoft-like uniform bug. It makes it even easier for the programmer to not care about what is being done.

    If one does not think about security when writing one's code, then I can assure it has none. Outlook is very good example -- nobody thought about what kind of evil lurks on the internet.

    "If you cannot trust your users, who can you trust? Exactly."
  • It doesn't matter how much magic C++ hides from you, it's just as prone to bugs. You're still going to read in an unknown amount of data so you don't know how much space to allocate.

    The whole point is that it can keep track of how much data it's reading, and keep allocating space as needed. You can do this in C too, but apparantly not everyone does. If it were trivial to do, then there wouldn't be a problem with people not doing it. Any language with umpteen different ways for a programmer to smash the runtime system is going to have problems. (Drinking Game: read the ANSI C spec, and take a drink every time the effect of a particular action is said to be "undefined")

  • > Closed source programs should probably never be allowed an setuid bit as closed source programmers tend to be sloppier and their source isn't open to review.

    I have to take issue with that statement. I agree that Open source has benifits in public exposure, but please don't assume that all closed source programmers are sloppier just because the public (who 99% don't look at the code) don't see the code. Code Review is an important part of ny software development (open or closed).
  • They didn't let the community down, the whole point was to prove how secure a standard DEFAULT install was. I think it did rather well, I don't know how well redhat 6.1 would fare in that same type of contest.
  • Well, first of all, that's interesting - I didn't know any PPC shellcode had ever been publically released. Mine is a bit shorter than his because I took a different approach to avoiding NULL bytes, and I also had a different set of character restrictions to deal with. I handled the caches explicitly instead of counting on luck to get them right; my experience was that the cache would NOT get them right. While I rewrote the whole thing, I owe Anthony Tong a big thank-you for the initial attempt at shellcode that I based mine on.

    There were a bunch of other interesting aspects to the exploit itself; I'll write it all up in a week or two when I get back from vacation.

    As for DJ-Serra0... I can tell you exactly what he did. I made a stupid mistake when I left myself a way to access the machine, and he found my stupid mistake. He hacked my carelessness, not crack.linuxppc.org.
  • ...actually, Linux/PPC has had updates for proftpd up for a while (I believe they have it up to pre8 or pre9 right now). But seeing as it was a stock machine, they didn't apply any of the security updates.
  • An os that hasn't even been released is more secure? I don't think so. When it's out and web servers use it, the bugs will start to come out of the woodwork, and keep in mind how long it takes Microsoft to fix them.
  • It also encourages good security.

    Plus, this was a 'legit', solicited crack. What's wrong with that?

    - Jeff A. Campbell
    - VelociNews (http://www.velocinews.com [velocinews.com])
  • You cannot speak of the security of an os that has yet to be released or used for a real web server. Rest assured, when it comes out, there will be bugs, and they will take forever to get fixed.
  • i quite agree. it is hopeless, this all or none model that UNIX gives us, and Linux depends on.

    so i bet you'll love this: Orange Linux. yep, Linux to Orange Book certifications. which means adding capabilities and mandatory ACLs and the whole lot. http://www.sgilinux.org/presentations/security/ind ex.htm

    yeah, life is gonna rock. TCB's, ACLs, the whole lot. C2 and B2+ grade Linux.

  • Hacking your own box or network or toaster is a Good Thing(TM). It provides great insight into the security of your box, the holes in your network, or the crumbs in your toaster. This is different. This is a marketing ploy. "see see!! Our P-32SpaceA. box is still up. We are the most secure vendor ever!!" or even worse "We had our SuperDandy brand server up and it was hacked but we fixed all the holes so we are the most secure vendor ever!!" My point is this: don't believe that just because this box was up for x days with no problem does NOT mean that your box (with different hardware and software, run for different purpose, on a different network, ect ect) will also be up for x days with no problem.
  • I'm sorry it was a statement: PowerPCs are not out of order.

    The question mark was me wondering why the poster thought they were.




  • html of page



    See - the Mirror webmaster left the attrition watermark in!
    .oO0Oo.
  • <html>

    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">

    </html>
    <!-- www.attrition.org web hack mirror - watermark or something -->

    .oO0Oo.

He has not acquired a fortune; the fortune has acquired him. -- Bion

Working...