Seiry

Seiry

日煙台聯通的F657GV9光貓

## 寫在前邊

可能有很多朋友,是很忌諱寫這類指名道姓的文章的,這很可能也是這類文章比較少的原因。往上講,這個技術的使用存在灰色性,雖然中國地區的法律沒有什麼用,但是按照它的說法,確實有未經授權入侵計算機系統的嫌疑和帮信的口袋罪;往下講,至少暴露了你的時空位置,被開盒也是不好的。

我其實並沒有很在意,因為我向來都是實名上網。而且在當前的環境下,如果你樹敵足夠多,足夠強,那實名上網可以保護你無法被開盒,因為你已經實現了無盒化。前者呢,那就得看你跑的有多快了。

前因#

很早之前,這個光貓我已經日過一次了。但是聯通來偷偷摸摸給樓裡換了光交換機,所以 vlan 變了,所以沒網了,所以師傅來摁屁股重啟了光貓,所以原來的 bridge 模式沒有了。

然後我其實已經很懶的動手了,畢竟是有加刑風險的事情。我就打了幾個電話,想 with some connections 解決這個問題算了。山東聯通這邊已經安排好了,省裡直接幫我發了工單給營業廳。但是呢,營業廳的小妹妹很有禮貌給我打電話說搞不了,因為煙台市級,有一個文件限制,不給搞。

眾所周知,三大運營商的勢力地盤分布,是極其複雜的,堪比鐵路系統。移動曾經是有一萬個省級單位,聯通就是有一萬個市級單位。省公司並不能在所有事情上管市公司。

所以就只能自己動手了。

準備#

首先呢,煙台聯通的光貓,在正常入網註冊之後,都会由TR069下發一個隨機的CUadmin密碼和一個固定的 user 態密碼。user 態密碼始終與光貓肚子上貼的一致,與設備 id 綁定。

針對F657GV9,我們可以使用用戶態進入阉割版的用戶頁面,獲取我們需要的信息:

  • vlan id
  • loid

當然,你也需要知道你的 pppoe 賬戶名和密碼。

古早年間,山東聯通有各種地級市 / 省級的接口,可以獲取 / 修改 pppoe 密碼,但是現在好像。。。。沒有什麼很直觀的方法,可以 10010 去問。

重置#

如果你恰巧和我一樣,一不小心在F657GV9開機的狀態下,碰掉了光貓的光纖,之後又用小牙籤戳進了 reset 屁股堅持了十秒鐘,那麼光貓就被重置為出廠 flash。

這個時候光貓的管理員 space 的密碼為CUAdmin

如果你恰好通過 http://192.168.1.1/cu.html登入,你會發現網絡連接下,有一個TR069小可愛,但是,你無法刪除它,即使你用是CUAdmin

所以我們需要恰好有一個factorymode_crack工具。這個工具可以偶然在互聯網上獲得。

在 windows 下,使用命令

./factorymode_crack.exe -l fuck open -i 192.168.1.1

可以得到回顯如

version:3.1
Enter 192.168.1.1 FactoryMode Success:FactoryModeAuth.gch?user=PH7g5g7k&pass=Lag3xO3J

這並不是在破解光貓,只是屏幕上出現的PH7g5g7k恰好為 telnet 用戶名。Lag3xO3J恰好為密碼。

