허니팟 및 허니넷

Honeypots Honeynets



이 튜토리얼은 실제 구현 예제를 포함하여 허니팟과 허니넷이 무엇이고 어떻게 작동하는지 설명합니다.

보안 IT 전문가의 업무 중 하나는 공격 시도 특성을 평가하기 위해 나중에 분석할 정보를 수집하여 해커가 사용하는 공격 유형이나 기술에 대해 배우는 것입니다. 때때로 이러한 정보 수집은 활동이 모니터링되고 있다는 사실을 모른 채 행동하는 잠재적 공격자의 의심스러운 활동을 등록하도록 설계된 미끼나 미끼를 통해 수행됩니다. IT 보안에서는 이러한 미끼 또는 미끼를 허니팟 .







허니팟과 허니넷이란 무엇입니까?

에게 꿀단지 실제로 공격자의 활동을 기록하는 대상을 시뮬레이션하는 응용 프로그램일 수 있습니다. 여러 서비스, 장치 및 응용 프로그램을 시뮬레이션하는 여러 허니팟이 표시됩니다. 허니넷 .



허니팟과 허니넷은 민감한 정보를 저장하지 않고 허니팟에 관심을 갖도록 공격자에게 가짜 매력적인 정보를 저장합니다. 다시 말해서 Honeynets는 공격 기술을 학습하도록 설계된 해커 트랩에 대해 이야기하고 있습니다.



허니팟은 두 가지 이점을 제공합니다. 첫째, 프로덕션 장치 또는 네트워크를 적절하게 보호하기 위한 공격을 학습하는 데 도움이 됩니다. 둘째, 허니팟이 프로덕션 장치 또는 네트워크 옆에 있는 취약점을 시뮬레이션하여 보안 장치에서 해커의 주의를 끌지 못하게 합니다. 그들은 그들이 이용할 수 있는 보안 허점을 시뮬레이션하는 더 매력적인 허니팟을 발견할 것입니다.





허니팟 유형:

생산 허니팟:
이러한 유형의 허니팟은 인프라 내에서 시스템을 공격하는 데 사용되는 기술에 대한 정보를 수집하기 위해 프로덕션 네트워크에 설치됩니다. 이러한 유형의 허니팟은 허용되지 않거나 금지된 리소스에 액세스하려는 네트워크 적법한 사용자의 내부 시도를 감지하기 위해 특정 네트워크 세그먼트 내의 허니팟 위치에서 동일한 웹사이트 또는 서비스 복제에 이르기까지 다양한 가능성을 제공합니다. 미끼로 원본. 이러한 유형의 허니팟의 가장 큰 문제는 합법적인 허니팟 간에 악성 트래픽을 허용하는 것입니다.

개발 허니팟:
이러한 유형의 허니팟은 해킹 동향, 공격자가 원하는 대상 및 공격 출처에 대한 추가 정보를 수집하도록 설계되었습니다. 이 정보는 나중에 보안 조치 구현에 대한 의사 결정 프로세스를 위해 분석됩니다.
이러한 유형의 허니팟의 주요 이점은 생산과 반대입니다. 허니팟 개발 허니팟은 연구 전용 독립 네트워크 내에 있습니다. 이 취약한 시스템은 허니팟 자체의 공격을 방지하는 프로덕션 환경과 분리되어 있습니다. 주요 단점은 구현에 필요한 리소스의 수입니다.



공격자와의 상호 작용 수준에 따라 정의되는 3가지 다른 허니팟 하위 범주 또는 분류 유형이 있습니다.

낮은 상호 작용 허니팟:

Honeypot은 취약한 서비스, 앱 또는 시스템을 에뮬레이트합니다. 이것은 설정하기가 매우 쉽지만 정보를 수집할 때 제한적입니다. 이러한 유형의 허니팟의 몇 가지 예는 다음과 같습니다.

  • 허니트랩 : 네트워크 서비스에 대한 공격을 관찰하도록 설계되었습니다. 맬웨어 캡처에 중점을 둔 다른 허니팟과 달리 이러한 유형의 허니팟은 익스플로잇을 캡처하도록 설계되었습니다.
  • 네펜테스 : 가능한 공격에 대한 정보를 수집하기 위해 알려진 취약점을 에뮬레이트합니다. 그것은 전파하기 위해 취약점 웜 익스플로잇을 에뮬레이트하도록 설계되었으며 Nephentes는 나중에 분석하기 위해 코드를 캡처합니다.
  • 허니씨 : 다른 클라이언트를 에뮬레이트하고 요청에 응답할 때 서버 응답을 수집하여 네트워킹 내의 악성 웹 서버를 식별합니다.
  • 허니디 : 다른 OS에서 실행을 시뮬레이션하는 임의의 서비스를 실행하도록 구성할 수 있는 네트워크 내에서 가상 호스트를 생성하는 데몬입니다.
  • 글라스토프 : 웹 애플리케이션에 대한 공격 정보를 수집하도록 설계된 수천 개의 취약점을 에뮬레이트합니다. 설정하기 쉽고 일단 검색 엔진에서 색인을 생성합니다. 해커들에게 매력적인 표적이 됩니다.

