
중간 수준 상호작용 SSH 허니팟 배포로 실제 세계의 무차별 대입 트래픽, 악성코드 유포, 공격자 행동을 포착합니다. TTY 세션 기록, 자격 증명 수집, 159개 소스와 상호 참조된 위협 인텔리전스를 포함합니다.
임대한 공용 인터넷 Linux VPS에 배포된 중간 상호작용 Cowrie 허니팟으로, 실제 SSH 무차별 대입 트래픽을 유인, 기록 및 분석하도록 설계되었습니다. 8일간의 캡처 기간 동안 센서는 1,582개의 고유 공격자 IP로부터 37,477개의 세션을 기록하고 794개의 악성코드 드롭을 캡처했으며, 모든 관측치는 159개의 공개 산업 및 학술 출처와 교차 참조되었습니다.
| 📊 라이브 리포트 — 대화형 HTML | 📜 Logs/ — 일일 Cowrie 로그 | 📸 ScreenShots/ — 세션 캡처 |
| 🏗️ docs/ — 아키텍처 다이어그램 | 🗂️ Reports/ — 리포트 소스 | 🐛 렌더링된 분석 열기 |
허니팟은 임대한 Linux VPS에서 실행됩니다. 공용 인터넷 tcp/22는 Cowrie의 tcp/2222로 자동으로 NAT 리디렉션되며, 실제 OpenSSH 데몬은 개인 키로만 접근 가능한 비표준 관리 포트(tcp/49222)로 이동됩니다. 공격자에게 해당 서버는 취약한 포트 22 Debian 서버로 보이지만, 관리자에게는 별도의 조용한 포트를 통해 완전히 접근 가능합니다.

동일한 서버를 통과하는 두 개의 스윔레인: 공격자 레인(위)은 iptables NAT를 통과하여 Cowrie에 도달하며, TTY 로그와 격리 폴더에 기록합니다. 관리자 레인(아래)은 iptables를 통과하여 tcp/49222의 실제 OpenSSH 데몬으로 직접 연결됩니다. 두 경로는 절대 교차하지 않습니다.
벡터 소스:
docs/architecture.svg

실시간 캡처: 여러 공격자 IP가 동시에 tcp/2222에 접속 — CONNECT(청록), LOGIN SUCCESS/FAILED, 그리고 시도한 자격 증명 쌍. 동일한 시간, 여러 캠페인.

한 공격자의 전체 로그인 후 명령 시퀀스 — chattr -ia ~/.ssh, mdrfckr 키 임플란트, cat /proc/cpuinfo, uname, lscpu, crontab -l. 밀리초 타임스탬프와 세션 ID와 함께 그대로 캡처되었습니다.

여러 세션에 걸친 집계 보기: 연결(청록), 실패한 로그인(빨강), 성공한 로그인(초록), 명령어(노랑), 파일 전송(보라). 반복되는 mdrfckr 키 임플란트 + chattr -ia .ssh 패턴이 서로 다른 공격자 IP에서 보입니다 — 동일한 캠페인, 다른 봇.

