서버 해킹 후 사후 처리 방법


29

IIS6, SQL Server 2005, MySQL 5 및 PHP 4.3이 설치된 Windows Server 2003 SP2 컴퓨터가 있습니다. 이것은 생산 기계는 아니지만 도메인 이름을 통해 전 세계에 노출됩니다. 컴퓨터에서 원격 데스크톱이 활성화되어 있고 두 개의 관리 계정이 활성화되어 있습니다.

오늘 아침에 로그인 텍스트 상자에 알 수없는 사용자 이름으로 컴퓨터가 로그 오프 된 것으로 나타났습니다. 추가 조사를 통해 두 명의 Windows 사용자가 생성되었고 안티 바이러스가 제거되었으며 .exe 파일이 C : 드라이브에 삭제되었습니다.

내가 알고 싶은 것은, 이것이 다시 발생하지 않도록하기 위해 어떤 조치를 취해야하며, 진입 경로를 결정하기 위해 집중해야하는 영역입니다. 이미 netstat -a를 검사하여 열려있는 포트를 확인했으며 아무 것도 이상하게 보이지 않습니다. MySQL의 데이터 폴더에서 알 수없는 파일을 찾았습니다.이 엔트리 포인트 일지 모르지만 확실하지 않습니다.

서버 해킹에 대한 사후 평가를 수행하여 앞으로 이것을 피할 수있는 단계에 정말로 감사드립니다.

사후 조사 검토

조사를 거쳐서 무슨 일이 있었는지 알았습니다. 먼저 '08 년 8 월부터 '09 년 10 월까지는 기기가 온라인 상태가 아닙니다. 해당 기간 동안 보안 취약점 MS08-067 취약점 이 발견되었습니다 . "이는 원격 코드 실행 취약점입니다.이 취약점을 성공적으로 악용 한 공격자는 영향을받는 시스템을 원격으로 완전히 제어 할 수 있습니다. Microsoft Windows 2000 기반, Windows XP 기반 및 Windows Server 2003 기반 시스템에서 공격자는 악용 할 수 있습니다. 인증없이 RPC를 통한이 취약점으로 인해 임의 코드가 실행될 수 있습니다. " 이 취약점은 2008 년 10 월에 발표 된 KB958644 보안 업데이트로 해결되었습니다.

당시 컴퓨터가 오프라인 상태 였고이 업데이트가 누락 되었기 때문에이 취약점은 컴퓨터가 '09 년 10 월에 온라인으로 돌아온 직후에 악용 될 것으로 생각합니다. 백도어 프로그램 으로 설명 된 bycnboy.exe 프로그램에 대한 참조를 찾았 습니다. 컴퓨터가 온라인 상태가 된 직후 자동 업데이트로 패치를 설치하여 시스템을 원격으로 제어 할 수 없게되었습니다. 백도어가 이제 폐쇄되었으므로 공격자는 시스템에서 실제 계정을 만들고 일주일 동안 머신을 사용하여 어떤 일이 발생했는지 알 수 있다고 생각합니다.

악성 코드, .exe 및 .dll을 적극적으로 추적하고 자체 호스팅 웹 사이트 및 사용자 계정을 제거한 후 컴퓨터는 이제 다시 작동 상태에 있습니다. 가까운 시일 내에 시스템을 모니터링하고 서버 로그를 검토하여 사고가 반복되는지 확인합니다.

제공된 정보와 단계에 감사드립니다.

답변:


28

