Welcome!

Linux Containers Authors: Yeshim Deniz, Liz McMillan, PagerDuty Blog, Elizabeth White, Pat Romanski

Related Topics: Linux Containers

Linux Containers: Article

Joe Barr gets hacked and recovers with NMAP

Unwelcome guests set up an IRC server on his box

Two weeks ago I wrote about stealth scans and promised to follow up with a column on NMAP, Fyodor's wonderful open source port scanner. But between that time and the appearance of this column, two big stories got in the way. First came word that LinuxWorld.com was moving to ITworld.com's site. Then came a rare opportunity to bring together Bob Young and a player from the Dark Side in an exclusive one-on-one, which was presented last week in place of the stealth scan follow-up. My apologies for being late, but here it is. And just as someone out there is certain to be snickering about my network security skills, better late than never. (See see Resources for links to previous columns.)

Call it baud karma. Call it carelessness. Call it inevitable. I was 0wn3d and didn't know it. After downloading and installing BETA 21 of version 2.54 of NMAP (and its graphical frontend), I su'd to root, fired it up, and aimed a FIN stealth scan at ports 1-32000 on my server. I was running portsentry on the server, but my desktop machine -- the one I was running NMAP on -- was on the portsentry ignore list so that it wouldn't simply reroute my inquisitive packets to /dev/null after I hit the first protected port.

NMAP's GUI

The image above shows the way I had NMAP configured for the scan. It took less than a minute to ruin my entire week. The results are below. The same scan produces markedly different results today.

Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ )
 Interesting ports on pooh.pjprimer.com (216.140.158.195):
(The 31957 ports scanned but not shown below are in state: closed)
Port       State       Service
1/tcp      open        tcpmux                  
7/tcp      open        echo                    
9/tcp      open        discard                 
11/tcp     open        systat                  
15/tcp     open        netstat                 
21/tcp     open        ftp                     
23/tcp     open        telnet                  
25/tcp     open        smtp                    
70/tcp     open        gopher                  
79/tcp     open        finger                  
80/tcp     open        http                    
98/tcp     open        linuxconf               
109/tcp    open        pop-2                   
110/tcp    open        pop-3                   
111/tcp    open        sunrpc                  
113/tcp    open        auth                    
119/tcp    open        nntp                    
138/tcp    open        netbios-dgm             
139/tcp    open        netbios-ssn             
143/tcp    open        imap2                   
512/tcp    open        exec                    
513/tcp    open        login                   
514/tcp    open        shell                   
515/tcp    open        printer                 
540/tcp    open        uucp                    
635/tcp    open        unknown                 
1080/tcp   open        socks                   
1524/tcp   open        ingreslock              
2000/tcp   open        callbook                
2001/tcp   open        dc                      
4000/tcp   open        unknown                 
4001/tcp   open        unknown                 
5742/tcp   open        unknown                 
6000/tcp   open        X11                     
6001/tcp   open        X11:1                   
6667/tcp   open        irc                     
8892/tcp   open        seosload                
10000/tcp  open        unknown                 
12345/tcp  open        NetBus                  
12346/tcp  open        NetBus                  
20034/tcp  open        unknown                 
30303/tcp  open        unknown                 
31337/tcp  open        Elite                   

Remote operating system guess: Linux 2.1.122 - 2.2.16 Uptime 130.704 days (since Wed Nov 1 16:21:30 2000)

Nmap run completed -- 1 IP address (1 host up) scanned in 42 seconds

The feeling you get in the pit of your stomach when you first suspect that your site has been cracked is similar to the feeling you get when you first discover your house has been broken into. It is a sickening sense of muted outrage. Muted because you are still hoping against hope that it hasn't really happened. But your eyes are telling you that it has, that in spite of your denial you've been violated, that you're 0wn3d.

I wasn't running IRC on my server, but someone was. NMAP uses the service name "Elite" for anything running on port 31337. Port 31337 is the one Back Orifice most often uses. The handwriting was on the wall.

