服務器入侵技巧整理


一.
php

前記html


最近某司網站主頁被篡改了,找師傅幫忙看看怎麼回事,師傅沒有空就交給我了……
我本身這方面沒有了解不少,事情結束後,又找師傅問了問關於溯源的技巧經驗,因而就有了這篇小結。

二.
node

勒溯源的思路git


看對方的目的是什麼,就是最終目標是作什麼。
而後根據本身經驗 看看達到這個目標 須要進行什麼操做 逆推回去。
看看這些過程都會留下什麼日誌。

下手的幾個點

網站源碼分析github

日誌分析web

系統存儲的信息分析redis

分析進程端口chrome



三.
shell

網站源碼文件分析apache


分析網站源碼能夠幫助咱們獲取網站被入侵時間, 黑客如何的 IP, 等信息, 對於接下來的日誌分析有很大幫助。

1. 查殺後門

可使用 D 盾查殺是否存在網站後門,若是存在 webshell,記錄下該 webshell 的信息。

找到 webshell 後,就能夠根據該文件的路徑,在日誌裏查找有關信息,例如訪問該文件的 IP、時間等。能夠根據這些信息肯定網站別入侵的時間,從而縮小搜索範圍,運氣好了能夠直接根據 IP 找到黑客。

2. diff 源碼,查找被修改的地方,記錄被修改代碼的信息。

