跳到主要內容

發表文章

目前顯示的是 1月, 2021的文章

入侵 IP 區段的收集(持續更新)

 前兩篇的 SSH 入侵分析,把收集到的 IP 區段提供出來給需要的人使用: 2021/02/01更新 1.53.0.0/16 1.169.0.0/16 14.98.64.0/19 14.160.0.0/11 14.224.0.0/11 31.201.0.0/16 31.220.0.0/22 36.66.176.0/20 37.59.0.0/16 37.99.248.0/21 42.112.224.0/20 45.55.0.0/16 46.101.0.0/16 49.51.0.0/16 49.232.0.0/14 51.15.0.0/17 51.77.0.0/16 51.161.0.0/16 58.187.0.0/20 60.191.0.0/16 61.90.0.0/16 61.177.0.0/16 63.168.168.0/23 64.225.0.0/17 65.49.0.0/17 65.128.0.0/11 66.186.3.0/24 67.0.0.0/13 67.207.64.0/19 67.216.192.0/19 68.183.0.0/16 68.190.192.0/18 71.208.0.0/12 72.160.0.0/15 75.160.0.0/12 76.0.0.0/13 81.68.0.0/15 81.161.63.0/24 82.50.0.0/16 84.2.0.0/15 84.128.0.0/10 87.208.0.0/13 88.88.0.0/13 91.241.19.0/24 91.192.100.0/22 101.32.0.0/16 101.80.0.0/12 101.108.0.0/15 103.21.0.0/16 103.25.0.0/16 103.45.0.0/16 103.81.0.0/16 103.84.0.0/16 103.111.0.0/16 103.217.0.0/16 103.231.0.0/16 103.248.28.0/22 106.12.0.0/15 106.52.0.0/14 106.75.0.0/16 111.93.0.0/16 111.229.0.0/16 111.230.0.0/15 112.80.0.0/13 112.160.0.0/11 113.200.0.0/15 114.134.24.0/23 11

入侵紀錄分析

 上篇利用 grep 和 awk 將嚐試利用 SSH 入侵的紀錄篩選出來分析,發現有幾種入侵類型: 一、密碼字典攻擊: 利用外洩的密碼表或收集常用密碼入侵粗心大意網管架設的伺服器。 防範的方式是不允許 root 帳號利用 SSH 登入系統,現今新版的 Linux distro 都有預設。 二、帳號密碼字典攻擊: 利用英文姓名或系統固定內建帳號,搭配外洩密碼表或字典密碼進行攻擊。 防範方式是限定 SSH 登入的帳號或群組,並且設置足夠安全的密碼。 三、進階帳號字典攻擊: 此類攻擊雖然也是帳號字典攻擊,但使用的帳號不再是亂槍打鳥的方式,會針對伺服器系統來作帳號攻擊,而且從這種攻擊模式可以看出某些廠牌設備會受到攻擊關注。 上圖中的「HwHiAiUser」查詢結果是華為出品某伺服器的預設管理帳號。 此類攻擊防範也是限定 SSH 登入帳號及群組,並且設置足夠安全的密碼。 四、用到錯誤字典程式的菜鳥: 在分析入侵資料中,有發現如上圖非常奇異的帳號,看起來應該不是帳號而是密碼。表示該駭客用到的字典程式欄位設定錯誤,把密碼拿來當帳號在試。 而且不只一組IP有會種情形,從收集到的資料內發現有兩個IP以上會有這樣的情形,用 whois 查詢了一下,都是中國那邊的IP,而且不是同一個區域喔!

linux 指令篩選嚐試入侵紀錄

近期在家裡利用 Raspberry pi 4 架了一台 Ubuntu Server 作為未來工作之用,因為要在外面也能連線,開了 SSH(22)、HTTP(80) 的服務,也在家用的AP(tplink)設定了虛擬伺服器轉 Port 進入。雖然目前家裡使用的中華電信光世代是用固定 IP 的 PPPOE 帳號,因為 Tplink 的 AP 有提供 DDNS 的功能,還特地註冊使用,這樣子比較好記憶。 伺服器架好了,不可避免了會有許多人利用 SSH 來嚐試入侵,為了使用的需求也無法使用白名單的方式來設定防火牆規則,只能利用紀錄檔來捉入侵的 IP,再配合 whois 來封鎖一整個 IP 區段。 /var/log/auth.log 嚐試入侵的資訊在會列在 /var/log/auth.log 紀錄檔中,從裡面找會有點吃力,所以要再利用指令的方式來想要的資訊篩選出來。 cat /var/log/auth.log | grep  'from invalid user' auth.log 會用固定的方式紀錄入侵密碼錯誤的資訊,所以利用 grep 'from invalid user' 來過濾所要的資訊。仔細觀察 auth.log 檔,同一個密碼錯誤的資訊會留下多筆紀錄,只要找到篩選用的關鍵字都可以在 grep 中使用,只是目前選定的方式是帳號和 IP 放在一起,比較容易作後續的處理。 cat /var/log/auth.log | grep 'from invalid user' | awk '{print $11, $10}' 因為是固定格式的資訊,帳號資訊在第10欄位,IP 資訊在第11欄位,所以用 awk '{print $11, $10}' 就可以把我們要的內容取出來。 cat /var/log/auth.log | grep 'from invalid user' | awk '{print $11, $10}' | sort 原始紀錄是時間序列,等我們用 awk 篩選完後,內容順序變得無意義也閱讀困難,再利用 sort 作排序,資料就會比較容易閱讀, 而且也可以發現入侵的 IP 是使用何種手法,是比較高級的針對性攻擊?還是利用字典密碼攻擊? 建議此時的資訊就可以