Jumat, 22 Juli 2016

Belajar edit text menggunakan awk dan sed

// // Leave a Comment
Hi guys, udah lama banget nih sejak ane share tutorial, kali ini ane nulis hal sederhana aja. :)

Dimulai dari belajar hack server. Timbul satu pertanyaan, kalo mau ngelist nama user hasil dump nya tanpa ada tulisan lain itu gimana ya?

misal nih, hasil dari enumerasi server yang mau ane ambil usernya adalah sebagai berikut :

 ====================================================
|    Users on 192.168.56.101 via RID cycling (RIDS: 500-550,1000-1050)    |
 ====================================================
[I] Found new SID: S-1-22-1
[I] Found new SID: S-1-5-21-864226560-67800430-3082388513
[I] Found new SID: S-1-5-32
[+] Enumerating users using SID S-1-22-1 and logon username '', password ''
S-1-22-1-1000 Unix User\peter (Local User)
S-1-22-1-1001 Unix User\RNunemaker (Local User)
S-1-22-1-1002 Unix User\ETollefson (Local User)
S-1-22-1-1003 Unix User\DSwanger (Local User)
S-1-22-1-1004 Unix User\AParnell (Local User)
S-1-22-1-1005 Unix User\SHayslett (Local User)
S-1-22-1-1006 Unix User\MBassin (Local User)
S-1-22-1-1007 Unix User\JBare (Local User)
S-1-22-1-1008 Unix User\LSolum (Local User)
S-1-22-1-1009 Unix User\IChadwick (Local User)
S-1-22-1-1010 Unix User\MFrei (Local User)
S-1-22-1-1011 Unix User\SStroud (Local User)
S-1-22-1-1012 Unix User\CCeaser (Local User)
S-1-22-1-1013 Unix User\JKanode (Local User)
S-1-22-1-1014 Unix User\CJoo (Local User)
S-1-22-1-1015 Unix User\Eeth (Local User)
S-1-22-1-1016 Unix User\LSolum2 (Local User)
S-1-22-1-1017 Unix User\JLipps (Local User)
S-1-22-1-1018 Unix User\jamie (Local User)
S-1-22-1-1019 Unix User\Sam (Local User)
S-1-22-1-1020 Unix User\Drew (Local User)
S-1-22-1-1021 Unix User\jess (Local User)
S-1-22-1-1022 Unix User\SHAY (Local User)
S-1-22-1-1023 Unix User\Taylor (Local User)
S-1-22-1-1024 Unix User\mel (Local User)
S-1-22-1-1025 Unix User\kai (Local User)
S-1-22-1-1026 Unix User\zoe (Local User)
S-1-22-1-1027 Unix User\NATHAN (Local User)
S-1-22-1-1028 Unix User\www (Local User)
S-1-22-1-1029 Unix User\elly (Local User)



nah kan perlu tuh nama nama usernya, dan dibuat list, kali aja ada yang tembus di crack :D

Kopas satu satu?

jadi gue buka text editor, semacam gedit, vi , nano atau sebangsanya trus kopi satu satu dari terminal?

peter
Rkai

capek kalo harus ctrl + shift + c  kemudian ctrl + v bolak balik. yah kalau cuma 10 line mungkin agak semangat, kalo pas 100 line?

hmmm... kayaknya butuh sesuatu yang lebih gampang deh.

oke kopi aja semua ke text editor pada bagian user nya aja kemudian simpen dengan nama "hasil" untuk contoh nama file nya adalah hasil dengan isi hasil kopian sebagai berikut.

S-1-22-1-1000 Unix User\peter (Local User)
S-1-22-1-1001 Unix User\RNunemaker (Local User)
S-1-22-1-1002 Unix User\ETollefson (Local User)
S-1-22-1-1003 Unix User\DSwanger (Local User)
S-1-22-1-1004 Unix User\AParnell (Local User)
S-1-22-1-1005 Unix User\SHayslett (Local User)
S-1-22-1-1006 Unix User\MBassin (Local User)
S-1-22-1-1007 Unix User\JBare (Local User)
S-1-22-1-1008 Unix User\LSolum (Local User)
S-1-22-1-1009 Unix User\IChadwick (Local User)
S-1-22-1-1010 Unix User\MFrei (Local User)
S-1-22-1-1011 Unix User\SStroud (Local User)
S-1-22-1-1012 Unix User\CCeaser (Local User)
S-1-22-1-1013 Unix User\JKanode (Local User)
S-1-22-1-1014 Unix User\CJoo (Local User)
S-1-22-1-1015 Unix User\Eeth (Local User)
S-1-22-1-1016 Unix User\LSolum2 (Local User)
S-1-22-1-1017 Unix User\JLipps (Local User)
S-1-22-1-1018 Unix User\jamie (Local User)
S-1-22-1-1019 Unix User\Sam (Local User)
S-1-22-1-1020 Unix User\Drew (Local User)
S-1-22-1-1021 Unix User\jess (Local User)
S-1-22-1-1022 Unix User\SHAY (Local User)
S-1-22-1-1023 Unix User\Taylor (Local User)
S-1-22-1-1024 Unix User\mel (Local User)
S-1-22-1-1025 Unix User\kai (Local User)
S-1-22-1-1026 Unix User\zoe (Local User)
S-1-22-1-1027 Unix User\NATHAN (Local User)
S-1-22-1-1028 Unix User\www (Local User)
S-1-22-1-1029 Unix User\elly (Local User)