diff 工具推薦-diffmerge(https://sourcegear.com/diffmerge/)

能夠根據被修改的文件的修改時間,縮小搜索範圍。

3. 查看指定目錄下文件時間的排序

能夠根據文件的排序迅速找到被黑客修改的文件,從而找到入侵時間。

➜ ~ ls -alt | head -n 10
總用量 2432
drwxr-xr-x 35 yang yang 4096 6 月 28 21:43 .
-rw------- 1 yang yang 41214 6 月 28 21:43 .zsh_history
-rw------- 1 yang yang 413115 6 月 28 21:42 .xsession-errors
drwxr-xr-x 2 yang yang 4096 6 月 28 21:41 .sogouinput
drwxr-xr-x 6 yang yang 4096 6 月 28 20:40 Desktop
drwxr-xr-x 16 yang yang 4096 6 月 28 18:30 .cache
drwxr-xr-x 27 yang yang 4096 6 月 28 09:53 .config
drwx------ 2 yang yang 4096 6 月 28 07:54 .gconf
-rw------- 1 yang yang 49 6 月 28 07:54 .Xauthority

4. 使用 find 指令查找限定時間範圍的文件

例:查看 10 分鐘內修改過的文件

➜ html sudo find ./ -cmin -10 -name "*.php"
./1.php

5. 查看文件詳細信息

➜ html stat waf.php
文件:waf.php
大小:0 塊:0 IO 塊:4096 普通空文件
設備:802h/2050d Inode:837154 硬連接:1
權限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近訪問:2018-06-21 18:51:19.492195229 +0800
最近更改:2018-06-20 21:28:56.907316842 +0800
最近改動:2018-06-20 21:28:56.907316842 +0800
建立時間:-



四.

日誌分析


網站日誌分析

網站日誌通常爲

- access.log
- error.log

根據上一步分析網站源碼獲得的信息在對日誌文件進行篩選分析,由於日誌文件會記錄不少信息,若是一條一條分析,不是很現實。

1. 根據時間篩選

sudo cat access.log| grep '27/Jun/2018'

2. 根據特殊文件名篩選

sudo cat access.log| grep '文件名'

3. 根據 ip 篩選

sudo cat access.log| grep 'ip'

4. 對訪問服務器的 IP 進行統計排序

sudo cat /var/log/apache2/access.log | cut -f1 -d ' '| sort | uniq -c

web-log 分析工具(https://github.com/JeffXue/web-log-parser)


系統日誌分析

/var/log/wtmp 登陸進入,退出,數據交換、關機和重啓紀錄

/var/run/utmp 有關當前登陸用戶的信息記錄

/var/log/lastlog 文件記錄用戶最後登陸的信息,可用 lastlog 命令來查看。

/var/log/secure 記錄登入系統存取數據的文件,例如 pop3/ssh/telnet/ftp 等都會被記錄。

/var/log/cron 與定時任務相關的日誌信息

/var/log/message 系統啓動後的信息和錯誤日誌

/var/log/wtmp 和/var/run/utmp 兩個文件沒法直接使用 cat 命令輸出,可是可使用一些命令來查看,好比 w/who/finger/id/last/ac/uptime

1. w 命令

該命令查詢 /var/log/wtmp 文件並顯示 當前 系統中每一個用戶和它所運行的進程信息:

➜ ~ w
17:47:16 up 9:53, 1 user, load average: 2.45, 1.81, 1.62
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
yang tty1 :0 07:54 9:53m 1:15m 1:51 /usr/bin/startdde

2. last

該命令往回搜索 /var/log/wtmp 文件來顯示自從該文件第一次建立以來全部登陸過的用戶:

若是指明瞭用戶,則該命令只顯示該用戶的近期活動:

➜ ~ last
yang tty1 :0 Thu Jun 28 07:54 still logged in
reboot system boot 4.15.0-21deepin- Thu Jun 28 07:53 still running
yang tty1 :0 Wed Jun 27 08:52 - 22:02 (13:10)
reboot system boot 4.15.0-21deepin- Wed Jun 27 08:51 - 22:03 (13:11)
yang tty1 :0 Tue Jun 26 10:01 - down (12:39)
reboot system boot 4.15.0-21deepin- Tue Jun 26 10:00 - 22:41 (12:40)
reboot system boot 4.15.0-21deepin- Tue Jun 26 09:54 - 22:41 (12:46)
//指定用戶
➜ ~ last reboot
reboot system boot 4.15.0-21deepin- Thu Jun 28 07:53 still running
reboot system boot 4.15.0-21deepin- Wed Jun 27 08:51 - 22:03 (13:11)
reboot system boot 4.15.0-21deepin- Tue Jun 26 10:00 - 22:41 (12:40)
reboot system boot 4.15.0-21deepin- Tue Jun 26 09:54 - 22:41 (12:46)
reboot system boot 4.15.0-21deepin- Mon Jun 25 08:14 - 20:49 (12:34)
reboot system boot 4.15.0-21deepin- Sun Jun 24 21:46 - 22:54 (01:07)

3. lastlog 命令

/var/log/lastlog 文件在每次有用戶登陸時被查詢。

可使用 lastlog 命令來檢查某特定用戶上次登陸的時間,並格式化輸出上次登陸日誌 /var/log/lastlog 的內容。

它根據 UID 排序顯示登陸名、端口號(tty)和上次登陸時間。

若是一個用戶從未登陸過,lastlog 顯示 Never logged(從未登陸過)。

注意須要以 root 運行該命令:

➜ ~ lastlog
用戶名 端口 來自 最後登錄時間
root **從未登陸過**
daemon **從未登陸過**
bin **從未登陸過**
sys **從未登陸過**
sync **從未登陸過**
games **從未登陸過**
man **從未登陸過**
lp **從未登陸過**
mail **從未登陸過**
news **從未登陸過**
uucp **從未登陸過**
//lastlog -u 'uid' 該指令僅輸出 uid 爲 0 的用戶。
➜ ~ lastlog -u 0
用戶名 端口 來自 最後登錄時間
root **從未登陸過**

4. id 用單獨的一行打印出當前登陸的用戶,每一個顯示的用戶名對應一個登陸會話。

若是一個用戶有不止一個登陸會話,那他的用戶名將顯示相同的次數:

➜ ~ id
uid=1000(yang) gid=1000(yang) 組=1000(yang),7(lp),27(sudo),100(users),109(netdev),113(lpadmin),117(scanner),123(sambashare)
➜ ~ id yang
uid=1000(yang) gid=1000(yang) 組=1000(yang),7(lp),27(sudo),100(users),109(netdev),113(lpadmin),117(scanner),123(sambashare)


四.

系統信息分析


history

/etc/passwd

ls -alt /etc/init.d

查看用戶登陸信息 (lastlog,lastb,last)

查看是否有 ssh 可疑公鑰

1. history

可以使用該指令查看服務器上使用過的歷史指令。經過 history 信息可能得到如下敏感信息
- wget (遠程某主機的遠控文件)
- ssh 嘗試鏈接內網的某些機器
- tar zip 能夠知道攻擊者打包了哪些敏感數據
- 可知道攻擊者對服務器作了哪些配置上的修改 (添加用戶,留後門等)

2. /etc/passwd

可經過該文件分析可疑帳號

3. 分析服務器的開機自啓程序,分析是否存在後門木馬程序。

1\. ls -alt /etc/init.d
2\. /etc/init.d/rc.local /etc/rc.local
3\. chkconfig

4. 查看登陸信息

1\. lastlog(查看系統中全部用戶最近一次的登陸信息)
2\. lasstb (查看用戶的錯誤登陸信息)
3\. last(顯示用戶最近登陸信息)

5. 查看 ssh 相關目錄

redis 未受權訪問漏洞可直接向服務器寫入公鑰,從而實現無密碼登陸服務器。
因此要查看/etc/.ssh ~/.ssh 目錄下有無可疑公鑰


五.

分析進程(端口)


檢查服務器是否有黑客留下的木馬程序。

1. 查看端口占用狀況

➜ ~ netstat -apn|more
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:902 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:4300 0.0.0.0:* LISTEN 16378/wineserver.re
tcp 0 0 127.0.0.1:4301 0.0.0.0:* LISTEN 16378/wineserver.re
tcp 0 0 127.0.0.1:8307 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:1080 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
tcp 0 0 192.168.10.119:33930 112.34.111.124:443 ESTABLISHED 2798/chrome

2. 根據上一步得出的可疑端口的 pid 分析進程

指令:ps aux|grep 'pid'

➜ ~ ps aux | grep '2798'
yang 2798 2.6 10.8 1864144 767000 ? SLl 08:41 20:45 /opt/google/chrome/chrome
yang 21564 0.0 0.0 14536 948 pts/0 S+ 21:52 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn 2798

3. 結束進程

kill PID
killall <進程名>  
kill - <PID>


六.

總結


整理完這篇總結,感受溯源是一個很細節的事情,須要注意每個細節,這篇總結也能夠是一個備忘,之後在遇到溯源的活,作的時候就能夠更系統一些。
轉自:https://www.freebuf.com/179638.html


W:天天哪怕擠牙膏式學點技能~多年後,我也是個大佬

一分鐘後~默默的打開電腦,點開封神臺...

學習更多黑客技能!提供靶場練習技能

掃碼領黑客視頻資料及工具


往期內容回顧


這3個黑科技網站,讓你秒變黑客

手把手教你如何遠程監聽他人手機

30分鐘搭建一個免費的 '鑑黃 '平臺



本文分享自微信公衆號 - 暗網黑客(HackRead)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索