hacktricks/forensics/basic-forensic-methodology/linux-forensics.md

428 lines
26 KiB
Markdown
Raw Normal View History

# Linux Adli Bilişim
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını otomatikleştirin**.\
2024-02-10 18:14:16 +00:00
Bugün Erişim Alın:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Sıfırdan kahramana kadar AWS hackleme öğrenin</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
HackTricks'i desteklemenin diğer yolları:
2023-12-30 10:12:47 +00:00
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
2024-02-10 18:14:16 +00:00
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
2022-04-28 16:01:33 +00:00
</details>
## Başlangıç Bilgi Toplama
2022-05-01 16:32:23 +00:00
2024-02-10 18:14:16 +00:00
### Temel Bilgiler
2020-12-25 10:22:35 +00:00
Öncelikle, **iyi bilinen ikili dosyalar ve kütüphanelere sahip bir USB**'ye sahip olmanız önerilir (sadece ubuntu alabilir ve _/bin_, _/sbin_, _/lib_ ve _/lib64_ klasörlerini kopyalayabilirsiniz), ardından USB'yi bağlayın ve çevresel değişkenleri değiştirerek bu ikili dosyaları kullanın:
2020-12-25 10:22:35 +00:00
```bash
export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
```
Bir kez sistemi iyi ve bilinen ikili dosyaları kullanacak şekilde yapılandırdıktan sonra **bazı temel bilgileri çıkarmaya** başlayabilirsiniz:
2020-12-25 10:22:35 +00:00
```bash
2022-09-07 15:35:57 +00:00
date #Date and time (Clock may be skewed, Might be at a different timezone)
2020-12-25 10:22:35 +00:00
uname -a #OS info
2022-09-07 15:35:57 +00:00
ifconfig -a || ip a #Network interfaces (promiscuous mode?)
2020-12-25 10:22:35 +00:00
ps -ef #Running processes
netstat -anp #Proccess and ports
lsof -V #Open files
netstat -rn; route #Routing table
df; mount #Free space and mounted devices
2020-12-25 22:35:08 +00:00
free #Meam and swap space
2020-12-25 10:22:35 +00:00
w #Who is connected
2020-12-26 23:48:55 +00:00
last -Faiwx #Logins
2020-12-25 10:22:35 +00:00
lsmod #What is loaded
cat /etc/passwd #Unexpected data?
cat /etc/shadow #Unexpected data?
2020-12-25 22:35:08 +00:00
find /directory -type f -mtime -1 -print #Find modified files during the last minute in the directory
2020-12-25 10:22:35 +00:00
```
2024-02-10 18:14:16 +00:00
#### Şüpheli bilgiler
2020-12-25 10:22:35 +00:00
Temel bilgileri elde ederken şunlara bakmalısınız:
2020-12-25 22:25:37 +00:00
- **Root işlemleri** genellikle düşük PIDS ile çalışır, bu yüzden büyük bir PID'ye sahip bir root işlemi bulursanız şüphelenebilirsiniz
- `/etc/passwd` içinde kabuğu olmayan kullanıcıların **kayıtlı girişlerini** kontrol edin
- `/etc/shadow` içinde kabuğu olmayan kullanıcılar için **şifre hash'lerini** kontrol edin
2020-12-25 22:25:37 +00:00
2024-02-10 18:14:16 +00:00
### Bellek Dökümü
2020-12-25 22:25:37 +00:00
2024-02-10 18:14:16 +00:00
Çalışan sistemin belleğini elde etmek için [**LiME**](https://github.com/504ensicsLabs/LiME) kullanmanız önerilir.\
Bunu **derlemek** için, kurban makinenin kullandığı **aynı çekirdeği** kullanmanız gerekmektedir.
2020-12-25 20:14:31 +00:00
{% hint style="info" %}
Unutmayın ki kurban makineye **LiME veya başka bir şey kuramazsınız** çünkü bu makinede birçok değişiklik yapacaktır
2020-12-25 20:14:31 +00:00
{% endhint %}
2024-02-10 18:14:16 +00:00
Bu yüzden, Ubuntu'nun aynı sürümüne sahipseniz `apt-get install lime-forensics-dkms` komutunu kullanabilirsiniz.\
Diğer durumlarda, [**LiME**](https://github.com/504ensicsLabs/LiME)'ı github'dan indirip doğru çekirdek başlıklarıyla derlemeniz gerekmektedir. Kurban makinenin **tam çekirdek başlıklarını elde etmek** için, sadece `/lib/modules/<çekirdek sürümü>` dizinini kopyalayarak, ardından bunları kullanarak LiME'ı **derleyebilirsiniz**:
2020-12-25 20:14:31 +00:00
```bash
make -C /lib/modules/<kernel version>/build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
```
LiME, 3 **formatı** destekler:
2020-12-25 20:14:31 +00:00
* Ham (her segment bir araya getirilir)
* Dolgulu (ham ile aynı, ancak sağ bitlerde sıfırlarla)
2024-02-10 18:14:16 +00:00
* Lime (metadata ile birlikte önerilen format)
2020-12-25 20:14:31 +00:00
LiME ayrıca, dump'ı **sistemde depolamak yerine ağ üzerinden göndermek** için şöyle bir şey kullanılabilir: `path=tcp:4444`
2020-12-25 20:14:31 +00:00
2024-02-10 18:14:16 +00:00
### Disk Görüntüleme
2020-12-25 21:41:10 +00:00
2024-02-10 18:14:16 +00:00
#### Kapatma
2020-12-25 22:03:49 +00:00
Öncelikle, **sistemi kapatmanız gerekecek**. Bu her zaman bir seçenek olmayabilir çünkü sistem bazen şirketin kapatamayacağı bir üretim sunucusu olabilir.\
Sistemi kapatmanın **2 yolu** vardır, **normal kapatma** ve **"fişi çekme" kapatma**. İlk yöntem **işlemlerin normal şekilde sonlanmasına** ve **dosya sisteminin senkronize olmasına** izin verecektir, ancak aynı zamanda olası **zararlı yazılımın delilleri yok etmesine** de izin verecektir. "Fişi çekme" yaklaşımı **bazı bilgi kaybı** taşıyabilir (belleğin bir görüntüsünü zaten aldığımız için çok fazla bilgi kaybolmayacak) ve **zararlı yazılımın buna karşı bir şey yapma şansı olmayacak**. Bu nedenle, eğer bir **zararlı yazılım olabileceğinden şüpheleniyorsanız**, sistemde **`sync`** **komutunu** çalıştırın ve fişi çekin.
2020-12-25 22:03:49 +00:00
#### Diskten bir görüntü almak
2020-12-25 22:20:35 +00:00
Bilgisayarınızı **dava ile ilgili herhangi bir şeye bağlamadan önce**, bilginin değiştirilmesini önlemek için **salt okunur olarak bağlanacağından emin olmanız önemlidir**.
2020-12-25 22:03:49 +00:00
```bash
#Create a raw copy of the disk
dd if=<subject device> of=<image file> bs=512
2022-09-07 15:35:57 +00:00
#Raw copy with hashes along the way (more secure as it checks hashes while it's copying the data)
2020-12-25 22:08:05 +00:00
dcfldd if=<subject device> of=<image file> bs=512 hash=<algorithm> hashwindow=<chunk size> hashlog=<hash file>
2020-12-25 22:21:23 +00:00
dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/media/usb/pc.hashes
2020-12-25 22:03:49 +00:00
```
2024-02-10 18:14:16 +00:00
### Disk Görüntüsü Ön Analizi
2020-12-25 22:03:49 +00:00
2024-02-10 18:14:16 +00:00
Daha fazla veri olmadan bir disk görüntüsü oluşturma.
2021-01-05 13:06:39 +00:00
```bash
2022-09-07 15:35:57 +00:00
#Find out if it's a disk image using "file" command
2024-02-10 18:14:16 +00:00
file disk.img
2021-01-05 13:06:39 +00:00
disk.img: Linux rev 1.0 ext4 filesystem data, UUID=59e7a736-9c90-4fab-ae35-1d6a28e5de27 (extents) (64bit) (large files) (huge files)
#Check which type of disk image it's
2024-02-10 18:14:16 +00:00
img_stat -t evidence.img
2021-01-05 13:06:39 +00:00
raw
#You can list supported types with
img_stat -i list
Supported image format types:
2024-02-10 18:14:16 +00:00
raw (Single or split raw file (dd))
aff (Advanced Forensic Format)
afd (AFF Multiple File)
afm (AFF with external metadata)
afflib (All AFFLIB image formats (including beta ones))
ewf (Expert Witness Format (EnCase))
2021-01-05 13:06:39 +00:00
#Data of the image
2024-02-10 18:14:16 +00:00
fsstat -i raw -f ext4 disk.img
2021-01-05 13:06:39 +00:00
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: Ext4
2024-02-10 18:14:16 +00:00
Volume Name:
2021-01-05 13:06:39 +00:00
Volume ID: 162850f203fd75afab4f1e4736a7e776
Last Written at: 2020-02-06 06:22:48 (UTC)
Last Checked at: 2020-02-06 06:15:09 (UTC)
Last Mounted at: 2020-02-06 06:15:18 (UTC)
Unmounted properly
Last mounted on: /mnt/disk0
Source OS: Linux
[...]
#ls inside the image
fls -i raw -f ext4 disk.img
d/d 11: lost+found
d/d 12: Documents
d/d 8193: folder1
d/d 8194: folder2
V/V 65537: $OrphanFiles
#ls inside folder
fls -i raw -f ext4 disk.img 12
r/r 16: secret.txt
#cat file inside image
icat -i raw -f ext4 disk.img 16
ThisisTheMasterSecret
```
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Edinin:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Bilinen Kötü Amaçlı Yazılımları Arayın
2020-12-23 19:52:25 +00:00
2024-02-10 18:14:16 +00:00
### Değiştirilmiş Sistem Dosyaları
2020-12-23 19:52:25 +00:00
Linux, potansiyel sorunlu dosyaları tespit etmek için kritik sistem bileşenlerinin bütünlüğünü sağlama konusunda araçlar sunar.
2020-12-23 19:52:25 +00:00
* **RedHat tabanlı sistemler**: Kapsamlı bir kontrol için `rpm -Va` kullanın.
* **Debian tabanlı sistemler**: İlk doğrulama için `dpkg --verify` kullanın, ardından `debsums | grep -v "OK$"` (apt-get install debsums ile `debsums`'ı yükledikten sonra) ile olası sorunları belirleyin.
2020-12-23 19:52:25 +00:00
### Kötü Amaçlı Yazılım/Rootkit Tespitçileri
2020-12-23 19:52:25 +00:00
Kötü amaçlı yazılımları bulmak için faydalı olabilecek araçlar hakkında bilgi edinmek için aşağıdaki sayfayı okuyun:
2020-12-23 19:52:25 +00:00
{% content-ref url="malware-analysis.md" %}
[malware-analysis.md](malware-analysis.md)
{% endcontent-ref %}
2020-12-23 19:52:25 +00:00
## Yüklenmiş Programları Arayın
2020-12-23 19:52:25 +00:00
Debian ve RedHat sistemlerinde yüklenmiş programları etkili bir şekilde aramak için sistem günlüklerini ve veritabanlarını, yaygın dizinlerde manuel kontrolle birlikte kullanmayı düşünün.
2020-12-23 19:52:25 +00:00
* Debian için, paket yüklemeleri hakkında ayrıntıları almak için _**`/var/lib/dpkg/status`**_ ve _**`/var/log/dpkg.log`**_ dosyalarını inceleyin, belirli bilgileri filtrelemek için `grep` kullanın.
* RedHat kullanıcıları, yüklü paketleri listelemek için `rpm -qa --root=/mntpath/var/lib/rpm` ile RPM veritabanını sorgulayabilir.
2020-12-23 19:52:25 +00:00
Bu paket yöneticileri dışında veya manuel olarak yüklenen yazılımları bulmak için _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_ ve _**`/sbin`**_ gibi dizinleri keşfedin. Dizin listelerini sistem özel komutlarla birleştirerek, bilinen paketlerle ilişkilendirilmeyen yürütülebilir dosyaları tanımlamak için arama yapın ve tüm yüklenmiş programları aramayı geliştirin.
2020-12-23 19:52:25 +00:00
```bash
2024-02-07 04:05:50 +00:00
# Debian package and log details
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
cat /var/log/dpkg.log | grep installed
# RedHat RPM database query
rpm -qa --root=/mntpath/var/lib/rpm
# Listing directories for manual installations
ls /usr/sbin /usr/bin /bin /sbin
# Identifying non-package executables (Debian)
2020-12-23 19:52:25 +00:00
find /sbin/ -exec dpkg -S {} \; | grep "no path found"
2024-02-07 04:05:50 +00:00
# Identifying non-package executables (RedHat)
2020-12-23 19:52:25 +00:00
find /sbin/ exec rpm -qf {} \; | grep "is not"
2024-02-07 04:05:50 +00:00
# Find exacuable files
find / -type f -executable | grep <something>
2020-12-23 19:52:25 +00:00
```
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
2024-02-10 18:14:16 +00:00
Bugün Erişim Alın:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Silinen Çalışan İkili Dosyaları Kurtarın
2024-02-07 04:05:50 +00:00
/tmp/exec dizininden çalıştırılan ve daha sonra silinen bir işlemi hayal edin. Bu dosyayı çıkarmak mümkündür.
2024-02-07 04:05:50 +00:00
```bash
cd /proc/3746/ #PID with the exec file deleted
head -1 maps #Get address of the file. It was 08048000-08049000
dd if=mem bs=1 skip=08048000 count=1000 of=/tmp/exec2 #Recorver it
```
## Otomatik Başlatma Konumlarını İnceleyin
2020-12-23 20:08:45 +00:00
### Zamanlanmış Görevler
2020-12-23 20:08:45 +00:00
```bash
cat /var/spool/cron/crontabs/* \
/var/spool/cron/atjobs \
/var/spool/anacron \
/etc/cron* \
/etc/at* \
/etc/anacrontab \
/etc/incron.d/* \
/var/spool/incron/* \
#MacOS
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
```
2024-02-10 18:14:16 +00:00
### Hizmetler
2020-12-23 20:08:45 +00:00
Bir kötü amaçlı yazılımın hizmet olarak yüklenebileceği yollar:
2024-02-07 04:05:50 +00:00
- **/etc/inittab**: rc.sysinit gibi başlatma betiklerini çağırır, daha sonra başlangıç betiklerine yönlendirir.
- **/etc/rc.d/** ve **/etc/rc.boot/**: Hizmet başlatma betiklerini içerir, ikincisi eski Linux sürümlerinde bulunur.
- **/etc/init.d/**: Debian gibi belirli Linux sürümlerinde başlangıç betiklerini depolamak için kullanılır.
- Hizmetler ayrıca **/etc/inetd.conf** veya **/etc/xinetd/** üzerinden etkinleştirilebilir, Linux varyantına bağlı olarak değişir.
2024-02-10 18:14:16 +00:00
- **/etc/systemd/system**: Sistem ve hizmet yöneticisi betikleri için bir dizin.
- **/etc/systemd/system/multi-user.target.wants/**: Çoklu kullanıcı çalışma düzeyinde başlatılması gereken hizmetlere bağlantıları içerir.
2024-02-10 18:14:16 +00:00
- **/usr/local/etc/rc.d/**: Özel veya üçüncü taraf hizmetleri için.
- **\~/.config/autostart/**: Kullanıcıya özgü otomatik başlatma uygulamaları için, kullanıcı odaklı kötü amaçlı yazılımların gizlenmesi için bir saklanma noktası olabilir.
- **/lib/systemd/system/**: Kurulu paketler tarafından sağlanan sistem genelinde varsayılan birim dosyaları.
2020-12-23 22:44:17 +00:00
2024-02-10 18:14:16 +00:00
### Çekirdek Modülleri
2020-12-23 22:44:17 +00:00
Kötü amaçlı yazılımlar tarafından kök kiti bileşeni olarak sıkça kullanılan Linux çekirdek modülleri, sistem başlangıcında yüklenir. Bu modüller için kritik olan dizinler ve dosyalar şunlardır:
2024-02-07 04:05:50 +00:00
- **/lib/modules/$(uname -r)**: Çalışan çekirdek sürümü için modülleri tutar.
2024-02-10 18:14:16 +00:00
- **/etc/modprobe.d**: Modül yüklemeyi kontrol etmek için yapılandırma dosyalarını içerir.
- **/etc/modprobe** ve **/etc/modprobe.conf**: Genel modül ayarları için dosyalar.
2020-12-23 22:44:17 +00:00
2024-02-10 18:14:16 +00:00
### Diğer Otomatik Başlatma Konumları
2020-12-23 22:44:17 +00:00
Linux, kullanıcı oturum açılışında otomatik olarak programları çalıştırmak için çeşitli dosyalar kullanır ve potansiyel olarak kötü amaçlı yazılımları barındırabilir:
2020-12-23 22:44:17 +00:00
- **/etc/profile.d/**\*, **/etc/profile** ve **/etc/bash.bashrc**: Herhangi bir kullanıcı oturumu için çalıştırılır.
- **\~/.bashrc**, **\~/.bash\_profile**, **\~/.profile** ve **\~/.config/autostart**: Kullanıcıya özgü dosyalar, kullanıcı oturum açtığında çalıştırılır.
- **/etc/rc.local**: Tüm sistem hizmetleri başladıktan sonra çalışır, çoklu kullanıcı ortamına geçişin sonunu işaretler.
2020-12-23 22:44:17 +00:00
## Günlükleri İnceleme
2020-12-23 22:44:17 +00:00
Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli günlük dosyaları aracılığıyla izler. Bu günlükler, yetkisiz erişimleri, kötü amaçlı yazılım bulaşmalarını ve diğer güvenlik olaylarını tanımlamak için hayati öneme sahiptir. Ana günlük dosyaları şunları içerir:
2024-02-07 04:05:50 +00:00
- **/var/log/syslog** (Debian) veya **/var/log/messages** (RedHat): Sistem genelindeki mesajları ve etkinlikleri yakalar.
- **/var/log/auth.log** (Debian) veya **/var/log/secure** (RedHat): Kimlik doğrulama denemelerini, başarılı ve başarısız oturum açmalarını kaydeder.
2024-02-10 18:14:16 +00:00
- İlgili kimlik doğrulama olaylarını filtrelemek için `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` komutunu kullanın.
- **/var/log/boot.log**: Sistem başlangıç mesajlarını içerir.
- **/var/log/maillog** veya **/var/log/mail.log**: E-posta sunucusu etkinliklerini kaydeder, e-posta ile ilgili hizmetleri izlemek için faydalıdır.
- **/var/log/kern.log**: Hata ve uyarıları içeren çekirdek mesajlarını saklar.
- **/var/log/dmesg**: Aygıt sürücüsü mesajlarını tutar.
- **/var/log/faillog**: Başarısız oturum açma denemelerini kaydeder, güvenlik ihlali soruşturmalarına yardımcı olur.
2024-02-10 18:14:16 +00:00
- **/var/log/cron**: Cron işi yürütmelerini kaydeder.
- **/var/log/daemon.log**: Arka planda çalışan hizmet etkinliklerini izler.
- **/var/log/btmp**: Başarısız oturum açma denemelerini belgeler.
2024-02-10 18:14:16 +00:00
- **/var/log/httpd/**: Apache HTTPD hata ve erişim günlüklerini içerir.
- **/var/log/mysqld.log** veya **/var/log/mysql.log**: MySQL veritabanı etkinliklerini kaydeder.
- **/var/log/xferlog**: FTP dosya transferlerini kaydeder.
- **/var/log/**: Burada beklenmeyen günlükleri kontrol etmeyi unutmayın.
2020-12-23 22:44:17 +00:00
{% hint style="info" %}
Linux sistem günlükleri ve denetim alt sistemleri, bir ihlal veya kötü amaçlı yazılım olayında devre dışı bırakılabilir veya silinebilir. Linux sistemlerinde günlükler genellikle kötü amaçlı etkinlikler hakkında en kullanışlı bilgileri içerdiğinden, saldırganlar genellikle bunları siler. Bu nedenle, mevcut günlük dosyalarını inceleyerek, silme veya oynama belirtisi olabilecek boşlukları veya sırasız girişleri aramak önemlidir.
2020-12-23 22:44:17 +00:00
{% endhint %}
**Linux, her kullanıcı için bir komut geçmişini saklar**, şurada depolanır:
2020-12-23 22:44:17 +00:00
- \~/.bash\_history
- \~/.zsh\_history
- \~/.zsh\_sessions/\*
- \~/.python\_history
- \~/.\*\_history
2020-12-27 00:27:13 +00:00
Ayrıca, `last -Faiwx` komutu bir kullanıcı oturum listesi sağlar. Bilinmeyen veya beklenmeyen oturum açmaları için kontrol edin.
2020-12-27 00:27:13 +00:00
2024-02-10 18:14:16 +00:00
Ek ayrıcalıklar sağlayabilecek dosyaları kontrol edin:
2020-12-27 00:27:13 +00:00
- Beklenmeyen kullanıcı ayrıcalıklarını belirlemek için `/etc/sudoers` dosyasını inceleyin.
- Beklenmeyen kullanıcı ayrıcalıklarını belirlemek için `/etc/sudoers.d/` dizinini inceleyin.
2024-02-10 18:14:16 +00:00
- Olağandışı grup üyeliklerini veya izinleri belirlemek için `/etc/groups` dosyasını inceleyin.
- Olağandışı grup üyeliklerini veya izinleri belirlemek için `/etc/passwd` dosyasını inceleyin.
2020-12-27 00:27:13 +00:00
2024-02-10 18:14:16 +00:00
Bazı uygulamalar kendi günlüklerini oluşturur:
2020-12-27 00:28:02 +00:00
- **SSH**: Yetkisiz uzak bağlantılar için _\~/.ssh/authorized\_keys_ ve _\~/.ssh/known\_hosts_ dosyalarını inceleyin.
- **Gnome Masaüstü**: Gnome uygulamaları aracılığıyla son erişilen dosyalar için _\~/.recently-used.xbel_ dosyasına bakın.
- **Firefox/Chrome**: Şüpheli etkinlikler için _\~/.mozilla/firefox_ veya _\~/.config/google-chrome_ dizinlerinde tarayıcı geçmişini ve indirmeleri kontrol edin.
- **VIM**: Erişilen dosya yolları ve arama geçmişi gibi kullanım detayları için _\~/.viminfo_ dosyasını inceleyin.
- **Open Office**: Kompromize uğramış dosyaları gösterebilecek son belge erişimlerini kontrol edin.
- **FTP/SFTP**: Yetkisiz dosya transferlerini belirlemek için _\~/.ftp\_history_ veya _\~/.sftp\_history_ günlüklerini inceleyin.
- **MySQL**: Yürütülen MySQL sorgularını içeren _\~/.mysql\_history_ dosyasını araştırın, yetkisiz veritabanı etkinliklerini ortaya çıkarabilir.
- **Less**: Görüntülenen dosyaları ve yürütülen komutları içeren _\~/.lesshst_ dosyasını analiz edin.
- **Git**: Depolardaki değişiklikler için _\~/.gitconfig_ ve proje _.git/logs_ dosyalarını inceleyin.
2020-12-23 23:14:22 +00:00
2024-02-10 18:14:16 +00:00
### USB Günlükleri
2021-05-28 17:27:17 +00:00
[**usbrip**](https://github.com/snovvcrash/usbrip), USB olay geçmişi tabloları oluşturmak için Linux günlük dosyalarını (`/var/log/syslog*` veya `/var/log/messages*`, dağıtıma bağlı olarak) ayrıştıran saf Python 3 dilinde yazılmış küçük bir yazılımdır.
2021-05-28 17:27:17 +00:00
**Kullanılan tüm USB'leri bilmek ilginç olacaktır** ve yetkili USB listesine sahipseniz "ihlal olayları"nı bulmak için daha da faydalı olacaktır (bu listede olmayan USB'lerin kullanımı).
2021-05-28 17:27:17 +00:00
2024-02-10 18:14:16 +00:00
### Kurulum
2024-02-07 04:05:50 +00:00
```bash
2021-05-28 17:27:17 +00:00
pip3 install usbrip
2022-09-07 15:35:57 +00:00
usbrip ids download #Download USB ID database
2021-05-28 17:27:17 +00:00
```
2024-02-10 18:14:16 +00:00
### Örnekler
2024-02-07 04:05:50 +00:00
```bash
2021-05-28 17:27:17 +00:00
usbrip events history #Get USB history of your curent linux machine
usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR user
#Search for vid and/or pid
usbrip ids download #Downlaod database
usbrip ids search --pid 0002 --vid 0e0f #Search for pid AND vid
```
## Kullanıcı Hesaplarını ve Oturum Etkinliklerini İncele
2022-08-31 22:35:39 +00:00
Olağandışı isimleri veya hesapları kontrol etmek için _**/etc/passwd**_, _**/etc/shadow**_ ve **güvenlik günlüklerini** inceleyin ve bilinen yetkisiz olaylara yakın zamanda oluşturulan veya kullanılan hesapları kontrol edin. Ayrıca, olası sudo kaba kuvvet saldırılarını kontrol edin.\
Ayrıca, kullanıcılara verilen beklenmeyen ayrıcalıkları kontrol etmek için _**/etc/sudoers**_ ve _**/etc/groups**_ gibi dosyaları kontrol edin.\
Son olarak, **şifresiz hesapları** veya **kolayca tahmin edilebilecek** şifreleri olan hesapları arayın.
2024-02-07 04:05:50 +00:00
## Dosya Sistemi İncelemesi
2020-12-23 23:14:22 +00:00
2024-02-10 18:14:16 +00:00
### Zararlı Yazılım İncelemesinde Dosya Sistemi Yapılarını Analiz Etme
2020-12-23 23:14:22 +00:00
Zararlı yazılım olaylarını araştırırken, dosya sistemi yapısı bilgi kaynağıdır ve olayların sıralamasını ve zararlı yazılımın içeriğini ortaya çıkarır. Ancak, zararlı yazılım yazarları, dosya zaman damgalarını değiştirme veya veri depolamak için dosya sisteminden kaçınma gibi analizi engelleyen teknikler geliştirmektedir.
2020-12-23 23:14:22 +00:00
2024-02-10 18:14:16 +00:00
Bu anti-forensik yöntemlere karşı koymak için şunlar önemlidir:
2024-02-07 04:05:50 +00:00
* **Olay zaman çizelgesi analizi** yapmak için **Autopsy** gibi araçları kullanarak olay zaman çizelgelerini görselleştirmek veya ayrıntılı zaman çizelgesi verileri için **Sleuth Kit's** `mactime`'ı kullanmak.
* Saldırganlar tarafından kullanılan kabuk veya PHP betiklerini içerebilecek **sistem $PATH'indeki beklenmedik betikleri inceleyin**.
* **/dev**'i **atipik dosyalar** için inceleyin, genellikle özel dosyalar içerir ancak zararlı yazılımla ilişkili dosyaları içerebilir.
* ".. " (nokta nokta boşluk) veya "..^G" (nokta nokta kontrol-G) gibi adları olan **gizli dosyaları veya dizinleri arayın**, bu tür dosyalar kötü amaçlı içeriği gizleyebilir.
* **Yükseltilmiş izinlere sahip setuid root dosyalarını** bulmak için `find / -user root -perm -04000 -print` komutunu kullanın. Bu, saldırganlar tarafından kötüye kullanılabilecek yükseltilmiş izinlere sahip dosyaları bulur.
* **Kütle dosya silmelerini belirlemek için inode tablolarındaki silme zaman damgalarını** inceleyin, bu durum kök kitleri veya truva atlarının varlığını gösterebilir.
* Bir tane belirledikten sonra **yakındaki kötü amaçlı dosyaları belirlemek için ardışık inode'ları** inceleyin, çünkü bunlar bir araya konmuş olabilir.
* **Son zamanlarda değiştirilmiş dosyaları kontrol etmek için yaygın ikili dizinleri** (_/bin_, _/sbin_) inceleyin, çünkü bunlar zararlı yazılım tarafından değiştirilmiş olabilir.
````bash
2024-02-10 18:14:16 +00:00
# List recent files in a directory:
2024-02-07 04:05:50 +00:00
ls -laR --sort=time /bin```
2024-02-10 18:14:16 +00:00
# Sort files in a directory by inode:
2024-02-07 04:05:50 +00:00
ls -lai /bin | sort -n```
````
2020-12-28 22:28:30 +00:00
{% hint style="info" %}
**Saldırgan**, dosyaları **meşru görünmesi** için **zamanı değiştirebilir**, ancak **inode**'u değiştiremez. Eğer bir **dosyanın** aynı klasördeki diğer dosyalarla aynı zamanda **oluşturulduğunu ve değiştirildiğini** gösterdiğini fakat **inode**'un **beklenmedik şekilde daha büyük** olduğunu fark ederseniz, o dosyanın **zaman damgaları değiştirilmiş** demektir.
2020-12-28 22:28:30 +00:00
{% endhint %}
## Farklı dosya sistem sürümlerini karşılaştırın
2020-12-28 22:28:30 +00:00
2024-02-10 18:14:16 +00:00
### Dosya Sistem Sürümü Karşılaştırma Özeti
2021-01-06 15:28:14 +00:00
Değişiklikleri belirlemek ve dosya sistem sürümlerini karşılaştırmak için basitleştirilmiş `git diff` komutlarını kullanırız:
2024-02-07 04:05:50 +00:00
* **Yeni dosyaları bulmak için**, iki dizini karşılaştırın:
2021-01-06 15:28:14 +00:00
```bash
2024-02-07 04:05:50 +00:00
git diff --no-index --diff-filter=A path/to/old_version/ path/to/new_version/
2021-01-06 15:28:14 +00:00
```
* **Değiştirilmiş içerik için**, belirli satırları yok sayarak değişiklikleri listele:
2021-01-06 15:28:14 +00:00
```bash
2024-02-07 04:05:50 +00:00
git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ | grep -E "^\+" | grep -v "Installed-Time"
2021-01-06 15:28:14 +00:00
```
* **Silinmiş dosyaları tespit etmek için**:
2021-01-06 15:28:14 +00:00
```bash
2024-02-07 04:05:50 +00:00
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
2021-01-06 15:28:14 +00:00
```
* **Filtre seçenekleri** (`--diff-filter`), eklenen (`A`), silinen (`D`) veya değiştirilen (`M`) dosyalar gibi belirli değişikliklere odaklanmayı sağlar.
* `A`: Eklenen dosyalar
* `C`: Kopyalanan dosyalar
* `D`: Silinen dosyalar
* `M`: Değiştirilen dosyalar
* `R`: Yeniden adlandırılan dosyalar
* `T`: Tür değişiklikleri (ör. dosyadan sembolik bağlantıya)
* `U`: Birleştirilmemiş dosyalar
* `X`: Bilinmeyen dosyalar
* `B`: Bozuk dosyalar
2024-02-10 18:14:16 +00:00
## Referanslar
2020-12-23 22:44:17 +00:00
2021-10-19 00:01:07 +00:00
* [https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems\_Ch3.pdf](https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems\_Ch3.pdf)
2020-12-23 22:44:17 +00:00
* [https://www.plesk.com/blog/featured/linux-logs-explained/](https://www.plesk.com/blog/featured/linux-logs-explained/)
2024-02-07 04:05:50 +00:00
* [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
2024-02-10 18:14:16 +00:00
* **Kitap: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides**
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Sıfırdan kahraman olacak şekilde AWS hacklemeyi</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> öğrenin!</strong></summary>
2022-04-28 16:01:33 +00:00
**Bir ** **cybersecurity şirketinde mi çalışıyorsunuz? Şirketinizin **HackTricks'te** reklamını görmek ister misiniz? veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
2022-04-28 16:01:33 +00:00
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) sahip olun
* **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grubuna**](https://discord.gg/hRep4RUj7f) veya **telegram grubuna** veya beni **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** takip edin.
2022-04-28 16:01:33 +00:00
**Hacking püf noktalarınızı göndererek HackTricks deposuna** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile PR gönderin.**
2022-04-28 16:01:33 +00:00
</details>
2022-08-31 22:35:39 +00:00
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-08-31 22:35:39 +00:00
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
2024-02-10 18:14:16 +00:00
Bugün Erişim Alın:
2022-08-31 22:35:39 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}