중간 상호작용 허니팟:

이 시나리오에서 Honeypot은 정보만 수집하도록 설계되지 않았습니다. 상호 작용 활동을 철저히 등록하면서 공격자와 상호 작용하도록 설계된 응용 프로그램입니다. 공격자가 예상할 수 있는 모든 답변을 제공할 수 있는 대상을 시뮬레이션합니다. 이 유형의 일부 허니팟은 다음과 같습니다.

  • Cowrie: 무차별 대입 공격과 해커 셸 상호 작용을 기록하는 ssh 및 텔넷 허니팟. Unix OS를 에뮬레이트하고 공격자의 활동을 기록하는 프록시 역할을 합니다. 이 섹션 이후에 Cowrie 구현에 대한 지침을 찾을 수 있습니다.
  • 끈끈한_코끼리 : PostgreSQL 허니팟입니다.
  • 호넷 : WordPress 사이트의 /wp-admin과 같이 관리자를 위한 공개 액세스 로그인 페이지가 있는 웹사이트용으로 설계된 가짜 자격 증명 프롬프트가 있는 Honeypot-wasp의 개선된 버전입니다.

높은 상호 작용 허니팟:

이 시나리오에서 Honeypot은 정보만 수집하도록 설계되지 않았습니다. 상호 작용 활동을 철저히 등록하면서 공격자와 상호 작용하도록 설계된 응용 프로그램입니다. 공격자가 예상할 수 있는 모든 답변을 제공할 수 있는 대상을 시뮬레이션합니다. 이 유형의 일부 허니팟은 다음과 같습니다.

  • 상처 : HIDS(호스트 기반 침입 탐지 시스템)로 작동하여 시스템 활동에 대한 정보를 캡처할 수 있습니다. 수집된 정보를 캡처하여 서버로 보내는 Linux, Unix 및 Windows에 허니팟을 배포할 수 있는 서버-클라이언트 도구입니다.
  • 허니보우 : 낮은 상호작용 허니팟과 통합하여 정보 수집을 늘릴 수 있습니다.
  • HI-HAT(High Interaction Honeypot Analysis Toolkit) : 정보를 모니터링하는 데 사용할 수 있는 웹 인터페이스를 사용하여 PHP 파일을 상호 작용이 높은 허니팟으로 변환합니다.
  • 캡처-HPC : HoneyC와 유사하게 전용 가상머신을 사용하여 클라이언트와 상호작용하고 무단 변경을 등록하여 악성 서버를 식별합니다.

아래에서 중간 상호 작용 허니팟 실제 예를 찾을 수 있습니다.

SSH 공격에 대한 데이터를 수집하기 위해 Cowrie 배포:

앞서 언급했듯이 Cowrie는 ssh 서비스를 대상으로 하는 공격에 대한 정보를 기록하는 데 사용되는 허니팟입니다. Cowrie는 공격자가 가짜 터미널에 액세스할 수 있도록 취약한 ssh 서버를 시뮬레이션하여 공격자의 활동을 기록하는 동안 성공적인 공격을 시뮬레이션합니다.

Cowrie가 가짜 취약 서버를 시뮬레이션하려면 포트 22에 할당해야 합니다. 따라서 파일을 편집하여 실제 ssh 포트를 변경해야 합니다. /etc/ssh/sshd_config 아래 그림과 같이.

수도 나노 //SSH/sshd_config

라인을 편집하고 49152와 65535 사이의 포트로 변경하십시오.

포트22

다시 시작하고 서비스가 제대로 실행되고 있는지 확인합니다.

수도systemctl 다시 시작SSH
수도systemctl 상태SSH

Debian 기반 Linux 배포판에서 다음 단계에 필요한 모든 소프트웨어를 설치합니다.

수도적절한설치 -그리고python-virtualenv libssl-dev libffi-dev 빌드 필수 libpython3-dev python3-최소 인증 바인딩가다

아래 명령어를 실행하여 권한이 없는 사용자인 cowrie를 추가합니다.