사후 부름을하는 것은 그 자체로는 검은 예술입니다. 두 개의 침입이 동일하지 않기 때문에 매번 조금씩 다릅니다. 이를 염두에두고, 권장 프로세스에 대한 기본 개요는 다음과 같습니다.

  1. 기계를 네트워크에서 물리적으로 분리하십시오. (정말. 지금하세요)
  2. 선택 단계 : 나중에 사용할 수 있도록 하드 드라이브의 이진 이미지 복사본을 만듭니다.
  3. 모든 로그 파일, 중요한 데이터 등을 이동식 하드 드라이브에 복사하십시오.
    • 찾은 "해커 도구"를 선택적으로 복사
  4. 실제 사후 시작. 귀하의 경우 :
    • 신규 또는 누락 된 사용자 계정을 기록하십시오. 홈 폴더에 "관심있는"내용이 있는지 확인하십시오.
    • 새 프로그램이나 누락 된 프로그램 / 이진 / 데이터 파일을 기록하십시오.
    • MySQL 로그를 먼저 확인하십시오. "비정상적인"항목을 찾으십시오.
    • 나머지 서버 로그를 확인하십시오. 생성중인 새 사용자, 로그인 한 주소 등을 찾을 수 있는지 확인하십시오.
    • 데이터 손상 또는 도난의 증거를 찾으십시오
  5. 문제의 원인을 찾으면 다시 발생하지 않도록하는 방법에 유의하십시오.
  6. 서버를 깨끗하게 닦기 : 모든 것을 포맷하고 다시 설치하고, 데이터를 복원하고 # 5의 메모로 원래 구멍을 꽂습니다.

법 집행과 관련된 경우 일반적으로 2 단계를 수행합니다. 3 단계를 수행하여 2 단계에서 작성한 이미지 사본을 읽을 필요없이 서버를 다시 빌드 한 후 정보를 검토 할 수 있습니다.

4 단계가 어떻게 진행되는지는 목표에 달려 있습니다. 단지 구멍을 막는 것은 소중한 데이터를 훔친 사람을 추적하는 것과는 다른 종류의 조사입니다. :)

6 단계는 중요합니다. 손상된 호스트를 "수정"하지 마십시오. 호스트를 지우고 알려진 정상 상태에서 다시 시작하십시오. 이렇게하면 시한 폭탄으로 상자에 남아있는 불쾌한 덩어리를 놓치지 않을 수 있습니다.

이것은 사후 완전한 개요가 아닙니다. 나는 항상 프로세스 개선을 찾고 있기 때문에 이것을 커뮤니티 위키로 표시하고 있습니다-자주 사용하지 않습니다 :-)


3
나는 이런 일을 한 경험이 없지만 조사를 위해 기계를 이미지로 만들려는 경우 보안 원숭이의 조언은 전원 코드를 당겨 하드 드라이브를 이미지화 한 다음 조사를 시작하는 것입니다. (Security Monkey : it.toolbox.com/blogs/securitymonkey )
MattB

1
보안 원숭이가 작동하지 않습니다. 이미지를 볼 때 기계를 식히십시오 (전원 코드가 멈춤). 종료 및 / 또는 시작시 자체 파괴 또는 정리 코드가 트립되고 전원이 끊기면 이미지를 만들기 전에 해당 코드가 발생하는 것을 방지 할 수 있습니다.
voretaq7

2
또한 netstat (또는 dir 등)와 같은 해킹 된 시스템에서 "내장"명령의 결과를 신뢰해서는 안된다고 말하지만 엔터프라이즈 수준에서는 직접 경험이 없지만 해킹당하는 것을 기억합니다. 해킹의 일부가 내장 도구를 대체하여 실제로 진행되고있는 것을 숨기는 개인용 컴퓨터에서.
MattB

4
+1 6 단계는 매우 중요합니다. netstat가 실제 네트워크 트래픽을 분석하지 않고 진실을 보여주는 지 알 수 없으며, 그 자체로 상당히 복잡하고 인내심을 시험 할 수 있습니다. 더 이상 당신의 상자가 아닙니다. 당신이 원하는 이미지를 분석하지만 망할 기계를 닦아;)
Oskar Duveborn

1
조사하는 동안 무엇을 찾을 지 확실하지 않기 때문에 매번 2 단계를 수행하는 것이 더 나을 것입니다. 이진 이미지가 있다는 것은 각 사본을 사용하여 다른 사람들이 다른 것을보고있을 수 있음을 의미합니다.
Vatine
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.