ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議,主要用於給遠端登入會話資料進行加密,保證資料傳輸的安全。ssh口令長度太短或者複雜度不夠,如僅包含數字,或僅包含字母等,容易被攻擊者破解,一旦被攻擊者獲取,可用來直接登入系統,控**務器所有許可權。
tcp初始化連線三次握手吧:發syn包,然後返回syn/ack包,再發ack包,連線正式建立。但是這裡有點出入,當請求者收到sys/ack包後,就開始建立連線了,而被請求者第三次握手結束後才建立連線。
客戶端tcp狀態遷移:
closed->syn_sent->established->fin_wait_1->fin_wait_2->time_wait->closed
伺服器tcp狀態遷移:
closed->listen->syn recv->established->close_wait->last_ack->closed
當客戶端開始連線時,伺服器還處於listening,客戶端發乙個syn包後,服務端接收到了客戶端的syn並且傳送了ack時,伺服器處於syn_recv狀態,然後並沒有再次收到客戶端的ack進入established狀態,一直停留在syn_recv狀態。
在這裡,ssh(22)埠,兩條外網ip的syn_recv狀態連線,直覺告訴了管理員,這裡一定有什麼異常。
ssh埠異常,我們首先有必要先來了解一下系統賬號情況:
a、系統賬號情況
1、除root之外,是否還有其它特權使用者(uid 為0)
[root@localhost ~]# awk -f: '$3==0' /etc/passwd2、可以遠端登入的帳號資訊root
[root@localhost ~]# awk '/$1|$6/' /etc/shadow我們可以確認目前系統只有乙個管理使用者root。接下來,我們想到的是/var/log/secure,這個日誌檔案記錄了驗證和授權方面的資訊,只要涉及賬號和密碼的程式都會記錄下來。root:$6$38ckfzdjstiue58v$fp.uhwmobqeuqs1z2krj/4eecopi.6d1xmkhgk3j3gy9egvwwbei7nubbqjc./qk12hn8jfuxofeyiklid6hq0::0:99999:7:::
b、確認攻擊情況:
1、統計了下日誌,發現大約有126254次登入失敗的記錄,確認伺服器遭受暴力破解
[root@localhost ~]# grep -o "failed password" /var/log/secure|uniq -c2、輸出登入爆破的第一行和最後一行,確認爆破時間範圍:126254 failed password
[root@localhost ~]# grep "failed password" /var/log/secure|head -13、進一步定位有哪些ip在爆破?jul 8 20:14:59 localhost sshd[14323]: failed password for invalid user qwe from 111.13.***.*** port 1503 ssh2
[root@localhost ~]# grep "failed password" /var/log/secure|tail -1
jul 10 12:37:21 localhost sshd[2654]: failed password for root from 111.13.***.*** port 13068 ssh2
[root@localhost ~]# grep "failed password" /var/log/secure|grep -e -o"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25
[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
| sort -nr
12622 23.91.***.***
8942 114.104.***.***
8122 111.13.***.***
7525 123.59.***.***
...................
4、爆破使用者名稱字典都有哪些?
[root@localhost ~]# grep "failed password" /var/log/secure|c、管理員最近登入情況:perl -e 'while($_=<>)'
|uniq -c|sort -nr
9402 root
3265 invalid user oracle
1245 invalid user admin
1025 invalid user user
.....................
1、登入成功的日期、使用者名稱、ip:
[root@localhost ~]# grep "accepted " /var/log/secure | awk通過登入日誌分析,並未發現異常登入時間和登入ip。'' jul 9 09:38:09 root 192.168.143.100
jul 9 14:55:51 root 192.168.143.100
jul 10 08:54:26 root 192.168.143.100
jul 10 16:25:59 root 192.168.143.100
............................
2、順便統計一下登入成功的ip有哪些:
[root@localhost ~]# grep "accepted " /var/log/secure | awk ''通過日誌分析,發現攻擊者使用了大量的使用者名稱進行暴力破解,但從近段時間的系統管理員登入記錄來看,並未發現異常登入的情況,需要進一步對**伺服器進行入侵排查,這裡就不再闡述。| sort | uniq -c | sort -nr | more
27 192.168.204.1
ssh暴力破解依然十分普遍,如何保護伺服器不受暴力破解攻擊,總結了幾種措施:
1、禁止向公網開放管理埠,若必須開放應限定管理ip位址並加強口令安全審計(口令長度不低於8位,由數字、大小寫字母、特殊字元等至少兩種以上組合構成)。
2、更改伺服器ssh預設埠。
3、部署入侵檢測裝置,增強安全防護。
Linux應急響應
檢視登入歷史記錄 last aulast 檢視所有 戶的最後登入記錄 aulastlog 檢視命令歷史記錄 history cat bash history 檢視當前可登入的 戶列表 cat etc passwd grep v s grep e v sbin nologin bin sync sbi...
linux應急響應
linux常用命令 常見日誌的位置以及分析方法 熟悉常規黑客的攻擊手法 常規安全事件的處置思路根目錄下所有.jsp字尾檔案 find name jsp最近3天修改過的檔案 find type f mtime 3最近3天建立的檔案 find type f ctime 3grep nv root etc...
Linux 應急響應基礎
0x01 技能樹 0x02 linux 常用命令 find name jsp find type f mtime 3 find type f ctime 3 grep nv root etc passwd grep nr root grep nr v 404 grep e jsp jspx more...