前言
書接上文,還沒有看過的小伙伴可以關注公眾號,翻翻歷史文章:有了webshell之后應該怎么拿下寶塔?,
我們對寶塔進行滲透的程序會產生很多入侵痕跡,比如:
- 正常訪問目標站點的日志;
- 沒找到正確的面板入口地址,產生的面板訪問日志;
- 登錄失敗的日志,會記錄顯示操作時間和登錄賬戶、來源IP;
- 成功登錄的日志,會記錄顯示操作時間和登錄賬戶、來源IP;
- 其他操作日志,如在面板上傳和下載檔案、清空面板操作日志(沒錯,清空操作本身也會產生日志...);
- 其他日志,如修改防火墻、升級軟體、修改資料庫等等,
這些痕跡都是要在我們完成測驗之后要清除的,否則一不小心就被溯源了,尤其是新增的賬戶的登入登出日志,陌生賬號的登錄記錄很容易引起管理員注意!
清除寶塔面板操作日志
基本思路
成功和失敗的登錄,寶塔都會有記錄

基本思路是下載/www/server/panel/data/default.db這個資料庫檔案,修改后再次上傳覆寫源檔案
cp /tmp/default.db /www/server/panel/data/
到這里又有一個問題,實測發現如果直接修改資料庫,洗掉某條記錄,上傳覆寫后會導致面板新的日志序號不連續,管理員可明顯看出資料異樣

如下圖,45號日志的下一條日志序號為47,而不是46,原因是登出前會有登入,原本記錄46就是一條成功登入的日志

我們觀察DDL可知id是自增關鍵字,因此即便我們洗掉了原來的46號記錄,但由于此時logs表的id值為46,下一條記錄的序號自然是47,導致不連續

解決序號不連續問題
我找到的方法是,匯出原logs表資料后,洗掉原表,再次生成表、匯入原資料,使id值為45
(1)在修改完logs表后,先把修改后的資料匯出

(2)記住logs表的結構,洗掉原logs表,新建一個和原表結構一樣的logs表,
drop table if exists "logs";
CREATE TABLE logs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
type TEXT,
log TEXT,
addtime TEXT,
uid INTEGER DEFAULT '1',
username TEXT DEFAULT 'system'
);
(3)然后把剛才匯出的資料匯入

注意編碼使用UTF-8
此時id值為45
(4)再次覆寫上傳后,發現新產生的日志序號已經連續

此時瀏覽器再次打開面板地址,登錄狀態還在,同時面板記錄不會有隱藏賬戶的登錄日志

如何正確退出面板
注意此時不能點擊左邊的“退出”,否則會再次生成一條登出記錄

直接關閉頁面,等待登錄狀態失效即可
清除服務器日志(Linux)
一般管理員在面板看不出異樣,就不會去查看日志
但如果想完全擦除自己的痕跡,避免被溯源,就要清除訪問日志和登錄失敗日志,主要是access.log和error.log
日志目錄如下:

洗掉含個人IP的行,其他關鍵詞和檔案也可參考
sed -i -e '/[YOUR_IP]/d' /www/wwwlogs/access.log

最后清除命令列記錄即可,
# 將目前 shell 中的所有 history 命令消除,對命令歷史檔案沒有影響
history -c
# 完全清空.bash_history檔案,并不是很建議使用
echo > ~/.bash_history
往期推薦文章
【點擊頭像翻看歷史文章】有了webshell之后應該怎么拿下寶塔?
本文僅用于學習和交流,由于傳播、利用此檔案提供的資訊而造成任何直接或間接的后果及損害,均由使用者本人負責,文章作者不為此承擔任何責任,
文章首發于公眾號:安道實驗室,隨緣更新但篇篇干貨,新號求關注、點贊、收藏和轉發!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509687.html
標籤:其他
