it-swarm-korea.com

해독 가능한 암호화를 사용하여 모든 Active Directory 암호를 일반 텍스트로 가져올 수 있습니까?

편집 : 아무도 실제로 질문에 대답 할 수 있습니까? 감사합니다. 감사 추적이 필요하지 않습니다. 모든 비밀번호를 알고 있으며 사용자는 변경할 수 없으며 계속 변경하겠습니다.

이것은 해킹이 아닙니다!

우리는 최근에 오래되고 녹슨 Linux/Samba 도메인에서 Active Directory로 마이그레이션했습니다. 우리는 거기에서 계정을 관리하기위한 작은 맞춤형 인터페이스를 가지고있었습니다. 그것은 항상 모든 사용자와 모든 서비스 계정의 암호를 안전한 위치에 일반 텍스트로 저장했습니다 (물론 많은 사람들은 이것이 안전하다고 생각하지 않을 것이지만 실제 악용 없이는 아무도 읽을 수 없습니다). 삼바 도메인 컨트롤러. 또한 사용자는 자신의 암호를 선택할 수 없으며 pwgen을 사용하여 만듭니다. 우리는 40 일 정도마다 변경하지 않고 2 년에 한 번 씩만 직원들이 실제로 배우고 적어 놓지 않은 것에 대해 보상합니다.

예를 들어 암호가 필요합니다. 사용자 계정으로 이동하여 그룹 정책이나 사용자를 돕기 위해 너무 복잡한 설정을 수정합니다.

이는 확실히 논란의 여지가있는 정책 일 수 있지만 AD에서 계속하고 싶습니다. 이제 새 계정과 PWGEN 생성 (pwgen은 Nice 양의 모음, 자음 및 숫자로 Nice 소리가 나는 임의의 단어를 생성)을 이전 스크립트가 자동으로 유지하는 데 사용했던 이전 텍스트 파일에 수동으로 저장합니다.

이 기능을 AD에서 어떻게 되돌릴 수 있습니까?

AD 계정에 "가역적 암호화"가 있다는 것을 알았습니다. 아마도 서버에 저장된 일반 텍스트 암호가 필요한 시도 응답 인증 시스템에 대한 것 같습니다.

이 모든 암호를 표시하는 스크립트가 있습니까? 그것은 좋을 것입니다. (다시 : 나는 내 DC 손상되지 않는다고 믿습니다.)

또는 모든 새 암호에 대한 알림을 받고 파일에 저장하는 AD 사용자 및 컴퓨터에 플러그인을 사용할 수 있습니까?

GINA-dll로 가능한 클라이언트에서 암호에 대한 알림을 받고 일반 텍스트를 얻을 수 있습니다.

2
Christian

질문에 답하려면 다음을 읽으십시오. http://blog.teusink.net/2009/08/passwords-stored-using-reversible.html

문서 하단에는 저장된 해독 가능한 암호를 얻는 방법이 설명되어 있습니다. Havent가 시도 했으므로 설명 된대로 수행하는 방법을 정확히 모르지만 작동합니다.

그 외에는 해독 가능한 암호화를 사용하라는 제안에 늑대를 울리는 나머지 사람들과 동의합니다. 안전하지 않습니다.

4
Lord HellFire

사용자의 계정으로 로그인하여 사용자 지원을 제공하는 것 같습니다. 비밀번호를 알고 계십니까? 당신이 말했듯이, 그것은 여러 가지 이유로 매우 나쁜 생각입니다.

일부 구식 사용자가 좋아하는 경향이 있다는 것을 알고 있습니다. 어깨를 으쓱하고 원격으로 수정하고 암호를 알려달라고 요청합니다. 하지만 그냥 안된다고 말하십시오. 누구도 자신의 비밀번호를 알아야합니다-기본 원칙.

대부분의 것은 다른 사용자 컨텍스트에서 수정할 수 있습니다. 실제로 할 수없고 대화 형으로 로그인 한 사용자와 작업을 수행해야하는 사람들은 사용자가이를 수행하고 직원이 해당 사용자의 계정을 통해 항목을 수정하는 동안 머무르고 지켜봐야합니다.

원격으로 사용자가 제어 할 수있는 RDP Shadow, Remote Help 및 유사한 대화 형 솔루션이 있으며 데스크톱 관련 문제를 해결하기 위해 아무도 자신의 암호를 알 필요가 없습니다. 그룹 정책을 사용하면 관리자가 대부분의 항목을 쉽게 구성 할 수 있으므로 기본적으로이 동작이 필요하지 않습니다.

