從技術角度深入剖析:改號軟體,電話號碼任意顯示,偽造來電顯示

wyzsk發表於2020-08-19
作者: 核攻擊 · 2013/07/22 11:01

這是去年寫的一篇文章http://lcx.cc/?i=2484,轉過來了,如有不妥,還請指正。


剛才看到烏雲有人發帖問:網上流傳的修改來電的軟體實現原理是什麼?

關於這個東西,我還真瞭解一點(本人涉獵甚廣,啥都喜歡研究一番)……

其實很多年前就有此類技術分析文件,幾年前我曾看過一篇技術分析文章,詳細講了這個實現原理,年代久遠,尼瑪文章找不到了,但是大概內容還記得點,結合搜尋,整理了點東西出來。

估計有很多人知道,這種技術是由於不同網路中轉發資料用的閘道器在作怪,但是並不明白更底層的原理,本文將從最底層、最基礎的電話傳輸協議、資料幀開始講……

關於修改來電顯示號碼的原理,這個真的是十分古老的東西了,老古董、老掉牙的玩意兒了,起碼有二十多年了(和我差不多大,-_-|||),要弄清楚這個原理,首先還得了解下來電號碼顯示的原理。

其實嘛,修改來電顯示這個玩意兒,任何一個電話、通訊、網路電話(VoIP電話)、手機制造公司的工程師、技師都曉得,就和駭客必須曉得IP地址是啥一樣,而且他們都可以輕鬆地做到,無任何難度……

首先了解一點電話網路中資料傳輸的知識,資料如下:


以下資料摘自:來電顯示原理,電話主叫號碼資訊的識別及實現

電話主叫號碼資訊的識別及實現

主叫號碼資訊識別及傳送(CID, Calling Identity Delivery, 呼叫身份傳遞),是指交換機將主叫使用者的主叫號碼及呼叫的日期、時間等資訊傳送給被叫使用者,由被叫號使用者的主叫號碼顯示器將資訊顯示出來並儲存。以便使用者摘機前就知道到底誰打電話來,或外出回來後查閱誰來過電話。(90年代以前的電話網路居然沒有來電顯示這個功能,這尼瑪怎麼用的,難以想象……)

它是由具有主叫號碼資訊識別服務功能的交換機與具有主叫號碼顯示服務功能的終端相配合來實現,在終端上可以顯示主叫電話機的號碼、呼叫時間等資訊。

一、CID技術產生背景

美國貝爾通訊研究室(BELLCORE)首先引入話音訊帶資料通訊的調製解調方式來實現CID業務,並在1990年提出了相關技術建議(TR-TS-000031, ISUE3,1990年1月),該建議經過多次修改後被稱為Bell202建議。資料傳送採用了移頻鍵控(FSK)方式,通常稱為移頻鍵控方式。

與此同時,歐洲以瑞典為代表的研究機構為能在自己生產的交換機上方便地實現主叫號碼傳送(Calling Number Delivery)業務,電話終端與交換機之間採用雙音多頻號碼傳送方式作為解決方案,通常稱為雙音多頻方式。

經過多年的研究和發展,許多國家認為移頻鍵控方式有較好的發展前景,紛紛以此為基礎來制定本國的標準。到目前為止,採用移頻鍵控方式的國家和地區有美國、加拿大、比利時、英國、西班牙、日本、新加坡和中國等。

…… 省略無關內容 ……

二、CID業務功能電話網上開展CID業務,必須考慮各方權益。

主叫使用者可以根據自己的意願在一定許可權內控制是否向被叫使用者傳送自己的號碼。被叫使用者在登記主叫資訊顯示許可權後,交換機應向被叫使用者傳送主叫資訊。

1、主叫使用者叫資訊顯示許可權

主叫使用者主叫資訊顯示權即主叫使用者是否允許向被叫使用者顯示主叫資訊。

作為主叫使用者,發出呼叫時可以有允許CID和限制CID兩種選擇

(1)允許顯示

