Domain: insecure.org
Stories and comments across the archive that link to insecure.org.
Comments · 492
-
Re:"Old as the Hills"
As a computer security consultant, this story seems silly to me.
see CERT advisories dating back to 1995... as well as bugraq discussions about it...
This is a very well known "vulnerability". The most famous use of this vulnerability was by Kevin Mitnick to attack Tsutomu Shimomura's computers.
Basically one of Shimomura's unix boxes had root level .rhost that trusted another one. Kevin spoofed packets from the trusted computer to execute a "echo '+ +' >> /.rhosts" then just rlogin. To help the attack Kevin also SYN flooded the the trusted computer so that it would not respond with RST packets. This type of attack is called blind spoofing and is usually difficult to do. There are programs out there that will do this. ie: ADM-rsh
Tools like nmap test for ISN randomness. Just about all unixen are atleast pseudo-random, which makes the attack almost impossible to do to two computers that you can't sniff traffic to or from.
If you can sniff traffic from either box then the problem of hijacking connections becomes much simpler. At this point it doesn't even matter what the ISNs are because you can just sniff them. Tools like: hunt are the preferred tools for session hijacking. hunt even has ARP spoofing so that you can sniff over switched enviornments.
-
TCP Sequence Prediction in nmapNmap, the network scanner, has long had a feature which attempts to rate how good (random) a TCP sequence is. Any TCP stack worth its salt would be very hard to exploit on this basis, but I guess there are still some TCP stacks that aren't worth their salt.
Check out http://insecure.org/nmap/
-
This is NOT new nor is it news...
... when nmap has been testing for it for years.
-
God Bless Andre HedrickLinux-IDE guru Andre Hedrick, who's a member of the T13 committee considering this stuff,
is doing his best to squelch this, by counter-proposing more mandatory features for the spec
that will let the host operating system turn off the nasty CPRM commands at the drive.As a Register article puts it:
CPRM could yet be commonplace in hard disks in the future, implemented through the back door of "Vendor Unique" commands, Hedrick argues. And the task of finding out where CPRM is coming from would permanently impair the performance of non-CPRM operating systems. Like a Smash the Hippo Game, only with an infinite number of Hippos. And he adds, there's really nothing to stop vendors doing this. Much of what your hard drive can really do is not considered or ratified by T.13. This ain't the Supreme Court: it only sets down lowest common denominator interoperability standards. The rest is a free for all. Hedrick's "suggestion" to the T.13 mailing list, promising to give away a command parser that bounces unknown new commands, so obliging a CPRM-vigilant OS to track and reject all such command sets. His threat poses a dilemma for drive manufacturers which may be inclined to sneak CPRM in through the back door: they'll effectively lose the Linux market. Hedrick's parser will include trap-doors for vendors who try to circumvent known command sets, too.
For those interested in this CPRM nonsense, there's a good page at http://www.theregister.co.uk/content/2/17009.html. -
List of tools
Here is a list of good tools
-
But email bugs ARE a serious riskWhile Hemos says "just use the bottom line - don't click on spam URLs", he misses the point. The insidious nature of these emailed "web bugs" is that they DON'T requre any clicking. Spammers hide the information in the URL of an invisible image which is automatically loaded by (stupid) HTML-based mail readers. Every time you open the message, the sender is notified and generally logs the time, location (IP) and email address of the person reading the email. They also frequently set an HTTP cookie so they can cross reference future browsing activity with your email address (which they know because they sent you the spam).
Making matters worse, these email bugs have moved beyond the domain of "get-rich quick" and porn spam. Even companies you might consider legitimate have been doing this. One would think financial institutions would be particularly concerned about privacy, but I have found email bugs lurking in mail from both E*Trade and American Express.
While these bugs aren't very effective against those of us who use pine, mutt, etc., they set a dangerous precedent. If users tolerate applications retrieving untrusted data from the net without notification or permission, we could see even worse abuses like this in the future.
Unfortunately pressuring application vendors to respect our privacy is not always fruitful. And with closed-souce applications, you often have no idea what they are up to. I was glad to see that some of the Windows "personal firewall" programs such as ZoneAlarm offer features that alert users to unexpected outgoing connections made by applications. Users can define notification policies based on their own privacy concerns. I haven't run across similar software for Linux, although it wouldn't be hard to write. And it isn't quite as important on Linux since fewer users download/buy untrusted binary-only programs.
Cheers,
Fyodor
Concerned about your network security? Try the Free Nmap Security Scanner. -
My favorites
Given that you're posting around here, I'm guessing you have a Linux box handy. Here are some of my favorite sysadmin tools:
- dig - This is a more advanced tool for seeing what's going on with DNS.
- nmap - A great tool for probing your server to make sure you haven't left anything open.
- Apache Bench (ab) - This simple but effective benchmarking tool comes with the Apache server. It's great to see how your site will perform under load.
- wget - a tool for remotely getting web pages; it's very versatile -- you can even use to save a copy of your whole site, just in case.
- Ethereal - Having trouble figuring out what's going on between the browser and your server? This will capture all the packets and decode them into a nice conversation for you.
- vmstat - want to know why your server is slow? Get used to watching the vmstat numbers while it's fast, so you can see what's different when it's slow. It's raw numbers that are hard to interpret, but it's worth getting to know. Maybe this should be another Ask Slashdot question?
- Netsaint - this is my favorite automatic monitoring package. Once your site is in production, you can set this up to patrol things and make sure everything is working. That lets you get on with other stuff, knowing you'll hear about trouble pronto.
- MRTG - A tool that makes excellent long-term graphs of bandwidth use.
- IPtraf - Where MRTG gives you the broad overview, this gives you the second-by-second nitty gritty.
- perl - Last but most is Perl, a Swiss Army chainsaw of languages. If you'll be doing any web stuff, pick up a copy of Learning Perl and spend a little time with it. Once you learn the magic of regular expressions, you will never again say "that's impossible!" to a problem.
As far as non-sysadmin stuff goes, here are some of my other favorites:
- Bugzilla - this is a free and flexible bug tracking system. Highly recommended, especially for those people who don't think they need a bug tracking system. Our designers thought it was silly to start, but even they use it all the time now.
- CVS - Like bug tracking, most web sites don't think they need version control. Most web sites are wrong! CVSweb is also recommended.
- HTML Tidy - bad HTML in, good HTML out.
- WebTV Simulator - Sure, you and I don't use WebTVs, but a lot of people do. Browse your site with this to see how the other half surfs.
- VMWare - Along similar lines, VMWare is a Windows box emulator. I use it to keep a bunch of synthetic windows machines with a variety of OS versions and browser versions. It makes QA much easier.
And if there are particular tasks that have you stumped, come back and ask again. 'Round these parts, we have big toolboxes.
-
Why not apply the "no spam software" evenly?Since the RBL is used against those who write or distribute programs designed to send mass e-mail, I should fully expect places like PacketStorm (a fine archive of security-related tools and scripts) to be placed on the RBL. They knowingly host code that sends mass mail: http://packetstorm.securify.com/Exploit_Code_Arch
i ve/mailbomb.c Why then is PacketStorm not on the RBL? Or any of the other hosts that have similar tools?I use the RBL hooks in Postfix, and I find them very useful. This is a bit much, though. While I have enormous respect for Vix & co., I think this is way over the line.
How is software that is designed to send bulk email any "worse" than software that is designed explictly for the purpose of, say sniffing user passwords or performing denial-of-service attacks? Indeed, why aren't we, as the Internet community, tracking down those people arrogant enough to write these tools -- tools that are clearly used to commit all manner of subversion havoc -- and blackholing them?
It's because (most) technical people understand that tools are just tools. Somebody who writes a password grinder is "just" a programmer. The Unix admin who downloads it and runs it against her password file is just doing her job. The peeved help-desk guy who uses the password grinder to get the VP of Finance's Unix password and then uses it to access the nifty Oracle financial system is acting-- in the words of AUPs everywhere-- in excess of his authority, and if caught, will be squashed by the Law.
It's not valid to want it both ways, to want software that you think is "bad for the net" blackholed out of existence, yet allow other software -- arguably more damaging -- to exist unchallenged. If this was, say, WIPO vs. nmap, would those of you in favour of MAPS' stance take offense? Software is speech. Censor it and contribute to the decline of your freedom to write it. I'm sure the brains behind WIPO are very interested in seeing how this plays out; if an
.org which essentially controls access to and from the large nationwide ISPs can succesfully censor software without question, then certainly WIPO can.And finally: simply because MAPS says "These are our guidelines, and we are following them" doesn't mean the guidelines have merit.
-
Emperor Has No ClothesI'd like to know why people aren't interested in 2.4. Is it that it's been delayed so long it's like vaporware?
I'd say that the reason that people aren't interested in the 2.4 kernel is they they have lost faith in the development process.
Over the last two years, people have repeatedly posted on the LKML in one way or another that the emperor has no clothes. They've been nice, they've been rude, they've even posted good ideas and patches to provide some clothes. But, universally, the response from the LKML acolytes has been a variant of "the emperor isn't naked; he is in fact wearing a 3-piece suit, and if you don't like it, you can get your own emperor, you idiot."
It's very sad. Criticism is what keeps any public enterprise honest and productive, and the denizens of the LKML don't have any tolerance for it.
The linux development process has little direction, no planning, little to no leadership, meaningless feature freezes, and little to no documentation and guidelines. The kernel itself *is* spaghetti code inside, no matter what people say. They try to maintain control over what people use by not exporting some functions from the kernel .o files, but that's a bandaid, and a way to control who gets to work with the kernel more than what can be done with it. That the kernel is spaghetti code is one of the major reasons that 2.4 is so late, and so buggy. Just try to do some kernel programming, and you'll see, if you don't believe me. Take a look at the big, ugly union in the VFS. Figure out all the places that bdflush gets invoked, and the number of different ways to have a pinned buffer flushed by other parts of the kernel anyway. Look at the brokenness in the spinlocks and semaphores. Look at all the VM rewrites and the warring but both broken USB stacks. Check out the tendency of the VM OOM "feature" to kill random programs like X and kswapd. And don't forget all the race conditions.
It is very difficult to alter some part of Linux because of all the unintended consequences. It's difficult to get needed features and clean-ups into the kernel because of cronyism and a narrow-minded religious devotion to Posix. Go back and read up on the NTFS-streams thread for a good example of that (Alan and Viro actually invited everyone talking about streams to an off-list discussion, and then notified them that they had been added to their killfiles).
Clean code? Just look at the 2.4.0-test-pre-pooch-screw series of debacles, where the VM is rewritten every few weeks, and new features are tossed in while there's still massive bugs to fix in the code that's already there, and in spite of repeated "feature freezes". That would all be fine in a 2.3.x series kernel, but judging from the version number, "2.4.0-test" is supposed to be pretty stable except for bug fixes -- not have major features added and subsystems being rewritten.
Linux has terminal featureitis. No one wants to work on the hard things; they just want to add features. Quickly.
And Linus, to make things worse, claims that a kernel debugger is counter-productive; that debugging with printk puts hair on your chest. Never mind that you can't debug race conditions well, if at all, by adding printk statements everywhere, because they change the timing of the code when it runs. Never mind that essentially every other 'modern' OS includes a kernel debugger, and that many of those OSes are better designed, better implemented, and perform better and run more reliably than Linux (FreeBSD, HPUX, Solaris, and even NT come to mind).
Linus must be right. In fact, he's declared himself to be infallible -- he will not allow a kernel debugger to be added, and has publicly stated that he thinks people who use debuggers are dummies and that he won't work with them. But never mind that; he's the leader of the mo vmentarians , Linux is our official OS, and we'll just get back to work on his lima bean farm and wait for him to wave out the window of his car at us, or splash us with mud as he drives by. And that would actually be fine, if he was actually a leader; that is, if he made decisions and stuck with them. But he doesn't do that. Refer to his "I'm a wimp" email. He'll occasionally toss in a new filesystem ("accidentally,"Alan Cox recently suggested merely covering them up with his skip-a-number, backport and turn yourself around hokey-pokey versioning scheme. The real solution would be the one that software developers everywhere have always used, which is to:- set realistic goals for a release
- defer any further feature creep until the next release
- concentrate on fixing bugs in the pre-release cycle
- aim for modularity, stable interfaces and good documentation to make upgrades and new feature addition easier and the learning curve less steep
- provide robust methods for troubleshooting the system to make development and debugging easier.
The most common response to criticism is a variant of "love it or leave it." Keep suggesting that we go write our own damn OS if we don't like it; your love it or leave it response will be accepted one day, and we will leave Linux. I actually think it would be a good idea for the major external linux players to fork the kernel, clean it up, and maintain their own version. I don't doubt that it would shortly become the defacto standard kernel, because it will be cleaner, more stable, more scalable, more extendible, and will probably be released on time and respect feature freezes. SGI, IBM, Reiser and a lot of other people and companies have a lot of good code and ideas to contribute, not to mention full-time developers, years of experience making scalable and robust systems, and a willingness to release all that work under the GPL. And if they fork the kernel, they can do it without having to be named "Ted", "Ingo", "Alan", "Linus" or "Rik".
One day the question will be, are *you* relevant? Why should we accept *your* code? Is it clean? Is it modular? Is it safe (see LWN article about C code with undefined behavior being included in the kernel). Of course, a fork can always be re-merged with the holy penguin pee version. In the meantime, all the people who want to run Linux on enterprise systems rather than PDAs and webpads can have a stable, working kernel with adequate features.
It would be useful if people would make substantive replies to this message, rather than engage in the usual comments about rioting, sending spam reports, saying "love it or leave it," moderating it as a troll, port-scanning my mail server, attempted hacks and other juvenile/illegal acts, sending spam reports, threatening violence, etc. Of course, substantive debate is really hard to come by on either the LKML or Slashdot, so I don't expect it. So, go ahead, get started telling me to sod off. I'll get back to switching over to FreeBSD, although I would prefer if someone would take up a rational refutation of this message instead. Show me the Emperor's Clothes.
________________________________________ -
Re:No Worries!Carnivore/Omnivore on Solaris is scary. Carnivore/Omnivore on NT is VERY scary. If someone were able to exploit a hole on a carnivore box, they could then use it to monitor anyone's communication. This is of course possible under Solaris too, but NT is far more vulnerable to remote exploits.
A black-hat being investigated by the FBI could possibly turn their tool against them, using *nivore for counter-intelligence. At least the FBI has to pretend to obey the law and respect some limits -- a black-had has no such restrictions.
I wonder if there is enough information in what has been released to be able to identify a carnivore box remotely. Does it use promiscuous mode packet sniffing? Could you detect one with a variant of l0pht's antisniff? Does it exhibit any tcp/ip eccentricities that could be detected with nmap or SATAN?
-
Note to Pat Christian, news item author:
"It all kind of got out of proportion," Merkey said of the threats. He spoke about them only after some of his private e-mail was intercepted and posted on the Internet.
I don't think the linux-kernel mailing list is exactly "private e-mail". I wouldn't expect Pat to know what a mailing list is, but come on here. It seems as if Pat didn't even bother digging up the post that started it all. I wonder if Pat even asked Merkey about how the incident flared up.
sheesh, basic story research...
------------- -
Re:Umm...Counterclaim, with evidence:
Linux Kernel mailing list archive, with 133 messages from Jeff V. Merkey in the last 26 days, including his posts about Microsoft.
-- -
Re:A giant pack of lies
-- That whole third paragraph about the linux community helping Microsoft is hogwash.
Though this reply isn't about the Linux Community, per se, the people as nmap believe that Windows 2000 is using NetBSD's IP stack ;)
TCP Initial Window -- This simply involves checking the window size on returned packets. Older scanners simply used a non-zero window on a RST packet to mean "BSD 4.4 derived". Newer scanners such as queso and nmap keep track of the exact window since it is actually pretty constant by OS type. This test actually gives us a lot of information, since some operating systems can be uniquely identified by the window alone (for example, AIX is the only OS I have seen which uses 0x3F25). In their "completely rewritten" TCP stack for NT5, Microsoft uses 0x402E. Interestingly, that is exactly the number used by OpenBSD and FreeBSD.
http://www.insecure.o rg/nmap/nmap-fingerprinting-article.html -
Data publicly available since Aug 11
Ron Gula already posted DefCon8 data along with DC7 and SANS ID-Net dumps several weeks ago. The page says Toorcon captures will be available shortly.
--
Frustrated by firewalls? Try the Nmap Security Scanner -
Data publicly available since Aug 11
Ron Gula already posted DefCon8 data along with DC7 and SANS ID-Net dumps several weeks ago. The page says Toorcon captures will be available shortly.
--
Frustrated by firewalls? Try the Nmap Security Scanner -
Re:And we're supposed to believe this because... ?
anyone care to run one of those tcp signature OS-guessing programs on www.hotmail.com?
I've just tried that (using nmap). But we don't get much info:
TCP Sequence Prediction: Class=truly random
Difficulty=9999999 (Good luck!)
Remote operating system guess: Cisco Localdirector 430, running OS 2.1 -
Also, regarding philosophy,
This is the same sort of hole as, say, the old bsd mmap problem. Just as user/supervisor modes make it possible to write a system which puts processes in sandboxes, the JVM security system makes it possible to put applets into sandboxes. But in both cases, getting the security checks correct is a non-trivial exercise.
-
Re:Remember the box?
Well, this article from the author of nmap does note that Win2000 uses the same TCP Initial Window value as FreeBSD and OpenBSD (the NT4 value is different). Hardly conclusive, but an interesting coincidence.
-
Re:Id are hypocrites
Yeah, maybe if it were open source, they wouldn't be so tempted to put in blatant backdoors.
--- -
Hacking insurance!Here at XYZ Insurance Corporation, we're proud to announce our new Hacking Insurance - protecting your business interests against hackers!
Hackers have been known to attempt to undermine your business interests with subversive activities like replacing IIS with Apache, and porting your product to Linux. Here's what we offer for protection:
- Instant Apache uninstall - we keep secured backup tapes that let you go back to your secure, responsive IIS environment instantly!
- Linux replacement - with proprietary tools we can search out Linux computers connected to your network and replace them with secured NT workstations!
- Source code security - we offer to help you write Windows-specific code so your developers can never switch to Linux if their hacker instincts flair up! As you can see, hacker insurance has many benifits. Protect your business investments today!
-
insecure.org, Re:[Cr]acker pages
Fyodar's exploit world has a good collection of scanners, articles, and known exploits (if that's what you want).
Word of advice though, don't ask about the back doors in the various Quakes (here and here) during interviews on
/. unless you've got Karma to spare . . . ouch.It's mostly a conglomerate of different sources, but a number of the articles are kinda interesting. Keeping up with CERT advisories would probably be better for self defense though (always good to know what they do though). The scanners are pretty good, especially if your, um, on the "testing" end and the the detection end . . .
-
insecure.org, Re:[Cr]acker pages
Fyodar's exploit world has a good collection of scanners, articles, and known exploits (if that's what you want).
Word of advice though, don't ask about the back doors in the various Quakes (here and here) during interviews on
/. unless you've got Karma to spare . . . ouch.It's mostly a conglomerate of different sources, but a number of the articles are kinda interesting. Keeping up with CERT advisories would probably be better for self defense though (always good to know what they do though). The scanners are pretty good, especially if your, um, on the "testing" end and the the detection end . . .
-
insecure.org, Re:[Cr]acker pages
Fyodar's exploit world has a good collection of scanners, articles, and known exploits (if that's what you want).
Word of advice though, don't ask about the back doors in the various Quakes (here and here) during interviews on
/. unless you've got Karma to spare . . . ouch.It's mostly a conglomerate of different sources, but a number of the articles are kinda interesting. Keeping up with CERT advisories would probably be better for self defense though (always good to know what they do though). The scanners are pretty good, especially if your, um, on the "testing" end and the the detection end . . .
-
Re:Just The Other Day
Hey, is NT still using the same TCP stack as Windows 95?
-- -
A gram of prevention is worth a Kg of cure....
Try securing your systems BEFORE they get cracked. A good few places to start:
Insecure.org, especially this top 50 security tools page.
SecurityFocus the disseminators of the BUGTRAQ list among others.
Attrition.org, especially their security page.
And of course 2600, the l0pht, and Phrack for the latest tasty street info....
#include "disclaim.h"
"All the best people in life seem to like LINUX." - Steve Wozniak -
A gram of prevention is worth a Kg of cure....
Try securing your systems BEFORE they get cracked. A good few places to start:
Insecure.org, especially this top 50 security tools page.
SecurityFocus the disseminators of the BUGTRAQ list among others.
Attrition.org, especially their security page.
And of course 2600, the l0pht, and Phrack for the latest tasty street info....
#include "disclaim.h"
"All the best people in life seem to like LINUX." - Steve Wozniak -
Spraying it on...
So if it's going to be cheap enough to spray on a car and possibly create an anti-collision system. How long will it take before the hackers will be able to hack into my car and make it burst into flames.
This is just another case of technology jut for the sake of technology
Also, since I can't even get DSL where I live, and this technology is supposed to be out by 2005, does this mean I will finally get DSL in 2005?
Will my new X-Box use this great technology, oh wait, I have to buy the proprietary MS-ETH/OPT-CHP conversion cable. Maybe I'll just hack my I-Opener and hook this thing on to the back as well.
-
"Christian" Bashing
Those who claim to be something often aren't:
- How many dishonest salesmen haven't told you how honest they were?
- "It is better to be described as a hacker by others than to describe oneself that way." (From the hacker Jargon File entry.)
And i'm beginning to think people who really are Christians don't say so.
But bashing everyone to whom that label could be attached is like bashing...
- all *BSD users because of the Linux haters among them.
- all Linux users because of the MS haters among them.
- all competent sys-admins who check their networks with nmap because of the script kiddies who use it.
cheers,
sklein(For the record, the day my library installs filtering software is the day they loose my services as volunteer technical coordinator.
-
Blatant Python Promotion?This contest was posted on LWN last week and I exchanged several emails with Greg Wilson (project coordinator and Las Alamos Python teacher) regarding the requirement that entries be implemented in Python.
I argued that C, C++, or Perl might be more appropriate depending on the performance (and other) requirements of the application. I think the developer who dreamed up the application should decide what language is best suited for the given task. It should not be dictated in advance based on the founder's pet language.
Unfortunately it seems that Python promotion is the primary goal of the project, even though their $860,000 government grant is supposed to be used for creating new open source development tools.
Is it any surprise that Greg recently chose Guido van Rossum (Python author) as one of the judges? Speaking of which, I wish they would disclose whether (and how much) the judges are paid.
Don't get me wrong, I have nothing against Python. It is a wonderful language. And if the competition $$$ was raised from Python users' groups, I would be cheering them on. My problem is that they appear to be using $860K tax dollars to support Python even though the grant was for a completely different purpose.
Sure, some of you may be thinking that spending tax money to promote Python is not so bad. But imagine if they were spending your tax dollars to promote another language -- like Visual Basic!
I urge them to drop the biases and let the developers choose the most appropriate language. And may be best program win!
-Fyodor (fyodor@insecure.org)
Try the free Nmap Security Scanner: http://www.insecure.org/nmap/
-
id's dirty secrets?I haven't looked for myself, but does anyone know if this source release contains evidence of the quake backdoor?
See "ID games Backdoor in quake"
Do a search in page for quake at:
http://www.insecure.org/sploits_linux.ht ml
Don't get me wrong, I love id. I think Carmak is one of the greatest game developers out there, but I'm really curious about what appears to be very evil behavior on id's part.
Someone who has downloaded the code should grep it for "tms", or "192.246.40." and see what they find.
-
Fixing stack, or language, not good enough
You make a very, very good point. Isn't there a way the Linux and *BSD kernel could be patched to disallow execution from a stack? I know there's plenty of memory protection and such in there, so can't we put in one more layer of protection?
First of all, I do believe that having everyone running a Linux kernel an i386 architecture with an executable stack is three strikes against you. The most secure sites I know are intentionally running neither that kernel nor on that chip. This introduces enough valuable diversity that it alone will stimy many script kiddies with root kits. Remember the Linux PowerPC cracking challenge? The kiddies' root kids didn't have the right machine language code to try to execute, so buffer overruns would have just DOS'd you.So, let's just change chips.
:-) Of course, that's hardly enough. Can't we clear up a lot of these exploits by fixing the stack? The answer is yes, we could clear up a lot of them. But that sadly, it's not going to cure the class of problem completely.Why should stack and data pages be executable? Why are any pages that are executable also writable? Well, there are a couple reasons for that. Certainly it hasn't always been that way. But the signal trampoline code from gcc(1) makes this very attractive, and it's a bit annoying to change. You still have to deal with issues of mmap(2), which can ask for pages with any access bits it cares for.
And let's not pretend please that C is the issue here. It's not. You're diddling the instruction set. I don't care if you used a Pascal compiler. You could still diddle it. Then again, there's something to be said for having a cleaner library. See the end of this missive for a simple, elegant, and effective approach to one class of these problems in C by someone famously inclined toward the simple and elegant.
What I strongly suggest that anyone interested in this do is read existing literature on this. Yes, it's work, but it's really, really good for you. Start with the paper StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks. And yes, the buffer overrun in the version of Perl referenced by this paper has long since been fixed. But then read about how to defeat this. You can also check out disabling an executable stack on Solaris, and why this isn't a cure-all.
Even with a non-executable stack, you can still be bitten. Several such exploits have appeared on bugtrak. Here's one. The short explanation for why this isn't a panacea is that if I push a pointer to "/bin/sh" and a (char *)0 on the stack in a place right before an system(3) (well, or or execl(3) or execve(2) or whatever) then it'll still suck to be you. Notice I haven't executed any code that I put on the stack. I just managed to change some of the arguments to existing calls.
Let me put up a copy of some mail from Ted T'so, who said it well:
Well with a non-executable stack most security conscious system administrators will sleep better
So let's not get too self-satisfied with having non-executable stacks. It's still not enough. :) I can guarantee that. (Not too much better as holes always exist but quite a lot).The advantage of the patch is that it will stop the current set of attacks that take the form of "find buffer overrun in a program", followed by "apply standard toolkit to exploit buffer overrun by putting executable code on the stack".
The disadvantage of the patch is that after we apply, within a few months we will see a new toolkit of the form "corrupt the stack to point the return address into someplace entertaining in libc --- like right before an an execl call in the implementation of popen()."
The danger is people thinking that with this patch, they don't need to worry about finding and fixing buffer overrun bugs in their code....
Here's the promised gem of insight from Dennis:
>
That's certainly an, um, interesting approach, eh? ..... If most implementers will ship gets() anyway,
> there's little practical effect to eliminating it from the Standard.
On the other hand, we removed it from our library about a week after the Internet worm. Of course, some couldn't afford to do that.
Dennis
:-) -
Code review not a cure-all
A line by line code review is great, and I would agree that OpenBSD is the most secure OS you can get your hands on, but it cannot prevent all possible exploits
If you think you can just install OpenBSD and not have to know a thing about security, you need to get you head checked. -
Lets get it right.http://www.insecure.org/sploits
/quake.backdoor.html. It affected Quake 1, Quake 2, and QuakeWorld.Be your own judge, and while this was very serious, I don't believe that this latest foul-up is very bad.
... -
What about the problems with the protocol itself?
While I'm encouraged that they are fixing the problems with the package, I wish there were an easy way to deal with the inherent problems with the protocol itself. It's still fairly trivial to poison DNS caches, and lookups are still not encrypted, which although not much of a security issue by itself, it's a bit of a privacy issue. We've come to a point where if a program relies on reverse DNS lookups, any DNS expoit used against it is considered a security problem with the program, not DNS. The truth is, however, that the DNS system should be reliable enough that these types of attacks wouldn't even exist. Don't get me wrong, I applaud their work for fixing the bugs that they have, but there is some basic protocol work that needs to be done before I'm happy with it. Here is a interesting example of DNS quirks.
If you need to point-and-click to administer a machine, -
Q3 Features
I was wondering if it would have the same features as Q1 and Q2.
In otherwords, is it finally safe to run on a server open to the world?
-
Quake Security HolesI'd like to know what
/. users think about thisAccording to this article, quake is "a bad thing" (TM)
-
Re:What if....
>example: how do you prove that Win2K doesn't use some modified Linux IP stack? Nobody's allowed to
>see the source so nobody will ever find out right?
Someone's already thought of that.
An excerpt from http://www.phrack.com/search. phtml?view&article=p54-9 which describes nmap, an OS fingerprinting-by-TCP/IP-stack-details tool:
TCP Initial Window -- This simply involves checking the window size on
returned packets. Older scanners simply used a non-zero window on
a RST packet to mean "BSD 4.4 derived". Newer scanners such as
queso and nmap keep track of the exact window since it is actually
pretty constant by OS type. This test actually gives us a lot of
information, since some operating systems can be uniquely
identified by the window alone (for example, AIX is the only OS I
have seen which uses 0x3F25). In their "completely rewritten"
TCP stack for NT5, Microsoft uses 0x402E. Interestingly, that is
exactly the number used by OpenBSD and FreeBSD.
-----------------
Interesting indeed! Hmmm, looks like MS has been caught with their pants down and their finger in the pie and their hand in the till. :)
mentaldent -
Re:What if....
There's such thing as IP stack fingerprinting. It's what programs like nmap do to figure out what the target system is running.
If Microsoft were to copy Linux's TCP/IP stack, their fingerprint would match as well. It's not easy to change your fingerprint without changing the code to generate what it is you're fingerprinting. -
Re:Is there any way to check...
Well, you could use nmap to figure out which OS the computer in question is running, but as to which Windows version and patch level, I haven't a clue. nmap doesn't support that, yet. There are programs out there that do, but I can't remember any right now.
-
He's got a nerve
'Q2 had several releases forced out because of malicious attacks on all the public servers'.
Uh, maybe this was because 'ID software blatantly put a backdoor in Quake 1/2 and QuakeWorld including both the Linux/Solaris Quake2. RCON commands sent from the subnet 192.246.40.0/24 and containing the password "tms" are automaticly executed on the server without being logged.'
'Vulnerable Systems: Those running Quake 1, QuakeWorld, Quake 2, Quake 2 Linux and Quake 2 Solaris, all versions. Thus many Windows and UNIX boxes are affected.'
'Compromise: root (remote).'
'Notes: Quake was always a horrible security hole, but I never thought Id would stoop to introducing an intentional backdoor to allow them access to systems running Quake. I am surprised this didn't get more publicity.'
The exploit was discovered by Mark Zielinski and is documented at www.insecure.org. You can find the fix here, but if you're looking for a patch, dream on... -
He's got a nerve
'Q2 had several releases forced out because of malicious attacks on all the public servers'.
Uh, maybe this was because 'ID software blatantly put a backdoor in Quake 1/2 and QuakeWorld including both the Linux/Solaris Quake2. RCON commands sent from the subnet 192.246.40.0/24 and containing the password "tms" are automaticly executed on the server without being logged.'
'Vulnerable Systems: Those running Quake 1, QuakeWorld, Quake 2, Quake 2 Linux and Quake 2 Solaris, all versions. Thus many Windows and UNIX boxes are affected.'
'Compromise: root (remote).'
'Notes: Quake was always a horrible security hole, but I never thought Id would stoop to introducing an intentional backdoor to allow them access to systems running Quake. I am surprised this didn't get more publicity.'
The exploit was discovered by Mark Zielinski and is documented at www.insecure.org. You can find the fix here, but if you're looking for a patch, dream on... -
Where can you get QueSO?
you should try fyodor's
Nmap
# nmap -sT -p80 -O -vv 194.112.94.251
Starting nmap V. 2.08 by Fyodor (fyodor@dhp.com, www.insecure.org/nmap/)
Host (194.112.94.251) appears to be up ... good.
Initiating TCP connect() scan against (194.112.94.251)
Adding TCP port 80 (state Open).
The TCP connect scan took 1 seconds to scan 1 ports.
For OSScan assuming that port 80 is open and port 42349 is closed and neither ar
e firewalled
Interesting ports on (194.112.94.251):
Port State Protocol Service
80 open tcp http
TCP Sequence Prediction: Class=truly random
Difficulty=9999999 (Good luck!)
Sequence numbers: 85F8984B 390BA429 F5B7DF23 FDC0076C 3DB9689F 1D11DFE1
Remote operating system guess: Linux 2.0.35-36
OS Fingerprint:
TSeq(Class=TR)
T1(Resp=Y%DF=N%W=7FE0%ACK=S++%Flags=AS%Ops=ME)
T2(Resp=N)
T3(Resp=Y%DF=N%W=7FE0%ACK=S++%Flags=ASF%Ops=ME)
T4(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=N%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=N%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E% RIPCK=E%UCK=E%ULEN=134%DAT=E)
Nmap run completed -- 1 IP address (1 host up) scanned in 1 second