One of the security mailing lists I subscribe to (but obviously don't heed as well as I should) mentioned a tool called chkrootkit, so I downloaded, compiled, and installed it on my server (see Resources for a link). The news was grim. It found several suspicious binaries that it suggested were trojans and said the machine was possibly infected with Ambient's rootkit.

At this point I was past the denial stage. I knew I had been rooted. But I didn't shut the server down immediately. First I notified the local LUG that was using my server for its mailing list, and the community theatre whose Website I host. I told them what had happened and that I would bring the server down for at least a day or so. Then I backed up my own Website and the theatre's Website. Only then did I throw the switch.

Starting over

Starting from a new hard drive, I rebuilt the server from the ground up. I used RedHat 7.0. I had been running 6.1, and obviously I had not been good about keeping up with security updates. My best guess is that at some point, one of the widely known and exploited problems in earlier versions of wu-ftpd or sendmail had provided an open door for someone. I would add bind to that list of suspects except for the fact that I don't run it.

I moved the original hard drive to the secondary IDE controller so that I could peruse the disk at my leisure to learn what I could about when, how, and why my system had been cracked. I still don't know when it was cracked, but the rootkit seems to have been installed on February 22. I downloaded a copy of Ambient's rootkit (ARK) 1.0.1 and uncompressed the tarball on my desktop machine.

Here is the text from the ARK README:

[--ARK version 1.0 - Ambient's Rootkit for Linux--]

THIS PACKAGE IS STRICTLY PRIVATE **DO NOT SPREAD THIS AROUND**

This package includes backdoored versions of:

syslogd login sshd ls du ps pstree killall top netstat

Quick explanation:

syslogd Prevents logging if they match a certain string in /dev/ptyxx/.log login Login: arkd00r , Password: and you got a rootshell. sshd Login: root , Password: will spawn a .. guess what? ls File hiding using /dev/ptyxx/.file as the index du eq. ls ps Hide processes saved in /dev/ptyxx/.proc (LRK style, explanation stolen too ;-) w00h, evil me!) Example data file: 0 0 Strips all processes running under root 1 p0 Strips tty p0 2 sniffer Strips all programs with the name sniffer 3 hack Strips all programs with 'hack' in them ie. proghack1, hack.scan, snhack etc. pstree eq. ps killall eq. ps top eq. ps netstat For hiding Ports, Connections, etc. saved in /dev/ptyxx/.addr (LRK style, explanation stolen too ;-) w00h, evil me!) type 0: hide uid type 1: hide local address type 2: hide remote address type 3: hide local port type 4: hide remote port type 5: hide UNIX socket path

Example data file: 0 500 <- Hides all connections by uid 500 1 128.31 <- Hides all local connections from 128.31.X.X 2 128.31.39.20 <- Hides all remote connections to 128.31.39.20 3 8000 <- Hides all local connections from port 8000 4 6667 <- Hides all remote connections to port 6667 5 .term/socket <- Hides all UNIX sockets including the path .term/socket

Gr33tZ (in no particulair order) fly out 2: ice-devil, Beast|E, togooz, orangehaw, CuCc`, mo`, ^Trance^, [dG], deaddrokz, Annihi|aT, Leentje.. and ofcourse whoever i forgot to mention.. not that you're forgotten though ;-) - |Ambient|

I followed the trail of clues from the README and sure enough in /dev of the cracked drive I found a directory called ptyxx. It had been created on March 2 by "operator." Inside the directory were the .addr, .file, .log, and .proc files mentioned above. In those files I learned that the utilities installed by the rootkit as a trojan would mask the comings and goings of the users "operator" and "MAL." I also found that BNC, a proxy IRC server, had been installed. That gave the bad guys a way to use IRC in complete anonymity. Any misdeeds there would only lead back to me.

I did find in the logs that on March 4, "operator" signed on from the country of Brunei in the South China Sea, and got the password wrong several times. I also found traces of Telnet visitation during March from users at Verio, from an ISP in South Texas, from an ISP in the Netherlands, and elsewhere. My site was a lot more popular than I had realized. I have no way of knowing if those Telnet sessions were the same person using different accounts or a close circle of friends.

The invading binaries that chkrootkit detected were not exactly the same size as those included in ARK 1.0.1. I suspect there is a later version of ARK that hasn't made its way onto a white-hat security site yet, but the discrepancy could also be differences in the compiler or compile options.

Today my server is considerably tighter than it was about a week ago, but I'm not nearly finished with the wrench. I noted earlier that I did a clean install of Red Hat 7.0. Since then I have also applied all the security updates to that release that Red Hat has issued. I've disabled Telnet and started using SSH instead. All new passwords.

I had been running Psionic's portsenty most of the time on the old server, but that was all. Now I'm running hostsentry and logcheck, also by Craig Rowland at Psionic. You can find all three of those tools on the Psionic Website (see Resources for a link).

And that's not all. I've also added SNORT (a network intrusion detection system) and Freeveracity, which monitors critical system files to detect whether they've been replaced with trojans. SNORT seems an excellent tool. It comes with a default set of rules that allow you to be alerted for just about any kind of attack or scan. Other rule sets are available from places like Max Vision Network Security.

I'll also add a package called Analysis Console for Incident Databases (ACID) so that I can view SNORT alerts in real time. And I'm building a new box that will become a dedicated firewall based on the 2.4 kernel.

Paranoid? Yeah, probably. But I don't like being rooted. In retrospect, my great sin was not so much that I didn't have a firewall, or even that I wasn't running all that great security software. My sin was running apps with both known exploits and available security updates. I might as well have put up a blinking neon sign reading, "Crack Me!" Sure enough, somebody did. If you're reading this in the same state I was in last week, I strongly recommend that you move. It's no place to be.

More Stories By Joe Barr

