gone - no logout

14 отговора 472 прегледа
#1

gone - no logout

Hajde i tuk da popitam ...
znachi lognah se s ssh na edna mashina i ko stana, mojto PC li zabi, servera li me izfurli .. ne si spomnjam .. beshi opdavna
no ottogava mi dava che sum lognat na pts/0 , vsichki sledvashti logvanija zapochvat ot pts/1 i nagore.
eto kakvo mi dava last:
root pts/0 my.domain.com Wed Nov 21 10:12 gone - no logout

ta
kak da go zatvorja toja zapis v wtmp???
njakoj ima li ideja?

pozdravi,
batVasso

Отговор
в отговор на batVasso #2

Опитай

ps -ef | grep pts/0 и после kill -9 всички PID-ове с pts/0

Отговор
в отговор на Masklin #3

Re: Опитай

e tova beshe edno ot purvite neshta deto opitah
estestveno njamashe nishto
sushto taka opitah i fuser /dev/pts/0 ... pak nisho
v krajna smetka poglednah v /dev/pts i vidjah che takuv file prosto njama

spored men v wtmp stoi otvoren zapis, kojto trjabva da bude zatvoren.
edno vreme kato sum rabotil s radius server, toj si pazeshe logvanijata v file radwtmp, i kato se poluchi takuv problem, zapisite se zatvarjaha sus radzap edikvosi ... i chista rabotata

ta dali njama njakakva komanda za zatvarjane na zapisi v wtmp ili puk po njakuv drug nachin da go izluja ....

restart ne mi vurshi rabota, servera trjabva da e 100% online

pozdravi,
batVasso

Отговор
в отговор на batVasso #4

hints

Значи, ако си програмист и имаш свободно време, прегледай man 5 wtmp - ще видиш структурата на записите и лесно ще можеш да си напишеш програмка, която да проследи какъв е проблема.

Друг вариант - виж тук; ще намериш програма, която (по думите на авторите) " Wipes Your Presence on SCO,BSD, Ultrix, and HP/UX UNIX"; можеш да използваш идеята в нея.

Изобщо rootkits има колкото искаш, потърси с google и ще се хванеш за главата. После - сещаш се; ако проблемът е какъвто казваш и конкретния rootkit е достатъчно добър, ще можеш да изтриеш проблемният запис.

Отговор
в отговор на Masklin #5

Re: hints

mersi za suveta
verno se fanah za glavata, ama neshto ne mi se shte da probvam s takiva hakerski programki, ako se prehabi utmp file-a (v krajna smetka nego go narochih za vinovnik), moje sshd da reche da ne me puska .. she probvam purvo na njakoja druga mashina

mersi pak
batVasso

Отговор
в отговор на batVasso #6

LOL

Проблема не е във wtmp файла няма смисъл да го мъчиш напразно. Готов съм да се обзаложа че са умрели всички процеси за които /dev/pts/0 e контролен, но е останало породеното копие на sshd, което държи отворен /dev/ptmx.
Затова първо правиш списък на процесите отворили /dev/ptmx чрез:
fuser /dev/ptmx,
и запомняш процесите, които го ползват. После правиш списък на всички процеси със:
ps axf | less
И търсиш копие на sshd, което:
1. Е от процесите отворили /dev/ptmx.
2. Няма контролен терминал, (? в полето за контролен терминал).
3. Има родител (не би искал да ликвидираш основното копие на sshd).

След като го откриеш, може спокойно да го ликвидираш.
-------------------------------------------
From "Top 15 Phrases You're Least Likely To See In Your Company's Annual Report":
Sales were off this year, but our Returns department did a booming business.

Отговор
в отговор на Penguin #7

Re: LOL

zdravej
i az mislja che problema iznachalno idva ot sshd, kojto ne si e zatvoril sesijata korektno, taka che tova koeto ti mi pishesh go napravih oshte v nachaloto i nishto ne izleze
vsushtnost izliza samo procesa s kojto v momenta sum vutre.
a ne mi se shte da restariram celija sshd daemon, ako ne trugne kvo she prava, toja server e na majnata si i trjabva da e 100% up.
btw sega probvah na druga mashina da se zakacha s ssh, i da restartiram demona... poluchi se slednoto - sshd sprja, no aktivnata sesija si ostana, bjah si vutre. kato se opitah da go pusna nanovo sshd ne poiska.. sega shte go borja s debug da vidja ko shi kaje.

njakakvi drugi idei
batVasso

Отговор
в отговор на batVasso #8

Пусни още един sshd -

с друг конфигурационен файл, на друг порт, ако щеш и от друг user (даже е по-добре), влез през него и набий другия sshd - а ако не тръгне, тъкмо ще видиш защо не тръгва.

...пазете дърветата, не са ваши...
Отговор
в отговор на batVasso #9

Re: LOL

taka....

