
중간 상호작용 SSH 허니팟으로, 무차별 대입 공격과 공격자의 전체 셸 상호작용을 기록하며, 핑거프린팅을 줄이기 위한 사용자 정의 옵션을 제공합니다.
Kippo는 무차별 대입 공격과, 가장 중요하게는 공격자가 수행한 전체 셸 상호작용을 기록하도록 설계된 중간 상호작용 SSH 허니팟입니다.
원본 홈페이지: https://code.google.com/p/kippo/.
이것은 Kippo의 개인 공개 포크로, 추가 기능과 함께 허니팟의 핑거프린팅 가능성을 줄이기 위한 수정 사항을 포함합니다.
이는 "Kippo Honeypot v0.8 (svn r248 - 2014-05-19)"을 기반으로 합니다.
Debian 7 stable에서 테스트되었습니다.
apt-get update
apt-get -y install openssl python python-dev python-openssl python-pyasn1 python-twisted git
git clone git://github.com/g0tmi1k/kippo.git /opt/kippo/
cp -n /opt/kippo/kippo.cfg{.dist,}
chown -R nobody\:nogroup /opt/kippo/
su nobody -c '/bin/bash /opt/kippo/start.sh'
"iptables"를 사용하여 트래픽을 TCP 2222 포트(Kippo의 기본 포트)로 리디렉션하거나... "authbind"를 사용하여 비권한 사용자(nobody)가 권한 있는 포트 TCP 22(기본 SSH 포트)를 사용할 수 있도록 하는 것이 가능합니다.
apt-get -y install authbind
touch /etc/authbind/byport/22
chown nobody\:nogroup /etc/authbind/byport/22
chmod 0777 /etc/authbind/byport/22
sed -i 's/^twistd /authbind --deep twistd /' /opt/kippo/start.sh
sed -i 's/^ssh_port = .*/ssh_port = 22/' /opt/kippo/kippo.cfg
[ -e /opt/kippo/kippo.pid ] && kill $(cat /opt/kippo/kippo.pid) && sleep 2
su nobody -c '/bin/bash /opt/kippo/start.sh'
...미리 "실제" ssh 포트를 변경하는 것을 잊지 마세요!.
sed -i 's/^Port .*/Port 222/' /etc/ssh/sshd_config
service ssh restart
인스턴스를 고유하게 만들어 (따라서 탐지 가능성을 낮추는) 사용자 정의를 확장하는 방법에 대한 몇 가지 제안입니다.
...
hostname = uniquehostname
...
파일: ./kippo.cfg
uniquehostname
파일: ./honeyfs/etc/hostname
...
127.0.0.1 uniquehostname
....
파일: ./honeyfs/etc/hosts
...
ssh_version_string = SSH-2.0-OpenSSH_6.0p1 Debian-4
...
파일: ./kippo.cfg
*************************************************************
* All connections are monitored and recorded. *
* Disconnect IMMEDIATELY if you are not an authorized user! *
*************************************************************
파일: ./honeyfs/etc/issue.net
이것은 허용된 비밀번호 목록에 "Password1"을 추가합니다.
참고: "*"를 추가하면 제출된 모든 비밀번호를 허용합니다.
cd /opt/kippo/ && python utils/passdb.py data/pass.db add Password1
다음 명령은 /root/accounts.zip.enc에 "가짜" 파일 (7mb) 을 생성합니다.
dd if=/dev/urandom of=honeyfs/root/accounts.zip.enc bs=1M count=7
이것들은 단지 몇 가지 제안일 뿐입니다 - 원하는 대로 허니팟을 자유롭게 변경하세요!
Kippo는 "시뮬레이션된 환경"입니다. 공격자는 "통제된 감옥"에 배치되며, 이는 미리 정의된(일명 화이트리스트에 등록된) 명령/파일에만 응답합니다. 결과적으로 다음과 같은 단점이 있을 수 있습니다. 예를 들어:
Kippo는 "완벽"과는 거리가 멀며 경험 많은 공격자에 의해 쉽게 식별될 수 있습니다. 그러나 이는 아마추어 공격자를 혼란스럽게 하거나 심지어 속여서 실제라고 믿게 할 수 있습니다. 결과적으로 Kippo는 누군가가 있어서는 안 될 곳에 있음을 알려줍니다 (일명 조기 경보 시스템) - 게다가 리플레이를 다시 보는 것은 재미있습니다 ;).
위험을 감수하지 않는다면 사용하지 마세요. 저자(들)는 이 프로그램의 사용, 포함하여 발생할 수 있는 모든 데이터 손실 및/또는 손해에 대해 책임을 지지 않습니다.
이 코드는 무단 사용자를 시스템 및 실행 중인 네트워크로 유인하도록 설계되고 만들어졌습니다. 결과적으로 그들은 귀하의 장치에서 악의적인 행동을 수행할 수 있습니다.
코드 자체 (예: wget 명령) 는 공개적으로 노출되었거나 그렇지 않을 수 있는 서비스에 연결하는 데 사용될 수 있습니다. 또한 리소스 접근에 제한이 없기 때문에 다양한 "DoS" 취약점이 있습니다. 코드 자체도 보안 감사를 거치지 않았습니다.
사용하려는 경우, 민감한 정보가 포함되지 않고 나머지 네트워크와 분리된(예: DMZ 영역) 안전하고 최신 상태의 격리된 머신에서 실행할 것을 강력히 권장합니다.