前言
最近領導安排了一次眾測任務給我這個駐場的安服仔,是甲方公司一個新上線的系統,要求對此系統進行漏洞挖掘。沒有任何測試賬號,資產ip等信息,領導丟下一個域名就跑了。
信息收集
打開域名,就是一個堂堂正正的登陸界面
使用nslookup查一下域名解析
先對ip進行端口信息收集,除了一個443和一個識別不出來的2000端口,就沒有其他端口。那么只能從web入手了。
簡單掃了一下目錄,發現了后臺登陸界面
漏洞發掘初試
由于web只找到兩個登陸頁面,其他什么都找到,那么只能先對登陸頁面進行測試。看到前臺登陸頁有短信登陸功能,馬上想到短信發送是否有頻率和次數限制,如有則存在短信炸彈漏洞。雖說不是什么危害性很大的漏洞,但漏洞就是漏洞!然鵝,這么簡單都洞找不到,哭了。
至于爆破賬號密碼也不要想了,驗證碼是真的,而且這密碼還rsa加密,真的沒啥心情去嘗試爆破,估計毫無成功的希望。至此陷入僵局。
另辟蹊徑
雖說是月薪只有幾千的安服仔,但作為一名無證信息安全從業人員,怎能輕易言敗。重新換個角度進行思考,首先這是一個新上線的系統,而總所周知,甲方公司不具備任何開發能力,那么此系統必然是由第三方公司進行開發,而系統正式上線之前大概率是有測試系統的。下一步就是嘗試去尋找此測試系統了。首先留意到前臺登陸頁面的源碼中,可以看到甲方公司的用戶協議文本。
在各大網絡空間搜索引擎中使用如下命令進行查找
tilte = "xxxx" & body = "xxxx" 經過一番搜索,可以發現一個不能說是相似,只能說是一模一樣的網站。
常規操作,先進行一波端口掃描。這個站端口比起生產系統的多了好幾個,分別有:
22 : ssh 3306 : Mysql 6379 : Redis 3000 : HTTP 測試網站 5080 : HTTP 開發商另外一個項目的網站 8848 : HTTP 不明 3000端口的測試網站跟生產站類似,只有一個登陸界面,后臺地址也是一樣的,也是拿它沒任何辦法。Mysql和Redis都是有密碼的,暫時也沒辦法。那么將目光投向另外兩個Http服務。
5080端口,也是一個只有一個登陸界面的網站,看得出跟3000端口的網站是同一個框架搭建,可以暫時略過。
8848端口打開是nginx默認頁,估計是需要指定uri才能打開。簡單搜索一下8848這個關鍵字,發現是nacos使用的默認端口。
什么是 Nacos
Nacos /nɑ:k??s/ 是 Dynamic Naming and Configuration Service的首字母簡稱,一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。 Nacos 致力于幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您快速實現動態服務發現、服務配置、服務元數據及流量管理。 Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。Nacos 是構建以“服務”為中心的現代應用架構 (例如微服務范式、云原生范式) 的服務基礎設施。
簡單來說,就是nacos里面有大量配置文件。既然有默認端口,那么有默認口令也是人之常情。直接一發nacos:nacos,一發入魂!
翻查各種配置文件,發現大量敏感信息,可以找到Mysql和Redis的密碼。 3306端口對外開放,直接進入Mysql里面翻網站的賬號和密碼hash,在另外一個表,還可以找到密碼hash使用的salt。
導出數據庫所有hash,先肉眼看一下,發現有大量hash是相同,機智的你看到這個,肯定想到這要不是弱口令,要不就是默認密碼。
馬上準備下班了,先用8位純數字+小寫字母進行爆破,丟上服務器慢慢爆,明天一早起床收割。
弱口令挖掘
第二天一早上班,看了一下爆破結果,又有新的發現。爆破出來的密碼,大多是有特定格式的。主要的格式是:四位甲方公司英文簡寫+4位數字(以下我就用abcd代表該公司簡寫)。 使用爆破出來的口令成功登入測試網站的前臺,因為是測試網站,里面也沒啥有價值的系統。我們的目標還是要爆破出后臺管理的密碼。
下一步要繼續優化爆破字典,根據我對此甲方公司的了解和多年配置弱口令的經驗,我初步想到以下兩個思路:
使用大小組合的甲方公司英文簡寫+4位數字進行爆破。或者直接使用首字母大寫就足夠了(能按一下shift,就不想按兩下,對吧),這個方案復雜度最低,甚至可以再加2位數字進行爆破。
使用大小組合的甲方公司英文簡寫+一位特殊字符+4位數字,或者大小組合的甲方公司英文簡寫+4位數字+一位特殊字符。大部分人為了強行加入特殊字符,一般喜歡在字符和數字之間加,或者在最后一位,此方案就是針對這種習慣。
廢話不多說,直接爆起來。 3 hours later。。。。 方案二的字典成功爆出后臺密碼,密碼是:Abcd2333@,嚴格意義上,這已經是很強的口令,有大小寫字母、數字、特殊字符。但是,如果對這個公司有所了解,很容易就能發現其常用的簡寫,這么來說的話,這密碼也能算是一個“弱口令”。
測試站后臺成功拿下。經過后臺一番探索,基本可以確定是thinkphp6,而且沒有多語言插件(誰沒事裝這插件。。。),getshell無望。Redis權限太低,版本不是4.x,也沒啥辦法。至此測試站滲透結束。
回到生產網站
雖說沒有成功拿下測試站有點可惜,不過從測試站的數據庫拿到不少的賬號和密碼,這些賬號密碼極有可能能登陸生產網站。簡單整理一下各種賬號口令,都是富有甲方特色的賬號,例如: 賬號:abcdadmin,密碼:Abcd#2022 賬號:abcdtest01,密碼:Abcd2333! 賬號:abcdtest02,密碼:Abcd2333! 賬號:admin01,密碼:abcd2333 手工組合各種賬號和密碼在主站進行測試,輕松進入后臺。 編寫報告:后臺弱口令【高危】.docx,任務完成,安服仔永不言敗~
總結
學藝不精,沒辦法getshell拿到權限,實在太菜。此文主要記錄一個強行挖掘弱口令的過程,滲透測試需要猥瑣的思路,弱口令也不再局限于top100,top1000之類。
審核編輯 :李倩
-
Web
+關注
關注
2文章
1263瀏覽量
69517 -
數據庫
+關注
關注
7文章
3816瀏覽量
64472
原文標題:滲透實戰:記一次弱口令的挖掘
文章出處:【微信號:菜鳥學安全,微信公眾號:菜鳥學安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論