Perangkap hacker. Mendeteksi peretasan dini dengan Canarytokens

Token Madu (Bahasa Inggris - "tanda / tanda / pengidentifikasi madu") adalah salah satu varietas dari ide Honeypot, umpan bagi penyusup untuk mendeteksi fakta peretasan atau untuk mengidentifikasi sumbernya. Ketika penyerang telah memasuki sistem, ia cenderung melakukan tindakan yang tidak biasa bagi pengguna biasa. Ini dapat digunakan sebagai cara untuk mendeteksi peretasan. Pada artikel ini, kita akan melihat betapa mudahnya membuat pemicu Anda sendiri untuk mendeteksi peretasan pada tahap awal. Perangkap semacam itu berguna untuk administrator sistem dan bahkan pengguna biasa yang khawatir tentang privasi data mereka.


Sebelum penemuan penganalisa gas, para penambang membawa burung kenari ke tambang. Karena tubuh kecil dan metabolisme yang cepat, burung bereaksi terhadap gas berbahaya di udara jauh lebih awal dan memperingatkan para penambang.

Mengapa ini dibutuhkan?



Peretas, sekali dalam sistem baru, mulai melihat-lihat, sebagai pencuri, setelah memasuki apartemen, mulai membuka semua kotak untuk mencari perhiasan. Penyerang tidak tahu sebelumnya mana data tertentu yang bernilai, tetapi dengan probabilitas tinggi ia akan memeriksa semua opsi yang mungkin. Oleh karena itu, penting agar perangkap terlihat seperti data nyata dan semenarik mungkin bagi penyerang. Semakin cepat pemilik pemberitahuan bahwa jebakan dipicu, semakin cepat dia akan menyadari bahwa dia telah diretas dan akan dapat merespons.

Layanan Canarytokens


canarytokens.org adalah layanan online untuk membuat penanda Anda sendiri (hanitokens) dengan nyaman untuk peretasan. Ini mendukung beberapa opsi pemicu dan memungkinkan Anda untuk menghasilkan pemicu yang siap pakai dengan surat terlampir, tempat pemberitahuan akan dikirim jika pemicu berfungsi.

Layanan ini sepenuhnya gratis, dan pemicu dapat dihasilkan secara instan tanpa registrasi. Ada juga versi yang di-host sendiri untuk mereka yang lebih memilih untuk menyimpan rahasia di infrastruktur mereka. Selanjutnya, kita akan melihat bagaimana masing-masing pemicu bekerja dan pada akhirnya kita akan menggunakan server canarytokens kita sendiri dalam wadah Docker.

Pemicu saat membuka file .doc dan pdf



Ini akan berfungsi jika dokumen dibuka oleh program untuk dilihat. Saya sering menggunakan trik ini. Di setiap komputer dan flash drive, saya memiliki dokumen dengan nama yang menarik seperti Passwords.pdf atau Bitcoins.doc. Saya suka menonton bagaimana akuntan dengan rasa ingin tahu memeriksa semua file pada flash drive yang ditransfer ke mereka.
 
Saya menganggap pemicu ini sebagai yang paling efektif dan berguna untuk semua kategori pengguna, dari profesional keamanan informasi hingga pemula. Hampir tidak ada yang tahu bahwa penampil PDF dapat menyampaikan fakta membuka file kepada pemilik dokumen. Semua orang menemukan ini.
 
Ada beberapa cara untuk menangkap fakta membuka dokumen. Canarytokens menggunakan URL khusus dokumen yang tertanam dalam dokumen untuk memverifikasi sertifikat SSL yang dicabut (Daftar Pencabutan Sertifikat). Akibatnya, program menuju ke alamat ini dan pemicu kebakaran.

Memicu melalui tekad DNS



Ini adalah pemicu yang sangat menarik, manfaatnya tidak segera jelas. Ini akan berfungsi jika seseorang meminta alamat IP dari subdomain yang dihasilkan, yang dibuat secara khusus sehingga tidak dapat ditebak secara kebetulan atau dipelintir. Dengan demikian, operasi tidak disengaja dikecualikan. Pemicu ini digunakan untuk banyak teknik yang dijelaskan di bawah ini, termasuk untuk mendeteksi fakta membuka folder dan sebagai pemicu dalam database MS SQL. Bahkan, ada banyak opsi untuk menggunakan pemicu ini.