서명 RedTail XMRig 암호화폐 채굴기 드롭: 213.209.159.158에서 한 세션에 6개의 파일 — clean.sh 및 setup.sh 설치 프로그램, 그리고 라우터, IoT, 레거시 x86 및 서버를 포괄하는 4개의 아키텍처별 ELF 바이너리(redtail.arm7, redtail.arm8, redtail.i686, redtail.x86_64)가 한 번에 드롭되었습니다.
ls, wget, cat /proc/cpuinfo가 고해상도 타임스탬프와 함께 기록됨wget/curl하는 파일이 가로채져 downloads/ 아래에 격리됨🌍 주요 소스 지역: 홍콩 (Alibaba Cloud) · 중국 (ChinaNet) · 불가리아 (IT7 Networks) · 러시아 (Aeza Group, 제재 대상)
🐛 식별된 주요 캠페인: RedTail XMRig 암호화폐 채굴기 · mdrfckr SSH 키 임플란트 계열 · Mirai 기반 IoT 모집자 · 3245gs5662d34 SSH 확산기 시그니처
대화형 차트, MITRE ATT&CK 매핑, 각 발견사항에 대한 출처 기반 논의를 포함한 전체 분석 → 라이브 리포트 열기.
cowrie 사용자 생성sudo useradd -m -s /bin/bash cowrie
sudo passwd -l cowrie
su - cowrie
git clone https://github.com/cowrie/cowrie.git
cd cowrie
python3 -m venv cowrie-env
source cowrie-env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
sshd를 포트 22에서 이동 (NAT 규칙 추가 전)sudo sed -i 's/^#\?Port .*/Port 49222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
⚠️ 계속하기 전에 두 번째 터미널에서 포트 49222로 여전히 로그인할 수 있는지 확인하세요.
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
sudo iptables-save | sudo tee /etc/iptables/rules.v4
bin/cowrie start
SSH-Honeypot-Research/
├── README.md ← 여기 있습니다
├── docs/
│ ├── architecture.png ← 아키텍처 다이어그램 (렌더링됨)
│ └── architecture.svg ← 아키텍처 다이어그램 (벡터 소스)
├── Logs/ ← 일일 Cowrie 로그 (cowrie_YYYY-MM-DD.log)
│ ├── cowrie_2026-05-08.log
│ ├── cowrie_2026-05-09.log
│ └── ... (총 8일)
├── Reports/
│ └── honeypot_report.html ← 전체 대화형 리포트
└── ScreenShots/ ← 세션 캡처, 로그 스냅샷, 페이로드
├── live session.png ← 다중 IP CONNECT/LOGIN 스트림
├── CMD1.png · CMD2.png ← 캡처된 로그인 후 명령 시퀀스
├── sh1.png · sh2.png ← 집계된 일일 로그 보기
└── RedTail Payload.png ← 시그니처 4-아키텍처 암호화폐 채굴기 드롭
159개의 산업 및 학술 출처와 교차 참조되었습니다 — 전체 주석 목록은 라이브 리포트의 참고 자료 섹션에 있습니다. 주요 학술 기준:
이 허니팟은 방어적 연구 목적으로만 배포되었습니다. 캡처된 모든 아티팩트(IP, 페이로드, 자격 증명)는 인바운드 원치 않는 트래픽에서 수동적으로 관찰되었습니다. 허니팟은 스캔을 시작하지 않으며, 보복하지 않으며, 샌드박스화된 Cowrie 리스너 외에는 어떤 서비스도 호스팅하지 않습니다. 구성은 책임감 있고 관련 법률에 따라 재사용하십시오.
Cowrie로 제작되었습니다. 🛠️
| 계층 | 기능 | 이유 |
|---|
권한 없는 사용자 cowrie | 허니팟은 sudo나 호스트 셸 없이 시스템 사용자로 실행됩니다 | 최악의 경우 샌드박스가 손상되어도 호스트 접근 권한이 전혀 없습니다 |
| Python 가상 환경 | 고정된 격리된 종속성 트리 (Twisted, cryptography 등) | 시스템 Python과 충돌 없음; 깔끔한 제거 및 재구축 |
| 시뮬레이션된 파일 시스템 | 공격자의 쓰기는 임시 Cowrie 오버레이로 전달됩니다 | 긴 세션에서도 실제 디스크는 절대 터치되지 않습니다 |
| iptables NAT 리디렉션 | PREROUTING 규칙이 인바운드 tcp/22를 tcp/2222로 재작성합니다 | Cowrie가 높은 포트에 바인딩되며(루트 불필요), 속임수는 보이지 않습니다 |
| 관리 포트 마이그레이션 | 실제 sshd가 tcp/49222로 이동, 키 전용 인증 | 실제 데몬에 대한 무차별 대입 노이즈가 0으로 감소합니다 |
| 지표 | 값 |
|---|
| 전체 세션 | 37,477 |
| 고유 공격자 IP | 1,582 |
| 실패한 로그인 | 14,968 |
| 셸 로그인 | 22,720 |
| 캡처된 셸 명령어 | 21,968 |
| 악성코드 드롭 | 794 |
| 교차 참조된 외부 출처 | 159 |