# Jak odpalić SSHd bez terminala i bez roota???

## eryk

Mission Impossible?

Jest sobie Gentoo, wszystko gra  :Smile:  Ale pewnego razu po aktualizacji z poziomu domyślnego uciekło sshd po braku prądu serwer rusza bez sshd. No i tu schody, nie wiele usług działa jedna z obiecujących jest witryna na Joomli gdzie zainstalowałem sobie PHPshell ale mam dostęp tylko do trybu komend mogę coś niby uruchomić, ale na roota nie wejdę....

```
$ su

su: must be run from a terminal

$ sudo

sh: sudo: command not found
```

Serwer w Polsce ja w Anglii, w budynku kładą kafelki i nikt z zaprzyjaźnionych lokalnych informatyków dostać sie nie może do serwerowni. Normalnie patowa sytuacja. Czy ktoś ma pomysł, jak uruchomić sshd w PHPshell?

----------

## bartmarian

skoro to w polsce to za max 1000zl podjade, przejde obok tych od kafelkow i wlacze demona  :Wink: 

----------

## SlashBeast

Pytanie dalczego po reboocie nie wstał sshd, zapomniałeś dodac go do runlevelu a możę jest jakiś zonk z sshd?

----------

## timor

A masz może dostęp przez ftp'a? Może udało by Ci się pozamieniać pliki konfiguracyjne... Chyba, że zgodnie z zaleceniami bezpieczeństwa nie pozwalasz na logowanie root'owi po ftp... ;/

----------

## manwe_

Pogrzeb za local root exploits np. na packetstorm.

----------

## eryk

- Dostęp fizyczny niemożliwy chwilowo, 

- ftp ma chroot, 

- local exploits tez nie dlatego ze przez phpshella sie nie bardzo da robić zaawansowane rzeczy. 

SlashBeast: Tego właśnie nie wiem, a bez ssh tez sie nie dowiem.

----------

## Redhot

A sprobuj spod tego PHPShell wyciagnac jakies logi czy coś. Konfigi sshd etc.

----------

## eryk

$ cat ssh_config

```
#   $OpenBSD: ssh_config,v 1.22 2006/05/29 12:56:33 dtucker Exp $

# This is the ssh client system-wide configuration file.  See

# ssh_config(5) for more information.  This file provides defaults for

# users, and the values can be changed in per-user configuration files

# or on the command line.

# Configuration data is parsed as follows:

#  1. command line options

#  2. user-specific file

#  3. system-wide file

# Any configuration value is only changed the first time it is set.

# Thus, host-specific definitions should be at the beginning of the

# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive

# list of available options, their meanings and defaults, please see the

# ssh_config(5) man page.

# Host *

#   ForwardAgent no

#   ForwardX11 no

#   RhostsRSAAuthentication no

#   RSAAuthentication yes

#   PasswordAuthentication yes

#   HostbasedAuthentication no

#   GSSAPIAuthentication no

#   GSSAPIDelegateCredentials no

#   BatchMode no

#   CheckHostIP yes

#   AddressFamily any

#   ConnectTimeout 0

#   StrictHostKeyChecking ask

#   IdentityFile ~/.ssh/identity

#   IdentityFile ~/.ssh/id_rsa

#   IdentityFile ~/.ssh/id_dsa

#   Port 22

Protocol 2

#   Cipher 3des

#   Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc

#   EscapeChar ~

#   Tunnel no

#   TunnelDevice any:any

#   PermitLocalCommand no
```

$ cat sshd_config

cat: sshd_config: Permission denied

Tak sie zastanawiam jak posłać komendę screenem albo su, albo czyms innym zeby tylko z rootem wykonac sshd...

----------

## manwe_

A co mu dadzą configi? Nie mam teraz za bardzo czasu posprawdzać co potrafi ten phpshell, ale może skompiluj paczkę sshd z configiem na port >1024, wrzuć do .tar.bz2, na serwer, rozpakuj i odpal [o ile będziesz mógł]. Teoretycznie powinno zadziałać [o ile nie masz DROP na ogniomurku na wszystko > 1024].

----------

## eryk

Jest to jakiś pomysł, spróbuje. Może się udać.

----------

## Redhot