Pemicu URL



Dalam hal ini, cukup bahwa permintaan GET, POST, atau HEAD dijalankan dengan referensi. Ini akan memicu pelatuk. Selain penggunaan yang biasa, itu juga dapat digunakan dalam skrip untuk memeriksa parser yang mengikuti tautan untuk menampilkan pratinjau konten. Begitu juga, misalnya, pesan instan: cukup tulis tautan di kolom input yang Anda klik dari server messenger.

Gambar


Gambar klasik 1x1 piksel diketahui oleh semua orang yang melacak iklan online. Pemicu akan berfungsi jika file gambar telah diunggah. Pixel seperti itu dapat dimasukkan ke halaman html atau surat apa saja. Lebih mudah untuk menyebutnya dari skrip JS pada halaman jika kondisi yang diperlukan telah berfungsi. Anda juga dapat mengganti piksel standar dengan gambar Anda sendiri.

Pemicu Email



Jika ada surat yang tiba di kotak surat yang dihasilkan, pemicunya akan berfungsi. Lebih mudah untuk menggunakan alamat email, daftar kontak, dll untuk memantau kebocoran database.

Misalnya, Anda dapat menambahkan alamat ini ke daftar kontak Anda dan mencari tahu kapan notebook Anda di ponsel Anda akan digabungkan dengan aplikasi apa pun yang meminta akses ke daftar kontak Anda. . Semua karyawan juga dapat menambahkan alamat pemicu yang berbeda ke notebook di komputer, telepon, klien email dan melacak dari mana kontak itu berasal.

Alamat e-mail dibuat secara khusus yang tidak dapat diprediksi, oleh karena itu, kemungkinan pemilihan dan pemicu tak terduga dari suatu pemicu tidak termasuk.

Buka folder Windows pemicu



Tentunya banyak melihat file desktop.ini tersembunyi yang ada di setiap folder Windows. Ternyata dia tidak sesederhana itu. Di dalamnya, Anda dapat menentukan alamat ikon pada server jarak jauh, menggunakan jalur UNC (ini adalah yang digunakan untuk drive jaringan dan mulai dengan \\), sementara Windows akan melakukan penyelesaian DNS pada domain yang ditentukan dalam tautan ke ikon dan mengaktifkan pelatuk. File desktop.ini dapat dikemas dengan file lain ke dalam arsip, dan itu akan berfungsi jika arsip dibongkar.

Pemicu Kloning Situs


Skrip sederhana untuk halaman web yang berfungsi jika halaman tersebut tidak terbuka dari domain Anda. Semoga bermanfaat untuk mendeteksi phishing.

if (document.domain != "mydomain.com") {
    var l = location.href;
    var r = document.referrer;
    var m = new Image();
    m.src = "http://canarytokens.com/"+
            "blablabla.jpg?l="+
            encodeURI(l) + "&r=" + encodeURI(r);
}

Pemicu untuk menjalankan file EXE atau DLL



Izinkan merekatkan pelatuk dengan file .exe atau file executable yang ada. Itu tidak terdeteksi oleh antivirus. Harus diingat bahwa perekatan seperti itu dapat merusak beberapa program, jadi lebih baik menggunakan sesuatu yang sederhana. Sebenarnya, ini adalah metode yang telah lama diketahui digunakan untuk menyebarkan trojan dan virus, hanya dalam kasus kami fungsionalitas yang tersembunyi benar-benar tidak berbahaya. Namun, harus diingat bahwa file yang dapat dieksekusi dapat menyebabkan kewaspadaan yang lebih besar bagi penyerang, dan juga tidak berjalan pada sistem operasinya.

Pemicu untuk MS SQL


MS SQL memungkinkan Anda untuk menambahkan pemicu untuk melakukan INSERT, SELECT, DELETE, dll. Untuk memicu pemicu, gunakan metode yang sama seperti untuk file desktop.ini, yaitu menyelesaikan nama DNS melalui jalur UNC.
Contoh pemicu untuk MS SQL
- buat proc yang tersimpan yang akan melakukan ping canarytokens
BUAT proc ping_canarytoken
AS
BEGIN
menyatakannama pengguna varchar (maks), base64 varchar (maks), @tokendomain varchar (128), @unc varchar (128), ukuran int selesai int acak varchar(3);

