
데이터 유출 및 은밀한 통신 도구
Pulsar는 데이터 유출 및 은밀한 통신을 위한 도구로, 안전한 데이터 전송, 기발한 채팅 또는 다양한 프로토콜을 통한 네트워크 터널을 생성할 수 있습니다. 예를 들어 TCP 연결에서 데이터를 수신하여 DNS 패킷을 통해 실제 목적지로 재전송할 수 있습니다 🎉
⚠️ Pulsar를 빌드하려면 시스템에 Go 1.8 이상이 설치되어 있어야 합니다 ⚠️
먼저, 저장소에서 코드를 가져와 다음 명령어로 컴파일합니다:
$ cd pulsar
$ go build -o bin/pulsar src/main.go
또는 실행:
$ make
커넥터는 외부 세계로의 간단한 채널로, 커넥터를 통해 다양한 소스에서 데이터를 읽고 쓸 수 있습니다.
TCP 연결을 통해 데이터를 읽고 씁니다
tcp:127.0.0.1:9000
UDP 패킷을 통해 데이터를 읽고 씁니다
udp:127.0.0.1:9000
ICMP 패킷을 통해 데이터를 읽고 씁니다
icmp:127.0.0.1 (연결 포트는 당연히 의미 없음)
DNS 패킷을 통해 데이터를 읽고 씁니다
dns:[email protected]:1994
옵션 --in을 사용하여 입력 커넥터를 선택하고 옵션 --out을 사용하여 출력 커넥터를 선택할 수 있습니다:
--in tcp:127.0.0.1:9000
--out dns:fkdns.lol:2.3.4.5:8989
핸들러를 사용하면 전송 중인 데이터를 변경할 수 있으며, 핸들러를 임의로 결합할 수 있습니다.
Stub:
Base32
Base32 인코더/디코더
--handlers base32
Base64
Base64 인코더/디코더
--handlers base64
Cipher
CTR 암호, CTR 모드에서 AES/DES/TDES 지원 (기본값: AES)
--handlers cipher:<key|[aes|des|tdes#key]>
--decode 옵션을 사용하여 모든 핸들러를 디코딩 모드로 사용할 수 있습니다
--handlers base64,base32,base64,cipher:key --decode
다음 예제에서는 Pulsar를 사용하여 DNS 프로토콜을 통해 안전한 양방향 터널을 생성합니다. 데이터는 TCP 연결(간단한 nc 클라이언트)에서 읽혀지고 암호화되어 터널을 통해 재전송됩니다.
[nc 127.0.0.1 9000] <--TCP--> [pulsar] <--DNS--> [pulsar] <--TCP--> [nc -l 127.0.0.1 -p 9900]
192.168.1.198:
$ ./pulsar --in tcp:127.0.0.1:9000 --out dns:[email protected]:8989 --duplex --plain in --handlers 'cipher:supersekretkey!!'
$ nc 127.0.0.1 9000
192.168.1.199:
$ nc -l 127.0.0.1 -p 9900
$ ./pulsar --in dns:[email protected]:8989 --out tcp:127.0.0.1:9900 --duplex --plain out --handlers 'cipher:supersekretkey!!' --decode
모든 기여는 언제나 환영합니다