Linux系統(tǒng)下由論壇到SSH的入侵分析
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-08 19:38:02 作者:佚名
我要評(píng)論

本來我不習(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段里&mdash
本來我不習(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ù)庫用戶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)頁出來了,看來沒有用虛擬主機(jī)什么的,八成是學(xué)生自己作的東西,不過,雖然網(wǎng)頁內(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)頁底部:本論壇代碼來自xxx.com,管理員還不錯(cuò),沒改版權(quán)信息。看到了這兒想到了什么?趕緊去你自己的網(wǎng)站改敏感字符?呵呵,晚了,地址中打入xxx.com回車,哦,原來是個(gè)不錯(cuò)的個(gè)人主頁,看他的作品里有個(gè)微型PHP文本論壇,就是這個(gè)了,呵呵,幸虧剛才在論壇里沒試SQL注入,不然就白費(fèi)傻勁了。不管三七二十一,下載下來再說。 下載完成,解壓,發(fā)現(xiàn)論壇根目錄下有個(gè)DB文件夾,這就應(yīng)該是所謂的論壇“數(shù)據(jù)庫”了,打開此文件夾,發(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語句里,遠(yuǎn)程根本無法得到,瀏覽器里打/forums/db/mishi.php返回的只是空白頁面,因?yàn)閭鞒鰰r(shí)PHP語句早被服務(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ù)庫入手,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)頁出來了,看來沒有用虛擬主機(jī)什么的,八成是學(xué)生自己作的東西,不過,雖然網(wǎng)頁內(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)頁底部:本論壇代碼來自xxx.com,管理員還不錯(cuò),沒改版權(quán)信息。看到了這兒想到了什么?趕緊去你自己的網(wǎng)站改敏感字符?呵呵,晚了,地址中打入xxx.com回車,哦,原來是個(gè)不錯(cuò)的個(gè)人主頁,看他的作品里有個(gè)微型PHP文本論壇,就是這個(gè)了,呵呵,幸虧剛才在論壇里沒試SQL注入,不然就白費(fèi)傻勁了。不管三七二十一,下載下來再說。 下載完成,解壓,發(fā)現(xiàn)論壇根目錄下有個(gè)DB文件夾,這就應(yīng)該是所謂的論壇“數(shù)據(jù)庫”了,打開此文件夾,發(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語句里,遠(yuǎn)程根本無法得到,瀏覽器里打/forums/db/mishi.php返回的只是空白頁面,因?yàn)閭鞒鰰r(shí)PHP語句早被服務(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ù)庫入手,SQL注入等這些手段正是熱潮,所以,管理員同志們,看好你們的每道關(guān)口、每個(gè)細(xì)節(jié)!
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時(shí),如果這個(gè)論壇比較大,訪問的人比較多,打開頁面的速度會(huì)比較慢,對(duì)不?!一般來說,訪問的人越多,論壇的頁2024-01-06Windows系統(tǒng)安全風(fēng)險(xiǎn)-本地NTLM重放提權(quán)
入侵者主要通過Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認(rèn)證過程,利用NTLM重放機(jī)制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風(fēng)險(xiǎn)微軟并不認(rèn)為存在漏洞,所以2021-04-15- 這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21
- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權(quán),需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權(quán)與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權(quán)與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關(guān)于http和https的區(qū)別,對(duì)于加密的https,我們一直認(rèn)為它是相對(duì)安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對(duì)你2016-08-10iPhone和Mac也會(huì)被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會(huì)導(dǎo)致用戶信息泄露。2016-07-27- 國(guó)家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀(jì)佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號(hào)被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進(jìn)入攻擊者郵箱
面對(duì)惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護(hù)能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進(jìn)入攻擊者郵箱2016-07-06