HOME não está definido ao explorar uma vulnerabilidade

1

Você pode me ajudar a resolver esse erro? sh: linha 61: cd: HOME não definida.

Distribuição:Metasploitable2(Ubuntu8.04)

/root/.bashrc(comentárioseespaçosembrancoremovidos):

[-z"$PS1" ] && return
shopt -s checkwinsize
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi
case "$TERM" in
xterm-color)
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]\$ '
;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}
# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
fi

mesg n
7"' ;; *) ;; esac if [ "$TERM" != "dumb" ]; then eval "'dircolors -b'" alias ls='ls --color=auto' fi

cat /root/.profile

sh

ps -p $$ -ocomm =

[ -z "$PS1" ] && return
shopt -s checkwinsize
[ -x /usr/bin/lesspipe ] && eval "$(lesspipe)"
if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi
case "$TERM" in
xterm-color)
    PS1='${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]\$ '
;;
*)
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    ;;
esac
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}
# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
fi

mesg n
7"' ;; *) ;; esac if [ "$TERM" != "dumb" ]; then eval "'dircolors -b'" alias ls='ls --color=auto' fi

Eu tentei usar o "rlogin -l root x.x.x.x" do meu kali para esta máquina, mas não funcionou. Os arquivos .rhosts são ok, mas eu recebo esta mensagem de erro, então talvez esta seja a razão pela qual isso não funciona.

1) faça o login com telnet usando backdoor em 1524

2)façaologincomaexploraçãodoscriptusermandosamba:

3)sshcomsenha(ocdestáfuncionando):

    
por BlackCat 13.06.2015 / 16:43

1 resposta

3

Quando você efetua login por meio de um método normal (no console, por SSH, etc.), o programa que manipula o login define algumas variáveis de ambiente, incluindo HOME . Se você obtiver acesso a um shell não por meio do login, mas ao explorar uma vulnerabilidade em um programa, você obtém o ambiente desse programa, que frequentemente, mas nem sempre, inclui HOME .

No bash, por algum motivo, o comando cd sem argumento usa o valor de HOME como o destino. No entanto, a expansão de til recai no diretório inicial do banco de dados do usuário (por exemplo, /etc/passwd ) se HOME não estiver definido. Portanto, se HOME não estiver definido, cd será reclamado, mas cd ~ será alterado para o diretório pessoal do usuário. cd $HOME corre cd sem argumento quando HOME não está definido.

Quando você está explorando uma vulnerabilidade, não pode contar com o ambiente sendo familiar. É parte do ofício de fazer uma exploração - a parte fácil - passar da capacidade de executar código (por exemplo, ter um shell) para configurar um ambiente conveniente para executar código padrão.

    
por 14.06.2015 / 19:40