Konfig mogl mu dac tyle, ze po braku pradu robił się fsck i coś moglo sie spiepszyć. Trzeba sprawdzac co mozna.

----------

## manwe_

No i wciąż nie rozumiem, nawet gdyby configi wcięło, w czym by to pomogło, żeby się dostać do kompa?

----------

## eryk

Chłopaki nie mam skąd wziąć skompilowanego pod x86 sshd  :Sad:  albo może ktoś ma jakiegoś backdoora skompilowanego już to sobie pomogę w ten sposób. 

Z tego co sprawdziłem sshd nie jest w 'default' i po prostu  sie nie uruchomiło (cholera wie jak to się stało!) tylko tyle wystarczy zrobić na /etc/init.d/sshd start i będzie po problemie. Jedyny problem w tym jak to zrobić nie mając dostępu  :Smile: 

----------

## manwe_

Jaki cpu? Mogę Ci dać paczkę z sshd, ale -march=pentium3.

----------

## scyld

Umieść poprzez FTP skrypt pod expecta i spróbuj odpalić go pod phpshell'em.

Przykładowy skrypt:

```
#! /usr/bin/expect

spawn su - root

set prompt ".*root@.*"

sleep 1

expect "Hasło: "

send "mojetajnehasło\r"

expect -re $prompt

send "ps ax\r" # <-- tu wstaw polecenie startujące sshd

expect -re $prompt

send "exit\r"

expect eof

puts "OK: ***$expect_out(buffer)***"
```

HTH. U mnie działa.

----------

## eryk

Nie, no! Nie mam expecta psia mać. Grrrrr.

Może w której z zainstalowanych powłok da sie to zrobić. Mam zsh tam...

----------

## v7n

hmm, z tego co widze, expect jest w paczce dev-tcltk/expect, ktory to wymaga dev-lang/tcl. jesli nie da sie tego zrobic pod zsh, to moze ktos zbuduje paczki i sobie tam rozpakujesz, o ile mozesz.

moj procesor, to athlon-xp, wiec moge paczki zbudowac. ew zmienic w make.conf procesor na jakis nizszy, przekompilowac i zbudowac paczki.

----------

## canis_lupus

A CRON'a masz uruchomionego? Może przez FTP wgraj inny plik crona i niec cron Ci uruchomi SSHd.

----------

## eryk

Cron dziala a moja architektura to pentium2 tak myślę tyle ze ja tam mam 4 cpu. Czyli smp. Tylko jak mi sie uda zamienić crona mając tylko dostęp do usera?

----------

## canis_lupus

Jako root na FTP wejść nie możesz?

----------

## v7n

cron dla usera to generalnie $ EDITOR=nano crontab -e o ile tego nie zablokowales. no i raczej watpie, zeby pod phpshellem pokazał Ci sie ladny edytor  :Wink: 

cron trzyma pliki, ktore potem czyta i wykonuje z nich zadania, w /var/cron/tabs/dany_user ( przynajmniej u mnie ). taki plik ma skladnie standartowa:

```
* * * * * polecenie
```

 mozesz sprobowac wgrac cos recznie do takiego pliku, ale chyba tez trzeba miec prawa roota :-\

hmm

kurde, naprodukowalem sie, ale chyba i tak Ci sie to do niczego nie przyda... 

moze lepiej zainstalujesz te paczki tcl i expect.

----------

## c2p

 *v7n wrote:*   

> cron trzyma pliki, które potem czyta i wykonuje z nich zadania, w /var/cron/tabs/dany_user ( przynajmniej u mnie ).

 

```
# ls /var/cron/tabs

ls: nie ma dostępu do /var/cron/tabs: Nie ma takiego pliku ani katalog
```

Za to:

```
# ls /var/spool/cron/crontabs/

c2p  root
```

Ale bez praw roota to i tak się nie przyda.

----------

## v7n

@c2p sprawdzalem akurat na openbsd ( taki terminal mialem pod reka  :Razz:  )

----------

## eryk

Teraz to będzie po kłopocie, sorki, że się nie odzywałem. Ale było hardcorowo na rowerze, i złamałem jedynkę - no i jestem w Polsce! Podjadę wkrótce do serwerowni i zrobię porządek  :Smile: 

----------

