網絡服務器不被黑客入侵?應急響應包含組織為了應對突發/重大信息安全事件的發生所做的準備,以及在事件發生後所采取的措施,是信息安全從業者的常見工作之一應急響應并非僅僅是在系統被黑之後做一系列的補救措施,而是需要在平時就進行被黑的準備和避免被黑,下面我們就來聊聊關于網絡服務器不被黑客入侵?接下來我們就一起去了解一下吧!
應急響應包含組織為了應對突發/重大信息安全事件的發生所做的準備,以及在事件發生後所采取的措施,是信息安全從業者的常見工作之一。應急響應并非僅僅是在系統被黑之後做一系列的補救措施,而是需要在平時就進行被黑的準備和避免被黑。
但實際上都是當出現問題後,外部或内部的應急小組才會介入。
但從個人實際經驗考慮,在整個過程中不要被客戶或現場的運維人員誤導。而且操作前需先征得客戶許可。因為實際的應急情況會比較複雜,因此需根據實際情況進行靈活處置。
下面說一下以前偶爾給内部員工培訓時,用到的一些資料
今天隻講應急響應的基本流程
1.了解情況1)查看當前系統的補丁信息
systeminfo
1)列出系統arp表,重點查看網關mac地址
arp -a
2)文件搜索命令
find / -name ".asp"
1)系統内是否有非法賬戶
2)系統中是否含有異常服務程序
3)系統是否存在部分文件被篡改,或發現有新的文件
4)系統安全日志中的非正常登陸情況
5)網站日志中是否有非授權地址訪問管理頁面記錄
6)根據進程、連接等信息關聯的程序,查看木馬活動信息。
7)假如系統的命令(例如netstat ls 等)被替換,為了進一步排查,需要下載一新的或者從其他未感染的主機拷貝新的命令。
8)發現可疑可執行的木馬文件,不要急于删除,先打包備份一份。
9)發現可疑的文本木馬文件,使用文本工具對其内容進行分析,包括回連IP地址、加密方式、關鍵字(以便擴大整個目錄的文件特征提取)等。
5.異常連接排查1)查看目前的網絡連接,定位可疑的 ESTABLISHED netstat -ano
netstat -ano | findstr ESTABLISH
2)查看端口對應的pid
netstat -ano | findstr "port"
netstat -nb顯示在創建每個連接或偵聽端口時涉及的可執行程序,需要管理員權限,這條指令對于查找可疑程序非常有幫助。
6.正在運行的異常進程排查1)查看異常進程 任務管理器
2)顯示運行在本地或遠程計算機上的所有進程
tasklist | findstr 11223
//根據netstat定位出的異常進程的pid,再通過tasklist命令進行進程定位
1)根據 wmic process 獲取進程的全路徑
wmic process | findstr "xx.exe"
2)查看進程的詳細信息,比如進程路徑,進程ID,文件創建日期,啟動時間等
"開始->運行->msinfo32->軟件環境 -> 正在運行任務"
1)關閉某個進程
wmic process where processid="2345" delete
1)查找進程pid
netstat -antlp 先找出可疑進程的端口
lsof -i:port 定位可疑進程pid
2)通過pid查找文件
linux每個進程都有一個對應的目錄
cd /proc/pid号 即可進入到該進程目錄中
ls -ail 結果中exe對應的就是該pid程序的目錄
ls -ail |grep exe
3)查看各進程占用的内存和cpu
top
4)顯示當前進程信息
ps
5)實現某個進程的精确查找
ps -ef | grep apache
6)結束進程
kill -9 pid
7)查看進程樹
pstree -p
查找異常進程是否有父進程
8)也可以直接搜索異常進程的名程來查找其位置,
find / -name 'xxx'
1)圖形化界面查看當前的賬戶和用戶組
lusrmgr.msc
2)查看當前賬戶情況
net user
3)查看某個賬戶的詳細信息
net user Guest
4)查看當前組的情況
net localgroup administrators
5)查看當前系統會話,比如查看是否有人使用遠程終端登陸服務器
query user
踢出該用戶 `logoff ID` ID是上面查詢出來的。也可能是用戶名
1)查看utmp日志,獲得當前系統正在登陸賬戶的信息及地址
w
2)獲得系統前N次的登陸記錄
last | more
3)查看賬号情況
cat /etc/passwd
查找/etc/passwd 文件, /etc/passwd 這個文件是保存着這個 linux 系統所有 用戶的信息,通過查看這個文件,我們就可以嘗試查找有沒有攻擊者所創建的用 戶,或者存在異常的用戶。我們主要關注的是第 3、4 列的用戶标識号和組标識 号,和倒數一二列的用戶主目錄和命令解析程序。一般來說最後一列命令解析程 序如果是設置為 nologin 的話,那麼表示這個用戶是不能登錄的,所以可以結合 我們上面所說的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令 解釋程序不是 nologin 的用戶,然後再到這些用戶的用戶主目錄裡,找到 bash_history,去查看這個用戶有沒執行過惡意命令。
/etc/passwd中一行記錄對應着一個用戶,每行記錄又被冒号(:)分隔為7個字段, 其格式和具體含義如下:
用戶名:口令:用戶标識号:組标識号:注釋性描述:主目錄:登錄 Shell
注意:無密碼隻允許本機登陸,遠程不允許登陸,某個版本之後好像因為安全問題,passwd文件不再有密碼了
4)查看賬号情況
cat /etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用戶名:加密密碼:密碼最後一次修改日期:兩次密碼的修改時間間隔:密碼有效期:密碼修改到期到的警告天數:密碼過期之後的寬限天數:賬号失效時間:保留
這裡查賬号感覺好一點,一般系統的賬号都是沒有密碼的,所以找最長的那幾個,那就是有密碼的賬戶,很可能就是被黑客添加的後門賬戶
5)linux非root用戶文件夾所在位置
/home
6)查看所有賬戶最後一次登陸時間
lastlog
7)顯示用戶登陸錯誤的記錄
lastb
檢查暴力破解
8)顯示用戶最近登陸信息
last
數據源為
/var/log/wtmp
/var/log/wtmp.1
/var/log/btmp
/var/log/btmp.1
9)查看當前登陸用戶
who
(tty本地登陸 pts遠程登錄)
10)查看當前時刻用戶行為
w
11)查看登陸多久,多少用戶,負載
uptime
12)禁用賬戶,賬号無法登陸,/etc/shadow 第二欄為!開頭
usermod -L user
13)删除user用戶
userdel -r user
14)創建用戶
useradd admin #創建一個用戶,在home目錄下不創建文件夾
passwd admin #修改之前創建的賬号的密碼
adduser admin2 #是一個比較完善的創建用戶的命令,會在home目錄下生成一個admin2的文件夾
15)删除用戶
userdel admin2 #這樣删除的話不完全,home目錄下的admin2目錄不會删除
userdel -rf admin #-r 完全删除一個賬戶 -f強制删除
如果遇到賬戶删除顯示已經删除,但創建同名的用戶提示用戶已存在的情況,嘗試以下方法進行删除.手動删除passwd、shadow、group裡面用戶相關字段,以及用戶相關的log和mail,并強制删除home目錄下用戶的文件夾.
/home
/etc/passwd
/etc/group
/var/spool/mail
1)查看文件時間
右鍵查看文件屬性,查看文件時間
2)Recent 是系統文件夾,裡面存放着你最近使用的文檔的快捷方式,查看用 戶 recent 相關文件,通過分析最近打開分析可疑文件
%UserProfile%\Recent
3)通過文件時間屬性來定位可疑文件:根據文件夾内文件列表時間進行排序,查找可疑文件。當然也可以搜索指 定日期範圍的文件及文件 查看文件時間,創建時間、修改時間、訪問時間,黑客通過菜刀類工具改 變的是修改時間。所以如果修改時間在創建時間之前明顯是可疑文件
1)分析文件日期
stat xx.asp
2)返回最近24小時内修改過的文件
find ./ -mtime 0
返回的是前48~24小時修改過的文件 find ./ -mtime 1
返回10天内修改過的文件,可以把最近幾天的數據一天天的加起來 find ./ -mtime 0 -o -mtime 1 -o -mtime 2
查找 24 小時内被修改的 php 文件 find ./ -mtime 0 -name "*.php"
3)敏感目錄的文件分析 [類/tmp 目錄,命令目錄/usr/bin /usr/sbin 等], 查看 tmp 目錄下的文件➜
ls –alt /tmp/ | head -n 10
這樣是按時間順序查出來的結果
4)特殊權限文件查找
find / *.jsp -perm 777
find / -perm 777 |more
find / *.sh -perm 777|grep .sh
5)隐藏的文,以 "."開頭的具有隐藏屬性的文件,當前目錄查找
ls -ar |grep "^\."
6)i linux文件不可修改權限
chattr I filename 給文件添加不可修改權限
chattr -I filename 将文件的不可修改權限去掉
lsattr filename 查看文件是否設置了相關權限
如果設置了該參數,則無論任何人想要删除改文件均需要将此權限去掉
7)a linux文件不可修改權限
chattr a filename 給文件添加隻追加權限
chattr -a filename 将文件的隻追加權限去掉
lsattr filename 查看文件的相關權限設置
這個權限讓目标隻能追加,不能删除,而且不能通過編輯器追加
8)查看ssh相關目錄有無可疑的公鑰存在
Redis(6379) 未授權惡意入侵,即可直接通過redis到目标主機導入公鑰
目錄:/etc/ssh ./.ssh/
9.啟動項排查1)查看開機啟動有無異常文件
msconfig
2)win10開機啟動文件夾
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
快捷查找方法,找一個安裝好的程序的快捷方式,右鍵打開文件位置,再進入該目錄下的啟動目錄即可。StartUp
3)win7開機啟動文件夾
C:\Users\rpkr\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
查找方式,開始>所有程序>啟動 ,03查找同此方法
4)在注冊表中查看開機啟動項是否異常
開始->運行->regedit,打開注冊表,查看開機啟動項是否正常,特别注意如下三個注冊表項:
HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
檢查右側是否有啟動異常的項目,如有請删除,并建議安裝殺毒軟件進行病毒查殺,清除殘留病毒或木馬
1)查看開機啟動項内容
ls -alt /etc/init.d/
/etc/init.d 是 /etc/rc.d/init.d 的軟連接
2)啟動項文件
more /etc/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/
ll /etc |grep rc
3)定時任務-基本使用
1.利用crontab創建計劃任務
crontab -l 列出某個用戶 cron 服務的詳細内容
2.删除每個用戶cront任務(慎重:删除所有的計劃任務)
crontab -r
3.使用編輯器編輯當前的crontab文件
crontab -e
如:*/1 * * * * echo ""hello word"" >> /tmp/test.txt 每分鐘寫入文件
4.利用anacron實現異步定時任務調度
每天運行 /home/bacup.sh 腳本
vi /etc/anacrontab
#daily 10 example.daily /bin/bash /home/backup.sh
當機器在backup.sh期望被運行時是關機的,anacron會在機器開機十分鐘後運行它,而不用再等待7天
ls -al /var/spool/cron/ 查看隐藏的計劃任務
Tips:默認編寫的crontab文件會保存在(/var/spool/cron/用戶名 例如:/var/loop/cron/root)
5.查看分析任務計劃
crontab -u <-l, -r, -e>
-u 指定一個用戶
-l 列出某個用戶的任務計劃
-r 删除某個用戶的任務
-e 編輯某個用戶的任務(編輯的是/var/spool/cron下對應用戶的cron文件,也可以直接修改/etc/crontab文件)
1)查看Windows 計劃任務
taskschd.msc
或者 【程序】➜【附件】➜【系統工具】➜【任務計劃程序】
1)查看當前計劃任務有哪些
crontab -l
是否有後門木馬程序啟動相關信息
2)查看分析計劃任務
crontab -u <-l, -r, -e>
3)查看 etc 目錄任務計劃相關文件
ls -al /etc/cron*
cat /etc/crontab
4)此處要注意隐藏的計劃任務,在linux中以.開頭的文件為隐藏文件,要使用
ls -al來查看
5)定時任務 - 入侵排查
重點關注以下目錄中是否存在惡意腳本
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
小技巧:more /etc/cron.daily/* 查看目錄下所有文件
11.日志排查打開日志管理器
eventvwr.msc
1)查看曆史命令記錄文件
cat /root/.bash_history |more
,每個賬戶對應的文件夾下都有這樣一個日志文件,但感覺記錄的不是特别全。可以直接在root下搜索 .bash_history 這個文件。
2)如有
/var/log/secure
日志,可觀察其進行暴力破解溯源
3)ubuntu 建議使用
lastb
和
last
進行暴力破解溯源
/var/log/message 系統啟動後的信息和錯誤日志,
/var/log/secure 與安全相關的日志信息
/var/log/maillog 與郵件相關的日志信息
/var/log/cron 與定時任務相關的日志信息
/var/log/spooler UUCP和news設備相關日志信息
/var/log/boot.log 進程啟動和停止相關的日志消息
4)linux系統日志相關配置文件為/etc/rsyslog.conf(syslog.conf) 主要找 wget\ssh\scp\tar\zip 添加賬戶修改密碼一類的
1)無論任何web服務器,都需要關注以下的日志
access_log
error_log
access.log
error.log
2)apache日志位置
應通過httpd.conf配置來判斷。
在httpd.conf中搜索未被注釋的、以指令字CustomLog為起始的行,該行即指定了日志的存儲位置。
搜索可使用文本搜索,也可使用grep進行:grep -i CustomLog httpd.conf | grep -v ^#
搜索結束後會獲得類似如下的搜索結果:
CustomLog /var/mylogs/access.log common
其中 /var/mylogs/access.log即為客戶日志的路徑。
若此處未指明日志的完整路徑而隻是列舉日志的文件名(如:access.log),
則意指該文件存儲與默認的日志存儲目錄下(即,/var/log/httpd 或 /var/httpd 目錄)。
3)IIS日志位置
IIS日志默認存儲于 %systemroot%\system32\LogFiles\W3SVC目錄中,
日志命名方式為exYYMMDD.log(YYMMDD指:年 月 日)。
但IIS日志路徑也可通過用戶配置來指定,通過WEB站點配置可确認其位置:
WEB站點 — 屬性 — 網站 — W3C擴展日志文件格式 — 屬性 — 日志文件目錄
1)mysal - cat mysql.log|grep union
12.恢複階段更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!