可能有很多朋友,是很忌諱寫這類指名道姓的文章的,這很可能也是這類文章比較少的原因。往上講,這個技術的使用存在灰色性,雖然中國地區的法律沒有什麼用,但是按照它的說法,確實有未經授權入侵計算機系統的嫌疑和帮信的口袋罪;往下講,至少暴露了你的時空位置,被開盒也是不好的。
我其實並沒有很在意,因為我向來都是實名上網。而且在當前的環境下,如果你樹敵足夠多,足夠強,那實名上網可以保護你無法被開盒,因為你已經實現了無盒化。前者呢,那就得看你跑的有多快了。
前因#
很早之前,這個光貓我已經日過一次了。但是聯通來偷偷摸摸給樓裡換了光交換機,所以 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
恰好引用#
- https://www.jarvisw.com/?p=1517
https://archive.ph/8HSFV - 偶然發現的神奇文件!
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)
引用#
注入新的正能量#
插入光纖!
使用用戶 space 進行註冊,煙台聯通不需要密碼,僅 loid。
或者是在管理員 space 下的高級配置裡,有 loid 設置。
卡在這裡是正常的,因為我們把 tr 刪掉了,他這輩子不會有管理 ip 的。
新建一個互聯網連接,橋接模式,綁定的 lan 口需要手動指定。vlan 為 tag id 是之前用戶態裡看到的。
如果家裡有 iptv,那麼去找聯通取消這個付費洗腦業務(。如果需要繼續使用,同理配置 lan 口和 vlan id
在 macos 下撥號驗證,成功。
路由器上進行撥號(這個主路由是 padavan
我習慣手動設置 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 的密碼不會被修改,可以一直使用。