수도사용자 추가--disabled-비밀번호카우리

Debian 기반 Linux 배포에서 다음 명령을 실행하여 authbind를 설치합니다.

수도적절한설치인증

아래 명령어를 실행하세요.

수도 만지다 //인증/바이포트/22

아래 명령을 실행하여 소유권을 변경하십시오.

수도 차우카우리:카우리//인증/바이포트/22

권한 변경:

수도 chmod 770 //인증/바이포트/22

다음으로 로그인 카우리

수도 그것의카우리

카우리의 홈 디렉토리로 이동합니다.

CD~

아래 그림과 같이 git을 사용하여 카우리 허니팟을 다운로드합니다.

자식 클론https :// //github.com/미켈루스터호프/카우리

카우리 디렉토리로 이동합니다.

CD카우리/

파일에서 복사하여 기본 구성 파일을 기반으로 새 구성 파일을 만듭니다. /etc/cowrie.cfg.dist에서 cowrie.cfg로 cowrie의 디렉토리/내에서 아래에 표시된 명령을 실행하여

cp/cowrie.cfg.dist 등/cowrie.cfg

생성된 파일 편집:

나노/cowrie.cfg

아래 줄을 찾으십시오.

listen_endpoints = TCP:2222:상호 작용= 0.0.0.0

라인을 편집하여 아래와 같이 포트 2222를 22로 바꿉니다.

listen_endpoints = TCP:22:상호 작용= 0.0.0.0

nano를 저장하고 종료합니다.

아래 명령어를 실행하여 python 환경을 만듭니다.

virtualenv 카우리 환경

가상 환경을 활성화합니다.

원천카우리 환경/오전/활성화

다음 명령을 실행하여 pip를 업데이트하십시오.

설치 --업그레이드

다음 명령을 실행하여 모든 요구 사항을 설치합니다.

설치 --업그레이드요구 사항.txt

다음 명령으로 cowrie를 실행하십시오.

오전/카우리 시작

실행하여 허니팟이 수신 대기 중인지 확인하십시오.

netstat -그래서

이제 포트 22에 대한 로그인 시도는 cowrie 디렉토리의 var/log/cowrie/cowrie.log 파일에 기록됩니다.

이전에 말했듯이 Honeypot을 사용하여 취약한 가짜 쉘을 만들 수 있습니다. Cowries에는 허용된 사용자가 셸에 액세스하도록 정의할 수 있는 파일이 포함되어 있습니다. 이것은 해커가 가짜 셸에 액세스할 수 있는 사용자 이름과 암호 목록입니다.

목록 형식은 아래 이미지와 같습니다.

테스트 목적으로 cowrie 디렉토리에서 아래 명령을 실행하여 cowrie 기본 목록의 이름을 바꿀 수 있습니다. 그렇게 하면 사용자는 암호를 사용하여 루트로 로그인할 수 있습니다. 뿌리 또는 123456 .

뮤직비디오/userdb.example 등/사용자DB.txt

아래 명령을 실행하여 Cowrie를 중지했다가 다시 시작하십시오.

오전/코리 스톱
오전/카우리 시작

이제 파일에 포함된 사용자 이름과 비밀번호를 사용하여 ssh를 통한 액세스를 테스트합니다. 사용자DB.txt 목록.

보시다시피 가짜 셸에 액세스합니다. 그리고 이 셸에서 수행되는 모든 활동은 아래와 같이 카우리 로그에서 모니터링할 수 있습니다.

보시다시피 Cowrie가 성공적으로 구현되었습니다. Cowrie에 대해 자세히 알아볼 수 있습니다. https://github.com/cowrie/ .

결론:

허니팟 구현은 일반적인 보안 조치는 아니지만 보시다시피 네트워크 보안을 강화하는 좋은 방법입니다. Honeypot을 구현하는 것은 보안 향상을 목표로 하는 데이터 수집의 중요한 부분이며 해커의 활동, 기술, 자격 증명 및 대상을 공개하여 해커를 협력자로 만듭니다. 또한 해커에게 가짜 정보를 제공하는 강력한 방법이기도 합니다.

Honeypot에 관심이 있다면 IDS(침입 탐지 시스템)가 흥미로울 것입니다. LinuxHint에는 이에 대한 몇 가지 흥미로운 자습서가 있습니다.

  • Snort IDS 구성 및 규칙 생성
  • OSSEC(침입 탐지 시스템) 시작하기

Honeypots and Honeynets에 대한 이 기사가 유용했기를 바랍니다. 더 많은 Linux 팁과 자습서를 보려면 Linux 힌트를 계속 따르십시오.