Step 1
Sekarang kita hitung ada dikolom berapa user berada.

Kolom pertama : S-1-22-1-1000 

Kolom kedua : Unix

Kolom ketiga :  User\peter

Kolom keempat : (Local User)

Oke kita tahu kalau nama nama user yang mau kita jadikan list ada di kolom ketiga. 

Step 2 
coba kita cat dulu biar kerasa samaan... :) 


Udah sama? kita lanjut ya..

Mari kita potong agar hanya kolom ketiga saja yang kita dapatkan textnya.

Kita bisa menggunakan perintah awk sederhana. 

perintahnya seperti ini : " awk {'print $3'}

artinya kira kira seperti ini "Tolong dong.. print kolom ke tiga!!".

yuk praktek.

terminal$ cat hasil | awk {'print $3'}

Perintah di atas kira kira maksudnya gini, "Tampilin dong isi dari file 'hasil' tapi yang kolom ke 3 aja ya..!!"

 Yuk samakan hasil :) 




Wih udah nih kita daper nama nama usernya, eh tapi kok masih ada tulisan User\ didepannya. Masih belum beres dong. 

Step 3
Sebelumnya, hasil dari masukannya kan belum disimpan tuh... masa iya mau buka tab baru di texteditor trus di kopas... masukin aja langsung jadi nama file baru.

terminal$ cat hasil | awk {'print $3'} > hasil2

Nah hasil dari minta kolom ketiga tadi secara otomatis sudah masuk di file baru dengan nama hasil2.


Kenapa sih harus di buat file ke dua? kan gak penting banget..

Sederhana, karena nanti file ke 2 ini yang akan jadi listingnya.

Step 4
Nah sekarang kita akan buang tulisan User\  yang ada di tiap nama user.

Kita bisa menggunakan sed untuk melakukannya.

Kita menggunakan fungsi substitusi atau mengganti kata, logikanya kata User\ kita ganti dengan kata kosong.

Perintahnya : sed 's/katalama/katabaru/'



Dalam permasalahan kita sekarang yang ingin kita buat adalah seperti ini :


awalnya : User\peter
diganti jadi : peter

jadi perintah yang harus kita buat adalah :

terminal$ sed 's/User\\//' hasil2

Kenapa harus backslash dua kali ? Soalnya kalo sekali nggak akan di anggap :) 
backslash sekali artinya kita menerangkan kalau setelah backslash adalah karakter istimewa misal : \t  untuk tab.  

nah jika kita tulis \ maka hasilnya backslash tersebut tidak di baca.

agar komputer membaca sebagai karakter backslash, kita gunakan \\

~~~selamat berpusing ria~~~ hahahah

Oke lanjut. 

arti dari perintah di atas kira kira begini "Tolong didalam file dengan nama 'hasil2' kata User\ di ubah menjadi  (kosong)"




 huhuhu.. selesai deh apa yang kita inginkan... yuk tinggal simpen di list..

nah perintah tadi nggak melakukan perubahan ke file hasil2 , hanya tampilan di terminal saja. 

Kalau ingin merubah nya kita bisa menambahkan -i dalam perintahnya menjadi:

terminal$ sed -i "s/User\\//" hasil2

File hasil2 akan berubah. 

atau kalau mau buat file lain  dengan nama ListUser misal

terminal$ sed "s/User\\//" hasil2 > ListUser 



Yeah... tutorial akhirnya selesai juga.. :) 

Tutorial ini dibuat dengan bekerjasama dengan FP salakmi

Terimakasih kepada :

Allah Jalla Wa 'ala
Rosululloh SAW
KeduaOrtu tercita
FP Salakmi
Dan teman teman yang biasa memberi dukungan, baik di dunia nyata maupun dunia maya.
Comments
0 Comments

0 komentar:

Posting Komentar

Kritik dan sarannya kawan.