--setup the variables
set @tokendomain = 'qo2dd6tftntl1pej9j68v31k6.canarytokens.com';
set size = 128;
set done = 0;
set random = cast(round(rand()*100,0) as varchar(2));
set random = concat(random, '.');
set username = SUSER_SNAME();

--loop runs until the UNC path is 128 chars or less
while done <= 0
begin
--convert username into base64
select base64 = (SELECT
CAST(N'' AS XML).value(
'xs:base64Binary(xs:hexBinary(sql:column(«bin»)))'
, 'VARCHAR(MAX)'
) Base64Encoding
FROM (
SELECT CAST(username AS VARBINARY(MAX)) AS bin
) AS bin_sql_server_temp);

--replace base64 padding as dns will choke on =
select base64 = replace(base64,'=','-')

--construct the UNC path
select @unc = concat('\\',@base64,'.',@random,@tokendomain,'\a')

— if too big, trim the username and try again
if len(@unc) <= size
set done = 1
else
--trim from the front, to keep the username and lose domain details
select username = substring(username, 2, len(username)-1)
end
exec master.dbo.xp_fileexist @unc;
END

--add a trigger if data is altered
CREATE TRIGGER TRIGGER1
ON TABLE1
AFTER INSERT
AS
BEGIN
exec ping_canarytoken
end

Pemicu Masuk Layanan Web Amazon


Kunci API layanan Amazon harus memikat penyerang untuk memeriksa apa yang ada di sana. Jika kunci API ini digunakan untuk masuk, pemicu akan menyala. Dalam hal ini, tentu saja, tidak ada data di sana.

Pemicu lainnya


Layanan canarytokens.org juga mendukung pemicu lain, seperti kait SVN, pengalihan web, membaca kode QR, kunci Slack API, dan lainnya. Mereka semua menggunakan prinsip yang serupa, dan jika Anda mau, Anda dapat secara mandiri membuat pemicu Anda sendiri, dengan arsenal Anda memiliki nama DNS, tautan dengan gambar, alamat surat dan kunci API untuk layanan populer. Selain pemberitahuan email, Canarytokens dapat menarik kait web jika pemicu kebakaran. Mekanisme operasi dijelaskan dalam dokumentasi.

Canarytokens Native Server


Seorang cracker berpengalaman, melihat dalam kode sumber alamat canarytokens.org segera menebak tentang semuanya. Oleh karena itu, untuk digunakan di perusahaan, lebih baik menggunakan turunan canarytokens Anda sendiri sehingga semua alamat pemicu masuk ke domain internal perusahaan dan tidak dapat dibedakan dari layanan internal nyata.

Pengembang menyediakan gambar Docker yang siap digunakan . Proses instalasi cukup umum untuk gambar apa pun, jadi kami tidak akan menyentuh topik ini. Mari kita membahas hal-hal yang tidak jelas. Sebelum menginstal, Anda harus mengedit file frontend.env dan switchboard.env .

# ()       
#     IP-    Docker.        SSL-.
CANARY_DOMAINS=example1.com,example2.com

#            PDF-
#    NS-          .
#   example3.com     example1.com  example2.com
CANARY_NXDOMAINS=example3.com

Untuk mengirim email, saya sarankan menggunakan layanan Mailgun, karena Sendgrid tidak stabil.

Kesimpulan


Perangkap seperti itu sangat efektif. Dalam kasus saya, pemicu dengan file PDF sangat membantu. Layanan ini akan berguna bagi pengguna biasa dan pentester berpengalaman. Bahkan seorang penyerang canggih yang tahu tentang keberadaan Hanipots dan Hanitokens tidak akan bisa menahan godaan untuk setidaknya sadar subdomain yang ditemukan dalam dokumentasi. Jika Anda menggunakan perangkap dengan hati-hati dan bijaksana, Anda dapat mendeteksi cracker pada tahap awal.

Teknik-teknik ini dapat digunakan pada server, komputer desktop, penyimpanan file, dan bahkan pada ponsel.

Jika Anda ingin menggunakan canarytokens dalam instance Docker Anda sendiri, pada mesin virtual kami Docker diinstal dalam satu klik dari pasar . Selain itu, kami memberikan diskon 15% untuk semua server menggunakan kode promo DONTPANIC.


All Articles