|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2003-08-25, 06:36 AM | #1 |
榮譽會員
|
一種關於pppoe寬帶網欺騙的實現
一種關於pppoe寬帶網欺騙的實現
作者:ids May 20,2003 聲明:1.初次寫此類文章,錯誤之處在所難免,請各位不吝指正. 2.本文純粹技術上的討論,任何利用此文擾亂網路一概與本文無關. 3.任何轉載請務必保持文章的完整性. 4.本人鄙視任何形式的摘抄. 一.PPPoe傳輸協定 有相當一部分寬帶網是關於pppoe 實現的,pppoe(Point-to-Point over Enthernet) 一種通過乙太網封裝ppp包的實現。要弄明白pppoe可以參看RFC2516。 pppoe連接建立需要兩個程序:發現部分和ppp會話,當一個客戶端機需要啟始化一個pppoe 會話時,它必須知道服務器的MAC,這是通過發現報文廣播方式取得的,有點像arp,然後選一 個接入服務器建立一個會話ID,客戶端機與服務器正式協商建立連接的具體細節。 乙太網報文: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DESTINATION_ADDR | | (6 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SOURCE_ADDR | | (6 octets) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ETHER_TYPE (2 octets) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ~ ~ payload ~ ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHECKSUM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ PPPoe的乙太網報文類型為0x8863(發現部分)和0x8864(ppp會話部分),payload為載荷, 封裝的ppp報文. PPPoe載荷: 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VER | TYPE | CODE | SESSION_ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | payload ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 這中間還用到其他幾種控制報文,可參看rfc2516. 二.建立pppoe服務器 一般的寬帶網接入服務器支持pppoe,如華為的MA5200乙太網接入服務器. 我們可以通過在軟體架設一個pppoe server,我的實現如下: Redhat7.2 rp-pppoe-3.5.1 rp-pppoe-3.5.1.i386.rpm可以到rp-pppoe老家www.roaringpenguin.com下載。 配置一下pppoe-server-options: #PPP options for the PPPoE server login lcp-echo-interval 10 lcp-echo-fauilure 2 ms-dns 202.97.230.4 因為沒有加入任何認證,chap-secrets,pap-secrets不用管 啟動server: #pppoe-server 後面一些參數設定可以參看rp-pppoe我的文件,或者 man pppoe-server 據我發現,rp-pppoe server中間沒有查詢連接是否正常的報文,一般寬帶接入服務器,服務器 定時傳送連接保持報文,而rp-pppoe server沒有 三.dns欺騙 因為建立的pppoe server沒加入任何認證,可以省去認證程序,也就是說隨便一個用戶, 密碼可以錯誤甚至沒有,所以client與pppoe server完成建立連接的程序比真正的接入 服務器來得更快,chap認證有時一次不一定成功,而且客戶端機有時密碼輸入錯誤. dns欺騙只要稍微修改一下pppoe-server-options中的ms-dns,指向自己配置的dns,在 該dns上可以設定一些具體指向,例如將www.google.com指向你的homepage. 啟動pppoe-server時可以加入分配給客戶端機的ip範圍和服務器的名稱,這樣更具迷惑性. 四.建立透明的nat 在區域網路建立nat,需要在客戶端機配置正確的ip和dns,用pppoe方式可以將這一切做得透明, 客戶端機只要有EnterNet或其它的pppoe撥號軟體就行了.通過pppoe建立連接,給客戶分配ip 和dns 服務器通過adsl上網: adsl-setup配置adsl帳號 adsl-start啟動adsl adsl-stop adsl-status 有時雖然連上寬帶網,但是不能上網,主要是路由配置有問題: #ifconfig 察看寬帶網連接ppp0被分配的ip xx.xx.xx.xx #route add default gw xx.xx.xx.xx #route add -net xx.xx.xx.00 netmask 255.255.255.255 dev ppp0 nat指令碼 echo 1>/proc/sys/net/ipv4/ip_forward iptables -F iptables -X iptables -Z iptables -F -t nat iptables -X -t nat iptables -Z -t nat iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t nat -A POSTROUTING -o ppp0 -s 0.0.0.0/0 -j MASQUERADE iptables -t nat -A POSTROUTING -o ppp0 -s 0.0.0.0/0 -j MASQUERADE 指令碼可以根據需要修改. 當心,如果你要做nat服務器得話,只要有5個用戶,機器負荷就很大了,我當時的網路卡燈狂閃. 參考: --------------------------------- rfc2516 Q: 欺騙什麼??欺騙誰、? A: 找個寬帶執行小區域網,乙太網PPPoE的那種,做一個測試看看 好像北京網通的好多小區就是這樣,而且都沒有連接埠隔離! 是欺騙其它用PPOE上網的用戶, 讓他們通過這個服務器上網(而不是正宗的那個),就可以監聽到他們的通訊! 小區上網是fddi+lan dhcp方式,然後自己也建立一個dhcp服務器,讓其他的電腦用我這電腦做網關,,這下,我幹什麼壞事都可以,,其實還是沒有干的。 Q: 如果為了提供服務,直接用DHCP不是一樣,DNS,網關都可以配置,還省去了撥號。 我看不出這個方案有什麼套用。 A: 安全。因為可以提供帳號限制,密碼限制,帳號限速之類的。 Q: 夠狠! 但是,問題是:如果在一個網路裡,已經存在一個PPPOE server的話,如何取得主服務器的權限???如果可以克服這點的話,並且可以繞過網路網管,那麼這個問題,簡直太恐怖了。 這個事情,我也想過,沒做過,弄個qq,telnet,ftp ,mail的密碼不錯。 理論上可以這樣做,因為現在服務商沒有使用規範的連接埠隔離交換機。 A: 按接入規範,在接入服務提供者提供的交換機上,必須選用帶連接埠隔離功能的交換機。也就是說,每個最終用戶的連接埠,只能和它自己的上級連接埠相連。和其他平行用戶的連接埠是互相隔離的,屬於不同的vlan. 在這種情況下,所有的欺騙、監聽手段自然失效。 |
送花文章: 3,
|