REC2
REC2 (Rusty External Command and Control) is client and server tool allowing auditor to execute command from VirusTotal and Mastodon APIs written in Rust. ๐ฆ
ํ์ผ ํ์๊ธฐ
์ต์ข ๋ฒ์ ๋ค์ด๋ก๋ (.zip)- client.jpg
- REC2_logo_v1.png
- schema_rec2.png
- server.jpg
- common.rs
- mod.rs
- rec2mastodon.rs
- common.rs
- crypto.rs
- exec.rs
- mod.rs
- target.rs
- args.rs
- lib.rs
- main.rs
- Cargo.toml
- common.rs
- mod.rs
- rec2virustotal.rs
- common.rs
- crypto.rs
- exec.rs
- mod.rs
- target.rs
- args.rs
- lib.rs
- main.rs
- Cargo.toml
- jobs.rs
- mod.rs
- sessions.rs
- shell.rs
- mod.rs
- rec2mastodon.rs
- rec2virustotal.rs
- common.rs
- crypto.rs
- mod.rs
- args.rs
- lib.rs
- main.rs
- Cargo.toml
- rec2_virustotal_or_mastodon.yar
- .gitignore
- Dockerfile
- LICENSE
- Makefile
- MASTODON.md
- README.md
- VIRUSTOTAL.md
# ์ค์น ๊ฐ์ด๋
git clone https://github.com/g0h4n/REC2
๊นํ๋ธ์์ ํ๋ก์ ํธ ์ฝ๋ ์ ์ฒด๋ฅผ ๋ด ์ปดํจํฐ๋ก ๋ด๋ ค๋ฐ์ต๋๋ค.
cd REC2
๋ฐฉ๊ธ ๋ด๋ ค๋ฐ์ ํ๋ก์ ํธ ํด๋ ์์ผ๋ก ์ด๋ํฉ๋๋ค.
2. ๊ณต์ ์ค์น ์คํฌ๋ฆฝํธ
์ฌ์ ์ถ์ฒcurl https://sh.rustup.rs -sSf | sh
๊ณต์ ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ก๋ํด์ ๋ฐ๋ก ์คํํฉ๋๋ค. ์ด ํ ์ค๋ก ํ์ํ ๊ฒ ์๋์ผ๋ก ์ค์น๋ฉ๋๋ค.
์ด ๋ ํฌ์ README์ ์ ํ ์ค์ ๋ช ๋ น์ด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ต๋๋ค.
3. Docker
์ฌ์- Git GitHub์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์ผ๋ ค๋ฉด ํ์ํฉ๋๋ค.
- Docker Desktop ์ปจํ ์ด๋๋ฅผ ๋น๋ํ๊ณ ์คํํ๋ ค๋ฉด ํ์ํฉ๋๋ค. ์ค์น ํ ์คํํด์ ๋ฐฑ๊ทธ๋ผ์ด๋์ ์ผ๋์ธ์.
docker build --rm -t rec2 .
Dockerfile์ ๊ธฐ๋ฐ์ผ๋ก ์คํ ๊ฐ๋ฅํ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํฉ๋๋ค.
docker run --rm -v ./:/usr/src/rec2 rec2 c2server_windows
๋น๋๋ ์ด๋ฏธ์ง๋ฅผ ์ค์ ์ปจํ ์ด๋๋ก ์คํํฉ๋๋ค.
docker run --rm -v ./:/usr/src/rec2 rec2 c2server_linux
๋น๋๋ ์ด๋ฏธ์ง๋ฅผ ์ค์ ์ปจํ ์ด๋๋ก ์คํํฉ๋๋ค.
docker run --rm -v ./:/usr/src/rec2 rec2 c2server_macos
๋น๋๋ ์ด๋ฏธ์ง๋ฅผ ์ค์ ์ปจํ ์ด๋๋ก ์คํํฉ๋๋ค.
docker run --rm -v ./:/usr/src/rec2 rec2 virustotal_windows
๋น๋๋ ์ด๋ฏธ์ง๋ฅผ ์ค์ ์ปจํ ์ด๋๋ก ์คํํฉ๋๋ค.
์ด ๋ ํฌ์ README์ ์ ํ ์ค์ ๋ช ๋ น์ด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ต๋๋ค.
4. Rust
๋ณดํต- Git GitHub์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์ผ๋ ค๋ฉด ํ์ํฉ๋๋ค.
- Rust (rustup) rustup์ผ๋ก ์ค์นํ๋ฉด cargo๋ ํจ๊ป ์ค์น๋ฉ๋๋ค.
cargo build --release --manifest --manifest-path implants/mastodon/Cargo.toml
Rust ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํฉ๋๋ค.
cargo b --manifest-path implants/mastodon/Cargo.toml
์ด ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ๊ทธ๋๋ก ์ ๋ ฅํด ์คํํ์ธ์.
cargo build --release --manifest --manifest-path implants/virustotal/Cargo.toml
Rust ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํฉ๋๋ค.
cargo b --manifest-path implants/virustotal/Cargo.toml
์ด ๋ช ๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ ๊ทธ๋๋ก ์ ๋ ฅํด ์คํํ์ธ์.
cargo build --release --manifest --manifest-path server/Cargo.toml
Rust ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํฉ๋๋ค.
์ด ๋ ํฌ์ README์ ์ ํ ์ค์ ๋ช ๋ น์ด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ต๋๋ค.
5. Make
๋ณดํต- Git GitHub์์ ํ๋ก์ ํธ ์ฝ๋๋ฅผ ๋ด๋ ค๋ฐ์ผ๋ ค๋ฉด ํ์ํฉ๋๋ค.
- Make Linux/macOS๋ ๋ณดํต ๊ธฐ๋ณธ ์ค์น๋์ด ์์ต๋๋ค. Windows๋ ๋ณ๋ ์ค์น(์: MSYS2, WSL)๊ฐ ํ์ํฉ๋๋ค.
make virustotal_windows
์์ฑ๋ ๋น๋ ์ค์ ์ ๋ฐํ์ผ๋ก ์ค์ ์ปดํ์ผ์ ์งํํด ์คํ ํ์ผ์ ๋ง๋ญ๋๋ค.
make mastodon_windows
์์ฑ๋ ๋น๋ ์ค์ ์ ๋ฐํ์ผ๋ก ์ค์ ์ปดํ์ผ์ ์งํํด ์คํ ํ์ผ์ ๋ง๋ญ๋๋ค.
make c2server_release
์์ฑ๋ ๋น๋ ์ค์ ์ ๋ฐํ์ผ๋ก ์ค์ ์ปดํ์ผ์ ์งํํด ์คํ ํ์ผ์ ๋ง๋ญ๋๋ค.
์ด ๋ ํฌ์ README์ ์ ํ ์ค์ ๋ช ๋ น์ด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์์ต๋๋ค.
