1. 程式人生 > >程式設計師,請不要搶系統管理員的飯碗

程式設計師,請不要搶系統管理員的飯碗

收到哥們一條簡訊,內容如下:

還有就是海淀分局發了函給我們,要求伺服器維護方修復漏洞,並且提供後臺漏洞檔案,和漏洞攻擊日誌。都要存檔下週一讓我帶到海淀分局。

看來問題嚴重,趕緊電話過去問。然後要了系統資訊和登入許可權。

登入系統,首先檢視系統程序,其輸出如下(節省篇幅,略掉部分):

系統被入侵

從輸出可以明顯看出兩個問題,一個是偷懶用lampp套件,而一個明顯被入侵了。Lampp這樣的套件,安裝起來是很省事,但後期維護卻非常的不省事。就使用習慣而言,有經驗的系統管理員,很少有用lampp套件在生成環境,因此,使用lampp套件的絕大部分是一些搶系統管理員飯碗的程式設計師了。要知道,任何事情都有兩面性,前邊省事,後邊必然費事;反之,前邊費時,未來就省事。一些程式設計師圖省事,以為執行一個安裝指令就完事大吉,而不會去探究實質,一旦出故障,要從一堆混亂的配置裡做修正,對於一個沒多少經驗的人來說,絕對是費時費力。

接下來,再來看木馬大概做什麼動作。先記下前邊可疑程序的程序號,然後執行命令netstat -anp| grep 20904 ,其輸出如下:

[code lang=”shell”]tcp 0 0 202.165.183.178:12273 202.0.190.89:80 ESTABLISHED 20904/s64
tcp 0 0 202.165.183.178:30215 202.0.188.113:80 ESTABLISHED 20904/s64
tcp 255 0 202.165.183.178:25725 86.149.147.85:8686 CLOSE_WAIT 20904/s64
tcp 0 0 202.165.183.178:25998 202.0.38.31:80 ESTABLISHED 20904/s64
tcp 0 0 202.165.183.178:52828 202.0.188.105:80 ESTABLISHED 20904/s64
tcp 0 0 202.165.183.178:33785 202.0.188.33:80 ESTABLISHED 20904/s64 [/code]

這個輸出,可以瞭解本機正把流量引向202.0.190.89、202.0.38.31等地址。這個操作,有可能是打流量,也可能是去下載程式,或者引入盜鏈。

惡意的猜猜,這個程式設計師會不會也喜歡用root帳號連資料庫呢?先找網站根文件的位置,執行 grep DocumentRoot httpd.conf,得到路徑是 /opt/lampp/htdocs ;進入這個目錄,進赫然發現檔案config.php,開啟它吧,my god,部分內容如下(為了真實再現,這裡連亂碼都沒處理,直接貼上):

[code lang=”php”]<?php

/*
[SupeSite] (C) 2007-2009 Comsenz Inc.
$Id: config.new.php 10885 2008-12-30 07:47:03Z zhaofei $
*/

$_SC = array();

//————— SupeSite?? —————
$_SC[‘dbhost’] = ‘localhost’; //SupeSite????α?(?°?±?μ?ocalhost)
$_SC[‘dbuser’] = ‘root’; //SupeSite?????§?
$_SC[‘dbpw’] = ‘wscykjw2010’; //SupeSite?????
$_SC[‘dbname’] = ‘wscykjw2013’; //SupeSite????
$_SC[‘tablepre’] = ‘supe_’; //SupeSite±???(2?????μ??????)
$_SC[‘pconnect’] = 0; //SupeSite?????á???0=1?? 1=′
$_SC[‘dbcharset’] = ‘utf8’;//SupeSite????·

$_SC[‘siteurl’] = ”; //SupeSite3????μ?RL·???·?£????? http:// ?a?μ??URL£?????????RL?£?β2????/?£?1¨??ˉ???α±??¤О??a http://www.yourwebsite.com/supesite ??

//————— Discuz!?? —————
$_SC[‘dbhost_bbs’] = ‘localhost’; //Discuz!??????α??£???μ?iscuz!???SupeSite??ê?1????MySQL·??±£t???£?1·???2??μ?ySQL·?дDiscuz!????μ??3?ySQL·
$_SC[‘dbuser_bbs’] = ‘root’; //Discuz!?????§?
$_SC[‘dbpw_bbs’] = ‘wscykjw2010’; //Discuz!?????
$_SC[‘dbname_bbs’] = ”; //Discuz!????(?1upeSite°2???????t??′??
$_SC[‘tablepre_bbs’] = ‘cdb_’; //Discuz!±???
$_SC[‘pconnect_bbs’] = ‘0’; //Discuz!?????á???0=1?? 1=′
$_SC[‘dbcharset_bbs’] = ‘utf8’;//Discuz!????·
$_SC[‘bbsver’] = ”; //??°汾(??Discuz!??μ?汾£?=?£o7)

$_SC[‘bbsurl’] = ”; //??URLμ?·?£?????http://?a?μ??URL£?????????RL?£?β2????/
$_SC[‘bbsattachurl’] = ”; //??????URLμ?·(???3???????????£??1?ā??3?????願?£????????)

//————— UCenter HOME?? —————
$_SC[‘dbhost_uch’] = ‘localhost’; //UCenter HOME????α?
$_SC[‘dbuser_uch’] = ‘root’; //UCenter HOME?????§?
$_SC[‘dbpw_uch’] = ‘wscykjw2010’; //UCenter HOME?????
$_SC[‘dbname_uch’] = ”; //UCenter HOME????
$_SC[‘tablepre_uch’] = ‘uchome_’; //UCenter HOME±???
$_SC[‘pconnect_uch’] = ‘0’; //UCenter HOME?????á???0=1?? 1=′
$_SC[‘dbcharset_uch’] = ‘utf8’;//UCenter HOME????·