主叫使用者的一切正常撥號,均為允許CID的呼叫,應向被叫使用者所在終端交換機傳送主叫資訊。這類使用者也可以要求在某次呼叫時不向被叫使用者顯示主叫資訊,這時需要在該次呼叫撥號之前加撥一標誌號碼(如**,發端交換機收到**後,判別定為該次呼叫的CID業務被限制,送出限制標誌,終端交換機不將該次呼叫的主叫號碼送到被叫終端裝置。

(2)限制顯示

主叫使用者的一切正常撥號,均為限制CID的呼叫,其主叫號碼不送到被叫使用者終端裝置。這類使用者也可以要求在某次呼叫時向被叫使用者顯示主叫號碼,這時需要在該次呼叫撥號之前加撥一標誌號碼(如**,發端交換機收到**後,判定為該次呼叫的CID業務被允許,送出允許標誌,終端交換機將該次呼叫的主叫號碼送到被叫終端裝置。

無論主叫是允許CID使用者還是限制CID使用者,當呼叫的對方是110,119,120,122等特服終端時,其主叫號碼一定要傳送到被叫終端上。 

2、被叫使用者主叫資訊顯示許可權

被叫使用者主叫資訊顯示許可權即被叫使用者能否顯示主叫資訊。

(1)使用者登記主叫資訊顯示許可權

使用者登記了主叫資訊顯示許可權後,在作為被叫使用者時,終端交換機應向使用者傳送相應的顯示資訊。

·在一次呼叫有主叫號碼,則顯示“號碼+日期+時間”;

·在一次呼叫中終端交換機沒有收到主叫號碼,則顯示“O”;·在一次呼叫中如果不允許顯示主叫號碼,則顯示“P”。

(2)使用者不登記主叫資訊顯示許可權

如不登記此許可權,交換機不向此使用者傳送任何資訊。

三、CID業務的基本技術

採用移頻鍵控傳送方式的交換機應具備與該方式有關的硬體環境,以及資料處理和傳送所必要的軟體環境。

1、主叫號碼及標誌在局間的傳送

主叫號碼資訊顯示是由終端交換機傳給被叫使用者終端裝置的,因此終端交換機應能順利得到主叫方號碼,這就要求發端交換機將主叫號碼等資訊透過局間信令系統(如七號信信)傳送給終端交換機,隨主叫號碼一起傳送的還有一個標誌碼,表示主叫方的意願。如“X”表示主叫號碼可以傳送給被叫使用者;“Y”表示主叫碼不願意傳送給被叫使用者。

2、主叫資訊從終端交換機到使用者的傳送

終端交換得到主叫號碼資訊後,根據被叫使用者特徵以及主叫使用者標誌碼來控制主叫號碼資訊的傳送,可以有下列幾種處理方式:

·被叫是未申請CID服務的使用者時,不傳送任何資訊;

·被叫是CID使用者時,主叫標誌是“Y”時,傳送“P”;

·被叫是CID使用者時,主叫標誌是“X”時,傳送“主叫號碼+時間+日期”;

·被叫是110,119,120,122等特服使用者時,無論主叫標誌是“X”還是“Y”均傳送主叫號碼的資訊。

終端交換機在傳送主叫號碼資訊前,還要根據被叫使用者目前所處的狀態,採用不同的傳送序列和格式。以保證傳送能順利進行。

(1)被叫話機在掛機狀態

對於採用移頻鍵控方式的交換機,終端交換機將主叫號碼資訊在第一次振鈴和第二次振鈴間隔期間,將主叫號碼資訊以移頻鍵控(FSK)的方式傳送給被叫使用者終端裝置。

(2)被叫話機處在通話狀態

當被叫使用者登記某些業務(如呼叫等待)時,若被叫使用者處在通話狀態下,則終端交換機仍可向被叫使用者傳送主叫資訊。(也就是如今多卡多待手機可以同時接聽、撥打所依靠的條件。)

例如,具有CID功能的使用者乙與使用者甲通話時,又有使用者丙呼叫使用者乙,則在使用者乙終端裝置上顯示使用者丙的識別資訊。

…… 省略無關內容 ……

來電號碼顯示實際上是現代電信交換網路可以提供的一項服務業務。就其機理而言,是指交換機對使用者提供來電號碼專用格式的資料的傳送,而使用者終端利用符合資料解碼格式要求的端機進行接收和顯示。

當交換機發出第一次振鈴訊號後,緊接著發出一串調製訊號(現用的主要有FSK和DTMF兩種格式的訊號),此訊號包含著撥號方的電話號碼、日期、時間、姓名等資訊。

來電號碼顯示器在每一次振鈴訊號的喚醒下,開始接收FSK訊號,經解碼晶片(如Motorola 的RC145447)獲得其中資訊,由微控制器進行格式處理並在螢幕上顯示出來。

同樣,若傳輸過來的是DTMF來電號碼資訊,只需由DTMF解碼晶片來進行資料解碼,即可顯示DTMF的來電號碼。

…… 省略無關內容 ……


以上就是電話通訊協議的極少一部分內容,資料太長,各位看的是不是有點暈了,沒關係,我畫個簡單的圖給大家解釋下。

其實嘛,這個玩意兒和網際網路通訊協議有很多相似的地方,我畫個圖:

主叫 → 電話線路 → 終端交換機(主叫的閘道器) → 運營商骨幹網路 → 終端交換機(被叫的閘道器) → 電話線路 → 被叫 

各個裝置的資訊顯示許可權如下:

主叫:可以控制是否向被叫使用者傳送自己的號碼,也就是手機系統設定的那個“隱藏號碼”功能,但是該功能需要運營商支援,但是現在的運營商都是預設傳輸的,所以是個擺設……

終端交換機(主叫的閘道器):有權控制是否傳送主叫號碼(110,119,120,122等特殊使用者除外,必須傳送!),並且可以為所欲為的修改,當然,正規運營商的機器是不會這麼幹的……

運營商骨幹網路:傳輸資料,不作任何修改。(公安監聽電話就在此處哦,親~)

終端交換機(被叫的閘道器):許可權同上,但是這裡是判斷被叫有沒有開通來電顯示功能,開通了就發,沒開通就不發。是的,沒錯,就尼瑪這個破功能,運營商每個月還收個3元的來電顯示費用,臥槽……

被叫:判斷是否有附加資訊資料包,有就顯示,否則不進行任何操作……

我們從以上的資料中得知,電話通訊網路不是依靠電話號碼進行使用者識別的,而來電顯示功能則只是,在交換機發出第一次振鈴訊號後,附加了包含一個主叫使用者資訊的資料包而已,包含著撥號方的電話號碼、日期、時間、姓名等資訊,來電號碼顯示器在每一次振鈴訊號的喚醒下,開始接收FSK訊號,經解碼晶片獲得其中資訊,由微控制器進行格式處理並在螢幕上顯示出來。

就好像在網際網路中通訊的時候,我向某個QQ號傳送訊息的時候,我可以選擇是否傳送暱稱(電話號碼等資訊),而且這個暱稱是完全可以修改的。

既然知道了傳輸原理,那麼改號軟體是如何做到的呢???

這裡就要了解一下VoIP(IP電話、網路電話)的知識了……


VOIP:http://baike.baidu.com/view/1475.htm

VoIP(Voice over Internet Protocol)簡而言之就是將模擬聲音訊號(Voice)數字化,以資料封包(Data Packet)的形式在 IP 資料網路 (IP Network)上做實時傳遞。

VoIP最大的優勢是能廣泛地採用Internet和全球IP互連的環境,提供比傳統業務更多、更好的服務。

VoIP可以在IP網路上便宜的傳送語音、傳真、影片、和資料等業務,如統一訊息、虛擬電話、虛擬語音/傳真郵箱、查號業務、Internet呼叫中心、Internet呼叫管理、電視會議、電子商務、傳真儲存轉發和各種資訊的儲存轉發等。

VoIP相對比較便宜,為什麼?

VoIP電話不過是網際網路上的一種應用,網路電話不受管制。因此,從本質上說,VoIP電話與電子郵件,即時訊息或者網頁沒有什麼不同,它們均能在經過了網際網路連線的機器間進行傳輸。這些機器可以是電腦,或者無線裝置,比如手機或者掌上裝置等等。

為什麼VoIP服務有些要收錢,有些卻免費?

VoIP服務不僅能夠溝通VoIP使用者(就像QQ語音聊天一樣),而且也可以和電話使用者通話,比如使用傳統固話網路以及無線手機網路的使用者。對這部分通話,VoIP服務商必須要給固話網路運營商以及無線通訊運營商支付通話費用。這部分的收費就會轉到VoIP使用者頭上。網上的VoIP使用者之間的通話可以是免費的。

近年來,網路通訊勢不可擋,qq、飛信等即時通訊軟體衝擊著傳統的電話通訊方式,從而也造就了很多網路新貴,眾投資者企望在網路通訊中分一杯羹。繼qq、飛信等軟體之後,近年來開發的網路電話,被企業和個人廣泛應用於國內外長途通話中。

與此同時,近年來一些網路電話“話吧”在學校、居民住宅區、工業區等迅速興起。與幾年前興起的傳統“IP公話超市”不同的是,網路電話的運營成本更為低廉,且進入門檻更低。只要一臺電腦、一條寬頻、幾臺電話機加上一個計費軟體就可以操作,網路公司向加盟者或者運營商提供技術支援即可。由於像平常打電話一樣方便,網路“話吧”迅速佔據中低收入和外來打工人員的市場,並對傳統電話業務形成衝擊。

因為成本低廉,市場廣闊,VOIP成為一種“暴利”的投資專案,但由於沒有政策支援,因此仍然存在運營和管理上的漏洞,發展前景尚不明朗,投資需謹慎。經過幾年的發展,雖然網路電話被廣泛使用,但網路電話業務目前還處於“灰色地帶”,法律沒有限制也沒有允許,而市面上出現的網路電話“話吧”也並沒有營業執照。另外,網路電話本身也有先天缺陷,通話質量受到網路好壞的影響,停電時候無法使用,清晰度上也與傳統的固話有差距,其次,網路電話還存在被偷聽偷錄的風險

…… 省略無關內容 ……


又是很長的一段資料,各位又看的懵了吧,呵呵呵,我用簡單的語言概括下……

其實VoIP就是網路語音聊天,把音訊資料透過網際網路從一臺電腦傳輸到另一臺電腦,無國界、遠端傳輸,就像QQ語音一樣,雙方都裝個軟體就行了……

那麼您可能會問了:二貨!你胡扯什麼呢?你扯了這麼多,這尼瑪和改號軟體有毛關係??????

莫急,莫急,你馬上就豁然開朗了!!!!(估計聰明的讀者已經想到了! ↖(^o^)↗)

為了清楚地描述,我再來畫個圖:

VoIP:

使用者A → 計算機 → ISP運營商介面 → 網際網路骨幹網路 → ISP運營商介面 → 計算機 → 使用者B

尼瑪,這個執行模式就不解釋了吧?你丫天天在用,俗稱:上網!!!!

親,還記得電話網路的圖嗎??

電話網路(稍微簡化了下):

使用者A → 電話 → 主叫的閘道器 → 運營商骨幹網路 → 被叫的閘道器 → 電話 → 使用者B 

哦呵呵呵呵,如果VoIP和電話,這兩個完全不相干的網路結合的話,會發生什嗎事呢?

那麼,神奇的地方來了!!!親,看圖:

使用者A → 電腦 → 上網介面 → 網際網路骨幹網路 → 上網介面 → 電腦 → 使用者B
                  ↘    ↗
                  上車、下車閘道器
                  ↗    ↘
使用者C → 電話 → 主叫閘道器 → 運營商骨幹網路 → 被叫閘道器 → 電話 → 使用者D

上車、下車閘道器:

也稱為中繼閘道器、落地閘道器,透過 IP 介面與使用者端的語音接入閘道器相連,透過E1介面與局用程控交換機相連。

中繼閘道器將 IP 分組包與 PCM 的相互轉換,從而實現語音接入閘道器同公關電話網 (PSTN) 的互連互通。

將一路呼叫從傳統電話線轉接到IP網上的閘道器一般稱為上車閘道器,而將IP網上的呼叫轉接進電話網的那個則稱為下車,或者落地閘道器。

該閘道器需要從電話運營商處申請,然後連線你的伺服器即可。

現在,電話網路和網際網路可以互通互聯了。

再回到改號的話題上,既然你無法控制電話網路閘道器,那麼從網路核心裝置(落地閘道器)上進行呼叫,我們只要在信令上送出一個虛擬的號碼,被叫的所在地裝置便會認為這是真實的主叫號碼,所以它給被叫的來電顯示,就是我這個虛擬的號碼,這是一個很簡單的網路欺騙。

移動運營商當然可以做到,但我相信沒有哪個運營商會這麼做,但我們應該看到,與運營商的網路裝置相連線的還有許多服務提供商(SP),他們數量眾多,良莠不齊,難說不會有人違規操作;當然還有其它運營商的來話,如固定電話網路的來電,或國外的來電,他們也都可以做到。

這算是運營商網路的一個漏洞,而且還不好修補。

流程可以簡單的概括為:

1、首先在智慧手機或電腦上預置一個VoIP軟體,該軟體指向某預置閘道器,該閘道器為非法落地閘道器。

2、並且該閘道器允許並接收客戶端傳送指定主叫號碼,並將此號碼傳遞給被叫號碼所屬閘道器。

3、撥電話吧,隨意偽造號碼。

並且不受110等特殊號碼限制,因為從“源閘道器”處,就已經偽造了號碼,所以你可以給110打一個來電號碼是110的電話……

扯了一大堆,核心的東西就在這個落地閘道器上!不只是網際網路,不同的網路之間通訊都有類似的閘道器。

這個閘道器夾在主叫方與電信公司的閘道器中間,修改主叫號碼後再把修改結果送入電信公司的閘道器係統中。

他們自己有一個平臺,這個平臺與運營商有介面,或者與國外的一些IP運營商存在介面。

如果你需要,首先會給你的電腦或手機裝一個軟體,建立一個與他這個平臺的通道,但你使用這項功能的時候,就等於接入了他的平臺,他的平臺再幫你實現這模擬任意號碼呼叫。

最後,總結一下:

“來電顯示修改”是利用了網路IP電話閘道器技術,先來看一下普通座機上來電號碼顯示的原理,首先交換機傳送電話撥打方的包含來電號碼的資料,而接聽方戶終端進行接收和顯示,當然這些資料必須符合專用的解碼格式。

當交換機發出第一次振鈴訊號後,便接著發出一串調製訊號,此訊號包含著撥號方的電話號碼、日期、時間、姓名等資訊。

來電號碼顯示器在每一次振鈴訊號的喚醒下,開始接收訊號,經解碼晶片獲取其中的資訊,最終處理過後在螢幕上顯示出來。

這樣一來,撥打方發出呼叫後,首先要傳至電信公司的交換系統,透過該系統的身份核查後,被叫方才能接收到訊號。

“平臺”實際上就是網路IP電話,電信公司設定的“電話閘道器”就相當於傳統通話的交換系統。

所謂的來電顯示修改,也製作了一個閘道器,夾在主叫方與電信公司的閘道器中間,用自己的閘道器隨意修改主叫號碼,再把修改結果送入電信公司的閘道器係統中。目前,兜售修改軟體的公司大都用的這個原理。

由於這些電話是透過中轉平臺或者電腦軟體撥打,並不是兩方之間的連線,因此只要按顯示的號碼撥過去,對方是無法接聽的。

目前,網際網路上的所有網路電話,例如:Skype、UUCall 等公司,全部都可以做到修改來電號碼,但他們為了合法,所以只允許你修改為你自己的手機號碼,並且要求手機簡訊驗證後,才可以修改。

實際上,他們的管理員可以任意修改……

而這些偽造來電號碼的公司,和這些網路電話公司的執行模式完全一致,只不過他們是接非法業務……

為什麼近兩年這種偽造來電號碼的非法業務越來越多?

因為現在網路越來越發達,速度越來越快,成本越來越低,上手簡單,而且又可以和電話網路互通互聯,這比從電話公司處偽造號碼(最早的偽造方式)容易的不是一點半點,促進了這類公司的發展,他們和雨後春筍一樣冒了出來……

如果從網路安全的角度來講,傳統的以手機、電話號碼作為驗證使用者身份的方式(例如某某手機密保),已經徹底崩潰了……

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章