
DNS 전용 C2(명령 및 제어) 프레임워크로, Windows 에이전트, 페이로드 생성, 원격 셸 실행, 셸코드 주입, 그리고 은밀한 작전을 위한 SOCKS5 프록시 지원을 포함합니다.

WAREED는 서버와 대상 간의 보안 통신을 위해 DNS 프로토콜을 활용하는 Command and Control(C2)입니다. 통신을 최소화하고 데이터 교환을 제한하도록 설계되었으며, HTTP/HTTPS를 통한 인터넷 접근이 불가능하지만 DNS가 허용되는 머신에 지속성을 유지하기 위한 1차 C2(first-stage C2)로 사용됩니다.
개발자 : @Fsalabduljabbar

많은 Command and Control(C2) 프레임워크가 DNS를 전송 프로토콜로 지원하지만, 대부분은 HTTP/HTTPS를 위해 설계되었습니다. 이러한 프레임워크를 DNS로 전환하면 종종 더 느리고 불안정한 작동이 발생합니다. DNS 트랜잭션에서 이러한 프레임워크의 불안정성으로 인한 수많은 문제에 직면한 저는 DNS에 특화된 솔루션을 만들 수밖에 없었습니다. 그 결과가 바로 DNS 전용 C2 프레임워크인 Wareed입니다. 이러한 특화된 초점 덕분에 더 안정적이고 효율적인 작동이 가능하며, 주로 DNS용으로 설계되지 않은 기존 C2 프레임워크와 비교하여 Wareed는 더 빠르고 신뢰할 수 있습니다. 이로 인해 Wareed는 DNS 트래픽은 허용되지만 HTTP/HTTPS가 제한된 환경에서 이상적인 선택이 됩니다.
세 가지 프로그래밍 언어로 개발되었습니다:
이름 설명:
**Hams (همس)**는 아랍어로 "속삭임(whisper)"을 의미합니다
**Wareed (وريد)**는 아랍어로 "정맥(vein)"을 의미합니다
**Ather (أثر)**는 아랍어로 "흔적(trace)"을 의미합니다
1단계: Wareed 리포지토리를 클론합니다:
git clone https://github.com/Faisal-P27/WAREED-DNS-C2.git
2단계: 설정 스크립트를 실행합니다:
cd WAREED-DNS-C2
chmod +x Run.sh
sudo ./Run.sh setup
컴파일 과정이 성공적으로 완료되면 같은 디렉터리에 두 개의 실행 파일이 생성됩니다:
또한 Agent의 컴파일 상태도 확인합니다. 성공하면 Agent가 배포 및 작동 준비가 되었음을 확인하는데, 이는 Wareed C2의 기능에 매우 중요합니다.
{
"magic_value": "cdn",
"domains": ["2.example.net"],
"listener_port": "111",
"sleep": 5,
"jitter": 50,
"lookup_delay": 5,
"default_dns_server": "1.1.1.1"
}
magic_value: 길이는 3과 같아야 합니다.
DNS 설정: Wareed를 운영하려면 유효한 도메인 이름이 필수적입니다. 도메인을 확보한 후 리다이렉터를 가리키도록 두 개의 DNS 레코드를 구성해야 합니다:

리다이렉터 설정:
리다이렉터는 포트 53으로 들어오는 DNS 트래픽을 처리하여 팀 서버로 리다이렉트합니다. 이를 위해 리다이렉터 머신(R1)에서 다음 iptables 명령을 실행합니다:
iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT
이 명령은 DNS 요청의 표준 포트인 53번 포트로 들어오는 UDP 패킷을 수락하도록 방화벽을 구성합니다.
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination [TeamServer IP]:[teamserver listener port]
[TeamServer IP]를 팀 서버의 실제 IP 주소로 바꾸고, [teamserver listener port]를 팀 서버가 수신 대기 중인 포트 번호로 바꾸세요. 이 명령은 포트 53으로 도착하는 모든 트래픽을 지정된 팀 서버의 IP 주소와 포트로 전달합니다.

Wareed 팀 서버를 처음 시작하려면 구성 파일과 함께 클라이언트 비밀번호 및 클라이언트가 수신 대기할 포트를 지정해야 합니다. 다음 명령을 사용하여 Wareed 팀 서버를 실행합니다:
sudo ./WareedServer [Client Password] [Client Port Listener] [Path to configuration file]
Ather GUI 클라이언트를 실행하려면 다음을 입력하면 됩니다:
./Ather
명령을 실행하면 로그인 페이지가 있는 새 창이 나타납니다.

로그인 정보: 나타나는 로그인 페이지에서:
Wareed 기본 창:

Ather GUI 클라이언트로 새 페이로드를 생성하려면 다음 단계를 따르세요:
페이로드 생성으로 이동:
Payload > Generate > Windows로 이동합니다. 이 옵션을 선택하면 페이로드 생성에 맞춰진 새 창이 열립니다.
새 페이로드를 생성하면 새 게스트 세션이 팀 서버에 자동으로 등록됩니다. 이 등록 프로세스는 오직 이 특정 세션만 팀 서버에 연결할 수 있도록 보장합니다. 세션을 인증하고 승인하기 위해 고유 식별자와 'magic value'를 사용합니다. 이 메커니즘은 새로 생성된 페이로드와 팀 서버 간의 안전하고 통제된 통신을 보장합니다.

Windows 머신에서 페이로드를 실행하면 팀 서버에 등록하기 위해 DNS 쿼리를 생성하기 시작합니다. 이 등록 프로세스는 수 초 내에 이루어지며 일반적으로 3~5개의 DNS 쿼리를 생성합니다.

세션과 상호 작용하려면 원하는 세션을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 "Interact"를 선택하면 됩니다. 이 작업은 터미널 인터페이스를 갖춘 새 탭을 열며, 이 터미널에서 명령을 실행할 수 있습니다.