$_SC[‘uchurl’] = ”; //UCenter HOME URLμ?·?£?????http://?a?μ??URL£?????????RL?£?β2????/
$_SC[‘uchattachurl’] = ”; //UCenter HOME ????URLμ?·(???3?????????£??1?ā??????願?£????????)
[/code]

果然有程式設計師風格,好可愛的root帳號啊!

還記得程式設計師愛用的一招:目錄許可權所有使用者可讀可寫可執行,也就是777了。幸虧不是中國人發明的計算機,不然會是999了。到網站根目錄/opt/lampp/htdocs,執行一下 pwd 確認一下,接著執行 ls –al 輸出如下:

[code lang=”shell”]total 2724
drwxrwxrwx 29 root root 4096 Jun 21 22:15 .
drwxr-xr-x 20 root root 4096 Jul 29 2013 ..
drwxr-xr-x 2 nobody nobody 4096 Jun 15 06:49 …
-rwxrwxrwx 1 root root 16384 Jul 18 2013 .config.php.swp
-rwxrwxrwx 1 root root 190 Jul 22 2013 .htaccess
-rw-r–r– 1 root root 8 Jul 29 2013 1.html
-rwxrwxrwx 1 root root 1123419 Jan 1 2012 1.mp3
-rwxrwxrwx 1 root root 70814 Dec 16 2011 1.swf
drwxrwxrwx 5 root root 4096 Jul 28 2013 admin
-rwxrwxrwx 1 root root 5454 May 27 2010 admincp.php
-rwxrwxrwx 1 root root 2106 Mar 9 2009 announcement.php
drwxrwxrwx 2 root root 4096 Jul 28 2013 api
drwxrwxrwx 7 root root 4096 Feb 24 15:18 attachments
-rwxrwxrwx 1 root root 848 Dec 31 2008 batch.ad.php
-rwxrwxrwx 1 root root 9703 Sep 22 2009 batch.comment.php
-rwxrwxrwx 1 root root 10912 Sep 23 2009 batch.common.php
-rwxrwxrwx 1 root root 1689 Sep 16 2009 batch.download.php
-rwxrwxrwx 1 root root 6639 Feb 25 2009 batch.epitome.php
-rwxrwxrwx 1 root root 266 Mar 25 2009 batch.formhash.php
-rwxrwxrwx 1 root root 3372 Dec 31 2008 batch.html.php
-rwxrwxrwx 1 root root 4491 Feb 18 2009 batch.insertimage.php
-rwxrwxrwx 1 root root 2630 Dec 31 2008 batch.javascript.php
-rwxrwxrwx 1 root root 3261 Oct 22 2009 batch.login.php
-rwxrwxrwx 1 root root 3218 Sep 16 2009 batch.modeldownload.php
-rwxrwxrwx 1 root root 6842 Sep 22 2009 batch.panel.php
-rwxrwxrwx 1 root root 12100 Aug 31 2009 batch.postnews.php
-rwxrwxrwx 1 root root 3534 May 27 2010 batch.search.php
-rwxrwxrwx 1 root root 2360 Sep 22 2009 batch.secboard.php
-rwxrwxrwx 1 root root 1555 Nov 4 2009 batch.tagshow.php
-rwxrwxrwx 1 root root 3027 Feb 18 2009 batch.thumb.php
-rwxrwxrwx 1 root root 14074 Aug 31 2009 batch.upload.php
-rwxrwxrwx 1 root root 1942 Aug 31 2009 bbs.php
……………………..餘下省略……………………………….[/code]

My god,這位程式設計師好辛苦啊!黑客很感謝你的。

請注意看輸出的目錄,有一個目錄是… ,注意喲,是3個點,很可疑,同時也很容易把人迷惑。相信要迷惑這位可愛的程式設計師,那是不在話下了。進去看看,喲西,好多檔案呢:

[code lang=”shell”]-rw-r–r– 1 nobody nobody 8008 May 23 06:47 cb2.php
-rw-r–r– 1 nobody nobody 468348 Jan 1 1970 index.html
-rw-r–r– 1 nobody nobody 6186 May 23 06:47 old.txt
-rw-r–r– 1 nobody nobody 5948 May 23 06:47 old2.txt
-rw-r–r– 1 nobody nobody 1289 May 23 06:47 pass.txt
-rwxr-xr-x 1 nobody nobody 20044 May 23 06:47 s64
-rw-r–r– 1 nobody nobody 1711 May 23 06:47 user.txt
-rw-r–r– 1 nobody nobody 149 Jun 15 11:12 vulnerables.txt[/code]

記得前邊的程序,有個s64,它就藏在這裡了。記得用find搜一下,看其它地方還有沒有。開啟幾個檔案看了一下,全是與木馬相關的檔案。

閒著沒事,再幫他看看系統帳號,有幾行也不對勁,其內容為:

[code lang=”shell”]dovecot:x:101:104::/home/dovecot:/bin/bash
nx:x:102:105::/usr/NX/home/nx:/usr/NX/bin/nxserver
webmaster:x:3004:100::/home/webmaster:/bin/bash[/code]

翻一下他的歷史記錄,有一行內容為 806 /usr/local/mysql/bin/mysqldump -uroot -p wscykjw > /opt/sql.sql 。這個直接把root密碼寫在命令列引數裡,你這樣圖省事,黑客進來也省事啊,不用再費勁,就直接拿庫了。

這裡拿一個被入侵的網站做例子,幾乎該犯的錯誤,都犯了。希望沒經驗的程式設計師,不要輕易跨界搶系統管理員的飯碗,你留下的爛攤子,還得系統管理員來收拾的。謝謝!