滲透測試過程中,經常會遇到目标服務器使用F5 LTM做負載均衡。
如果能獲取到目标服務器的真實IP地址,會給後續滲透帶來一定便利。
本文既是最近滲透遇到的一點點經驗分享。
F5修改cookie機制
F5 LTM做負載均衡時,有多種機制實現會話保持。
其中用到很多的一種是通過修改cookie來實現的。
具體說來,F5在獲取到客戶端第一次請求時,會使用set cookie頭,給客戶端埋入一個特定的cookie。
比如:
Set-Cookie: BIGipserverpool_8.29_8030=487098378.24095.0000
後續再接到客戶端請求時,F5會查看cookie裡面的字段,判斷應該交給後續哪台服務器。
作為傳統大廠,F5當然不會傻到直接把服務器IP address寫入到cookie裡面。
F5很巧妙的把server的真實IP address做了兩次編碼,然後再插入cookie。
所以,隻要依據解碼流暢,解開487098378.24095.0000的内容,就拿到了server的真實IP address。
解碼思路
首先,把第一小節的十進制數取出來,也即,487098378
第二,将其轉為十六進制數1d08880a
第三,從後至前,以此取四位數出來,也即,0a;88;08;1d;
第四,依次把他們轉為十進制數:10;136;8;29
最後,得到真實内網IP:10.136.8.29
總結
嚴格意義上說,隻有内網的私有IP,對正面突破目标防線的幫助并不明顯。
但是,當需要做内網滲透和漫遊的時候,這一點信息還是有價值的。
再不濟,寫report的時候,如果實在沒的可寫的時候,還可以拿這點作為一個issue作為豐富report的素材。
,