다른 사람에게 다른 사람의 사용자 계정에 대한 액세스 권한을 부여하면 시스템에서 사용자가 수행 한 작업에 대한 감사 추적 및 책임을 잃게되며, 이는 권한이있는 관리자 그룹을 쉽게 벗어날 수 있습니다.

14
Oskar Duveborn

나는 내 DC가 안전하다고 확신하지 못합니다. 내가 공격자이거나 펜 테스터라면, 나는 당신의 DC 먼저 , 어쨌든. 나는 당신의 워크 스테이션과 서버를 추적 할 것입니다. 기본 공격 벡터 :

  1. 도메인 또는 일부 서비스 (예 : SQL Server의 sa 계정) 중 약한 사용자 이름/암호 또는 내가 관리자 권한을 얻을 수있는 취약점 (시스템, 사용자 패치)을 발견하십시오.
  2. 해당 계정에 관리자 권한이있는 시스템을 찾습니다.
  3. LSA 비밀을 덤프하여 모든 서비스 계정의 사용자 이름/비밀번호를 찾습니다.
  4. CacheDump를 사용하여 캐시 된 사용자 이름/암호를 덤프합니다.
  5. 이들 중 어느 곳에서나 관리자 권한이 있는지 확인하십시오.
  6. 도메인 관리자 계정을 얻을 때까지 1-5를 반복합니다.
  7. 도메인 관리자 계정을 사용하여 도메인 컨트롤러에 액세스합니다.
  8. 도메인 컨트롤러의 SAM을 덤프합니다.
  9. Rainbow 테이블을 사용하여 더 많은 암호를 해독하거나 필요한 경우 오프라인에서 무차별 대입하십시오.

모두가 Vista/Windows Server 2008/Windows 7이 아니라면 이것은 대부분의 침투 테스터가 사용하는 기본 공격 패턴입니다. 이 3 개의 OS가 패턴을 깨는 이유는 LSA Secrets에 대한 DLL 주입 공격이 해당 OS에 대해 작동하도록 만들어지지 않았기 때문입니다.

즉, 가역 암호화를 사용해서는 안되며 LM 해시를 비활성화해야합니다. NTLM 해시가 필요합니다. 그리고 이러한 암호를 일반 텍스트로 저장하고 싶지 않습니다.

10
K. Brian Kelley

당신이하는 일은 정말, 정말 나쁜 생각입니다. 사용자가 암호를 관리하지 않도록하려면 최소한의 비용이 드는 AD 용 챌린지/응답 토큰 시스템에 투자 할 수 있습니다.

10
duffbeer703

솔직히 말해서이 일을하려는 이유가 타당하지 않다고 생각합니다. 관리자로서 저는 사용자의 암호를 알고 있다는 생각에서 heebeejeebees의 많은 양을 얻습니다. 그것은 그들의 개인적인 영역이고, 당신은 그들에게 당신에 대한 엄청난 수준의 신뢰를 요구하고 있습니다. 그 외에도 기밀 데이터 유출이 발생하면 사용자의 암호를 알 수 있으므로 즉시 의심을 받게됩니다. 검증 가능한 감사 추적이 없다는 것은 막대한 보안 위험 신호입니다. 규칙 1은 "자신을 보호하라"입니다. 이것이 약간의 불편 함을 받아 들여야한다는 것을 의미한다면 그렇게하십시오.

암호를 아는 것과 같이 극단적으로 갈 필요없이 원하는 것을 수행 할 수있는 대체 솔루션이 있다고 생각합니다. 그룹 정책 기본 설정을 살펴 보셨습니까? 스크립팅 기술은 어떻습니까? 무차별 대입 방법을 사용하는 것은 일반적으로 표준 접근 방식이 최적으로 사용되지 않고 있음을 나타내는 명확한 표시이므로 역 추적하고 수행중인 작업을 다시 생각하는 것이 훨씬 낫다고 생각합니다.

6
Maximus Minimus

책임, 로깅 및 추적.

