Breaking

Thursday, October 1, 2020

SitRep

 Kang IT

SitRep - Triase Host yang Dapat Diperluas dan Dapat Dikonfigurasi




SitRep dimaksudkan untuk memberikan alternatif triase host yang ringan dan dapat diperluas. Pemeriksaan dimuat secara dinamis saat runtime dari file yang berdiri sendiri. Hal ini memungkinkan operator untuk dengan cepat mengubah pemeriksaan yang ada, atau menambahkan pemeriksaan baru sesuai kebutuhan.

Cek dikelompokkan berdasarkan kategori dan dapat ditandai sebagai OpSec aman / tidak aman. pemeriksaan tidak aman hanya dimuat jika tanda / AllowUnsafe disediakan.

Hasil yang menarik disorot dengan "[*]"


Cek

Cek dipisahkan ke dalam kategori. Ini memungkinkan mereka untuk ditampilkan dalam kelompok yang sesuai. Cek berikut saat ini tersedia:

Lingkungan Hidup

  • CurrentUser.cs - pengguna saat ini
  • DomainName.cs - nama domain
  • HostName.cs - nama host
  • LoggedOnUsers.cs - Mencantumkan semua pengguna yang login
  • OSVersion.cs - Informasi versi OS
  • VirtualEnvironment.cs - Memeriksa apakah kita beroperasi dalam lingkungan virtual
  • userEnvironmentVariables.cs - Mendapatkan variabel lingkungan yang diterapkan ke proses saat ini
  • SystemEnvironmentVariables.cs - Mendapatkan variabel lingkungan sistem dari registri (HKLM)
  • NameServers.cs - Mendapat server DNS untuk setiap antarmuka jaringan

Pertahanan

  • AVProcesses.cs - Memeriksa apakah ada proses AV yang diketahui sedang berjalan

Izin

  • Integrity.cs - Dapatkan tingkat integritas dari proses saat ini
  • LocalAdmin.cs - Periksa apakah kami adalah admin lokal
  • Privileges.cs - Cantumkan hak istimewa kami saat ini.
  • UACLevel.cs - Dapatkan level UAC
  • UserDomainGroups.cs - Mendapat keanggotaan grup domain pengguna
  • ComputerDomainGroups.cs - Mendapatkan grup domain tempat komputer Anda menjadi anggotanya

Perangkat lunak

  • InstalledBrowsers.cs - Mencantumkan browser yang diinstal di titik akhir

Kredensial

  • CredentialManager.cs - Ambil kredensial yang disimpan di Windows Credential Manager untuk pengguna saat ini

Pemeriksaan berikut saat ini ditandai sebagai tidak aman OpSec:

  • CredentialManager.cs
  • ComputerDomainGroups.cs
  • UserDomainGroups.cs

Anda harus meninjau konfigurasi ini dan memperbarui tag OpSec sesuai kebutuhan.


Menonaktifkan Cek

Semua pemeriksaan diaktifkan secara default. Namun, karena pemeriksaan dimuat secara dinamis, Anda dapat menonaktifkannya.

Menonaktifkan cek

CheckBase menyertakan properti boolean "Enabled", yang defaultnya adalah true. Ini dapat diatur di kelas turunan dengan menambahkan konstruktor. Contoh di bawah ini menonaktifkan pemeriksaan CurrentUser (CurrentUser.cs):

public CurrentUser()
{
base.Enabled = false;
}

Mengecualikan pemeriksaan dari build

Karena pemeriksaan dimuat secara dinamis, pemeriksaan dapat dikeluarkan dari build tanpa modifikasi lain. Cara termudah untuk melakukannya adalah dengan mengklik kanan pada check class di Visual Studio dan pilih "exclude from project". Centang dapat ditambahkan kembali dengan memilih "sertakan dalam proyek" dari menu konteks yang sama.

Pendekatan ini memiliki keuntungan untuk menghapus kode dari artefak yang dikompilasi.


Contoh Penggunaan

Jalankan semua pemeriksaan

SitRep.exe /AllowUnsafe

Jalankan hanya pemeriksaan aman OpSec (default)

SitRep.exe

SitRep dirancang untuk dijalankan melalui eksekusi-perakitan (atau yang setara)


Menambahkan Cek

Cek mewarisi dari CheckBase dan mengimplementasikan antarmuka ICheck. Ini memberlakukan pola yang diperlukan untuk pemuatan pemeriksaan dinamis . Metode dan kelas lain dapat ditambahkan sesuai kebutuhan.

Antarmuka ICheck memperlihatkan properti dan metode berikut:

  • IsOpsecSafe (bool) - Menunjukkan apakah pemeriksaan dianggap OpSec aman atau tidak
  • DisplayOrder (int) - Urutan untuk menampilkan hasil pemeriksaan ini dalam grup tampilannya
  • Check () - Metode yang dipanggil untuk menjalankan pemeriksaan sebenarnya

Kelas turunan harus menimpa metode "ToString ()" yang ditentukan di CheckBase. Metode ini dipanggil saat menampilkan keluaran dari setiap cek.

Akses ke metode asli disediakan melalui kelas di folder "NativeMethods". Setiap kelas diberi nama setelah dll itu berinteraksi.

Cek bertanggung jawab untuk menyediakan penanganan kesalahannya sendiri. Pemeriksaan saat ini membungkus seluruh metode "check" dalam blok coba-tangkap, penggunaan pola ini dianjurkan.

Contoh, cek kosong ditunjukkan di bawah ini

using SitRep.Interfaces;
using System;

namespace SitRep.Checks.Software
{
class ExampleCheck : CheckBase, ICheck
{
public bool IsOpsecSafe => true;

public int DisplayOrder => 1;

public Enums.Enums.CheckType CheckType => Enums.Enums.CheckType.Credential;

public void Check()
{
try
{
throw new NotImplementedException();
}
catch
{
Message = "Check failed [*]";
}
}

public override string ToString()
{
throw new NotImplementedException();
}
}
}

Berkontribusi

Humas menyambut. Harap pastikan pemeriksaan berdiri sendiri (yaitu tidak bergantung pada keluaran pemeriksaan lain). Sejauh mungkin, pemeriksaan harus berdiri sendiri, dengan semua kode sekali pakai ada dalam kelas pemeriksaan.


Mengapa tidak ada tes unit?

Pernahkah Anda mencoba mengejek titik akhir Windows yang bergabung dengan domain? Karena itulah.


Terima kasih

SitRep menggunakan kode dari Sabuk Pengaman, SharpUp, dan pos StackOverflow acak. Kredit telah ditambahkan jika sesuai.




Regards

Kang IT

No comments:

Post a Comment