GNU/Linux >> Belajar Linux >  >> Linux

Apakah saya baru saja diretas?

EDIT 2 :

ada satu alasan bagus mengapa posting ini menarik begitu banyak perhatian:Anda berhasil merekam seluruh sesi langsung penyusup di PC Anda. Ini sangat berbeda dengan pengalaman kita sehari-hari, di mana kita berurusan dengan penemuan konsekuensi dari tindakannya dan mencoba memperbaikinya. Di sini kita melihat dia sedang bekerja, melihat dia mengalami beberapa masalah dengan memasang pintu belakang, menelusuri kembali langkahnya, bekerja dengan tergesa-gesa (mungkin karena dia duduk di meja Anda, seperti yang disarankan di atas, atau mungkin, dan menurut saya lebih mungkin, karena dia tidak dapat membuat malware-nya berjalan di sistem, baca di bawah), dan mencoba menerapkan instrumen kontrol mandiri sepenuhnya. Inilah yang disaksikan peneliti keamanan setiap hari dengan perangkap madu mereka . Bagi saya, ini adalah kesempatan yang sangat langka, dan sumber hiburan.

Anda pasti telah diretas. Bukti untuk hal ini tidak berasal dari potongan auth.log file yang Anda tampilkan, karena ini melaporkan upaya login yang gagal, yang terjadi dalam rentang waktu singkat (dua detik). Anda akan melihat bahwa baris kedua menyatakan Failed password , sedangkan yang ketiga melaporkan pre-auth putuskan:pria itu mencoba dan gagal.

Bukti justru berasal dari konten kedua file http://222.186.30.209:65534/yjz dan http://222.186.30.209:65534/yjz1 yang diunduh penyerang ke sistem Anda.

Situs saat ini terbuka untuk siapa saja untuk mengunduhnya, yang saya lakukan. Saya pertama kali menjalankan file pada mereka, yang menunjukkan:

$ file y*
yjz:      ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.2.5, not stripped
yjz1:     ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.6.9, not stripped

Kemudian saya membawanya ke VM Debian 64-bit yang saya miliki; pemeriksaan konten mereka melalui strings perintah mengungkapkan banyak hal yang mencurigakan (referensi ke berbagai serangan terkenal, perintah yang harus diganti, skrip yang jelas digunakan untuk menyiapkan layanan baru, dan sebagainya).

Saya kemudian menghasilkan MD5-hash dari kedua file, dan memasukkannya ke database hash Cymru untuk melihat apakah mereka dikenal sebagai agen malware. Sedangkan yjz bukan, yjz1 adalah, dan Cymru melaporkan kemungkinan deteksi oleh perangkat lunak anti-virus sebesar 58%. Dinyatakan juga bahwa file ini terakhir terlihat sekitar tiga hari yang lalu, jadi ini cukup baru.

Menjalankan clamscan (bagian dari clamav package) pada dua file yang saya peroleh:

$ clamscan y*
yjz: Linux.Backdoor.Gates FOUND
yjz1: Linux.Trojan.Xorddos FOUND

jadi kami sekarang yakin bahwa perangkat lunak Linux standar dapat mengidentifikasinya.

Apa yang harus Anda lakukan?

Meskipun agak baru, tidak ada sistem yang sangat baru, lihat artikel Januari 2015 ini di XorDdos, misalnya. Jadi sebagian besar paket gratis harus dapat menghapusnya. Anda harus mencoba:clamav , rkhunter , chkrootkit . Saya telah mencari-cari di Google, dan melihat bahwa mereka mengklaim dapat menemukannya. Gunakan mereka untuk memeriksa pekerjaan pendahulu, tetapi setelah menjalankan ketiga program ini Anda harus siap untuk pergi.

Adapun pertanyaan yang lebih besar, what should you do to prevent future infections , Jawaban Journeyman adalah langkah pertama yang baik. Ingatlah bahwa ini adalah perjuangan yang berkelanjutan, perjuangan yang kita semua (termasuk saya!) mungkin telah hilang tanpa menyadarinya.

EDIT :

