xorg 693 Zgłoś post Napisano Czerwiec 16, 2009 Hey, poszukuję sposobu na wykonanie danego polecenia w danym procesie, posiadając jego PID. Ktoś coś wie ? Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Czerwiec 16, 2009 Wykonanie jakiego polecenia? Powiedzmy masz sobie PID=12345 Aplikacja: Apache. I jakie polecenie ty chcesz w tym procesie wykonać? Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Czerwiec 16, 2009 Dowolne Nie mówimy tu o apache akurat... tylko powiedzmy serwer głosowy Ventrilo. Można tam wykonać np. komendę status. Coś takiego mi potrzebne... Nie potrzebuję nic co aplikacja mi zwróci, po prostu wykonać coś w niej i tyle. Udostępnij ten post Link to postu Udostępnij na innych stronach
egi.pl 0 Zgłoś post Napisano Czerwiec 16, 2009 Dowolne Nie mówimy tu o apache akurat... tylko powiedzmy serwer głosowy Ventrilo. Można tam wykonać np. komendę status. Coś takiego mi potrzebne... Nie potrzebuję nic co aplikacja mi zwróci, po prostu wykonać coś w niej i tyle. zdecydowanie nie bedzie to latwe zadanie (szukaj pod haslami: code inject itp.., http://lists.virus.org/darklab-0201/msg00000.html <- tu jakis stary PoC). Duzo sprawniej wyjdzie skompilowac dany kod z uwzglednieniem takich wymagan. Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Czerwiec 16, 2009 Niestety source nie ma... a wiem że takie coś jest możliwe. Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Czerwiec 17, 2009 Dowolne Nie ma takiej możliwości, no chyba, że potrafisz przełamać praktycznie wszystkie zabezpieczenia w systemie operacyjnym... Nie mówimy tu o apache akurat... tylko powiedzmy serwer głosowy Ventrilo.Serio? Od wczoraj tu jesteś, że jeszcze nie wiesz, że gdybając żadnej sensownej odpowiedzi nie dostaniesz? Udostępnij ten post Link to postu Udostępnij na innych stronach
egi.pl 0 Zgłoś post Napisano Czerwiec 17, 2009 Nie ma takiej możliwości, no chyba, że potrafisz przełamać praktycznie wszystkie zabezpieczenia w systemie operacyjnym... Jakis mit. Jakie to zabezpieczenia musi przelamac root w celu manipulacji pamiecia procesu? Co wiecej moze manipulowac pamiecia jadra. pozdrawiam Udostępnij ten post Link to postu Udostępnij na innych stronach
p 3 Zgłoś post Napisano Czerwiec 17, 2009 Jakis mit. Jakie to zabezpieczenia musi przelamac root w celu manipulacji pamiecia procesu? Co wiecej moze manipulowac pamiecia jadra.W celu manipulacji pamięcią? Żadnych (w końcu niczego takiego nie napisałem ). Natomiast żeby wykonać dowolne polecenie w dowolnym procesie (i jednocześnie go nie ubić) musiałby w moim mniemaniu obejść zabezpieczenia typu: W^X, mprotect, guard pages czy kanarki... Generalnie wszystko co chroni stos / pamięć procesu przed niepowołanymi manipulacjami. Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Czerwiec 18, 2009 Widziałem coś takiego tylko w zastosowaniu serwerów gier - dlatego pytam. Udostępnij ten post Link to postu Udostępnij na innych stronach
egi.pl 0 Zgłoś post Napisano Czerwiec 18, 2009 W celu manipulacji pamięcią? Żadnych (w końcu niczego takiego nie napisałem ). Ale to sie wlasnie do tego sprowadza. Natomiast żeby wykonać dowolne polecenie w dowolnym procesie (i jednocześnie go nie ubić) musiałby w moim mniemaniu obejść zabezpieczenia typu: W^X, mprotect, guard pages czy kanarki... Generalnie wszystko co chroni stos / pamięć procesu przed niepowołanymi manipulacjami. Wszystki wymienione rozwiazania zostaly zaprojektowane by zapobiegac eskalacji uprawnien i moga co najwyzej utrudnic zadanie rootowi. Udostępnij ten post Link to postu Udostępnij na innych stronach
kafi 2425 Zgłoś post Napisano Czerwiec 18, 2009 Znasz sposób na ^^bezpieczne^^ dobranie się do STDIN procesu? Skoro to takie łatwe, to napisz, jak to w miarę prosto <NIE przez gdb> zrobić... Udostępnij ten post Link to postu Udostępnij na innych stronach
lazy 33 Zgłoś post Napisano Czerwiec 18, 2009 Natomiast żeby wykonać dowolne polecenie w dowolnym procesie (i jednocześnie go nie ubić) musiałby w moim mniemaniu obejść zabezpieczenia typu: W^X, mprotect, guard pages czy kanarki... Generalnie wszystko co chroni stos / pamięć procesu przed niepowołanymi manipulacjami. ptrace() ? http://www.linuxjournal.com/article/6210 czy w wersji bardziej ehem użytecznej http://www.phrack.org/issues.html?issue=59&id=8#article Udostępnij ten post Link to postu Udostępnij na innych stronach
egi.pl 0 Zgłoś post Napisano Czerwiec 18, 2009 Znasz sposób na ^^bezpieczne^^ dobranie się do STDIN procesu?Skoro to takie łatwe, to napisz, jak to w miarę prosto <NIE przez gdb> zrobić... Moj pierwszy post w tym temacie zaczynal sie: zdecydowanie nie bedzie to latwe zadanie... , takze prosze dokladniej czytac. A co do Twojego pytania, to nie wiem jak rozumiec "bezpiecznie dobrac sie", ale jesli chcesz po prostu czytac stdin to udaj sie do /proc/PID_PROCESU/fd i czytaj plik 0 (oczywiscie musisz miec uprawnienia) Udostępnij ten post Link to postu Udostępnij na innych stronach
ertcap 0 Zgłoś post Napisano Czerwiec 18, 2009 Biedny @xorg chcial sobie zrobic "zdalna konsole" do serwera z gra a Wy mu takie rzeczy piszecie No ale zle zadal pytanie stad takie odpowiedzi. Do jego zastosowania potrzebny jest jakis maly "posrednik" - ktory z jednej strony odpali program i bedzie mogl z nim sie komunikowac via stdin/stdout z drugiej strony bedzie nasluchiwal na jakims porcie i przyjmowal komendy od np. panelu www napisanego w phpie. Taki "posrednik" mozesz napisac w dowolnym jezyku (w tym i php), mozesz sprobowac wykorzystac np. screena (panel laczy sie przez ssh z serwerem, wchodzi na screena i wykonuje potrzebne operacje), itd. Udostępnij ten post Link to postu Udostępnij na innych stronach
egi.pl 0 Zgłoś post Napisano Czerwiec 18, 2009 Biedny @xorg chcial sobie zrobic "zdalna konsole" do serwera z gra a Wy mu takie rzeczy piszecie No ale zle zadal pytanie stad takie odpowiedzi.Do jego zastosowania potrzebny jest jakis maly "posrednik" - ktory z jednej strony odpali program i bedzie mogl z nim sie komunikowac via stdin/stdout z drugiej strony bedzie nasluchiwal na jakims porcie i przyjmowal komendy od np. panelu www napisanego w phpie. Taki "posrednik" mozesz napisac w dowolnym jezyku (w tym i php), mozesz sprobowac wykorzystac np. screena (panel laczy sie przez ssh z serwerem, wchodzi na screena i wykonuje potrzebne operacje), itd. Z tego co rozumiem, to wlasnie tu jest problem. Proces dziala jakos serwer (czyli najpewniej nie ma terminalu sterujacego -> czyli kontakt via stdin/stdout odpada), a "xorg" chce wywolac w nim jakis kod "w locie". A jeszcze do tego nie posiada zrodel, takze go nie zmodyfikuje w prosty sposob;) Udostępnij ten post Link to postu Udostępnij na innych stronach
ertcap 0 Zgłoś post Napisano Czerwiec 18, 2009 Z tego co rozumiem, to wlasnie tu jest problem. Proces dziala jakos serwer (czyli najpewniej nie ma terminalu sterujacego -> czyli kontakt via stdin/stdout odpada), a "xorg" chce wywolac w nim jakis kod "w locie". A jeszcze do tego nie posiada zrodel, takze go nie zmodyfikuje w prosty sposob;) Znajac specyfikacje roznych gier sieciowych strzelam, ze jest tak jak mowie - ale to oczywiscie sam xorg powinien rozwiac watpliwosci i wytlumaczyc dokladnie o co mu chodzi Udostępnij ten post Link to postu Udostępnij na innych stronach
xorg 693 Zgłoś post Napisano Czerwiec 19, 2009 Biedny @xorg chcial sobie zrobic "zdalna konsole" do serwera z gra a Wy mu takie rzeczy piszecie No ale zle zadal pytanie stad takie odpowiedzi.Do jego zastosowania potrzebny jest jakis maly "posrednik" - ktory z jednej strony odpali program i bedzie mogl z nim sie komunikowac via stdin/stdout z drugiej strony bedzie nasluchiwal na jakims porcie i przyjmowal komendy od np. panelu www napisanego w phpie. Taki "posrednik" mozesz napisac w dowolnym jezyku (w tym i php), mozesz sprobowac wykorzystac np. screena (panel laczy sie przez ssh z serwerem, wchodzi na screena i wykonuje potrzebne operacje), itd. Chciałem po prostu zrobić aby na wszystkich serwerach gry co kilka minut wymuszało się pewne ustawienie, niekorzystajac z interfejsu konsolki zdalnej wbudowanej w serwer gry. wchodzi na screena i wykonuje potrzebne operacje) How to ? Udostępnij ten post Link to postu Udostępnij na innych stronach