2017-05-22 157 views
4

我正在做一些基於MMS的攻擊的Android惡意軟件研究。我正在尋找一種手動方式來檢索或下載收到的彩信。我希望能夠找到一些curlwget行,但沒有發現任何有用的東西。有沒有辦法使用curl或wget從命令行下載彩信?

到目前爲止,我已經得到了來自內部數據庫的一些MMS信息,通過發現:

# find/-iname "*.db" |grep -iE "mms|sms" 
... 
/data/data/com.android.providers.telephony/databases/mmssms.db 
/data/data/com.google.android.gms/databases/icing_mmssms.db 
/data/data/com.android.mms/databases/message.db 
/data/data/com.android.mms/databases/message_glance.db 

# cd /data/data/com.android.providers.telephony/databases/ 
# echo "select * from pdu;" | sqlite3 -header mmssms.db 
... 
# echo "select date,sub,ct_l,tr_id from pdu;" | sqlite3 -header mmssms.db 

    date|sub|ct_l|tr_id 
    1495xxxxxx|Download this message|http://mmsc32:10021/mmsc/3_2?Ae_xxxx_xxxxx-xxx|Ae_xxxx_xxxxx-xxx 

如何解釋mmsc32:10021一部分?

然後查看MMSC,Proxyport的消息設置,我想構建一個工作CLI單行或瀏覽器請求,以下載文件以供檢查。

在手機設置的設置,我們可以找到通過MMSC:

Settings > More > Mobile network > Access Point Names > MMS: <your operator>

MMSC:  http://mms.company.net:8002/ 
MMS Proxy: 194.xx.xx.xx 
MMS Port: 8080 

我如何可以從shell命令行(或外部瀏覽器)的MMS文件?

PS。很顯然,這款手機已經紮根,同時擁有busyboxsqlite3,並且可能還安裝了curlwget。 AOS是5.0+。


附錄:2017年11月9日

here

MMS(多媒體消息服務)消息使用SMS和WAP技術的 組合發送。當發送MMS消息時,移動設備通過SMS接收MMS通知消息。當該移動設備接收到該MMS通知消息時,該移動設備自動發起WAP網關連接,以便下載該MMS消息的內容。

要發送彩信,必須先創建彩信文件。 MMS消息文件的 格式記錄在由開放移動聯盟 (http://www.openmobilealliance.org)和/或WAP論壇 (http://www.wapforum.org)公佈的MMS封裝 協議規範中。 MMS消息文件格式由MMS消息二進制頭部和多部分MIME消息組成,其中多部分消息以二進制多部分格式編碼爲由WAP無線會話協議(WSP)規範定義的 。此 二進制MMS消息文件使用MIME類型 application/vnd.wap.mms-message和MMS消息類型 m-retrieve-conf存儲在Web服務器上。二進制MMS報頭的一個子集作爲MMS消息通過SMS發送到移動設備的 通知消息(MMS消息類型m-notification-ind)以及指向完整消息位置的URL指針。

此外,智能手機不再將MMS或短信內容下載到SIM卡。這就是「功能」手機用來做這件事的方式。


附錄:2017年11月13日

綜觀API-23(M)爲SQLite3的表中所示Telephony.java來源,我們發現, CONTENT_LOCATION = "ct_l";,所以我們可以搜索其其他用途here。簡單地總結一下我們的發現:

date # The message delivery time. 
sub  # The subject of the message, if present. 
ct_l # The Content-Location of the message. A field in interface:Telephony.BaseMmsColumns 
tr_id # The transaction-id of the message. 

因此,我們可以預期如下的URI在ct_l可以解釋:

  • http://mmsc32:10021是服務器:通過彩信代理屏蔽(IP端口)(如圖所示)上述
  • /mmsc/3_2是WAP URL向消息處理器
  • ?Ae_xxxx_xxxxx-xxx告訴消息處理器以檢索由「交易ID」中給出的信息:Ae_xxxx_xxxxx-xxx`

因此,使用代理(APN)的設置,並使用從消息DB(mmssms.db)中提取的URL,應該能夠檢索和下載的內容MMS,使用精心製作的curl聲明。 也許是這樣的:

# curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url 
curl -v -x http://194.xx.xx.xx:8080 -L http://mmsc32:10021/mmsc/3_2?Ae_xxxx_xxxxx-xxx 
# Or from outside local net: 
curl -v -x http://mms.company.net:8002 -L http://mmsc32:10021/mmsc/3_2?Ae_xxxx_xxxxx-xxx 

第一個顯然不會從手機環境外部分配的IP移動中工作,因爲它是指IP C類,纔可見。

+0

代理通常用於檢索MSISDN(號碼)並將其附加到MMSC以進行檢查。無論您在HTTP頭中提供什麼,該號碼都不會被傳遞,因此不會下載消息。 – Marvin

+0

@Marvin當然,但應該能夠根據發現/提取的內容設置代理(如上所示)。 – not2qubit

+0

自己的代理不能這樣做。運營商的代理檢查sgsn/ggsn以進行數據連接,以便檢索imsi/msisdn,然後將其傳遞給mmsc,以便用用戶號碼驗證MMS下載鏈接。 – Marvin

回答

0

我希望你能得到一個答案。我不是一個,而是會在我的2值得意見美分扔...

短版

  • 你不能有文字跳過「發送到」 SIM卡和自動轉移到某臺計算機。

  • 做一個Android應用程序安裝在手機上,確保它的工作是檢測和轉移的新的收件箱中的郵件的副本到您的計算機。

  • 使用的SIM卡一個USB加密狗。當插入電腦時,您不需要手機就可以直接接收信息到您的電腦。

龍版

比相反的命令行工具,你最好做一個實際的應用程序(使用Android SDK)來檢查收到的消息和轉發一些資料給你(例如:通過電子郵件或套接字,或者你喜歡)。此外,「某些數據」表示消息本身的完整副本,或者僅發送[應用內] 消息分析(例如:檢測到的圖像數量,圖像字節的十六進制打印輸出等等)的反饋。

縱觀Android的SmsManager API它甚至會告訴你:

有關如何表現爲在Android 4.4 (API級別19)和更高的默認短信應用的信息,請參閱Telephony

也查看該API的downloadMultimediaMessage命令。它正在做你所需要的。 Telephony頁面有信息和鏈接開始,但有關此主題的獨立博客文章和教程(其中一個如example)也在那裏。

不管怎麼說,到你的帖子...

(1)

「我只是想將消息下載到一個文件,而手機處理它,因爲它可能含有惡意軟件」

你如何想像‘電話不處理它’工作?手機持有SIM卡,您的運營商(通過服務中心)將從發件人自己的提供商的服務中心收到郵件後轉發郵件。你和curl不在這個循環中。當您的SIM卡收到SIM卡並且手機操作系統提醒您時,您只會知道一段文字。

從技術上講,手機已經處理了這條消息,你還沒有打開它。

(2)

「我怎麼可以從shell命令行或外部瀏覽器彩信文件?」

您必須下載整個mmssms.db文件並從中提取特定消息。您將.db視爲任何其他在線數據庫(例如:使用SQL/PHP類型查詢等)。

請參見本教程有用的建議:http://cheeky4n6monkey.blogspot.co.uk/2013/02/

爲日後入學的消息另一種方法是隻得到一個(USB)SIM加密狗是把你的卡。一旦插入計算機,它就可以接收/發送消息,因爲SIM卡在加密狗內部(作爲電話的代理)處於活動/活動狀態。

加密狗帶有自己的軟件(例如image of such),用於管理網絡連接和讀取/寫入SMS/MMS消息。這就像SIM卡不在手機中工作,而是在桌面上工作。

+0

是的,當然我們可以編寫一個應用程序來攔截郵件,但這不是我問到的。但就像應用程序一樣,我們也應該能夠檢索消息。 (1)AFAIK,沒有新手機將任何消息下載到SIM,消息的二進制細節決定手機(TE)操作系統將如何處理該消息。例如。在SIM上保存,在SE中進行處理(APN設置等),直接顯示(閃光短信)或回覆發件人等。 (2)直到您或您的手機決定打開它,這又取決於你的設置。 – not2qubit

相關問題