Atas permintaan (tidak langsung) Viktor Toth, saya ingin menambahkan beberapa komentar. Memang benar bahwa penyusup mengalami beberapa kesulitan:dia mengunduh dua alat peretasan yang berbeda, mengubah izinnya beberapa kali, memulai ulang beberapa kali, dan mencoba berkali-kali untuk menonaktifkan firewall. Sangat mudah untuk menebak apa yang terjadi:dia mengharapkan alat peretasannya untuk membuka saluran komunikasi ke salah satu komputernya yang terinfeksi (lihat nanti), dan, ketika dia tidak melihat saluran baru ini muncul di GUI kontrolnya, takut akan peretasannya alat sedang diblokir oleh firewall, jadi dia mengulangi prosedur penginstalan. Saya setuju dengan Viktor Toth bahwa tahap tertentu dari operasinya ini tampaknya tidak membuahkan hasil yang diharapkan, tetapi saya ingin mendorong Anda sangat kuat jangan meremehkan tingkat kerusakan yang ditimbulkan pada pc Anda.

Di sini saya berikan hasil sebagian dari strings yjz1 :

etc/init.d/%s
/etc/rc%d.d/S90%s
--del
chkconfig
remove
update-rc.d
/etc/cron.hourly/gcc4.sh
/etc/rc.d/rc%d.d/S90%s
--add
defaults
/proc/%d/exe
/proc/self/exe
HOME=/
MYSQL_HISTFILE=/dev/null
#!/bin/sh
# chkconfig: 12345 90 90
# description: %s
### BEGIN INIT INFO
# Provides:             %s
# Required-Start:
# Required-Stop:
# Default-Start:        1 2 3 4 5
# Default-Stop:
# Short-Description:    %s
### END INIT INFO
case $1 in
start)
stop)
esac
sed -i '/\/etc\/cron.hourly\/gcc4.sh/d' /etc/crontab && echo '*/3 * * * * root /etc/cron.hourly/gcc4.sh' >> /etc/crontab
etc/init.d/%s
GET %s HTTP/1.1
%sHost: %s
POST %s HTTP/1.1
%sHost: %s
Content-Type: application/x-www-form-urlencoded
Content-Length: %d
%s%s
Accept: */*
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1;      TencentTraveler ; .NET CLR 1.1.4322)
Connection: Keep-Alive

Ini memberikan bukti perusakan layanan (dalam /etc/init.d dan di /etc/rc.d ), dengan crontab , dengan file riwayat mysql , dan beberapa file di proc yang merupakan link ke bash (yang menunjukkan bahwa versi penipuan yang dibuat khusus dari cangkang Anda telah ditanam). Kemudian program menghasilkan permintaan HTTP (ke situs berbahasa Mandarin,

 Accept-Language: zh-cn

yang memberi substansi pada komentar David Schwartz di atas), yang dapat menciptakan lebih banyak malapetaka. Dalam permintaan, binari (Content-Type: application/x-www-form-urlencoded ) harus diunduh ke pc yang diserang (GET) dan diunggah ke mesin pengontrol (POST). Saya tidak dapat menentukan apa yang akan diunduh ke pc yang diserang, tetapi, mengingat ukuran kecil dari keduanya yjz dan yjz1 (1,1MB dan 600kB, masing-masing), saya berani menduga bahwa sebagian besar file diperlukan untuk menyelubungi rootkit, i.e. versi ls yang diubah , netstat , ps , ifconfig ,..., akan diunduh dengan cara ini. Dan ini akan menjelaskan upaya tergesa-gesa penyerang untuk menjalankan unduhan ini.

Tidak ada kepastian bahwa hal di atas menghabiskan semua kemungkinan:kami pasti kekurangan bagian dari transkrip (antara baris 457 dan 481) dan kami tidak melihat logout; lebih jauh lagi, yang paling mengkhawatirkan adalah baris 495-497,

cd /tmp;  ./yd_cd/make

yang merujuk ke file yang tidak kami lihat diunduh, dan yang mungkin menjadi kompilasi:jika demikian, itu berarti penyerang telah (akhirnya?) memahami apa masalah dengan executable-nya, dan sedang mencoba memperbaikinya, dalam hal ini pc yang diserang telah hilang untuk selamanya. [Faktanya, dua versi malware yang diunduh penyerang ke mesin yang diretas (dan saya ke VM Debian 64bit saya) adalah untuk arsitektur yang tidak sesuai, x86, sedangkan nama saja dari pc yang diretas memberikan fakta bahwa dia berurusan dengan arsitektur lengan].

Alasan mengapa saya menulis suntingan ini adalah untuk mendesak Anda sekuat mungkin untuk menyisir sistem Anda dengan instrumen profesional, atau menginstal ulang dari awal.

Omong-omong, jika ini terbukti bermanfaat bagi siapa pun, ini adalah daftar dari 331 Alamat IP yang yjz mencoba untuk terhubung. Daftar ini sangat besar (dan mungkin ditakdirkan untuk menjadi lebih besar lagi) yang saya percaya ini adalah alasan untuk mengutak-atik mysql . Daftar yang disediakan oleh pintu belakang lain identik, yang, saya kira, adalah alasan untuk membiarkan informasi yang begitu penting terbuka (menurut saya berpikir penyerang tidak ingin berusaha untuk menyimpannya dalam format kernel, jadi dia meletakkan seluruh daftar dalam file teks-jelas, yang mungkin dibaca oleh semua pintu belakangnya, untuk OS mana pun):

61.132.163.68
202.102.192.68
202.102.213.68
202.102.200.101
58.242.2.2
202.38.64.1
211.91.88.129
211.138.180.2
218.104.78.2
202.102.199.68
202.175.3.3
202.175.3.8
202.112.144.30
61.233.9.9
61.233.9.61
124.207.160.110
202.97.7.6
202.97.7.17
202.106.0.20
202.106.46.151
202.106.195.68
202.106.196.115
202.106.196.212
202.106.196.228
202.106.196.230
202.106.196.232
202.106.196.237
202.112.112.10
211.136.17.107
211.136.28.231
211.136.28.234
211.136.28.237
211.147.6.3
219.141.136.10
219.141.140.10
219.141.148.37
219.141.148.39
219.239.26.42
221.130.32.100
221.130.32.103
221.130.32.106
221.130.32.109
221.130.33.52
221.130.33.60
221.176.3.70
221.176.3.73
221.176.3.76
221.176.3.79
221.176.3.83
221.176.3.85
221.176.4.6
221.176.4.9
221.176.4.12
221.176.4.15
221.176.4.18
221.176.4.21
58.22.96.66
218.104.128.106
202.101.98.55
211.138.145.194
211.138.151.161
211.138.156.66
218.85.152.99
218.85.157.99
222.47.29.93
202.101.107.85
119.233.255.228
222.47.62.142
122.72.33.240
211.98.121.27
218.203.160.194
221.7.34.10
61.235.70.98
113.111.211.22
202.96.128.68
202.96.128.86
202.96.128.166
210.21.3.140
210.21.4.130
211.95.193.97
211.98.2.4
211.98.4.1
211.162.61.225
211.162.61.235
211.162.61.255
211.162.62.1
211.162.62.60
221.4.66.66
202.103.176.22
202.96.144.47
210.38.192.33
202.96.134.33
202.96.134.133
202.96.154.15
210.21.196.6
221.5.88.88
202.103.243.112
202.193.64.33
61.235.164.13
61.235.164.18
202.103.225.68
221.7.136.68
202.103.224.68
211.97.64.129
211.138.240.100
211.138.242.18
211.138.245.180
221.7.128.68
222.52.118.162
202.98.192.67
202.98.198.167
211.92.136.81
211.139.1.3
211.139.2.18
202.100.192.68
211.97.96.65
211.138.164.6
221.11.132.2
202.100.199.8
202.99.160.68
202.99.166.4
202.99.168.8
222.222.222.222
202.102.224.68
202.102.227.68
222.85.85.85
222.88.88.88
210.42.241.1
202.196.64.1
112.100.100.100
202.97.224.68
219.235.127.1
61.236.93.33
211.93.24.129
211.137.241.34
219.147.198.230
202.103.0.68
202.103.0.117
202.103.24.68
202.103.44.150
202.114.0.242
202.114.240.6
211.161.158.11
211.161.159.3
218.104.111.114
218.104.111.122
218.106.127.114
218.106.127.122
221.232.129.30
59.51.78.210
61.234.254.5
202.103.96.112
219.72.225.253
222.243.129.81
222.246.129.80
211.142.210.98
211.142.210.100
220.168.208.3
220.168.208.6
220.170.64.68
218.76.192.100
61.187.98.3
61.187.98.6
202.98.0.68
211.93.64.129
211.141.16.99
202.98.5.68
219.149.194.55
211.138.200.69
202.102.3.141
202.102.3.144
58.240.57.33
112.4.0.55
114.114.114.114
114.114.115.115
202.102.24.34
218.2.135.1
221.6.4.66
221.131.143.69
202.102.8.141
222.45.0.110
61.177.7.1
218.104.32.106
211.103.13.101
221.228.255.1
61.147.37.1
222.45.1.40
58.241.208.46
202.102.9.141
202.102.7.90
202.101.224.68
202.101.226.68
211.141.90.68
211.137.32.178
202.96.69.38
211.140.197.58
219.149.6.99
202.96.86.18
101.47.189.10
101.47.189.18
118.29.249.50
118.29.249.54
202.96.64.68
202.96.75.68
202.118.1.29
202.118.1.53
219.148.204.66
202.99.224.8
202.99.224.67
211.90.72.65
211.138.91.1
218.203.101.3
202.100.96.68
211.93.0.81
222.75.152.129
211.138.75.123
202.102.154.3
202.102.152.3
219.146.1.66
219.147.1.66
202.102.128.68
202.102.134.68
211.138.106.19
211.90.80.65
202.99.192.66
202.99.192.68
61.134.1.4
202.117.96.5
202.117.96.10
218.30.19.40
218.30.19.50
116.228.111.118
180.168.255.18
202.96.209.5
202.96.209.133
202.101.6.2
211.95.1.97
211.95.72.1
211.136.112.50
211.136.150.66
119.6.6.6
124.161.97.234
124.161.97.238
124.161.97.242
61.139.2.69
202.98.96.68
202.115.32.36
202.115.32.39
218.6.200.139
218.89.0.124
61.139.54.66
61.139.39.73
139.175.10.20
139.175.55.244
139.175.150.20
139.175.252.16
168.95.1.1
210.200.211.193
210.200.211.225
211.78.130.1
61.31.1.1
61.31.233.1
168.95.192.1
168.95.192.174
61.60.224.3
61.60.224.5
202.113.16.10
202.113.16.11
202.99.96.68
202.99.104.68
211.137.160.5
211.137.160.185
219.150.32.132
202.98.224.68
211.139.73.34
61.10.0.130
61.10.1.130
202.14.67.4
202.14.67.14
202.45.84.58
202.45.84.67
202.60.252.8
202.85.128.32
203.80.96.9
203.142.100.18
203.142.100.21
203.186.94.20
203.186.94.241
221.7.1.20
61.128.114.133
61.128.114.166
218.202.152.130
61.166.150.123
202.203.128.33
211.98.72.7
211.139.29.68
211.139.29.150
211.139.29.170
221.3.131.11
222.172.200.68
61.166.150.101
61.166.150.139
202.203.144.33
202.203.160.33
202.203.192.33
202.203.208.33
202.203.224.33
211.92.144.161
222.221.5.240
61.166.25.129
202.96.103.36
221.12.1.227
221.130.252.200
222.46.120.5
202.96.96.68
218.108.248.219
218.108.248.245
61.130.254.34
60.191.244.5
202.96.104.15
202.96.104.26
221.12.33.227
202.96.107.27
61.128.128.68
61.128.192.68
218.201.17.2
221.5.203.86
221.5.203.90
221.5.203.98
221.7.92.86
221.7.92.98

Kode berikut

 #!/bin/bash
 echo 0 > out
 while read i; do
       whois $i | grep -m 1 -i country >> out
 done < filename
 cat out | grep -i cn | wc -l

pada daftar di atas menunjukkan bahwa 302 dari total 331 alamatnya ada di Cina daratan, sisanya ada di Hong Kong, Mongolia, Taiwan. Ini menambah dukungan lebih lanjut untuk pendapat David Schwartz bahwa ini sebagian besar adalah cincin bot China.

EDIT 3

Atas permintaan @vaid (penulis OP, baca komentarnya di bawah), saya akan menambahkan komentar tentang cara memperkuat keamanan sistem Linux dasar (untuk sistem yang menyediakan banyak layanan, ini adalah topik yang jauh lebih kompleks). vaid menyatakan dia melakukan hal berikut:

  1. Instal ulang sistem

  2. mengubah kata sandi root menjadi kata sandi panjang 16 karakter dengan campuran huruf kecil dan huruf besar serta karakter dan angka.

  3. Mengubah nama pengguna menjadi nama pengguna dengan panjang 6 karakter dan menerapkan kata sandi yang sama seperti yang digunakan untuk root

  4. mengubah port SSH menjadi sesuatu di atas 5000

  5. mematikan login root SSH.

Ini bagus (kecuali saya menggunakan port di atas 10.000 karena banyak program yang berguna menggunakan port di bawah 10.000). Tapi Saya tidak bisa cukup menekankan perlunya menggunakan kunci kriptografi untuk login ssh , alih-alih kata sandi. Saya akan memberi Anda contoh pribadi. Di salah satu VPS saya, saya tidak yakin apakah akan mengubah port ssh; Saya meninggalkannya di 22, tetapi menggunakan kunci crypto untuk otentikasi. Saya punya ratusan upaya pembobolan per hari , tidak ada yang berhasil. Ketika, lelah untuk memeriksa setiap hari bahwa tidak ada yang berhasil, saya akhirnya mengalihkan port ke sesuatu di atas 10.000, upaya pembobolan menjadi nol. Ingat, bukan karena peretas itu bodoh (mereka tidak!), mereka hanya memburu mangsa yang lebih mudah.

Sangat mudah untuk mengaktifkan kunci kripto dengan RSA sebagai algoritme tanda tangan, lihat komentar di bawah oleh Jan Hudec (terima kasih!):

 cd; mkdir .ssh; chmod 700 .ssh; cd .ssh; ssh-keygen -t rsa (then hit <kbd>ENTER>/kbd> three times); cat id_rsa.pub >> authorized_keys; chmod 600 *

Sekarang yang harus Anda lakukan adalah menyalin file id_rsa ke mesin yang ingin Anda sambungkan (dalam direktori .ssh , juga chmod 'ed to 700), lalu keluarkan perintah

ssh -p YourChosenNonStandardPort -i ~/.ssh/id_rsa [email protected]

Ketika Anda yakin ini berfungsi, edit di server (=mesin yang ingin Anda sambungkan) file /etc/ssh/sshd_config , dan ubah baris

#PasswordAuthentication yes

ke

PasswordAuthentication no

dan mulai ulang ssh layanan (service ssh restart atau systemctl restart ssh , atau sesuatu seperti ini, tergantung distro).

Ini akan bertahan banyak. Faktanya, saat ini tidak ada eksploit yang diketahui terhadap versi openssh v2 saat ini , dan RSA seperti yang digunakan oleh openssh v2 .

Terakhir, untuk benar-benar mematikan mesin Anda, Anda perlu mengonfigurasi firewall (netfilter/iptables) sebagai berikut:

 iptables -A INPUT -p tcp --dport YourChosenNonStandardPort -j ACCEPT
 iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 iptables -P INPUT DROP
 iptables -P OUTPUT ACCEPT
 iptables -A INPUT -i lo -j ACCEPT
 iptables -A OUTPUT -o lo -j ACCEPT

Ini, 1) memungkinkan koneksi ssh dari LAN dan WAN, 2) memungkinkan semua input yang berasal dari permintaan Anda (misalnya, saat Anda memuat halaman Web), 3) menjatuhkan semua yang lain pada input, 4) memungkinkan semuanya aktif output, dan 5-6) memungkinkan semua yang ada di antarmuka loopback.

Saat kebutuhan Anda bertambah, dan lebih banyak port perlu dibuka, Anda dapat melakukannya dengan menambahkan, di bagian atas daftar, aturan seperti:

 iptables -A INPUT -p tcp --dport 80 -j ACCEPT

untuk memungkinkan misalnya orang mengakses browser Web Anda.


Selamat datang di Internet - di mana setiap server SSH yang terbuka kemungkinan besar akan diperiksa, dipaksa secara kasar, dan ditimpakan berbagai penghinaan padanya.

Untuk memulai, Anda harus menghapus total penyimpanan pada produk. Gambar itu jika Anda ingin menyebarkannya untuk forensik, tetapi pemasangan Linux di atasnya sekarang mencurigakan.

Sedikit tebakan tapi

  1. Anda mendapatkan atau dengan paksa gunakan kata sandi umum. Ini keamanan karena ketidakjelasan tetapi Anda tidak menginginkan kata sandi kamus atau untuk menggunakan akun root yang terbuka untuk SSH. Nonaktifkan akses SSH root jika itu merupakan opsi atau setidaknya ubah nama sehingga mereka perlu menebak keduanya. SSHing sebagai root adalah praktik keamanan yang buruk. Jika Anda harus menggunakan root, login sebagai pengguna lain dan gunakan su atau sudo untuk beralih.

  2. Bergantung pada produknya, Anda mungkin ingin mengunci akses SSH dengan cara tertentu. Penguncian total terdengar seperti ide yang bagus, dan memungkinkan pengguna untuk membukanya sesuai kebutuhan . Bergantung pada sumber daya apa yang dapat Anda sisihkan, pertimbangkan untuk hanya mengizinkan alamat IP di subnet Anda sendiri, atau semacam sistem pelambatan login. Jika Anda tidak memerlukannya pada produk akhir, pastikan sudah dimatikan.

  3. Gunakan port yang tidak standar. Keamanan dengan ketidakjelasan lagi, tetapi itu berarti penyerang harus menargetkan port Anda.

  4. Jangan pernah menggunakan password default. Pendekatan terbaik yang pernah saya lihat adalah membuat kata sandi secara acak untuk perangkat tertentu dan mengirimkannya bersama produk Anda. Praktik terbaik adalah otentikasi berbasis kunci, tetapi saya tidak tahu bagaimana Anda mendekatinya pada produk pasar massal.


Oh, Anda pasti telah diretas. Seseorang tampaknya dapat memperoleh kredensial root dan mencoba mengunduh Trojan ke sistem Anda. MariusMatutiae memberikan analisis payload.

Dua pertanyaan muncul:a) Apakah penyerang berhasil? Dan b) apa yang dapat Anda lakukan?

Jawaban atas pertanyaan pertama mungkin menjadi tidak. Perhatikan bagaimana penyerang berulang kali mencoba mengunduh dan menjalankan payload, tampaknya tidak berhasil. Saya curiga ada sesuatu (SELinux, mungkin?) menghalangi jalannya.

NAMUN:Penyerang juga mengubah /etc/rc.d/rc.local Anda file, dengan harapan saat Anda me-restart sistem Anda, payload akan diaktifkan. Jika Anda belum me-restart sistem, jangan restart sampai Anda menghapus perubahan ini dari /etc/rc.d/rc.local . Jika Anda telah memulai ulang... ya, semoga berhasil.

Mengenai apa yang dapat Anda lakukan:Hal teraman untuk dilakukan adalah menghapus sistem dan menginstal ulang dari awal. Tapi ini mungkin tidak selalu menjadi pilihan. Hal yang jauh lebih tidak aman untuk dilakukan adalah menganalisis dengan tepat apa yang terjadi dan menghapus setiap jejaknya, jika Anda bisa. Sekali lagi, jika Anda belum me-restart sistem, mungkin yang diperlukan hanyalah membersihkan /etc/rc.d/rc.local , hapus semua yang diunduh oleh penyerang, dan yang terakhir, ubah kata sandinya!

Namun, jika penyerang sudah dapat menjalankan payload, mungkin ada modifikasi lain pada sistem Anda yang mungkin sulit dideteksi. Itulah sebabnya penghapusan lengkap adalah satu-satunya pilihan yang aman (dan disarankan). Seperti yang Anda sebutkan, peralatan yang dimaksud mungkin merupakan target pengujian/pengembangan, jadi mungkin menghapusnya tidak sesulit dalam kasus lain.

Perbarui :Terlepas dari apa yang saya tulis tentang kemungkinan pemulihan, saya ingin menggemakan sangat kuat MariusMatutiae rekomendasi untuk tidak menyepelekan potensi kerusakan yang disebabkan oleh muatan ini dan sejauh mana muatan tersebut dapat membahayakan sistem target.


Linux
  1. Mengapa Server Memblokir IP Saya?

  2. Dapatkan Usia File yang Diberikan?

  3. Bukankah Kurang Hanya Lebih?

  1. Dokumentasi ObjectRocket

  2. Dapatkan ruang disk kosong dengan df untuk hanya menampilkan ruang kosong di kb?

  3. VirtualBox di Linux:Gambar Windows apa yang digunakan dan di mana mendapatkannya?

  1. Bagaimana Anda memulai Linux?

  2. Bagaimana Cara Mendapatkan Tipe Data Variabel Di Zsh?

  3. Bagaimana Agar Uuencode Berfungsi?