Joe Barr is a freelance journalist covering Linux, open source and network security. His 'Version Control' column has been a regular feature of Linux.SYS-CON.com since its inception. As far as we know, he is the only living journalist whose works have appeared both in phrack, the legendary underground zine, and IBM Personal Systems Magazine.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
SYS-CON Events announced today that SourceForge has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. SourceForge is the largest, most trusted destination for Open Source Software development, collaboration, discovery and download on the web serving over 32 million viewers, 150 million downloads and over 460,000 active development projects each and every month.
SYS-CON Events announced today that DXWorldExpo has been named “Global Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Digital Transformation is the key issue driving the global enterprise IT business. Digital Transformation is most prominent among Global 2000 enterprises and government institutions.
Elon Musk is among the notable industry figures who worries about the power of AI to destroy rather than help society. Mark Zuckerberg, on the other hand, embraces all that is going on. AI is most powerful when deployed across the vast networks being built for Internets of Things in the manufacturing, transportation and logistics, retail, healthcare, government and other sectors. Is AI transforming IoT for the good or the bad? Do we need to worry about its potential destructive power? Or will we...
SYS-CON Events announced today that SIGMA Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. uLaser flow inspection device from the Japanese top share to Global Standard! Then, make the best use of data to flip to next page. For more information, visit http://www.sigma-k.co.jp/en/.
SYS-CON Events announced today that Daiya Industry will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Daiya Industry specializes in orthotic support systems and assistive devices with pneumatic artificial muscles in order to contribute to an extended healthy life expectancy. For more information, please visit https://www.daiyak...
SYS-CON Events announced today that B2Cloud will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. B2Cloud specializes in IoT devices for preventive and predictive maintenance in any kind of equipment retrieving data like Energy consumption, working time, temperature, humidity, pressure, etc.
SYS-CON Events announced today that Interface Corporation will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Interface Corporation is a company developing, manufacturing and marketing high quality and wide variety of industrial computers and interface modules such as PCIs and PCI express. For more information, visit http://www.i...
SYS-CON Events announced today that Massive Networks, that helps your business operate seamlessly with fast, reliable, and secure internet and network solutions, has been named "Exhibitor" of SYS-CON's 21st International Cloud Expo ®, which will take place on Oct 31 - Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. As a premier telecommunications provider, Massive Networks is headquartered out of Louisville, Colorado. With years of experience under their belt, their team of...
SYS-CON Events announced today that NetApp has been named “Bronze Sponsor” of SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. NetApp is the data authority for hybrid cloud. NetApp provides a full range of hybrid cloud data services that simplify management of applications and data across cloud and on-premises environments to accelerate digital transformation. Together with their partners, NetApp em...
SYS-CON Events announced today that Mobile Create USA will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Mobile Create USA Inc. is an MVNO-based business model that uses portable communication devices and cellular-based infrastructure in the development, sales, operation and mobile communications systems incorporating GPS capabi...
SYS-CON Events announced today that Nihon Micron will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Nihon Micron Co., Ltd. strives for technological innovation to establish high-density, high-precision processing technology for providing printed circuit board and metal mount RFID tags used for communication devices. For more inf...
SYS-CON Events announced today that N3N will exhibit at SYS-CON's @ThingsExpo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. N3N’s solutions increase the effectiveness of operations and control centers, increase the value of IoT investments, and facilitate real-time operational decision making. N3N enables operations teams with a four dimensional digital “big board” that consolidates real-time live video feeds alongside IoT sensor data a...
SYS-CON Events announced today that Suzuki Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Suzuki Inc. is a semiconductor-related business, including sales of consuming parts, parts repair, and maintenance for semiconductor manufacturing machines, etc. It is also a health care business providing experimental research for...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, will discuss how data centers of the future will be managed, how th...
SYS-CON Events announced today that Ryobi Systems will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ryobi Systems Co., Ltd., as an information service company, specialized in business support for local governments and medical industry. We are challenging to achive the precision farming with AI. For more information, visit http:...
SYS-CON Events announced today that MIRAI Inc. will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MIRAI Inc. are IT consultants from the public sector whose mission is to solve social issues by technology and innovation and to create a meaningful future for people.
SYS-CON Events announced today that mruby Forum will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. mruby is the lightweight implementation of the Ruby language. We introduce mruby and the mruby IoT framework that enhances development productivity. For more information, visit http://forum.mruby.org/.
SYS-CON Events announced today that Fusic will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Fusic Co. provides mocks as virtual IoT devices. You can customize mocks, and get any amount of data at any time in your test. For more information, visit https://fusic.co.jp/english/.
In his session at @ThingsExpo, Greg Gorman is the Director, IoT Developer Ecosystem, Watson IoT, will provide a short tutorial on Node-RED, a Node.js-based programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using a wide range of nodes in the palette that can be deployed to its runtime in a single-click. There is a large library of contributed nodes that help so...
SYS-CON Events announced today that Enroute Lab will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Enroute Lab is an industrial design, research and development company of unmanned robotic vehicle system. For more information, please visit http://elab.co.jp/.