netrugvaneto na sshd se okaza samo na edno SuSE, init.d scripta proverjava dali njama aktiven proccess sus sushtoto ime i t.n., gluposti s edna duma
ta
sled uspeshnija restart na sshd daemona pts/0 vse oshte se vodi zaeto

batVasso

Отговор
в отговор на batVasso #10

Re: LOL

Можеш ли да пратиш резултата от
ps u `fuser /dev/ptmx | cut -f2 -d":"`

Отговор
в отговор на Penguin #11

Re: LOL

Eto prashtam ti go:

www:~# ps u `fuser /dev/ptmx | cut -f2 -d":"`
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 14882 0.0 0.4 3888 2020 ? S 10:07 0:00 /usr/sbin/sshd

www:~# who
root pts/0 Nov 21 10:12 (..................)
root pts/1 Dec 5 10:07 (..................)

kakto vijdash ima edno sshd, no tova e tekushtata sesija s kojato sum vutre

i taka faktite sa:
1. njama proces kojto da durji pts/0
2. /dev/pts/0 ne sushtestvuva
3. sled restart na sshd polojenieto si ostava sushtoto

stigam do purvonachalnija si izvod che problema e otvoren zapis v utmp/wtmp

pozdravi
batVasso

Отговор
в отговор на batVasso #12

Re: LOL

Странно. /usr/bin/w чете само utmp, така че пробвай да зачистиш цялото utmp с нещо от типа на

fire:~# > /var/run/utmp
fire:~#

Ако и това не помогне, значи нещо сериозно не е наред. Пробвай да заредиш sshd с gdb.

fire:~# gdb /usr/sbin/sshd

И копирай във форума първата страница с резултата от "disas ssh_pty_internal_allocate"

Отговор
в отговор на batVasso #13

99% uspeh

taka znachi

za vsichki koito vzeha uchastie v diskusijata, a i za drugite, na koito bi im bilo interesno, bih kazal che postignah 99% uspeh s problema.

prosto vljazoh v /var/run/utmp i iztrih otvarjashtija zapis za problemnija session.
vtoroto pole ot zapisa e PID na procesa, na tozi pid obache ne otgovarjashe nikakuv tekusht proces, i moje bi zatova zapisa e stojal otvoren, chakajki procesa s dadenija PID da prikluchi i da razchisti sled sebe si.

ta taka sled iztrivane na zapisa who mi vrushta korektna informacija. (BTW predi kogato ~#who mi vrushtashe toz visjasht login, ~#w ne go davashe ... tova sushto e interesno donjakude, sled kato i dvete programki chetat ot utmp ...)

tova koeto ostana obache e che produljavam da se logvam ot pts/1 nagore, pts/0 sjakash vse oshte se schita za zaet njakude

no veche ne mi puka, pone ne mi se nabiva na ochi


mersi na sichki koito okazaha njakvo sudejstvie

pozdravi
batVasso

Отговор
в отговор на batVasso #14

Re: 99% uspeh

Ya kaji kak go iztri, che i az imam podoben problem... I to s 2 visyashti login-a.

Отговор
в отговор на Potencialen emigrant #15

iztrivane

ami masklin mi predloji da tursja za razni root kitove
naistina mnogo takiva izljazoha po gugalta
no za takava prosta operacija edin obiknoven redaktor vurshi rabota
taka:
vljazoh v /var/run/utmp s mcedit (redaktora na mc), namerih stringa pts/0, koeto beshe problemnija login za men, 3-4 byte predi tova v HEX vid e pid-a na procesa kojto e durjal pts-a, i oshte malko predi tova bi trjabvalo da e type of login - short (prilojil sum strukturata na zapisa).
Ne sum se zadulbochaval da tursja tochno otkude zapochva zapisa, zashtoto sledvashtija zapis kojto e da rechem na pts/1 e ot sushtija tip (pone v moja sluchaj beshe taka).
ta markirah vsichko zapochvajki ot PID-a na problemnija zapis ta do PID-a na sledvashtija. F8, F2, <enter> i gotovo

ako obache zapisa sled tozi kojto e problemen ne e ot sushtija tip, shte trjabva da razberesh tochno otkude zapochva, za da ne namajesh suvsem sistemata.

pozdravi
batVasso

struct utmp {
short ut_type; /* type of login */
pid_t ut_pid; /* pid of login process */
char ut_line[UT_LINESIZE]; /* device name of tty - "/dev/" */
char ut_id[4]; /* init id or abbrev. ttyname */
char ut_user[UT_NAMESIZE]; /* user name */
char ut_host[UT_HOSTSIZE]; /* hostname for remote login */
struct exit_status ut_exit; /* The exit status of a process
marked as DEAD_PROCESS. */
long ut_session; /* session ID, used for windowing*/
struct timeval ut_tv; /* time entry was made. */
int32_t ut_addr_v6[4]; /* IP address of remote host. */
char pad[20]; /* Reserved for future use. */
};

Отговор