우리는 몇 년 동안 이에 대해 경영진과 고군분투 해 왔습니다. CEO와 사장은 몇 년 동안 암호 변경을 거부했으며 7 년 이상 동안 왔다가 떠난 모든 IT 직원은 암호를 알고있었습니다. 모든 사람을 "신뢰"하더라도 더 이상 직원이 아닌 여러 사람이 강력한 계정에 액세스하는 것은 매우 안전하지 않습니다. 그들 모두는 다른 사람들이 암호를 알고 있다는 것을 알고 있으므로 안전하게 사용할 수 있습니다.

우리는 사용자에게 암호를 절대로 공유하지 않도록 설교합니다. 이것이 "소셜 해킹"을 방지하기위한 시작입니다. 얼마나 많은 사용자가 전화를 걸어 새로운 IT 직원 중 한 명이라고 말하는 사람에게 자신의 암호를 알려줄 것입니까?

무언가를하기 위해 반드시 사용자 계정에 있어야하는 경우 로그인하여 샷건을 타거나 암호를 변경합니다. 암호를 변경하자마자 우리는 그들의 계정에 대한 책임이 있으며 다음 로그인시 사용자가 암호를 변경해야한다고 표시된 계정과 함께 새 암호를 제공 할 때까지 더 이상 책임을지지 않습니다. 이렇게하면 로깅 및 추적이 유지됩니다. 사용자가 인터넷에서 할 수있는 모든 것이 나쁘고 불법적이며 비 윤리적입니다. 그들이 자신의 암호를 아는 많은 사람들을 비난 할 수 있다면 많은 문제를 일으킬 수 있습니다.

이제 우리는 공유 컴퓨터와 같은 모든 공유 계정 로그인을 제거하기 위해 노력하고 있습니다. 계정이 있어야하는 경우 해당 계정은 매우 제한된 권한을 가지며 인터넷에 액세스 할 수 없습니다.

암호가 중요한 이유가 있습니다. 데이터를 보호하기위한 것이 아니라 사용자와 사용자 등을 보호하기위한 것입니다. 예제를 찾거나 브레인 스토밍하는 것은 어렵지 않습니다. 머릿속에서 대화를하십시오. "그들은 모두 내 비밀번호를 알고 있었고, 그들 중 한 명이 내 컴퓨터에 들어 와서 내 여주인이 보낸 이메일을 읽고 아내에게 말했습니다."보안과는 별개로 가능한 많은 개인 정보 고려 사항이 있습니다.

브라이언

추신. 논쟁하지 않기 위해 매우 열심히 노력합니다. 나는 질문에 대답하지 않았지만 제안 된 일을하는 것에 반대했습니다. 나는 또한 이렇게 말하지 않는 것이 좋습니다. 질문의 인용문- "편집 : 누구든지 실제로 질문에 대답 할 수 있습니까? 감사합니다. 감사 추적이 필요하지 않습니다. 모든 암호를 알고 있으며 사용자가 암호를 변경할 수 없습니다. 계속해서 그렇게 할 것입니다. 이것은 해킹을위한 것이 아닙니다! "

  1. 이로 인해 많은 회사에서 시스템 관리자의 직무에서 제외됩니다.
  2. 이와 같은 태도는 향후 취업 기회에도 영향을 미칠 수 있습니다. Google에서이 질문을 제기 한 사실을 알게되면 회사에서 Sys Admin에 지원하는 사람을 즉시 제거 할 것입니다.
  3. 나는 어떤 종류의 시나리오가 이것을 필요로하고 지원할 것인지 상상하기 위해 매우 열심히 노력하고 있습니다. 아마도 3-4 인 가족 전용 사무실 일 것입니다. 나는 이런 태도가 종교적 시나리오에서 만연한 것을 볼 수 있었지만, 그 누구도 완벽하지 않고 실수를 할 수는 없습니다.
  4. 지나치게 논증 적이거나 비난 적이라면 추신을 편집하거나 제거하십시오.
5
Brian

감사, 책임 및 일반적인 보안 문제가 적절하게 해결되었다고 생각하므로 다른 답변을 시도해 보겠습니다. :)

암호 변경 알림 서비스 모든 암호 변경 사항을 수신 서비스에 안전하게 전달하는 모든 도메인 컨트롤러에 설치할 수 있습니다.

이것은 Identity Integration Server (현재 Identity Lifecycle Manager)를 대상으로 설계되었지만 자신의 대상을 작성하거나 MIIS/MILM을 사용하여 암호를 수신하고 다른 커넥터를 통해 자신의 시스템으로 전달할 수도 있습니다.

