利用WinPcap模擬網絡包偽造飛秋閃屏報文


起因

不知道從什么時候開始,同事開始在飛秋上發閃屏振動了,后來變本加厲,成了每日一閃。老閃回去也比較麻煩,作為程序猿呢,有沒有什么偷懶的辦法呢?(同事負責用戶體驗,不大懂編程)。然后嘗試了以下思路:

UI自動化

利用UISpy查看飛秋聊天窗口,悲催的發現找不到發送閃屏振動的按鈕。

模擬鼠標事件

准備使用mouse_event發送鼠標事件來模擬閃屏振動的按下。但是一想,每次閃屏振動按鈕所在的位置不一樣,要是移動窗口或者改變窗口布局,都得重新設置坐標,麻煩,遂棄之。

偽造網絡報文

以前就知道WinPcap和Wireshark,恰好前段時間又在博客園看到[c#]記一次實驗室局域網的ARP欺騙 - Yosef Gao - 博客園,了解到C#下也有了相關的解析和發送工具。果斷開始這個方案。

飛秋報文數據猜想

飛秋網絡傳輸

我是知道飛秋聊天是用UDP,端口默認為2425。不知道也沒關系,打開飛秋->設置->網絡設置,然后你就會發現,飛秋已經明白的告訴我們了。

1

閃屏振動

首先打開的WireShark,設置過濾條件為udp.port==2425,然后向測試機發送一個閃屏振動試試看。

發現有兩條消息,其中一條是本機發給對方的,另一條是對方發給本機的。

1

1

再發送幾次閃屏振動,我們就可以大致猜出飛秋閃屏振動報文的規律,發送的報文格式為1_lbt6_0#128#(發送方MAC地址,16位)#0#0#0#4001#9:(猜測應該是序號, 具體不清楚):(發送方用戶名):(發送方主機名)209:,收到的報文為1_lbt6_0#128#(發送方MAC地址,16位)#0#0#0#4001#9:(猜測應該是序號, 具體不清楚):(發送方用戶名):(發送方主機名)210:。將發送的閃屏振動報文用WinPcap模擬數據包,居然在測試機上收到了閃屏振動(原先還以為猜測的序號字段會有影響)。

信息

向測試機發送一條信息后,發現有幾條消息。

1

經過比較報文長度和來源之后,猜測其他幾條較短的來自本機的報文為發送正在輸入,停止輸入等消息,而較長的為發送的信息。經過驗證之后,也確實如此。而飛秋的信息報文應該是加過密的,無法直接從中猜出內容。

表情

表情與信息基本類似,但是表情貌似是經過壓縮的。

文件

一般文件都會通過TCP傳輸,經過驗證。發現果然如此,飛秋要發送的文件列表是通過UDP進行傳輸,而具體文件內容是通過TCP傳輸。

在UDP傳輸中,本方發送兩條報文,對方發送兩條報文。基本本方發送的第二條報文可以看到文件名。

1

在TCP報文中,除了TCP連接建立的三次握手和連接斷開的四次握手以外,在其余的本機發送的報文中,可以清楚的看到報文的內容。

這是文本文件:

1

這是二進制文件:

1

二進制文件在UltraEdit查看:

1

說明

因為主要興趣在研究閃屏振動,對其余功能只是簡單查看了一下,並未深入研究。

代碼實現

軟件界面

1

最開始做成模擬閃屏振動但不需要填寫任何報文信息,但是登錄用戶名無法通過網絡取得,再加上也可以通過在發送報文字符串中填寫其他從WireShark中復制過來的報文字符串來模擬其他報文(比如信息和表情),就做成了這種形式。

注意事項

要使用PacketDotNet.dll和SharpPcap.dll,需要安裝WinPcap(我是直接安裝了WireShark,里面含有WinPcap)。

下載鏈接

博客園:FeiqCheater

趣事

  1. 最開始時未加睡眠時間,一個while(true)發送閃屏振動報文,直接把設計師的飛秋給玩死了,多次重啟無效,丫還以為是自己電腦出問題了。現在才明白DOS(拒絕服務攻擊)的可怕。
  2. 可以偽裝成其他人發送閃屏振動報文。 我就經常偽裝成他人給設計師發閃屏,也偽裝成設計師給他人發閃屏。
  3. 把自己的飛秋退出后,對方在收到飛秋的報文后,仍然有響應。
  4. 后來設計師學聰明了,經旁人指點,在飛秋中關閉了閃屏。

最新情況

進展

  1. 在網上可以查到一部分關於飛秋消息格式的消息,比如將飛秋攻擊進行到底 - 龍月 - 博客園(粗看了一下,飛秋版本不一樣),同時傳說也可以直接發送飛鴿傳書未加密的報文,但我並未經過驗證。如果確實如此的話,則可以模擬偽造飛秋消息。
  2. 我想到可以在本機上模擬飛秋發出刷新好友列表的消息,然后再解析收到的包,這樣就可以分析出好友列表,包括每個好友的用戶名,IP地址,MAC地址等信息。這樣模擬閃屏振動就可以不用輸入任何信息了。

挑戰

  1. 另一個筆記本給我弟了,單台電腦不好模擬。
  2. 貌似WinPcap不能攔截目標非本機的報文,也就是偽造的消息只能由本機偽裝成其他人發出去一次,而不能偽造成他人和目標方進行交談。(以前我利用改IP、改名稱、改MAC的方式偽裝成領導捉弄過其他同事,說公司准備給他加工資,讓他傻樂)。
  3. 貌似WinPcap接收到包之后也不能將包丟棄。
  4. 懶癌犯了,不想去做這些事了,這才是最主要的原因。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM