Linux系統(tǒng)下由論壇到SSH的入侵分析
發(fā)布日期:2021-12-27 08:59 | 文章來源:gibhub
本來我不習(xí)慣開QQ,可好友打來電話說有事找我,遂上線。因?yàn)槲矣玫腝Q是能顯示IP地址的木子版本,所以看到好友的IP:xxx.xxx.19.24,發(fā)現(xiàn)好友是在學(xué)校的實(shí)驗(yàn)室上網(wǎng)。我忽發(fā)奇想,想看看他們實(shí)驗(yàn)室的機(jī)器里都有些什么東西,因?yàn)橐郧拔抑浪麄儗?shí)驗(yàn)室的機(jī)子在一個(gè)C段里——什么?你讓我直接給好友發(fā)木馬?那小子比猴都精,況且那小子的技術(shù)也不是省油燈,還是用迂回戰(zhàn)略吧!
從百寶箱里隨便祭出個(gè)掃描器,我用的是這個(gè)小東東:BluesPortScan,它的掃描速度超快,可惜會(huì)漏報(bào)。先掃三十臺(tái)機(jī)器吧,端口1—150。掃描完后,一臺(tái)機(jī)器引起了我的注意:機(jī)器IP為xxx.xxx.19.7,開了22和80端口。開了22端口,八成就是臺(tái)Linux機(jī)器了。拿SecureCRT連一下22端口:
小知識(shí):22號(hào)端口對(duì)應(yīng)Linux下的SSH,這一服務(wù)有許多弱點(diǎn),建議在其它端口運(yùn)行SSH。
79端口的Finger也沒開,用戶名目前只知道可能的是ROOT,密碼先來個(gè)123,返回錯(cuò)誤,看來要從別處入手了。別處好像只開了80,后來擴(kuò)大了端口掃描范圍又掃出個(gè)Oracle的3306端口,不過那個(gè)數(shù)據(jù)庫(kù)用戶ROOT的密碼不是空,總不能讓我掛本字典去跑吧?還是轉(zhuǎn)到80端口吧。
Telnet上它的80端口,然后GET,返回服務(wù)器信息:Server: Apache/1.3.27 (Unix) PHP/4.2.3。用的阿帕奇服務(wù)器,不要考慮WEB服務(wù)器本身的漏洞了,去網(wǎng)站轉(zhuǎn)悠吧。地址欄里敲入它的地址:xxx.xxx.19.7,回車。網(wǎng)頁(yè)出來了,看來沒有用虛擬主機(jī)什么的,八成是學(xué)生自己作的東西,不過,雖然網(wǎng)頁(yè)內(nèi)容比較官方,但感覺網(wǎng)站好像千瘡百孔。用PHP和HTML做的,有好像改得面目全非或自己做的新聞系統(tǒng),在文章管理系統(tǒng)里找了幾個(gè)點(diǎn)試了試SQL注入,沒有成功,算了,到論壇里看看吧。 進(jìn)了論壇里,先習(xí)慣性的用admin密碼admin登錄,竟然成功了,倒啊倒!找個(gè)上傳點(diǎn)扔個(gè)PHP后門上去!接下來卻讓我大失所望,管理面板里轉(zhuǎn)了半天也找不到個(gè)上傳點(diǎn),別說上傳頭像了,用戶資料里就沒頭像這一項(xiàng)。哪個(gè)論壇這么氣人?看看網(wǎng)頁(yè)底部:本論壇代碼來自xxx.com,管理員還不錯(cuò),沒改版權(quán)信息。看到了這兒想到了什么?趕緊去你自己的網(wǎng)站改敏感字符?呵呵,晚了,地址中打入xxx.com回車,哦,原來是個(gè)不錯(cuò)的個(gè)人主頁(yè),看他的作品里有個(gè)微型PHP文本論壇,就是這個(gè)了,呵呵,幸虧剛才在論壇里沒試SQL注入,不然就白費(fèi)傻勁了。不管三七二十一,下載下來再說。 下載完成,解壓,發(fā)現(xiàn)論壇根目錄下有個(gè)DB文件夾,這就應(yīng)該是所謂的論壇“數(shù)據(jù)庫(kù)”了,打開此文件夾,發(fā)現(xiàn)里面都是些.dat文件,用記事本打開,果然是文本格式。警覺的雙眼一下子就盯到了那個(gè)user.dat上。打開,內(nèi)容如下: admin<~>p|lcv<~>3<~>ecawen@21cn.com<~>peking<~>http://<~><~><~><~><~>3<~>
2004-01-01<~>1 admin是默認(rèn)用戶,p|1cv應(yīng)該就是加密后的密碼了,緊接的“3”代表管理員,后面的就不用看了。迫不及待地在地址欄里里輸入:xxx.xxx.19.7 /forums/db/user.dat,天,把里面的內(nèi)容全打到IE里了,趕緊保存下來。 好了,找關(guān)鍵的地方,最原先的用戶,一般就是第一二個(gè),找到了,是管理員權(quán)限,用戶名為aaa,密碼為4$@A%G,破解出了這個(gè)密碼,按人的習(xí)慣,系統(tǒng)密碼不是這個(gè)也不遠(yuǎn)了,至少會(huì)前進(jìn)一大步。重新分析論壇代碼,發(fā)現(xiàn)用以下的方法做的加密: function t_encrypt($text, $key)
{
$crypt = "";
for($i=0;$i<strlen($text);$i )
{
$i_key = ord(substr($key, $i, 1));
$i_text = ord(substr($text, $i, 1));
$n_key = ord(substr($key, $i 1, 1));
$i_crypt = $i_text$i_key;
$i_crypt = $i_crypt - $n_key;
$crypt .= chr($i_crypt);
}
return $crypt;
}
還有個(gè)key,key在哪呢?在db下的一個(gè)mishi.php里,打開內(nèi)容如下:
<? $key="jpjtvdomfmawwttsdhoxurmygjjtauefjuimueurisecggpymneslwowuqnzmmgmvjvccmeye
uselymzoinxvqonmhjqjhljywixrdxboqdmmfidlhzrcoatnldlmwvinljayirwqcgazyvfrwvgbgroqfxiqruu
rtkpogbkgdibeqejehfamujlqasitbizcxasobkl"; ?>
分析加密函數(shù)的算法:從密碼第一位開始,取密碼的一個(gè)字符,取key對(duì)應(yīng)位的一個(gè)字符,轉(zhuǎn)換成Ascii碼相加,然后相加結(jié)果再減去key中下一位的Ascii,然后把最后結(jié)果再轉(zhuǎn)換成字符即所謂密文存儲(chǔ)。 Substr(string,i,j)函數(shù)的作用是將字符串string的第 i 位起取出 j 個(gè)字符。Ord()和chr()則分別是字符到Ascii和Ascii到字符的轉(zhuǎn)換函數(shù)。簡(jiǎn)化一下上面算法就是:$i_crypt=$i_text $i_key-$i 1_key。先拿第一位算吧,假設(shè)原密碼第一位Ascii碼為x,則: x ascii(j)-ascii(p)=ascii(4)
用Ascii碼算就是x 106-112=52 x=58轉(zhuǎn)換成字符就是“:”,好奇怪。把六位密碼全部還原回來,再去論壇登錄,糟了,希望破滅了,提示密碼錯(cuò)誤!管理員大概不會(huì)去改代碼中加密部分的算法的,難道,管理員把key改了? 重又回到論壇,注冊(cè)一個(gè)新用戶ecawen,密碼mygod,然后打開它的user.dat觀看,加密后的密文為p|lcv,按下載回來的論壇源代碼中的密鑰算了算,不對(duì),果然key被改了。但包含key的文件是個(gè)mishi.php,key也在PHP語(yǔ)句里,遠(yuǎn)程根本無法得到,瀏覽器里打/forums/db/mishi.php返回的只是空白頁(yè)面,因?yàn)閭鞒鰰r(shí)PHP語(yǔ)句早被服務(wù)器過濾了。怎么辦,想了大約幾秒鐘,還是有辦法的,我們不一定要知道確切密鑰,知道密文和算法了,這么簡(jiǎn)單的算法我們應(yīng)該能把需要的搞出來。 假設(shè)未知密鑰第一位是Ascii碼a,每二位是b,依此類推…… 我的用戶ecawen的密碼(我注冊(cè)的,當(dāng)然知道,我輸?shù)氖莔ygod)加密后密文是p|lcv,所以我們可以這樣算: ?。榱丝粗?jiǎn)潔ascii(m)我們直接用ascii碼109)
109 a-b=112
121 b-c=124
103 c-d=108
.
.
. 看暈了吧,其實(shí),我們加個(gè)()就豁然開朗了。
109 (a-b)=112
121 (b-c)=124
103 (c-d)=108
.
.
. 好了,拿出他的管理員密文來算吧:
x (a-b)=52
x (b-c)=36
x (c-d)=64
.
.
. 把x再還原成字符,好了,原密碼出來了吧?有點(diǎn)復(fù)雜?越這樣你會(huì)越激動(dòng)的!不過,有點(diǎn)要注意的是,你注冊(cè)的用戶密碼位數(shù)要不少于管理員密碼位數(shù),此處管理員密碼是六位,我一不小心注冊(cè)了個(gè)五位的,到第六位不能算了,還得另注冊(cè)個(gè)用戶,走了彎路。 好了,拿解出的密碼登錄論壇,成功登錄。打開secureCRT通過SSH登錄其系統(tǒng),用戶名ROOT,密碼為剛解出的那個(gè)密碼,懷著激動(dòng)的心情默念到第N聲芝麻開門的時(shí)候,門開了!進(jìn)去轉(zhuǎn)吧,因?yàn)槭呛糜褜W(xué)校的機(jī)器,代理我都沒用,有事CALL好友出來墊背! 后來還發(fā)現(xiàn)系統(tǒng)中存在與論壇管理員同名的那個(gè)aaa用戶且密碼也相同,就不再詳述了。那些ida/idq、webdav什么的早已遠(yuǎn)去了, 沖擊波那個(gè)漏洞滿城風(fēng)雨后也早銷聲匿跡了,現(xiàn)在專門找系統(tǒng)漏洞的攻擊及入侵已經(jīng)快跟不上時(shí)代了,況且網(wǎng)上很多主機(jī)前面又是防火墻又是IDS的。而轉(zhuǎn)而分析網(wǎng)站綜合缺陷,從網(wǎng)站數(shù)據(jù)庫(kù)入手,SQL注入等這些手段正是熱潮,所以,管理員同志們,看好你們的每道關(guān)口、每個(gè)細(xì)節(jié)!
Telnet上它的80端口,然后GET,返回服務(wù)器信息:Server: Apache/1.3.27 (Unix) PHP/4.2.3。用的阿帕奇服務(wù)器,不要考慮WEB服務(wù)器本身的漏洞了,去網(wǎng)站轉(zhuǎn)悠吧。地址欄里敲入它的地址:xxx.xxx.19.7,回車。網(wǎng)頁(yè)出來了,看來沒有用虛擬主機(jī)什么的,八成是學(xué)生自己作的東西,不過,雖然網(wǎng)頁(yè)內(nèi)容比較官方,但感覺網(wǎng)站好像千瘡百孔。用PHP和HTML做的,有好像改得面目全非或自己做的新聞系統(tǒng),在文章管理系統(tǒng)里找了幾個(gè)點(diǎn)試了試SQL注入,沒有成功,算了,到論壇里看看吧。 進(jìn)了論壇里,先習(xí)慣性的用admin密碼admin登錄,竟然成功了,倒啊倒!找個(gè)上傳點(diǎn)扔個(gè)PHP后門上去!接下來卻讓我大失所望,管理面板里轉(zhuǎn)了半天也找不到個(gè)上傳點(diǎn),別說上傳頭像了,用戶資料里就沒頭像這一項(xiàng)。哪個(gè)論壇這么氣人?看看網(wǎng)頁(yè)底部:本論壇代碼來自xxx.com,管理員還不錯(cuò),沒改版權(quán)信息。看到了這兒想到了什么?趕緊去你自己的網(wǎng)站改敏感字符?呵呵,晚了,地址中打入xxx.com回車,哦,原來是個(gè)不錯(cuò)的個(gè)人主頁(yè),看他的作品里有個(gè)微型PHP文本論壇,就是這個(gè)了,呵呵,幸虧剛才在論壇里沒試SQL注入,不然就白費(fèi)傻勁了。不管三七二十一,下載下來再說。 下載完成,解壓,發(fā)現(xiàn)論壇根目錄下有個(gè)DB文件夾,這就應(yīng)該是所謂的論壇“數(shù)據(jù)庫(kù)”了,打開此文件夾,發(fā)現(xiàn)里面都是些.dat文件,用記事本打開,果然是文本格式。警覺的雙眼一下子就盯到了那個(gè)user.dat上。打開,內(nèi)容如下: admin<~>p|lcv<~>3<~>ecawen@21cn.com<~>peking<~>http://<~><~><~><~><~>3<~>
2004-01-01<~>1 admin是默認(rèn)用戶,p|1cv應(yīng)該就是加密后的密碼了,緊接的“3”代表管理員,后面的就不用看了。迫不及待地在地址欄里里輸入:xxx.xxx.19.7 /forums/db/user.dat,天,把里面的內(nèi)容全打到IE里了,趕緊保存下來。 好了,找關(guān)鍵的地方,最原先的用戶,一般就是第一二個(gè),找到了,是管理員權(quán)限,用戶名為aaa,密碼為4$@A%G,破解出了這個(gè)密碼,按人的習(xí)慣,系統(tǒng)密碼不是這個(gè)也不遠(yuǎn)了,至少會(huì)前進(jìn)一大步。重新分析論壇代碼,發(fā)現(xiàn)用以下的方法做的加密: function t_encrypt($text, $key)
{
$crypt = "";
for($i=0;$i<strlen($text);$i )
{
$i_key = ord(substr($key, $i, 1));
$i_text = ord(substr($text, $i, 1));
$n_key = ord(substr($key, $i 1, 1));
$i_crypt = $i_text$i_key;
$i_crypt = $i_crypt - $n_key;
$crypt .= chr($i_crypt);
}
return $crypt;
}
還有個(gè)key,key在哪呢?在db下的一個(gè)mishi.php里,打開內(nèi)容如下:
<? $key="jpjtvdomfmawwttsdhoxurmygjjtauefjuimueurisecggpymneslwowuqnzmmgmvjvccmeye
uselymzoinxvqonmhjqjhljywixrdxboqdmmfidlhzrcoatnldlmwvinljayirwqcgazyvfrwvgbgroqfxiqruu
rtkpogbkgdibeqejehfamujlqasitbizcxasobkl"; ?>
分析加密函數(shù)的算法:從密碼第一位開始,取密碼的一個(gè)字符,取key對(duì)應(yīng)位的一個(gè)字符,轉(zhuǎn)換成Ascii碼相加,然后相加結(jié)果再減去key中下一位的Ascii,然后把最后結(jié)果再轉(zhuǎn)換成字符即所謂密文存儲(chǔ)。 Substr(string,i,j)函數(shù)的作用是將字符串string的第 i 位起取出 j 個(gè)字符。Ord()和chr()則分別是字符到Ascii和Ascii到字符的轉(zhuǎn)換函數(shù)。簡(jiǎn)化一下上面算法就是:$i_crypt=$i_text $i_key-$i 1_key。先拿第一位算吧,假設(shè)原密碼第一位Ascii碼為x,則: x ascii(j)-ascii(p)=ascii(4)
用Ascii碼算就是x 106-112=52 x=58轉(zhuǎn)換成字符就是“:”,好奇怪。把六位密碼全部還原回來,再去論壇登錄,糟了,希望破滅了,提示密碼錯(cuò)誤!管理員大概不會(huì)去改代碼中加密部分的算法的,難道,管理員把key改了? 重又回到論壇,注冊(cè)一個(gè)新用戶ecawen,密碼mygod,然后打開它的user.dat觀看,加密后的密文為p|lcv,按下載回來的論壇源代碼中的密鑰算了算,不對(duì),果然key被改了。但包含key的文件是個(gè)mishi.php,key也在PHP語(yǔ)句里,遠(yuǎn)程根本無法得到,瀏覽器里打/forums/db/mishi.php返回的只是空白頁(yè)面,因?yàn)閭鞒鰰r(shí)PHP語(yǔ)句早被服務(wù)器過濾了。怎么辦,想了大約幾秒鐘,還是有辦法的,我們不一定要知道確切密鑰,知道密文和算法了,這么簡(jiǎn)單的算法我們應(yīng)該能把需要的搞出來。 假設(shè)未知密鑰第一位是Ascii碼a,每二位是b,依此類推…… 我的用戶ecawen的密碼(我注冊(cè)的,當(dāng)然知道,我輸?shù)氖莔ygod)加密后密文是p|lcv,所以我們可以這樣算: ?。榱丝粗?jiǎn)潔ascii(m)我們直接用ascii碼109)
109 a-b=112
121 b-c=124
103 c-d=108
.
.
. 看暈了吧,其實(shí),我們加個(gè)()就豁然開朗了。
109 (a-b)=112
121 (b-c)=124
103 (c-d)=108
.
.
. 好了,拿出他的管理員密文來算吧:
x (a-b)=52
x (b-c)=36
x (c-d)=64
.
.
. 把x再還原成字符,好了,原密碼出來了吧?有點(diǎn)復(fù)雜?越這樣你會(huì)越激動(dòng)的!不過,有點(diǎn)要注意的是,你注冊(cè)的用戶密碼位數(shù)要不少于管理員密碼位數(shù),此處管理員密碼是六位,我一不小心注冊(cè)了個(gè)五位的,到第六位不能算了,還得另注冊(cè)個(gè)用戶,走了彎路。 好了,拿解出的密碼登錄論壇,成功登錄。打開secureCRT通過SSH登錄其系統(tǒng),用戶名ROOT,密碼為剛解出的那個(gè)密碼,懷著激動(dòng)的心情默念到第N聲芝麻開門的時(shí)候,門開了!進(jìn)去轉(zhuǎn)吧,因?yàn)槭呛糜褜W(xué)校的機(jī)器,代理我都沒用,有事CALL好友出來墊背! 后來還發(fā)現(xiàn)系統(tǒng)中存在與論壇管理員同名的那個(gè)aaa用戶且密碼也相同,就不再詳述了。那些ida/idq、webdav什么的早已遠(yuǎn)去了, 沖擊波那個(gè)漏洞滿城風(fēng)雨后也早銷聲匿跡了,現(xiàn)在專門找系統(tǒng)漏洞的攻擊及入侵已經(jīng)快跟不上時(shí)代了,況且網(wǎng)上很多主機(jī)前面又是防火墻又是IDS的。而轉(zhuǎn)而分析網(wǎng)站綜合缺陷,從網(wǎng)站數(shù)據(jù)庫(kù)入手,SQL注入等這些手段正是熱潮,所以,管理員同志們,看好你們的每道關(guān)口、每個(gè)細(xì)節(jié)!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章