4
Froosh

다른 사람들이 다루었 듯이 귀하의 정책과 관행은 기껏해야 비 정통적입니다. 이전에 언급 한 Unlock Administrator는 괜찮은 타협처럼 보입니다 (말장난 의도 없음). Windows 사용자 프로필 내에서 지원을 제공하기 위해 사용자 암호를 알기위한 명시된 목적. 좋아. 사용자가 지원이 필요하고 다른 곳에 있어야하는 경우 워크 스테이션을 잠그도록합니다. 그런 다음 관리자 잠금 해제를 사용하여 스테이션의 잠금을 해제하고 사용자 프로필을 유지할 수 있습니다.

워크 스테이션으로 이동할 수는 없지만 더 이상 암호를 알 필요가 없습니다. 보안과 지원 용이성 사이의 적절한 타협처럼 보입니다.

2
iPaulo

해시 (LM 또는 NTLM)를 가져 와서 사전 공격을 수행해야합니다. 적당히 복잡한 암호를 가진 사람은 거의 발견 할 수 없습니다. "가역적 암호화"를 활성화하지 마십시오. 암호를 관리하는 방법을 변경해야합니다.

2
PowerApp101

nlock Administrator 암호를 몰라도 문제의 일부를 해결할 수 있습니다.

2
Joseph

이 작업을 수행하는 방법에는 여러 가지가 있으며, 우리 서버에 침투 한 사람들이 사용하는 것으로 보았습니다. 가장 널리 사용되는 방법은 pwdump4와 같은 것을 사용하여 암호 해시를 파일에 덤프 한 다음 결과 해시를 Rainbow Table을 통해 실행하는 것입니다. 이 접근 방식을 훨씬 더 어렵게 만드는 몇 가지 암호 길이 제한이 있으므로 관리 암호가 모두 16 자 이상입니다.

일단 좋은 Rainbow 테이블 세트에 투자했다면 (돈을 많이 벌면 인터넷의 여러 곳에서 사용할 수 있으며 이것이 실제로 LOB (기간 업무) 인 경우 비용이 문제가되지 않아야합니다). 대부분의 사용자는 30 분 이내에 암호 해독 프로세스를 수행 할 수 있습니다.

사용자의 비밀번호를 얼마나 쉽게 추측 할 수 있는지 알아보기 위해이 작업을 한 번 수행했습니다. 단순한 사전 공격이 시작된 후 5 분 이내에 암호의 30 % 정도가 크래킹되었으며, 하루 이내에 자체 생성 된 Rainbow Table을 통해 거의 80 %가 크래킹되었습니다. 이건 .... 3 년 전 이니 상황이 더 빨라졌습니다. 결과는 암호 정책을 강화 (좋아, 실제로 생성)하는 데 신속하게 동의 한 고위 경영진에게 제시되었습니다.

2
sysadmin1138

L0phtcrack을 얻고 DC에 대해 실행하십시오. HOURS가 걸릴 수 있지만 대부분의 암호를 얻을 수 있습니다.

나는 똑같은 것을 찾고 있었기 때문에 실제로 이것을 우연히 발견했지만 사용자 암호를 아는 동기는 상당히 다릅니다.

고객 FTP 호스팅을 위해 IIS를 사용하는 이전 네트워크 관리자 솔루션을 마이그레이션하고 있습니다. 최근에 우리는 IIS ftp가 무차별 대입이되어 스파이웨어를 호스팅하고 있음을 발견했습니다. 사용자 암호는 누군가 잊어 버린 경우에만 재설정되지 않았으므로 AD를 사용하지 않는 다른 솔루션 (FileZilla)으로 이동하고 있습니다. 마이그레이션을 종료 할 때 투명하게하려면 동일한 암호 (손상된 계정 제외)로 이러한 모든 AD 계정을 다시 만들어야합니다. IIS FileZilla 용 마이그레이션 유틸리티가 없기 때문에 내 유일한 희망은 사용자 암호를 해독하는 것입니다.

사용자 암호를 해독하지 않고이를 수행하는 방법에 대한 제안에 열려 있습니다.

1
ITGuy

Microsoft는 아마도 외부 LDAP 저장소에 암호를 복제 할 수있는 ILM 제품을 가지고 있습니다.

1
James Risto