BusyBox v1.17.2 (2021-12-25 16:19:26 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/ # uname
Linux
/ # uname  -a
Linux F657GV9 4.1.25 #1 SMP Sat Dec 25 16:07:46 CST 2021 armv7l GNU/Linux

如果你恰好亂按幾下鍵盤,你會發現它的 Linux 內核還挺新的。

這個地方其實可以恰好碰開光貓的外殼,一不小心接上杜邦線,使用 ttl 獲得一個 shell

恰好引用#

  1. https://www.jarvisw.com/?p=1517
    https://archive.ph/8HSFV
  2. 偶然發現的神奇文件!
    https://archive.org/details/factorymode_crack

檢查身體#

如果你恰好讀過引用 1 的這篇文章,你就會發現,

/# sendcmd 1 DB

all:print all table
p [tablename] :print table info
pv:print view info
rreset:remote reset
lreset:local reset
lplreset:long press local reset
reset:local reset
save
debug [0/1]: not reboot to see the file of critical param
set [tablename][rownum][dm][dmvalue] :
addr [tablename]: add ROW to table
delr [tablename][rownum]:delete  ROW of  table
pti [tablename]:  print the detail information of the table
fc [bin-file-name]:compress user config to bin-file-name
fuc [bin-file-name]:uncompress bin-file-name to user config
bckinterval [0]: time of backup 0:syn
bcktype [0/1/2]: backup type 0:no bck 1:all bck 2:part bck
backup : backup now!
partrst [ModName]: part restore now!
prtpdt : print all of product interface.
pcl : print cfg list.
pvf [ViewID]: print View Fun.
aset1 :
aget1 : print View Fun.
aset1w :
aget1w :
aset1wnl :
aget1wnl :
aset1wp :
aget1wp :
addv :
lck1w :
find1w :
pshm : show shmpool infomation
pstate : show state_machine infomation
saveasy : Asy save
dbStati : 0:show Stati info; 1:clean Stati info[0/1]
killdog : kill watchdog
reject :reject db save
unreject: unreject db save
hcget [filepath] [key]

可以窺探光貓的稚嫩的身體。

我們恰好敲入

/ # sendcmd 1 DB p WANC
<Tbl name="WANC" RowCount="2">
        <Row No="0">
                <DM name="ViewName" val="IGD.WD1.WCD1.WCIP1"/>
                <DM name="WANCDViewName" val="IGD.WD1.WCD1"/>
                <DM name="Enable" val="1"/>
                <DM name="WANCType" val="1"/>
                <DM name="ConnType" val="1"/>
                <DM name="MediaType" val="0"/>
                <DM name="TriggerEnable" val="0"/>
                <DM name="LANDViewName" val=""/>
                <DM name="WANCName" val="1_TR069_R_VID_50"/>
                <DM name="WANCNameExt" val=""/>
                <DM name="IPAddr" val="0.0.0.0"/>
                <DM name="SubMask" val="0.0.0.0"/>
                <DM name="Gateway" val="0.0.0.0"/>
                <DM name="StrServList" val="TR069"/>
                <DM name="ServList" val="2"/>
                <DM name="WorkIFName" val=""/>
                <DM name="RealIFName" val=""/>
                <DM name="WorkIFMac" val="00:00:00:00:00:00"/>
                <DM name="DNS1" val="0.0.0.0"/>
                <DM name="DNS2" val="0.0.0.0"/>
                <DM name="DNS3" val="0.0.0.0"/>
                <DM name="IsNAT" val="1"/>
                <DM name="IsForward" val="1"/>
                <DM name="IsDefGW" val="0"/>
                <DM name="IsNAT6" val="0"/>
                <DM name="IsDefGW6" val="0"/>
                <DM name="DSCP" val="-1"/>
                <DM name="DSCP6" val="-1"/>
                <DM name="TC" val="-1"/>
                <DM name="VLANID" val="50"/>
                <DM name="MCVLANID" val="-1"/>
                <DM name="IgmpProxyEnable" val="1"/>
                <DM name="UpstreamWAN" val="0"/>
                <DM name="MLDProxyEnable" val="1"/>
                <DM name="Priority" val="6"/>
                <DM name="WBDMode" val="2"/>
                <DM name="OnLineTime" val="0"/>
                <DM name="Status" val="0"/>
                <DM name="HideListView" val="0"/>
                <DM name="IPMode" val="1"/>
                <DM name="IsDel" val="0"/>
                <DM name="DNSEnabled" val="1"/>
                <DM name="WancIndex" val="1"/>
        </Row>
        <Row No="1">
                <DM name="ViewName" val="IGD.WD1.WCD2.WCIP1"/>
                <DM name="WANCDViewName" val="IGD.WD1.WCD2"/>
                <DM name="Enable" val="1"/>
                <DM name="WANCType" val="1"/>
                <DM name="ConnType" val="2"/>
                <DM name="MediaType" val="0"/>
                <DM name="TriggerEnable" val="0"/>
                <DM name="LANDViewName" val=""/>
                <DM name="WANCName" val="2_IPTV_B_VID_43"/>
                <DM name="WANCNameExt" val=""/>
                <DM name="IPAddr" val="0.0.0.0"/>
                <DM name="SubMask" val="0.0.0.0"/>
                <DM name="Gateway" val="0.0.0.0"/>
                <DM name="StrServList" val="IPTV"/>
                <DM name="ServList" val="8"/>
                <DM name="WorkIFName" val=""/>
                <DM name="RealIFName" val=""/>
                <DM name="WorkIFMac" val="00:00:00:00:00:00"/>
                <DM name="DNS1" val="0.0.0.0"/>
                <DM name="DNS2" val="0.0.0.0"/>
                <DM name="DNS3" val="0.0.0.0"/>
                <DM name="IsNAT" val="1"/>
                <DM name="IsForward" val="1"/>
                <DM name="IsDefGW" val="0"/>
                <DM name="IsNAT6" val="0"/>
                <DM name="IsDefGW6" val="0"/>
                <DM name="DSCP" val="-1"/>
                <DM name="DSCP6" val="-1"/>
                <DM name="TC" val="-1"/>
                <DM name="VLANID" val="43"/>
                <DM name="MCVLANID" val="80"/>
                <DM name="IgmpProxyEnable" val="1"/>
                <DM name="UpstreamWAN" val="0"/>
                <DM name="MLDProxyEnable" val="1"/>
                <DM name="Priority" val="3"/>
                <DM name="WBDMode" val="2"/>
                <DM name="OnLineTime" val="0"/>
                <DM name="Status" val="0"/>
                <DM name="HideListView" val="0"/>
                <DM name="IPMode" val="1"/>
                <DM name="IsDel" val="0"/>
                <DM name="DNSEnabled" val="1"/>
                <DM name="WancIndex" val="2"/>
        </Row>
</Tbl>

可以恰好看到,Row No="0",第 0 行,正是1_TR069_R_VID_50

你可以恰好使用這個命令,幫她在體內去除正能量。

 sendcmd 1 DB delr WANC 0
 sendcmd 1 DB save

再次sendcmd 1 DB p WANC,果然已經不見啦。(可以重啟進行驗證,是否已經寫入 flash)

Pasted image 20240123171309

引用#

  1. https://www.right.com.cn/forum/thread-8216015-1-1.html
    https://archive.md/wip/1r7IM

注入新的正能量#

插入光纖!

使用用戶 space 進行註冊,煙台聯通不需要密碼,僅 loid。

或者是在管理員 space 下的高級配置裡,有 loid 設置。

Pasted image 20240123173449

Pasted image 20240123171530

卡在這裡是正常的,因為我們把 tr 刪掉了,他這輩子不會有管理 ip 的。

新建一個互聯網連接,橋接模式,綁定的 lan 口需要手動指定。vlan 為 tag id 是之前用戶態裡看到的。

如果家裡有 iptv,那麼去找聯通取消這個付費洗腦業務(。如果需要繼續使用,同理配置 lan 口和 vlan id

Pasted image 20240123173401

在 macos 下撥號驗證,成功。

路由器上進行撥號(這個主路由是 padavan

Pasted image 20240123173027

我習慣手動設置 man ip,其實不設置也可以。

Mar 26 15:58:10 pppd[2864]: Plugin rp-pppoe.so loaded.
Mar 26 15:58:10 pppd[2864]: RP-PPPoE plugin version 3.12 compiled against pppd 2.4.7
Mar 26 15:58:10 pppd[2896]: pppd 2.4.7 started by admin, uid 0
Mar 26 15:58:10 crond[2915]: crond (busybox 1.29.3) started, log level 8
Mar 26 15:58:45 pppd[2896]: Timeout waiting for PADS packets
Mar 26 15:58:50 pppd[2896]: PPP session is 8176 (0x1ff0)
Mar 26 15:58:50 pppd[2896]: Connected to 34:a2:a2:d3:0b:7e via interface eth3
Mar 26 15:58:50 pppd[2896]: Using interface ppp0
Mar 26 15:58:50 pppd[2896]: Connect: ppp0 <--> eth3
Mar 26 15:58:53 pppd[2896]: syncppp not active
Mar 26 15:58:53 pppd[2896]: Remote message: Authentication success,Welcome!
Mar 26 15:58:53 pppd[2896]: PAP authentication succeeded
Mar 26 15:58:53 pppd[2896]: peer from calling number 34:A2:A2:D3:0B:7E authorized
Mar 26 15:58:53 pppd[2896]: local  IP address 112.249.999.999
Mar 26 15:58:53 pppd[2896]: remote IP address 112.249.999.1

這樣,我們就不小心,實現了橋接。

寫在後邊#

其實這樣就是把這個東西當個貓棒來用了,這就是她素顏最美麗的模樣不是嗎?

And,這個時候,用戶態的密碼是不存在的,你可以設置。當然這個用戶態是沒有用的。CUadmin 的密碼不會被修改,可以一直使用。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。