我正在做一些基於MMS的攻擊的Android惡意軟件研究。我正在尋找一種手動方式來檢索或下載收到的彩信。我希望能夠找到一些curl
或wget
行,但沒有發現任何有用的東西。有沒有辦法使用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
,Proxy
和port
的消息設置,我想構建一個工作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。很顯然,這款手機已經紮根,同時擁有busybox
和sqlite3
,並且可能還安裝了curl
或wget
。 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類,纔可見。
代理通常用於檢索MSISDN(號碼)並將其附加到MMSC以進行檢查。無論您在HTTP頭中提供什麼,該號碼都不會被傳遞,因此不會下載消息。 – Marvin
@Marvin當然,但應該能夠根據發現/提取的內容設置代理(如上所示)。 – not2qubit
自己的代理不能這樣做。運營商的代理檢查sgsn/ggsn以進行數據連接,以便檢索imsi/msisdn,然後將其傳遞給mmsc,以便用用戶號碼驗證MMS下載鏈接。 – Marvin