Compare commits

...

5 Commits

Author SHA1 Message Date
a3be4bf77a chore(hack): Added custom wordlist
All checks were successful
Docker Build and Push for Main Branch / docker (push) Successful in 13m1s
2026-04-15 15:56:30 +02:00
29015050e8 fix(docs): Updated docs 2026-04-15 15:56:13 +02:00
cc3a8a0d8d fix(docker): Modified port 2026-04-15 15:55:47 +02:00
00b6db6ca6 fix(html): Updated design 2026-04-15 15:53:31 +02:00
8ba844a81e fix(docker): Upgraded build 2026-04-15 15:53:13 +02:00
6 changed files with 5104 additions and 6 deletions

View File

@@ -6,6 +6,8 @@ on:
- ".gitignore"
- "README.md"
- "LICENSE"
- "docker-compose.yml"
- "video.mp4"
branches:
- master

View File

@@ -1,9 +1,7 @@
FROM nginx:alpine
# Installation de FFmpeg
RUN apk add --no-cache ffmpeg
# Configuration
COPY nginx.conf /etc/nginx/nginx.conf
COPY htpasswd /etc/nginx/.htpasswd
COPY index.html /usr/share/nginx/html/index.html

View File

@@ -22,8 +22,43 @@ git clone https://git.phorge.fr/l-nmch/fake-cam.git
docker compose build
```
3. Run the container
## Deploy
1. Run the container
```bash
docker compose up -d
```
2. Verify cam access
```bash
curl -u admin:cam123 http://<ip>:3301
```
## Attack
1. Install required tools
```bash
apt install hydra curl nmap zip unzip -y
```
2. Download the [wordlist](./wordlist.txt)
```bash
wget https://git.phorge.fr/l-nmch/fake-cam/raw/branch/master/wordlist.txt
unzip rockyou.txt.zip
```
3. Find open ports:
```bash
nmap -sC -sV <ip>
```
4. Bruteforce Basic-Auth
```bash
hydra -l admin -P wordlist.txt -s 3301 <ip> http-get /
```

View File

@@ -4,7 +4,7 @@ services:
container_name: fake-webcam-stream
restart: unless-stopped
ports:
- "8080:80"
- "3301:80"
volumes:
- ./video.mp4:/video.mp4:ro
deploy:

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IP CAMERA</title>
<title>Caméra IP Mayolis</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
@@ -54,7 +54,7 @@
<div class="cam-frame">
<video id="stream" autoplay muted playsinline disablepictureinpicture disableRemotePlayback></video>
<div class="osd">
<div class="osd-tl">CAM-01 | 512x512<br><span id="clock">00:00:00</span></div>
<div class="osd-tl">CAM-STORE-01 | 512x512<br><span id="clock">00:00:00</span></div>
<div class="osd-tr"><span class="rec-dot"></span> REC</div>
<div class="osd-bl">H.264 | 1500K | LIVE</div>
</div>

5063
wordlist.txt Normal file

File diff suppressed because it is too large Load Diff